MAYBE
TRS:
 {              U12(mark(X1), X2) -> mark(U12(X1, X2)),
              U12(ok(X1), ok(X2)) -> ok(U12(X1, X2)),
                     isNat(ok(X)) -> ok(isNat(X)),
              active(U12(X1, X2)) -> U12(active(X1), X2),
            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(X1, X2, X3)) -> U11(active(X1), X2, X3),
        active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                   active(U13(X)) -> U13(active(X)),
                active(U13(tt())) -> mark(tt()),
                   active(U22(X)) -> U22(active(X)),
                active(U22(tt())) -> mark(tt()),
              active(U21(X1, X2)) -> U21(active(X1), X2),
            active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
              active(U32(X1, X2)) -> U32(active(X1), X2),
            active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
          active(U31(X1, X2, X3)) -> U31(active(X1), X2, X3),
        active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                   active(U33(X)) -> U33(active(X)),
                active(U33(tt())) -> mark(tt()),
              active(U41(X1, X2)) -> U41(active(X1), X2),
             active(U41(tt(), N)) -> mark(N),
                     active(s(X)) -> s(active(X)),
            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(plus(X1, X2)) -> plus(X1, active(X2)),
             active(plus(X1, X2)) -> plus(active(X1), X2),
          active(U51(X1, X2, X3)) -> U51(active(X1), X2, X3),
          active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                   active(U61(X)) -> U61(active(X)),
                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(x(X1, X2)) -> x(X1, active(X2)),
                active(x(X1, X2)) -> x(active(X1), X2),
          active(U71(X1, X2, X3)) -> U71(active(X1), X2, X3),
          active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
              active(and(X1, X2)) -> and(active(X1), X2),
             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(mark(X1), X2, X3) -> mark(U11(X1, X2, X3)),
      U11(ok(X1), ok(X2), ok(X3)) -> ok(U11(X1, X2, X3)),
                     U13(mark(X)) -> mark(U13(X)),
                       U13(ok(X)) -> ok(U13(X)),
                     U22(mark(X)) -> mark(U22(X)),
                       U22(ok(X)) -> ok(U22(X)),
                U21(mark(X1), X2) -> mark(U21(X1, X2)),
              U21(ok(X1), ok(X2)) -> ok(U21(X1, X2)),
                U32(mark(X1), X2) -> mark(U32(X1, X2)),
              U32(ok(X1), ok(X2)) -> ok(U32(X1, X2)),
            U31(mark(X1), X2, X3) -> mark(U31(X1, X2, X3)),
      U31(ok(X1), ok(X2), ok(X3)) -> ok(U31(X1, X2, X3)),
                     U33(mark(X)) -> mark(U33(X)),
                       U33(ok(X)) -> ok(U33(X)),
                U41(mark(X1), X2) -> mark(U41(X1, X2)),
              U41(ok(X1), ok(X2)) -> ok(U41(X1, X2)),
                       s(mark(X)) -> mark(s(X)),
                         s(ok(X)) -> ok(s(X)),
               plus(X1, mark(X2)) -> mark(plus(X1, X2)),
               plus(mark(X1), X2) -> mark(plus(X1, X2)),
             plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)),
            U51(mark(X1), X2, X3) -> mark(U51(X1, X2, X3)),
      U51(ok(X1), ok(X2), ok(X3)) -> ok(U51(X1, X2, X3)),
                     U61(mark(X)) -> mark(U61(X)),
                       U61(ok(X)) -> ok(U61(X)),
                  x(X1, mark(X2)) -> mark(x(X1, X2)),
                  x(mark(X1), X2) -> mark(x(X1, X2)),
                x(ok(X1), ok(X2)) -> ok(x(X1, X2)),
            U71(mark(X1), X2, X3) -> mark(U71(X1, X2, X3)),
      U71(ok(X1), ok(X2), ok(X3)) -> ok(U71(X1, X2, X3)),
                and(mark(X1), X2) -> mark(and(X1, X2)),
              and(ok(X1), ok(X2)) -> ok(and(X1, X2)),
                 isNatKind(ok(X)) -> ok(isNatKind(X)),
              proper(U12(X1, X2)) -> U12(proper(X1), proper(X2)),
                 proper(isNat(X)) -> isNat(proper(X)),
          proper(U11(X1, X2, X3)) -> U11(proper(X1), proper(X2), proper(X3)),
                     proper(tt()) -> ok(tt()),
                   proper(U13(X)) -> U13(proper(X)),
                   proper(U22(X)) -> U22(proper(X)),
              proper(U21(X1, X2)) -> U21(proper(X1), proper(X2)),
              proper(U32(X1, X2)) -> U32(proper(X1), proper(X2)),
          proper(U31(X1, X2, X3)) -> U31(proper(X1), proper(X2), proper(X3)),
                   proper(U33(X)) -> U33(proper(X)),
              proper(U41(X1, X2)) -> U41(proper(X1), proper(X2)),
                     proper(s(X)) -> s(proper(X)),
             proper(plus(X1, X2)) -> plus(proper(X1), proper(X2)),
          proper(U51(X1, X2, X3)) -> U51(proper(X1), proper(X2), proper(X3)),
                      proper(0()) -> ok(0()),
                   proper(U61(X)) -> U61(proper(X)),
                proper(x(X1, X2)) -> x(proper(X1), proper(X2)),
          proper(U71(X1, X2, X3)) -> U71(proper(X1), proper(X2), proper(X3)),
              proper(and(X1, X2)) -> and(proper(X1), proper(X2)),
             proper(isNatKind(X)) -> isNatKind(proper(X)),
                     top(mark(X)) -> top(proper(X)),
                       top(ok(X)) -> top(active(X))}
 DP:
  Strict:
   {              U12#(mark(X1), X2) -> U12#(X1, X2),
                U12#(ok(X1), ok(X2)) -> U12#(X1, X2),
                       isNat#(ok(X)) -> isNat#(X),
                active#(U12(X1, X2)) -> U12#(active(X1), X2),
                active#(U12(X1, X2)) -> active#(X1),
              active#(U12(tt(), V2)) -> isNat#(V2),
              active#(U12(tt(), V2)) -> U13#(isNat(V2)),
               active#(isNat(s(V1))) -> U21#(isNatKind(V1), V1),
               active#(isNat(s(V1))) -> isNatKind#(V1),
        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(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(X1, X2, X3)) -> active#(X1),
            active#(U11(X1, X2, X3)) -> U11#(active(X1), X2, X3),
          active#(U11(tt(), V1, V2)) -> U12#(isNat(V1), V2),
          active#(U11(tt(), V1, V2)) -> isNat#(V1),
                     active#(U13(X)) -> active#(X),
                     active#(U13(X)) -> U13#(active(X)),
                     active#(U22(X)) -> active#(X),
                     active#(U22(X)) -> U22#(active(X)),
                active#(U21(X1, X2)) -> active#(X1),
                active#(U21(X1, X2)) -> U21#(active(X1), X2),
              active#(U21(tt(), V1)) -> isNat#(V1),
              active#(U21(tt(), V1)) -> U22#(isNat(V1)),
                active#(U32(X1, X2)) -> active#(X1),
                active#(U32(X1, X2)) -> U32#(active(X1), X2),
              active#(U32(tt(), V2)) -> isNat#(V2),
              active#(U32(tt(), V2)) -> U33#(isNat(V2)),
            active#(U31(X1, X2, X3)) -> active#(X1),
            active#(U31(X1, X2, X3)) -> U31#(active(X1), X2, X3),
          active#(U31(tt(), V1, V2)) -> isNat#(V1),
          active#(U31(tt(), V1, V2)) -> U32#(isNat(V1), V2),
                     active#(U33(X)) -> active#(X),
                     active#(U33(X)) -> U33#(active(X)),
                active#(U41(X1, X2)) -> active#(X1),
                active#(U41(X1, X2)) -> U41#(active(X1), X2),
                       active#(s(X)) -> active#(X),
                       active#(s(X)) -> s#(active(X)),
              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())) -> 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#(plus(X1, X2)) -> active#(X1),
               active#(plus(X1, X2)) -> active#(X2),
               active#(plus(X1, X2)) -> plus#(X1, active(X2)),
               active#(plus(X1, X2)) -> plus#(active(X1), X2),
            active#(U51(X1, X2, X3)) -> active#(X1),
            active#(U51(X1, X2, X3)) -> U51#(active(X1), X2, X3),
            active#(U51(tt(), M, N)) -> s#(plus(N, M)),
            active#(U51(tt(), M, N)) -> plus#(N, M),
                     active#(U61(X)) -> active#(X),
                     active#(U61(X)) -> U61#(active(X)),
                 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())) -> 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#(x(X1, X2)) -> active#(X1),
                  active#(x(X1, X2)) -> active#(X2),
                  active#(x(X1, X2)) -> x#(X1, active(X2)),
                  active#(x(X1, X2)) -> x#(active(X1), X2),
            active#(U71(X1, X2, X3)) -> active#(X1),
            active#(U71(X1, X2, X3)) -> U71#(active(X1), X2, X3),
            active#(U71(tt(), M, N)) -> plus#(x(N, M), N),
            active#(U71(tt(), M, N)) -> x#(N, M),
                active#(and(X1, X2)) -> active#(X1),
                active#(and(X1, X2)) -> and#(active(X1), X2),
           active#(isNatKind(s(V1))) -> isNatKind#(V1),
    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(x(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)),
       active#(isNatKind(x(V1, V2))) -> isNatKind#(V1),
       active#(isNatKind(x(V1, V2))) -> isNatKind#(V2),
              U11#(mark(X1), X2, X3) -> U11#(X1, X2, X3),
        U11#(ok(X1), ok(X2), ok(X3)) -> U11#(X1, X2, X3),
                       U13#(mark(X)) -> U13#(X),
                         U13#(ok(X)) -> U13#(X),
                       U22#(mark(X)) -> U22#(X),
                         U22#(ok(X)) -> U22#(X),
                  U21#(mark(X1), X2) -> U21#(X1, X2),
                U21#(ok(X1), ok(X2)) -> U21#(X1, X2),
                  U32#(mark(X1), X2) -> U32#(X1, X2),
                U32#(ok(X1), ok(X2)) -> U32#(X1, X2),
              U31#(mark(X1), X2, X3) -> U31#(X1, X2, X3),
        U31#(ok(X1), ok(X2), ok(X3)) -> U31#(X1, X2, X3),
                       U33#(mark(X)) -> U33#(X),
                         U33#(ok(X)) -> U33#(X),
                  U41#(mark(X1), X2) -> U41#(X1, X2),
                U41#(ok(X1), ok(X2)) -> U41#(X1, X2),
                         s#(mark(X)) -> s#(X),
                           s#(ok(X)) -> s#(X),
                 plus#(X1, mark(X2)) -> plus#(X1, X2),
                 plus#(mark(X1), X2) -> plus#(X1, X2),
               plus#(ok(X1), ok(X2)) -> plus#(X1, X2),
              U51#(mark(X1), X2, X3) -> U51#(X1, X2, X3),
        U51#(ok(X1), ok(X2), ok(X3)) -> U51#(X1, X2, X3),
                       U61#(mark(X)) -> U61#(X),
                         U61#(ok(X)) -> U61#(X),
                    x#(X1, mark(X2)) -> x#(X1, X2),
                    x#(mark(X1), X2) -> x#(X1, X2),
                  x#(ok(X1), ok(X2)) -> x#(X1, X2),
              U71#(mark(X1), X2, X3) -> U71#(X1, X2, X3),
        U71#(ok(X1), ok(X2), ok(X3)) -> U71#(X1, X2, X3),
                  and#(mark(X1), X2) -> and#(X1, X2),
                and#(ok(X1), ok(X2)) -> and#(X1, X2),
                   isNatKind#(ok(X)) -> isNatKind#(X),
                proper#(U12(X1, X2)) -> U12#(proper(X1), proper(X2)),
                proper#(U12(X1, X2)) -> proper#(X1),
                proper#(U12(X1, X2)) -> proper#(X2),
                   proper#(isNat(X)) -> isNat#(proper(X)),
                   proper#(isNat(X)) -> proper#(X),
            proper#(U11(X1, X2, X3)) -> U11#(proper(X1), proper(X2), proper(X3)),
            proper#(U11(X1, X2, X3)) -> proper#(X1),
            proper#(U11(X1, X2, X3)) -> proper#(X2),
            proper#(U11(X1, X2, X3)) -> proper#(X3),
                     proper#(U13(X)) -> U13#(proper(X)),
                     proper#(U13(X)) -> proper#(X),
                     proper#(U22(X)) -> U22#(proper(X)),
                     proper#(U22(X)) -> proper#(X),
                proper#(U21(X1, X2)) -> U21#(proper(X1), proper(X2)),
                proper#(U21(X1, X2)) -> proper#(X1),
                proper#(U21(X1, X2)) -> proper#(X2),
                proper#(U32(X1, X2)) -> U32#(proper(X1), proper(X2)),
                proper#(U32(X1, X2)) -> proper#(X1),
                proper#(U32(X1, X2)) -> proper#(X2),
            proper#(U31(X1, X2, X3)) -> U31#(proper(X1), proper(X2), proper(X3)),
            proper#(U31(X1, X2, X3)) -> proper#(X1),
            proper#(U31(X1, X2, X3)) -> proper#(X2),
            proper#(U31(X1, X2, X3)) -> proper#(X3),
                     proper#(U33(X)) -> U33#(proper(X)),
                     proper#(U33(X)) -> proper#(X),
                proper#(U41(X1, X2)) -> U41#(proper(X1), proper(X2)),
                proper#(U41(X1, X2)) -> proper#(X1),
                proper#(U41(X1, X2)) -> proper#(X2),
                       proper#(s(X)) -> s#(proper(X)),
                       proper#(s(X)) -> proper#(X),
               proper#(plus(X1, X2)) -> plus#(proper(X1), proper(X2)),
               proper#(plus(X1, X2)) -> proper#(X1),
               proper#(plus(X1, X2)) -> proper#(X2),
            proper#(U51(X1, X2, X3)) -> U51#(proper(X1), proper(X2), proper(X3)),
            proper#(U51(X1, X2, X3)) -> proper#(X1),
            proper#(U51(X1, X2, X3)) -> proper#(X2),
            proper#(U51(X1, X2, X3)) -> proper#(X3),
                     proper#(U61(X)) -> U61#(proper(X)),
                     proper#(U61(X)) -> proper#(X),
                  proper#(x(X1, X2)) -> x#(proper(X1), proper(X2)),
                  proper#(x(X1, X2)) -> proper#(X1),
                  proper#(x(X1, X2)) -> proper#(X2),
            proper#(U71(X1, X2, X3)) -> U71#(proper(X1), proper(X2), proper(X3)),
            proper#(U71(X1, X2, X3)) -> proper#(X1),
            proper#(U71(X1, X2, X3)) -> proper#(X2),
            proper#(U71(X1, X2, X3)) -> proper#(X3),
                proper#(and(X1, X2)) -> and#(proper(X1), proper(X2)),
                proper#(and(X1, X2)) -> proper#(X1),
                proper#(and(X1, X2)) -> proper#(X2),
               proper#(isNatKind(X)) -> isNatKind#(proper(X)),
               proper#(isNatKind(X)) -> proper#(X),
                       top#(mark(X)) -> proper#(X),
                       top#(mark(X)) -> top#(proper(X)),
                         top#(ok(X)) -> active#(X),
                         top#(ok(X)) -> top#(active(X))}
  Weak:
  {              U12(mark(X1), X2) -> mark(U12(X1, X2)),
               U12(ok(X1), ok(X2)) -> ok(U12(X1, X2)),
                      isNat(ok(X)) -> ok(isNat(X)),
               active(U12(X1, X2)) -> U12(active(X1), X2),
             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(X1, X2, X3)) -> U11(active(X1), X2, X3),
         active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                    active(U13(X)) -> U13(active(X)),
                 active(U13(tt())) -> mark(tt()),
                    active(U22(X)) -> U22(active(X)),
                 active(U22(tt())) -> mark(tt()),
               active(U21(X1, X2)) -> U21(active(X1), X2),
             active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
               active(U32(X1, X2)) -> U32(active(X1), X2),
             active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
           active(U31(X1, X2, X3)) -> U31(active(X1), X2, X3),
         active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                    active(U33(X)) -> U33(active(X)),
                 active(U33(tt())) -> mark(tt()),
               active(U41(X1, X2)) -> U41(active(X1), X2),
              active(U41(tt(), N)) -> mark(N),
                      active(s(X)) -> s(active(X)),
             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(plus(X1, X2)) -> plus(X1, active(X2)),
              active(plus(X1, X2)) -> plus(active(X1), X2),
           active(U51(X1, X2, X3)) -> U51(active(X1), X2, X3),
           active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                    active(U61(X)) -> U61(active(X)),
                 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(x(X1, X2)) -> x(X1, active(X2)),
                 active(x(X1, X2)) -> x(active(X1), X2),
           active(U71(X1, X2, X3)) -> U71(active(X1), X2, X3),
           active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
               active(and(X1, X2)) -> and(active(X1), X2),
              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(mark(X1), X2, X3) -> mark(U11(X1, X2, X3)),
       U11(ok(X1), ok(X2), ok(X3)) -> ok(U11(X1, X2, X3)),
                      U13(mark(X)) -> mark(U13(X)),
                        U13(ok(X)) -> ok(U13(X)),
                      U22(mark(X)) -> mark(U22(X)),
                        U22(ok(X)) -> ok(U22(X)),
                 U21(mark(X1), X2) -> mark(U21(X1, X2)),
               U21(ok(X1), ok(X2)) -> ok(U21(X1, X2)),
                 U32(mark(X1), X2) -> mark(U32(X1, X2)),
               U32(ok(X1), ok(X2)) -> ok(U32(X1, X2)),
             U31(mark(X1), X2, X3) -> mark(U31(X1, X2, X3)),
       U31(ok(X1), ok(X2), ok(X3)) -> ok(U31(X1, X2, X3)),
                      U33(mark(X)) -> mark(U33(X)),
                        U33(ok(X)) -> ok(U33(X)),
                 U41(mark(X1), X2) -> mark(U41(X1, X2)),
               U41(ok(X1), ok(X2)) -> ok(U41(X1, X2)),
                        s(mark(X)) -> mark(s(X)),
                          s(ok(X)) -> ok(s(X)),
                plus(X1, mark(X2)) -> mark(plus(X1, X2)),
                plus(mark(X1), X2) -> mark(plus(X1, X2)),
              plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)),
             U51(mark(X1), X2, X3) -> mark(U51(X1, X2, X3)),
       U51(ok(X1), ok(X2), ok(X3)) -> ok(U51(X1, X2, X3)),
                      U61(mark(X)) -> mark(U61(X)),
                        U61(ok(X)) -> ok(U61(X)),
                   x(X1, mark(X2)) -> mark(x(X1, X2)),
                   x(mark(X1), X2) -> mark(x(X1, X2)),
                 x(ok(X1), ok(X2)) -> ok(x(X1, X2)),
             U71(mark(X1), X2, X3) -> mark(U71(X1, X2, X3)),
       U71(ok(X1), ok(X2), ok(X3)) -> ok(U71(X1, X2, X3)),
                 and(mark(X1), X2) -> mark(and(X1, X2)),
               and(ok(X1), ok(X2)) -> ok(and(X1, X2)),
                  isNatKind(ok(X)) -> ok(isNatKind(X)),
               proper(U12(X1, X2)) -> U12(proper(X1), proper(X2)),
                  proper(isNat(X)) -> isNat(proper(X)),
           proper(U11(X1, X2, X3)) -> U11(proper(X1), proper(X2), proper(X3)),
                      proper(tt()) -> ok(tt()),
                    proper(U13(X)) -> U13(proper(X)),
                    proper(U22(X)) -> U22(proper(X)),
               proper(U21(X1, X2)) -> U21(proper(X1), proper(X2)),
               proper(U32(X1, X2)) -> U32(proper(X1), proper(X2)),
           proper(U31(X1, X2, X3)) -> U31(proper(X1), proper(X2), proper(X3)),
                    proper(U33(X)) -> U33(proper(X)),
               proper(U41(X1, X2)) -> U41(proper(X1), proper(X2)),
                      proper(s(X)) -> s(proper(X)),
              proper(plus(X1, X2)) -> plus(proper(X1), proper(X2)),
           proper(U51(X1, X2, X3)) -> U51(proper(X1), proper(X2), proper(X3)),
                       proper(0()) -> ok(0()),
                    proper(U61(X)) -> U61(proper(X)),
                 proper(x(X1, X2)) -> x(proper(X1), proper(X2)),
           proper(U71(X1, X2, X3)) -> U71(proper(X1), proper(X2), proper(X3)),
               proper(and(X1, X2)) -> and(proper(X1), proper(X2)),
              proper(isNatKind(X)) -> isNatKind(proper(X)),
                      top(mark(X)) -> top(proper(X)),
                        top(ok(X)) -> top(active(X))}
  EDG:
   {
    (active#(x(X1, X2)) -> active#(X2), active#(isNatKind(x(V1, V2))) -> isNatKind#(V2))
    (active#(x(X1, X2)) -> active#(X2), active#(isNatKind(x(V1, V2))) -> isNatKind#(V1))
    (active#(x(X1, X2)) -> active#(X2), active#(isNatKind(x(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)))
    (active#(x(X1, X2)) -> active#(X2), active#(isNatKind(plus(V1, V2))) -> isNatKind#(V2))
    (active#(x(X1, X2)) -> active#(X2), active#(isNatKind(plus(V1, V2))) -> isNatKind#(V1))
    (active#(x(X1, X2)) -> active#(X2), active#(isNatKind(plus(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)))
    (active#(x(X1, X2)) -> active#(X2), active#(isNatKind(s(V1))) -> isNatKind#(V1))
    (active#(x(X1, X2)) -> active#(X2), active#(and(X1, X2)) -> and#(active(X1), X2))
    (active#(x(X1, X2)) -> active#(X2), active#(and(X1, X2)) -> active#(X1))
    (active#(x(X1, X2)) -> active#(X2), active#(U71(tt(), M, N)) -> x#(N, M))
    (active#(x(X1, X2)) -> active#(X2), active#(U71(tt(), M, N)) -> plus#(x(N, M), N))
    (active#(x(X1, X2)) -> active#(X2), active#(U71(X1, X2, X3)) -> U71#(active(X1), X2, X3))
    (active#(x(X1, X2)) -> active#(X2), active#(U71(X1, X2, X3)) -> active#(X1))
    (active#(x(X1, X2)) -> active#(X2), active#(x(X1, X2)) -> x#(active(X1), X2))
    (active#(x(X1, X2)) -> active#(X2), active#(x(X1, X2)) -> x#(X1, active(X2)))
    (active#(x(X1, X2)) -> active#(X2), active#(x(X1, X2)) -> active#(X2))
    (active#(x(X1, X2)) -> active#(X2), active#(x(X1, X2)) -> active#(X1))
    (active#(x(X1, X2)) -> active#(X2), active#(x(N, 0())) -> isNatKind#(N))
    (active#(x(X1, X2)) -> active#(X2), active#(x(N, 0())) -> and#(isNat(N), isNatKind(N)))
    (active#(x(X1, X2)) -> active#(X2), active#(x(N, 0())) -> U61#(and(isNat(N), isNatKind(N))))
    (active#(x(X1, X2)) -> active#(X2), active#(x(N, 0())) -> isNat#(N))
    (active#(x(X1, X2)) -> active#(X2), active#(x(N, s(M))) -> isNatKind#(M))
    (active#(x(X1, X2)) -> active#(X2), active#(x(N, s(M))) -> isNatKind#(N))
    (active#(x(X1, X2)) -> active#(X2), active#(x(N, s(M))) -> and#(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))))
    (active#(x(X1, X2)) -> active#(X2), active#(x(N, s(M))) -> and#(isNat(M), isNatKind(M)))
    (active#(x(X1, X2)) -> active#(X2), active#(x(N, s(M))) -> and#(isNat(N), isNatKind(N)))
    (active#(x(X1, X2)) -> active#(X2), active#(x(N, s(M))) -> U71#(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N))
    (active#(x(X1, X2)) -> active#(X2), active#(x(N, s(M))) -> isNat#(M))
    (active#(x(X1, X2)) -> active#(X2), active#(x(N, s(M))) -> isNat#(N))
    (active#(x(X1, X2)) -> active#(X2), active#(U61(X)) -> U61#(active(X)))
    (active#(x(X1, X2)) -> active#(X2), active#(U61(X)) -> active#(X))
    (active#(x(X1, X2)) -> active#(X2), active#(U51(tt(), M, N)) -> plus#(N, M))
    (active#(x(X1, X2)) -> active#(X2), active#(U51(tt(), M, N)) -> s#(plus(N, M)))
    (active#(x(X1, X2)) -> active#(X2), active#(U51(X1, X2, X3)) -> U51#(active(X1), X2, X3))
    (active#(x(X1, X2)) -> active#(X2), active#(U51(X1, X2, X3)) -> active#(X1))
    (active#(x(X1, X2)) -> active#(X2), active#(plus(X1, X2)) -> plus#(active(X1), X2))
    (active#(x(X1, X2)) -> active#(X2), active#(plus(X1, X2)) -> plus#(X1, active(X2)))
    (active#(x(X1, X2)) -> active#(X2), active#(plus(X1, X2)) -> active#(X2))
    (active#(x(X1, X2)) -> active#(X2), active#(plus(X1, X2)) -> active#(X1))
    (active#(x(X1, X2)) -> active#(X2), active#(plus(N, 0())) -> isNatKind#(N))
    (active#(x(X1, X2)) -> active#(X2), active#(plus(N, 0())) -> and#(isNat(N), isNatKind(N)))
    (active#(x(X1, X2)) -> active#(X2), active#(plus(N, 0())) -> U41#(and(isNat(N), isNatKind(N)), N))
    (active#(x(X1, X2)) -> active#(X2), active#(plus(N, 0())) -> isNat#(N))
    (active#(x(X1, X2)) -> active#(X2), active#(plus(N, s(M))) -> isNatKind#(M))
    (active#(x(X1, X2)) -> active#(X2), active#(plus(N, s(M))) -> isNatKind#(N))
    (active#(x(X1, X2)) -> active#(X2), active#(plus(N, s(M))) -> and#(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))))
    (active#(x(X1, X2)) -> active#(X2), active#(plus(N, s(M))) -> and#(isNat(M), isNatKind(M)))
    (active#(x(X1, X2)) -> active#(X2), active#(plus(N, s(M))) -> and#(isNat(N), isNatKind(N)))
    (active#(x(X1, X2)) -> active#(X2), active#(plus(N, s(M))) -> U51#(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N))
    (active#(x(X1, X2)) -> active#(X2), active#(plus(N, s(M))) -> isNat#(M))
    (active#(x(X1, X2)) -> active#(X2), active#(plus(N, s(M))) -> isNat#(N))
    (active#(x(X1, X2)) -> active#(X2), active#(s(X)) -> s#(active(X)))
    (active#(x(X1, X2)) -> active#(X2), active#(s(X)) -> active#(X))
    (active#(x(X1, X2)) -> active#(X2), active#(U41(X1, X2)) -> U41#(active(X1), X2))
    (active#(x(X1, X2)) -> active#(X2), active#(U41(X1, X2)) -> active#(X1))
    (active#(x(X1, X2)) -> active#(X2), active#(U33(X)) -> U33#(active(X)))
    (active#(x(X1, X2)) -> active#(X2), active#(U33(X)) -> active#(X))
    (active#(x(X1, X2)) -> active#(X2), active#(U31(tt(), V1, V2)) -> U32#(isNat(V1), V2))
    (active#(x(X1, X2)) -> active#(X2), active#(U31(tt(), V1, V2)) -> isNat#(V1))
    (active#(x(X1, X2)) -> active#(X2), active#(U31(X1, X2, X3)) -> U31#(active(X1), X2, X3))
    (active#(x(X1, X2)) -> active#(X2), active#(U31(X1, X2, X3)) -> active#(X1))
    (active#(x(X1, X2)) -> active#(X2), active#(U32(tt(), V2)) -> U33#(isNat(V2)))
    (active#(x(X1, X2)) -> active#(X2), active#(U32(tt(), V2)) -> isNat#(V2))
    (active#(x(X1, X2)) -> active#(X2), active#(U32(X1, X2)) -> U32#(active(X1), X2))
    (active#(x(X1, X2)) -> active#(X2), active#(U32(X1, X2)) -> active#(X1))
    (active#(x(X1, X2)) -> active#(X2), active#(U21(tt(), V1)) -> U22#(isNat(V1)))
    (active#(x(X1, X2)) -> active#(X2), active#(U21(tt(), V1)) -> isNat#(V1))
    (active#(x(X1, X2)) -> active#(X2), active#(U21(X1, X2)) -> U21#(active(X1), X2))
    (active#(x(X1, X2)) -> active#(X2), active#(U21(X1, X2)) -> active#(X1))
    (active#(x(X1, X2)) -> active#(X2), active#(U22(X)) -> U22#(active(X)))
    (active#(x(X1, X2)) -> active#(X2), active#(U22(X)) -> active#(X))
    (active#(x(X1, X2)) -> active#(X2), active#(U13(X)) -> U13#(active(X)))
    (active#(x(X1, X2)) -> active#(X2), active#(U13(X)) -> active#(X))
    (active#(x(X1, X2)) -> active#(X2), active#(U11(tt(), V1, V2)) -> isNat#(V1))
    (active#(x(X1, X2)) -> active#(X2), active#(U11(tt(), V1, V2)) -> U12#(isNat(V1), V2))
    (active#(x(X1, X2)) -> active#(X2), active#(U11(X1, X2, X3)) -> U11#(active(X1), X2, X3))
    (active#(x(X1, X2)) -> active#(X2), active#(U11(X1, X2, X3)) -> active#(X1))
    (active#(x(X1, X2)) -> active#(X2), active#(isNat(x(V1, V2))) -> isNatKind#(V2))
    (active#(x(X1, X2)) -> active#(X2), active#(isNat(x(V1, V2))) -> isNatKind#(V1))
    (active#(x(X1, X2)) -> active#(X2), active#(isNat(x(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)))
    (active#(x(X1, X2)) -> active#(X2), active#(isNat(x(V1, V2))) -> U31#(and(isNatKind(V1), isNatKind(V2)), V1, V2))
    (active#(x(X1, X2)) -> active#(X2), active#(isNat(plus(V1, V2))) -> isNatKind#(V2))
    (active#(x(X1, X2)) -> active#(X2), active#(isNat(plus(V1, V2))) -> isNatKind#(V1))
    (active#(x(X1, X2)) -> active#(X2), active#(isNat(plus(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)))
    (active#(x(X1, X2)) -> active#(X2), active#(isNat(plus(V1, V2))) -> U11#(and(isNatKind(V1), isNatKind(V2)), V1, V2))
    (active#(x(X1, X2)) -> active#(X2), active#(isNat(s(V1))) -> isNatKind#(V1))
    (active#(x(X1, X2)) -> active#(X2), active#(isNat(s(V1))) -> U21#(isNatKind(V1), V1))
    (active#(x(X1, X2)) -> active#(X2), active#(U12(tt(), V2)) -> U13#(isNat(V2)))
    (active#(x(X1, X2)) -> active#(X2), active#(U12(tt(), V2)) -> isNat#(V2))
    (active#(x(X1, X2)) -> active#(X2), active#(U12(X1, X2)) -> active#(X1))
    (active#(x(X1, X2)) -> active#(X2), active#(U12(X1, X2)) -> U12#(active(X1), X2))
    (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(isNatKind(X)) -> proper#(X))
    (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(isNatKind(X)) -> isNatKind#(proper(X)))
    (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(and(X1, X2)) -> proper#(X2))
    (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(and(X1, X2)) -> proper#(X1))
    (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(and(X1, X2)) -> and#(proper(X1), proper(X2)))
    (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X3))
    (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X2))
    (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X1))
    (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> U71#(proper(X1), proper(X2), proper(X3)))
    (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X2))
    (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X1))
    (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(x(X1, X2)) -> x#(proper(X1), proper(X2)))
    (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U61(X)) -> proper#(X))
    (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U61(X)) -> U61#(proper(X)))
    (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X3))
    (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X2))
    (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X1))
    (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> U51#(proper(X1), proper(X2), proper(X3)))
    (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X2))
    (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X1))
    (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(plus(X1, X2)) -> plus#(proper(X1), proper(X2)))
    (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(s(X)) -> proper#(X))
    (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(s(X)) -> s#(proper(X)))
    (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
    (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
    (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U41(X1, X2)) -> U41#(proper(X1), proper(X2)))
    (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
    (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U33(X)) -> U33#(proper(X)))
    (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X3))
    (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
    (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
    (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> U31#(proper(X1), proper(X2), proper(X3)))
    (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
    (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
    (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U32(X1, X2)) -> U32#(proper(X1), proper(X2)))
    (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X2))
    (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
    (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U21(X1, X2)) -> U21#(proper(X1), proper(X2)))
    (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
    (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U22(X)) -> U22#(proper(X)))
    (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
    (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U13(X)) -> U13#(proper(X)))
    (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
    (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X2))
    (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
    (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> U11#(proper(X1), proper(X2), proper(X3)))
    (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
    (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(isNat(X)) -> isNat#(proper(X)))
    (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
    (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
    (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U12(X1, X2)) -> U12#(proper(X1), proper(X2)))
    (proper#(U32(X1, X2)) -> proper#(X2), proper#(isNatKind(X)) -> proper#(X))
    (proper#(U32(X1, X2)) -> proper#(X2), proper#(isNatKind(X)) -> isNatKind#(proper(X)))
    (proper#(U32(X1, X2)) -> proper#(X2), proper#(and(X1, X2)) -> proper#(X2))
    (proper#(U32(X1, X2)) -> proper#(X2), proper#(and(X1, X2)) -> proper#(X1))
    (proper#(U32(X1, X2)) -> proper#(X2), proper#(and(X1, X2)) -> and#(proper(X1), proper(X2)))
    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X3))
    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X2))
    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X1))
    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> U71#(proper(X1), proper(X2), proper(X3)))
    (proper#(U32(X1, X2)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X2))
    (proper#(U32(X1, X2)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X1))
    (proper#(U32(X1, X2)) -> proper#(X2), proper#(x(X1, X2)) -> x#(proper(X1), proper(X2)))
    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U61(X)) -> proper#(X))
    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U61(X)) -> U61#(proper(X)))
    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X3))
    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X2))
    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X1))
    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> U51#(proper(X1), proper(X2), proper(X3)))
    (proper#(U32(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X2))
    (proper#(U32(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X1))
    (proper#(U32(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> plus#(proper(X1), proper(X2)))
    (proper#(U32(X1, X2)) -> proper#(X2), proper#(s(X)) -> proper#(X))
    (proper#(U32(X1, X2)) -> proper#(X2), proper#(s(X)) -> s#(proper(X)))
    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> U41#(proper(X1), proper(X2)))
    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U33(X)) -> U33#(proper(X)))
    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X3))
    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> U31#(proper(X1), proper(X2), proper(X3)))
    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> U32#(proper(X1), proper(X2)))
    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X2))
    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> U21#(proper(X1), proper(X2)))
    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U22(X)) -> U22#(proper(X)))
    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U13(X)) -> U13#(proper(X)))
    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X2))
    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> U11#(proper(X1), proper(X2), proper(X3)))
    (proper#(U32(X1, X2)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
    (proper#(U32(X1, X2)) -> proper#(X2), proper#(isNat(X)) -> isNat#(proper(X)))
    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> U12#(proper(X1), proper(X2)))
    (proper#(U41(X1, X2)) -> proper#(X2), proper#(isNatKind(X)) -> proper#(X))
    (proper#(U41(X1, X2)) -> proper#(X2), proper#(isNatKind(X)) -> isNatKind#(proper(X)))
    (proper#(U41(X1, X2)) -> proper#(X2), proper#(and(X1, X2)) -> proper#(X2))
    (proper#(U41(X1, X2)) -> proper#(X2), proper#(and(X1, X2)) -> proper#(X1))
    (proper#(U41(X1, X2)) -> proper#(X2), proper#(and(X1, X2)) -> and#(proper(X1), proper(X2)))
    (proper#(U41(X1, X2)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X3))
    (proper#(U41(X1, X2)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X2))
    (proper#(U41(X1, X2)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X1))
    (proper#(U41(X1, X2)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> U71#(proper(X1), proper(X2), proper(X3)))
    (proper#(U41(X1, X2)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X2))
    (proper#(U41(X1, X2)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X1))
    (proper#(U41(X1, X2)) -> proper#(X2), proper#(x(X1, X2)) -> x#(proper(X1), proper(X2)))
    (proper#(U41(X1, X2)) -> proper#(X2), proper#(U61(X)) -> proper#(X))
    (proper#(U41(X1, X2)) -> proper#(X2), proper#(U61(X)) -> U61#(proper(X)))
    (proper#(U41(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X3))
    (proper#(U41(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X2))
    (proper#(U41(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X1))
    (proper#(U41(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> U51#(proper(X1), proper(X2), proper(X3)))
    (proper#(U41(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X2))
    (proper#(U41(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X1))
    (proper#(U41(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> plus#(proper(X1), proper(X2)))
    (proper#(U41(X1, X2)) -> proper#(X2), proper#(s(X)) -> proper#(X))
    (proper#(U41(X1, X2)) -> proper#(X2), proper#(s(X)) -> s#(proper(X)))
    (proper#(U41(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
    (proper#(U41(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
    (proper#(U41(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> U41#(proper(X1), proper(X2)))
    (proper#(U41(X1, X2)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
    (proper#(U41(X1, X2)) -> proper#(X2), proper#(U33(X)) -> U33#(proper(X)))
    (proper#(U41(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X3))
    (proper#(U41(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
    (proper#(U41(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
    (proper#(U41(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> U31#(proper(X1), proper(X2), proper(X3)))
    (proper#(U41(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
    (proper#(U41(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
    (proper#(U41(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> U32#(proper(X1), proper(X2)))
    (proper#(U41(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X2))
    (proper#(U41(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
    (proper#(U41(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> U21#(proper(X1), proper(X2)))
    (proper#(U41(X1, X2)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
    (proper#(U41(X1, X2)) -> proper#(X2), proper#(U22(X)) -> U22#(proper(X)))
    (proper#(U41(X1, X2)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
    (proper#(U41(X1, X2)) -> proper#(X2), proper#(U13(X)) -> U13#(proper(X)))
    (proper#(U41(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
    (proper#(U41(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X2))
    (proper#(U41(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
    (proper#(U41(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> U11#(proper(X1), proper(X2), proper(X3)))
    (proper#(U41(X1, X2)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
    (proper#(U41(X1, X2)) -> proper#(X2), proper#(isNat(X)) -> isNat#(proper(X)))
    (proper#(U41(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
    (proper#(U41(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
    (proper#(U41(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> U12#(proper(X1), proper(X2)))
    (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(isNatKind(X)) -> proper#(X))
    (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(isNatKind(X)) -> isNatKind#(proper(X)))
    (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(and(X1, X2)) -> proper#(X2))
    (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(and(X1, X2)) -> proper#(X1))
    (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(and(X1, X2)) -> and#(proper(X1), proper(X2)))
    (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X3))
    (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X2))
    (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X1))
    (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> U71#(proper(X1), proper(X2), proper(X3)))
    (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X2))
    (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X1))
    (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(x(X1, X2)) -> x#(proper(X1), proper(X2)))
    (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U61(X)) -> proper#(X))
    (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U61(X)) -> U61#(proper(X)))
    (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X3))
    (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X2))
    (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X1))
    (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> U51#(proper(X1), proper(X2), proper(X3)))
    (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X2))
    (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X1))
    (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(plus(X1, X2)) -> plus#(proper(X1), proper(X2)))
    (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(s(X)) -> proper#(X))
    (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(s(X)) -> s#(proper(X)))
    (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
    (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
    (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U41(X1, X2)) -> U41#(proper(X1), proper(X2)))
    (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
    (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U33(X)) -> U33#(proper(X)))
    (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X3))
    (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
    (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
    (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> U31#(proper(X1), proper(X2), proper(X3)))
    (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
    (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
    (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U32(X1, X2)) -> U32#(proper(X1), proper(X2)))
    (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X2))
    (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
    (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U21(X1, X2)) -> U21#(proper(X1), proper(X2)))
    (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
    (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U22(X)) -> U22#(proper(X)))
    (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
    (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U13(X)) -> U13#(proper(X)))
    (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
    (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X2))
    (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
    (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> U11#(proper(X1), proper(X2), proper(X3)))
    (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
    (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(isNat(X)) -> isNat#(proper(X)))
    (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
    (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
    (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U12(X1, X2)) -> U12#(proper(X1), proper(X2)))
    (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(isNatKind(X)) -> proper#(X))
    (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(isNatKind(X)) -> isNatKind#(proper(X)))
    (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(and(X1, X2)) -> proper#(X2))
    (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(and(X1, X2)) -> proper#(X1))
    (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(and(X1, X2)) -> and#(proper(X1), proper(X2)))
    (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X3))
    (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X2))
    (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X1))
    (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> U71#(proper(X1), proper(X2), proper(X3)))
    (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X2))
    (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X1))
    (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(x(X1, X2)) -> x#(proper(X1), proper(X2)))
    (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U61(X)) -> proper#(X))
    (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U61(X)) -> U61#(proper(X)))
    (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X3))
    (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X2))
    (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X1))
    (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> U51#(proper(X1), proper(X2), proper(X3)))
    (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X2))
    (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X1))
    (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(plus(X1, X2)) -> plus#(proper(X1), proper(X2)))
    (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(s(X)) -> proper#(X))
    (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(s(X)) -> s#(proper(X)))
    (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
    (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
    (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U41(X1, X2)) -> U41#(proper(X1), proper(X2)))
    (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
    (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U33(X)) -> U33#(proper(X)))
    (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X3))
    (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
    (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
    (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> U31#(proper(X1), proper(X2), proper(X3)))
    (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
    (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
    (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U32(X1, X2)) -> U32#(proper(X1), proper(X2)))
    (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X2))
    (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
    (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U21(X1, X2)) -> U21#(proper(X1), proper(X2)))
    (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
    (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U22(X)) -> U22#(proper(X)))
    (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
    (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U13(X)) -> U13#(proper(X)))
    (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
    (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X2))
    (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
    (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> U11#(proper(X1), proper(X2), proper(X3)))
    (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
    (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(isNat(X)) -> isNat#(proper(X)))
    (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
    (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
    (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U12(X1, X2)) -> U12#(proper(X1), proper(X2)))
    (active#(plus(N, s(M))) -> isNat#(M), isNat#(ok(X)) -> isNat#(X))
    (active#(x(N, s(M))) -> isNat#(M), isNat#(ok(X)) -> isNat#(X))
    (active#(isNat(s(V1))) -> isNatKind#(V1), isNatKind#(ok(X)) -> isNatKind#(X))
    (active#(isNat(x(V1, V2))) -> isNatKind#(V1), isNatKind#(ok(X)) -> isNatKind#(X))
    (active#(U21(tt(), V1)) -> isNat#(V1), isNat#(ok(X)) -> isNat#(X))
    (active#(isNatKind(s(V1))) -> isNatKind#(V1), isNatKind#(ok(X)) -> isNatKind#(X))
    (active#(isNatKind(x(V1, V2))) -> isNatKind#(V1), isNatKind#(ok(X)) -> isNatKind#(X))
    (active#(isNat(x(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)), and#(ok(X1), ok(X2)) -> and#(X1, X2))
    (active#(isNat(x(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)), and#(mark(X1), X2) -> and#(X1, X2))
    (active#(plus(N, s(M))) -> and#(isNat(M), isNatKind(M)), and#(ok(X1), ok(X2)) -> and#(X1, X2))
    (active#(plus(N, s(M))) -> and#(isNat(M), isNatKind(M)), and#(mark(X1), X2) -> and#(X1, X2))
    (active#(plus(X1, X2)) -> plus#(X1, active(X2)), plus#(ok(X1), ok(X2)) -> plus#(X1, X2))
    (active#(plus(X1, X2)) -> plus#(X1, active(X2)), plus#(mark(X1), X2) -> plus#(X1, X2))
    (active#(plus(X1, X2)) -> plus#(X1, active(X2)), plus#(X1, mark(X2)) -> plus#(X1, X2))
    (active#(x(N, s(M))) -> and#(isNat(M), isNatKind(M)), and#(ok(X1), ok(X2)) -> and#(X1, X2))
    (active#(x(N, s(M))) -> and#(isNat(M), isNatKind(M)), and#(mark(X1), X2) -> and#(X1, X2))
    (active#(x(X1, X2)) -> x#(X1, active(X2)), x#(ok(X1), ok(X2)) -> x#(X1, X2))
    (active#(x(X1, X2)) -> x#(X1, active(X2)), x#(mark(X1), X2) -> x#(X1, X2))
    (active#(x(X1, X2)) -> x#(X1, active(X2)), x#(X1, mark(X2)) -> x#(X1, X2))
    (active#(isNatKind(x(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)), and#(ok(X1), ok(X2)) -> and#(X1, X2))
    (active#(isNatKind(x(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)), and#(mark(X1), X2) -> and#(X1, X2))
    (proper#(U21(X1, X2)) -> U21#(proper(X1), proper(X2)), U21#(ok(X1), ok(X2)) -> U21#(X1, X2))
    (proper#(U21(X1, X2)) -> U21#(proper(X1), proper(X2)), U21#(mark(X1), X2) -> U21#(X1, X2))
    (proper#(U41(X1, X2)) -> U41#(proper(X1), proper(X2)), U41#(ok(X1), ok(X2)) -> U41#(X1, X2))
    (proper#(U41(X1, X2)) -> U41#(proper(X1), proper(X2)), U41#(mark(X1), X2) -> U41#(X1, X2))
    (proper#(x(X1, X2)) -> x#(proper(X1), proper(X2)), x#(ok(X1), ok(X2)) -> x#(X1, X2))
    (proper#(x(X1, X2)) -> x#(proper(X1), proper(X2)), x#(mark(X1), X2) -> x#(X1, X2))
    (proper#(x(X1, X2)) -> x#(proper(X1), proper(X2)), x#(X1, mark(X2)) -> x#(X1, X2))
    (active#(U12(X1, X2)) -> active#(X1), active#(isNatKind(x(V1, V2))) -> isNatKind#(V2))
    (active#(U12(X1, X2)) -> active#(X1), active#(isNatKind(x(V1, V2))) -> isNatKind#(V1))
    (active#(U12(X1, X2)) -> active#(X1), active#(isNatKind(x(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)))
    (active#(U12(X1, X2)) -> active#(X1), active#(isNatKind(plus(V1, V2))) -> isNatKind#(V2))
    (active#(U12(X1, X2)) -> active#(X1), active#(isNatKind(plus(V1, V2))) -> isNatKind#(V1))
    (active#(U12(X1, X2)) -> active#(X1), active#(isNatKind(plus(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)))
    (active#(U12(X1, X2)) -> active#(X1), active#(isNatKind(s(V1))) -> isNatKind#(V1))
    (active#(U12(X1, X2)) -> active#(X1), active#(and(X1, X2)) -> and#(active(X1), X2))
    (active#(U12(X1, X2)) -> active#(X1), active#(and(X1, X2)) -> active#(X1))
    (active#(U12(X1, X2)) -> active#(X1), active#(U71(tt(), M, N)) -> x#(N, M))
    (active#(U12(X1, X2)) -> active#(X1), active#(U71(tt(), M, N)) -> plus#(x(N, M), N))
    (active#(U12(X1, X2)) -> active#(X1), active#(U71(X1, X2, X3)) -> U71#(active(X1), X2, X3))
    (active#(U12(X1, X2)) -> active#(X1), active#(U71(X1, X2, X3)) -> active#(X1))
    (active#(U12(X1, X2)) -> active#(X1), active#(x(X1, X2)) -> x#(active(X1), X2))
    (active#(U12(X1, X2)) -> active#(X1), active#(x(X1, X2)) -> x#(X1, active(X2)))
    (active#(U12(X1, X2)) -> active#(X1), active#(x(X1, X2)) -> active#(X2))
    (active#(U12(X1, X2)) -> active#(X1), active#(x(X1, X2)) -> active#(X1))
    (active#(U12(X1, X2)) -> active#(X1), active#(x(N, 0())) -> isNatKind#(N))
    (active#(U12(X1, X2)) -> active#(X1), active#(x(N, 0())) -> and#(isNat(N), isNatKind(N)))
    (active#(U12(X1, X2)) -> active#(X1), active#(x(N, 0())) -> U61#(and(isNat(N), isNatKind(N))))
    (active#(U12(X1, X2)) -> active#(X1), active#(x(N, 0())) -> isNat#(N))
    (active#(U12(X1, X2)) -> active#(X1), active#(x(N, s(M))) -> isNatKind#(M))
    (active#(U12(X1, X2)) -> active#(X1), active#(x(N, s(M))) -> isNatKind#(N))
    (active#(U12(X1, X2)) -> active#(X1), active#(x(N, s(M))) -> and#(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))))
    (active#(U12(X1, X2)) -> active#(X1), active#(x(N, s(M))) -> and#(isNat(M), isNatKind(M)))
    (active#(U12(X1, X2)) -> active#(X1), active#(x(N, s(M))) -> and#(isNat(N), isNatKind(N)))
    (active#(U12(X1, X2)) -> active#(X1), active#(x(N, s(M))) -> U71#(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N))
    (active#(U12(X1, X2)) -> active#(X1), active#(x(N, s(M))) -> isNat#(M))
    (active#(U12(X1, X2)) -> active#(X1), active#(x(N, s(M))) -> isNat#(N))
    (active#(U12(X1, X2)) -> active#(X1), active#(U61(X)) -> U61#(active(X)))
    (active#(U12(X1, X2)) -> active#(X1), active#(U61(X)) -> active#(X))
    (active#(U12(X1, X2)) -> active#(X1), active#(U51(tt(), M, N)) -> plus#(N, M))
    (active#(U12(X1, X2)) -> active#(X1), active#(U51(tt(), M, N)) -> s#(plus(N, M)))
    (active#(U12(X1, X2)) -> active#(X1), active#(U51(X1, X2, X3)) -> U51#(active(X1), X2, X3))
    (active#(U12(X1, X2)) -> active#(X1), active#(U51(X1, X2, X3)) -> active#(X1))
    (active#(U12(X1, X2)) -> active#(X1), active#(plus(X1, X2)) -> plus#(active(X1), X2))
    (active#(U12(X1, X2)) -> active#(X1), active#(plus(X1, X2)) -> plus#(X1, active(X2)))
    (active#(U12(X1, X2)) -> active#(X1), active#(plus(X1, X2)) -> active#(X2))
    (active#(U12(X1, X2)) -> active#(X1), active#(plus(X1, X2)) -> active#(X1))
    (active#(U12(X1, X2)) -> active#(X1), active#(plus(N, 0())) -> isNatKind#(N))
    (active#(U12(X1, X2)) -> active#(X1), active#(plus(N, 0())) -> and#(isNat(N), isNatKind(N)))
    (active#(U12(X1, X2)) -> active#(X1), active#(plus(N, 0())) -> U41#(and(isNat(N), isNatKind(N)), N))
    (active#(U12(X1, X2)) -> active#(X1), active#(plus(N, 0())) -> isNat#(N))
    (active#(U12(X1, X2)) -> active#(X1), active#(plus(N, s(M))) -> isNatKind#(M))
    (active#(U12(X1, X2)) -> active#(X1), active#(plus(N, s(M))) -> isNatKind#(N))
    (active#(U12(X1, X2)) -> active#(X1), active#(plus(N, s(M))) -> and#(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))))
    (active#(U12(X1, X2)) -> active#(X1), active#(plus(N, s(M))) -> and#(isNat(M), isNatKind(M)))
    (active#(U12(X1, X2)) -> active#(X1), active#(plus(N, s(M))) -> and#(isNat(N), isNatKind(N)))
    (active#(U12(X1, X2)) -> active#(X1), active#(plus(N, s(M))) -> U51#(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N))
    (active#(U12(X1, X2)) -> active#(X1), active#(plus(N, s(M))) -> isNat#(M))
    (active#(U12(X1, X2)) -> active#(X1), active#(plus(N, s(M))) -> isNat#(N))
    (active#(U12(X1, X2)) -> active#(X1), active#(s(X)) -> s#(active(X)))
    (active#(U12(X1, X2)) -> active#(X1), active#(s(X)) -> active#(X))
    (active#(U12(X1, X2)) -> active#(X1), active#(U41(X1, X2)) -> U41#(active(X1), X2))
    (active#(U12(X1, X2)) -> active#(X1), active#(U41(X1, X2)) -> active#(X1))
    (active#(U12(X1, X2)) -> active#(X1), active#(U33(X)) -> U33#(active(X)))
    (active#(U12(X1, X2)) -> active#(X1), active#(U33(X)) -> active#(X))
    (active#(U12(X1, X2)) -> active#(X1), active#(U31(tt(), V1, V2)) -> U32#(isNat(V1), V2))
    (active#(U12(X1, X2)) -> active#(X1), active#(U31(tt(), V1, V2)) -> isNat#(V1))
    (active#(U12(X1, X2)) -> active#(X1), active#(U31(X1, X2, X3)) -> U31#(active(X1), X2, X3))
    (active#(U12(X1, X2)) -> active#(X1), active#(U31(X1, X2, X3)) -> active#(X1))
    (active#(U12(X1, X2)) -> active#(X1), active#(U32(tt(), V2)) -> U33#(isNat(V2)))
    (active#(U12(X1, X2)) -> active#(X1), active#(U32(tt(), V2)) -> isNat#(V2))
    (active#(U12(X1, X2)) -> active#(X1), active#(U32(X1, X2)) -> U32#(active(X1), X2))
    (active#(U12(X1, X2)) -> active#(X1), active#(U32(X1, X2)) -> active#(X1))
    (active#(U12(X1, X2)) -> active#(X1), active#(U21(tt(), V1)) -> U22#(isNat(V1)))
    (active#(U12(X1, X2)) -> active#(X1), active#(U21(tt(), V1)) -> isNat#(V1))
    (active#(U12(X1, X2)) -> active#(X1), active#(U21(X1, X2)) -> U21#(active(X1), X2))
    (active#(U12(X1, X2)) -> active#(X1), active#(U21(X1, X2)) -> active#(X1))
    (active#(U12(X1, X2)) -> active#(X1), active#(U22(X)) -> U22#(active(X)))
    (active#(U12(X1, X2)) -> active#(X1), active#(U22(X)) -> active#(X))
    (active#(U12(X1, X2)) -> active#(X1), active#(U13(X)) -> U13#(active(X)))
    (active#(U12(X1, X2)) -> active#(X1), active#(U13(X)) -> active#(X))
    (active#(U12(X1, X2)) -> active#(X1), active#(U11(tt(), V1, V2)) -> isNat#(V1))
    (active#(U12(X1, X2)) -> active#(X1), active#(U11(tt(), V1, V2)) -> U12#(isNat(V1), V2))
    (active#(U12(X1, X2)) -> active#(X1), active#(U11(X1, X2, X3)) -> U11#(active(X1), X2, X3))
    (active#(U12(X1, X2)) -> active#(X1), active#(U11(X1, X2, X3)) -> active#(X1))
    (active#(U12(X1, X2)) -> active#(X1), active#(isNat(x(V1, V2))) -> isNatKind#(V2))
    (active#(U12(X1, X2)) -> active#(X1), active#(isNat(x(V1, V2))) -> isNatKind#(V1))
    (active#(U12(X1, X2)) -> active#(X1), active#(isNat(x(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)))
    (active#(U12(X1, X2)) -> active#(X1), active#(isNat(x(V1, V2))) -> U31#(and(isNatKind(V1), isNatKind(V2)), V1, V2))
    (active#(U12(X1, X2)) -> active#(X1), active#(isNat(plus(V1, V2))) -> isNatKind#(V2))
    (active#(U12(X1, X2)) -> active#(X1), active#(isNat(plus(V1, V2))) -> isNatKind#(V1))
    (active#(U12(X1, X2)) -> active#(X1), active#(isNat(plus(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)))
    (active#(U12(X1, X2)) -> active#(X1), active#(isNat(plus(V1, V2))) -> U11#(and(isNatKind(V1), isNatKind(V2)), V1, V2))
    (active#(U12(X1, X2)) -> active#(X1), active#(isNat(s(V1))) -> isNatKind#(V1))
    (active#(U12(X1, X2)) -> active#(X1), active#(isNat(s(V1))) -> U21#(isNatKind(V1), V1))
    (active#(U12(X1, X2)) -> active#(X1), active#(U12(tt(), V2)) -> U13#(isNat(V2)))
    (active#(U12(X1, X2)) -> active#(X1), active#(U12(tt(), V2)) -> isNat#(V2))
    (active#(U12(X1, X2)) -> active#(X1), active#(U12(X1, X2)) -> active#(X1))
    (active#(U12(X1, X2)) -> active#(X1), active#(U12(X1, X2)) -> U12#(active(X1), X2))
    (active#(U21(X1, X2)) -> active#(X1), active#(isNatKind(x(V1, V2))) -> isNatKind#(V2))
    (active#(U21(X1, X2)) -> active#(X1), active#(isNatKind(x(V1, V2))) -> isNatKind#(V1))
    (active#(U21(X1, X2)) -> active#(X1), active#(isNatKind(x(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)))
    (active#(U21(X1, X2)) -> active#(X1), active#(isNatKind(plus(V1, V2))) -> isNatKind#(V2))
    (active#(U21(X1, X2)) -> active#(X1), active#(isNatKind(plus(V1, V2))) -> isNatKind#(V1))
    (active#(U21(X1, X2)) -> active#(X1), active#(isNatKind(plus(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)))
    (active#(U21(X1, X2)) -> active#(X1), active#(isNatKind(s(V1))) -> isNatKind#(V1))
    (active#(U21(X1, X2)) -> active#(X1), active#(and(X1, X2)) -> and#(active(X1), X2))
    (active#(U21(X1, X2)) -> active#(X1), active#(and(X1, X2)) -> active#(X1))
    (active#(U21(X1, X2)) -> active#(X1), active#(U71(tt(), M, N)) -> x#(N, M))
    (active#(U21(X1, X2)) -> active#(X1), active#(U71(tt(), M, N)) -> plus#(x(N, M), N))
    (active#(U21(X1, X2)) -> active#(X1), active#(U71(X1, X2, X3)) -> U71#(active(X1), X2, X3))
    (active#(U21(X1, X2)) -> active#(X1), active#(U71(X1, X2, X3)) -> active#(X1))
    (active#(U21(X1, X2)) -> active#(X1), active#(x(X1, X2)) -> x#(active(X1), X2))
    (active#(U21(X1, X2)) -> active#(X1), active#(x(X1, X2)) -> x#(X1, active(X2)))
    (active#(U21(X1, X2)) -> active#(X1), active#(x(X1, X2)) -> active#(X2))
    (active#(U21(X1, X2)) -> active#(X1), active#(x(X1, X2)) -> active#(X1))
    (active#(U21(X1, X2)) -> active#(X1), active#(x(N, 0())) -> isNatKind#(N))
    (active#(U21(X1, X2)) -> active#(X1), active#(x(N, 0())) -> and#(isNat(N), isNatKind(N)))
    (active#(U21(X1, X2)) -> active#(X1), active#(x(N, 0())) -> U61#(and(isNat(N), isNatKind(N))))
    (active#(U21(X1, X2)) -> active#(X1), active#(x(N, 0())) -> isNat#(N))
    (active#(U21(X1, X2)) -> active#(X1), active#(x(N, s(M))) -> isNatKind#(M))
    (active#(U21(X1, X2)) -> active#(X1), active#(x(N, s(M))) -> isNatKind#(N))
    (active#(U21(X1, X2)) -> active#(X1), active#(x(N, s(M))) -> and#(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))))
    (active#(U21(X1, X2)) -> active#(X1), active#(x(N, s(M))) -> and#(isNat(M), isNatKind(M)))
    (active#(U21(X1, X2)) -> active#(X1), active#(x(N, s(M))) -> and#(isNat(N), isNatKind(N)))
    (active#(U21(X1, X2)) -> active#(X1), active#(x(N, s(M))) -> U71#(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N))
    (active#(U21(X1, X2)) -> active#(X1), active#(x(N, s(M))) -> isNat#(M))
    (active#(U21(X1, X2)) -> active#(X1), active#(x(N, s(M))) -> isNat#(N))
    (active#(U21(X1, X2)) -> active#(X1), active#(U61(X)) -> U61#(active(X)))
    (active#(U21(X1, X2)) -> active#(X1), active#(U61(X)) -> active#(X))
    (active#(U21(X1, X2)) -> active#(X1), active#(U51(tt(), M, N)) -> plus#(N, M))
    (active#(U21(X1, X2)) -> active#(X1), active#(U51(tt(), M, N)) -> s#(plus(N, M)))
    (active#(U21(X1, X2)) -> active#(X1), active#(U51(X1, X2, X3)) -> U51#(active(X1), X2, X3))
    (active#(U21(X1, X2)) -> active#(X1), active#(U51(X1, X2, X3)) -> active#(X1))
    (active#(U21(X1, X2)) -> active#(X1), active#(plus(X1, X2)) -> plus#(active(X1), X2))
    (active#(U21(X1, X2)) -> active#(X1), active#(plus(X1, X2)) -> plus#(X1, active(X2)))
    (active#(U21(X1, X2)) -> active#(X1), active#(plus(X1, X2)) -> active#(X2))
    (active#(U21(X1, X2)) -> active#(X1), active#(plus(X1, X2)) -> active#(X1))
    (active#(U21(X1, X2)) -> active#(X1), active#(plus(N, 0())) -> isNatKind#(N))
    (active#(U21(X1, X2)) -> active#(X1), active#(plus(N, 0())) -> and#(isNat(N), isNatKind(N)))
    (active#(U21(X1, X2)) -> active#(X1), active#(plus(N, 0())) -> U41#(and(isNat(N), isNatKind(N)), N))
    (active#(U21(X1, X2)) -> active#(X1), active#(plus(N, 0())) -> isNat#(N))
    (active#(U21(X1, X2)) -> active#(X1), active#(plus(N, s(M))) -> isNatKind#(M))
    (active#(U21(X1, X2)) -> active#(X1), active#(plus(N, s(M))) -> isNatKind#(N))
    (active#(U21(X1, X2)) -> active#(X1), active#(plus(N, s(M))) -> and#(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))))
    (active#(U21(X1, X2)) -> active#(X1), active#(plus(N, s(M))) -> and#(isNat(M), isNatKind(M)))
    (active#(U21(X1, X2)) -> active#(X1), active#(plus(N, s(M))) -> and#(isNat(N), isNatKind(N)))
    (active#(U21(X1, X2)) -> active#(X1), active#(plus(N, s(M))) -> U51#(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N))
    (active#(U21(X1, X2)) -> active#(X1), active#(plus(N, s(M))) -> isNat#(M))
    (active#(U21(X1, X2)) -> active#(X1), active#(plus(N, s(M))) -> isNat#(N))
    (active#(U21(X1, X2)) -> active#(X1), active#(s(X)) -> s#(active(X)))
    (active#(U21(X1, X2)) -> active#(X1), active#(s(X)) -> active#(X))
    (active#(U21(X1, X2)) -> active#(X1), active#(U41(X1, X2)) -> U41#(active(X1), X2))
    (active#(U21(X1, X2)) -> active#(X1), active#(U41(X1, X2)) -> active#(X1))
    (active#(U21(X1, X2)) -> active#(X1), active#(U33(X)) -> U33#(active(X)))
    (active#(U21(X1, X2)) -> active#(X1), active#(U33(X)) -> active#(X))
    (active#(U21(X1, X2)) -> active#(X1), active#(U31(tt(), V1, V2)) -> U32#(isNat(V1), V2))
    (active#(U21(X1, X2)) -> active#(X1), active#(U31(tt(), V1, V2)) -> isNat#(V1))
    (active#(U21(X1, X2)) -> active#(X1), active#(U31(X1, X2, X3)) -> U31#(active(X1), X2, X3))
    (active#(U21(X1, X2)) -> active#(X1), active#(U31(X1, X2, X3)) -> active#(X1))
    (active#(U21(X1, X2)) -> active#(X1), active#(U32(tt(), V2)) -> U33#(isNat(V2)))
    (active#(U21(X1, X2)) -> active#(X1), active#(U32(tt(), V2)) -> isNat#(V2))
    (active#(U21(X1, X2)) -> active#(X1), active#(U32(X1, X2)) -> U32#(active(X1), X2))
    (active#(U21(X1, X2)) -> active#(X1), active#(U32(X1, X2)) -> active#(X1))
    (active#(U21(X1, X2)) -> active#(X1), active#(U21(tt(), V1)) -> U22#(isNat(V1)))
    (active#(U21(X1, X2)) -> active#(X1), active#(U21(tt(), V1)) -> isNat#(V1))
    (active#(U21(X1, X2)) -> active#(X1), active#(U21(X1, X2)) -> U21#(active(X1), X2))
    (active#(U21(X1, X2)) -> active#(X1), active#(U21(X1, X2)) -> active#(X1))
    (active#(U21(X1, X2)) -> active#(X1), active#(U22(X)) -> U22#(active(X)))
    (active#(U21(X1, X2)) -> active#(X1), active#(U22(X)) -> active#(X))
    (active#(U21(X1, X2)) -> active#(X1), active#(U13(X)) -> U13#(active(X)))
    (active#(U21(X1, X2)) -> active#(X1), active#(U13(X)) -> active#(X))
    (active#(U21(X1, X2)) -> active#(X1), active#(U11(tt(), V1, V2)) -> isNat#(V1))
    (active#(U21(X1, X2)) -> active#(X1), active#(U11(tt(), V1, V2)) -> U12#(isNat(V1), V2))
    (active#(U21(X1, X2)) -> active#(X1), active#(U11(X1, X2, X3)) -> U11#(active(X1), X2, X3))
    (active#(U21(X1, X2)) -> active#(X1), active#(U11(X1, X2, X3)) -> active#(X1))
    (active#(U21(X1, X2)) -> active#(X1), active#(isNat(x(V1, V2))) -> isNatKind#(V2))
    (active#(U21(X1, X2)) -> active#(X1), active#(isNat(x(V1, V2))) -> isNatKind#(V1))
    (active#(U21(X1, X2)) -> active#(X1), active#(isNat(x(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)))
    (active#(U21(X1, X2)) -> active#(X1), active#(isNat(x(V1, V2))) -> U31#(and(isNatKind(V1), isNatKind(V2)), V1, V2))
    (active#(U21(X1, X2)) -> active#(X1), active#(isNat(plus(V1, V2))) -> isNatKind#(V2))
    (active#(U21(X1, X2)) -> active#(X1), active#(isNat(plus(V1, V2))) -> isNatKind#(V1))
    (active#(U21(X1, X2)) -> active#(X1), active#(isNat(plus(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)))
    (active#(U21(X1, X2)) -> active#(X1), active#(isNat(plus(V1, V2))) -> U11#(and(isNatKind(V1), isNatKind(V2)), V1, V2))
    (active#(U21(X1, X2)) -> active#(X1), active#(isNat(s(V1))) -> isNatKind#(V1))
    (active#(U21(X1, X2)) -> active#(X1), active#(isNat(s(V1))) -> U21#(isNatKind(V1), V1))
    (active#(U21(X1, X2)) -> active#(X1), active#(U12(tt(), V2)) -> U13#(isNat(V2)))
    (active#(U21(X1, X2)) -> active#(X1), active#(U12(tt(), V2)) -> isNat#(V2))
    (active#(U21(X1, X2)) -> active#(X1), active#(U12(X1, X2)) -> active#(X1))
    (active#(U21(X1, X2)) -> active#(X1), active#(U12(X1, X2)) -> U12#(active(X1), X2))
    (active#(U31(X1, X2, X3)) -> active#(X1), active#(isNatKind(x(V1, V2))) -> isNatKind#(V2))
    (active#(U31(X1, X2, X3)) -> active#(X1), active#(isNatKind(x(V1, V2))) -> isNatKind#(V1))
    (active#(U31(X1, X2, X3)) -> active#(X1), active#(isNatKind(x(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)))
    (active#(U31(X1, X2, X3)) -> active#(X1), active#(isNatKind(plus(V1, V2))) -> isNatKind#(V2))
    (active#(U31(X1, X2, X3)) -> active#(X1), active#(isNatKind(plus(V1, V2))) -> isNatKind#(V1))
    (active#(U31(X1, X2, X3)) -> active#(X1), active#(isNatKind(plus(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)))
    (active#(U31(X1, X2, X3)) -> active#(X1), active#(isNatKind(s(V1))) -> isNatKind#(V1))
    (active#(U31(X1, X2, X3)) -> active#(X1), active#(and(X1, X2)) -> and#(active(X1), X2))
    (active#(U31(X1, X2, X3)) -> active#(X1), active#(and(X1, X2)) -> active#(X1))
    (active#(U31(X1, X2, X3)) -> active#(X1), active#(U71(tt(), M, N)) -> x#(N, M))
    (active#(U31(X1, X2, X3)) -> active#(X1), active#(U71(tt(), M, N)) -> plus#(x(N, M), N))
    (active#(U31(X1, X2, X3)) -> active#(X1), active#(U71(X1, X2, X3)) -> U71#(active(X1), X2, X3))
    (active#(U31(X1, X2, X3)) -> active#(X1), active#(U71(X1, X2, X3)) -> active#(X1))
    (active#(U31(X1, X2, X3)) -> active#(X1), active#(x(X1, X2)) -> x#(active(X1), X2))
    (active#(U31(X1, X2, X3)) -> active#(X1), active#(x(X1, X2)) -> x#(X1, active(X2)))
    (active#(U31(X1, X2, X3)) -> active#(X1), active#(x(X1, X2)) -> active#(X2))
    (active#(U31(X1, X2, X3)) -> active#(X1), active#(x(X1, X2)) -> active#(X1))
    (active#(U31(X1, X2, X3)) -> active#(X1), active#(x(N, 0())) -> isNatKind#(N))
    (active#(U31(X1, X2, X3)) -> active#(X1), active#(x(N, 0())) -> and#(isNat(N), isNatKind(N)))
    (active#(U31(X1, X2, X3)) -> active#(X1), active#(x(N, 0())) -> U61#(and(isNat(N), isNatKind(N))))
    (active#(U31(X1, X2, X3)) -> active#(X1), active#(x(N, 0())) -> isNat#(N))
    (active#(U31(X1, X2, X3)) -> active#(X1), active#(x(N, s(M))) -> isNatKind#(M))
    (active#(U31(X1, X2, X3)) -> active#(X1), active#(x(N, s(M))) -> isNatKind#(N))
    (active#(U31(X1, X2, X3)) -> active#(X1), active#(x(N, s(M))) -> and#(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))))
    (active#(U31(X1, X2, X3)) -> active#(X1), active#(x(N, s(M))) -> and#(isNat(M), isNatKind(M)))
    (active#(U31(X1, X2, X3)) -> active#(X1), active#(x(N, s(M))) -> and#(isNat(N), isNatKind(N)))
    (active#(U31(X1, X2, X3)) -> active#(X1), active#(x(N, s(M))) -> U71#(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N))
    (active#(U31(X1, X2, X3)) -> active#(X1), active#(x(N, s(M))) -> isNat#(M))
    (active#(U31(X1, X2, X3)) -> active#(X1), active#(x(N, s(M))) -> isNat#(N))
    (active#(U31(X1, X2, X3)) -> active#(X1), active#(U61(X)) -> U61#(active(X)))
    (active#(U31(X1, X2, X3)) -> active#(X1), active#(U61(X)) -> active#(X))
    (active#(U31(X1, X2, X3)) -> active#(X1), active#(U51(tt(), M, N)) -> plus#(N, M))
    (active#(U31(X1, X2, X3)) -> active#(X1), active#(U51(tt(), M, N)) -> s#(plus(N, M)))
    (active#(U31(X1, X2, X3)) -> active#(X1), active#(U51(X1, X2, X3)) -> U51#(active(X1), X2, X3))
    (active#(U31(X1, X2, X3)) -> active#(X1), active#(U51(X1, X2, X3)) -> active#(X1))
    (active#(U31(X1, X2, X3)) -> active#(X1), active#(plus(X1, X2)) -> plus#(active(X1), X2))
    (active#(U31(X1, X2, X3)) -> active#(X1), active#(plus(X1, X2)) -> plus#(X1, active(X2)))
    (active#(U31(X1, X2, X3)) -> active#(X1), active#(plus(X1, X2)) -> active#(X2))
    (active#(U31(X1, X2, X3)) -> active#(X1), active#(plus(X1, X2)) -> active#(X1))
    (active#(U31(X1, X2, X3)) -> active#(X1), active#(plus(N, 0())) -> isNatKind#(N))
    (active#(U31(X1, X2, X3)) -> active#(X1), active#(plus(N, 0())) -> and#(isNat(N), isNatKind(N)))
    (active#(U31(X1, X2, X3)) -> active#(X1), active#(plus(N, 0())) -> U41#(and(isNat(N), isNatKind(N)), N))
    (active#(U31(X1, X2, X3)) -> active#(X1), active#(plus(N, 0())) -> isNat#(N))
    (active#(U31(X1, X2, X3)) -> active#(X1), active#(plus(N, s(M))) -> isNatKind#(M))
    (active#(U31(X1, X2, X3)) -> active#(X1), active#(plus(N, s(M))) -> isNatKind#(N))
    (active#(U31(X1, X2, X3)) -> active#(X1), active#(plus(N, s(M))) -> and#(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))))
    (active#(U31(X1, X2, X3)) -> active#(X1), active#(plus(N, s(M))) -> and#(isNat(M), isNatKind(M)))
    (active#(U31(X1, X2, X3)) -> active#(X1), active#(plus(N, s(M))) -> and#(isNat(N), isNatKind(N)))
    (active#(U31(X1, X2, X3)) -> active#(X1), active#(plus(N, s(M))) -> U51#(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N))
    (active#(U31(X1, X2, X3)) -> active#(X1), active#(plus(N, s(M))) -> isNat#(M))
    (active#(U31(X1, X2, X3)) -> active#(X1), active#(plus(N, s(M))) -> isNat#(N))
    (active#(U31(X1, X2, X3)) -> active#(X1), active#(s(X)) -> s#(active(X)))
    (active#(U31(X1, X2, X3)) -> active#(X1), active#(s(X)) -> active#(X))
    (active#(U31(X1, X2, X3)) -> active#(X1), active#(U41(X1, X2)) -> U41#(active(X1), X2))
    (active#(U31(X1, X2, X3)) -> active#(X1), active#(U41(X1, X2)) -> active#(X1))
    (active#(U31(X1, X2, X3)) -> active#(X1), active#(U33(X)) -> U33#(active(X)))
    (active#(U31(X1, X2, X3)) -> active#(X1), active#(U33(X)) -> active#(X))
    (active#(U31(X1, X2, X3)) -> active#(X1), active#(U31(tt(), V1, V2)) -> U32#(isNat(V1), V2))
    (active#(U31(X1, X2, X3)) -> active#(X1), active#(U31(tt(), V1, V2)) -> isNat#(V1))
    (active#(U31(X1, X2, X3)) -> active#(X1), active#(U31(X1, X2, X3)) -> U31#(active(X1), X2, X3))
    (active#(U31(X1, X2, X3)) -> active#(X1), active#(U31(X1, X2, X3)) -> active#(X1))
    (active#(U31(X1, X2, X3)) -> active#(X1), active#(U32(tt(), V2)) -> U33#(isNat(V2)))
    (active#(U31(X1, X2, X3)) -> active#(X1), active#(U32(tt(), V2)) -> isNat#(V2))
    (active#(U31(X1, X2, X3)) -> active#(X1), active#(U32(X1, X2)) -> U32#(active(X1), X2))
    (active#(U31(X1, X2, X3)) -> active#(X1), active#(U32(X1, X2)) -> active#(X1))
    (active#(U31(X1, X2, X3)) -> active#(X1), active#(U21(tt(), V1)) -> U22#(isNat(V1)))
    (active#(U31(X1, X2, X3)) -> active#(X1), active#(U21(tt(), V1)) -> isNat#(V1))
    (active#(U31(X1, X2, X3)) -> active#(X1), active#(U21(X1, X2)) -> U21#(active(X1), X2))
    (active#(U31(X1, X2, X3)) -> active#(X1), active#(U21(X1, X2)) -> active#(X1))
    (active#(U31(X1, X2, X3)) -> active#(X1), active#(U22(X)) -> U22#(active(X)))
    (active#(U31(X1, X2, X3)) -> active#(X1), active#(U22(X)) -> active#(X))
    (active#(U31(X1, X2, X3)) -> active#(X1), active#(U13(X)) -> U13#(active(X)))
    (active#(U31(X1, X2, X3)) -> active#(X1), active#(U13(X)) -> active#(X))
    (active#(U31(X1, X2, X3)) -> active#(X1), active#(U11(tt(), V1, V2)) -> isNat#(V1))
    (active#(U31(X1, X2, X3)) -> active#(X1), active#(U11(tt(), V1, V2)) -> U12#(isNat(V1), V2))
    (active#(U31(X1, X2, X3)) -> active#(X1), active#(U11(X1, X2, X3)) -> U11#(active(X1), X2, X3))
    (active#(U31(X1, X2, X3)) -> active#(X1), active#(U11(X1, X2, X3)) -> active#(X1))
    (active#(U31(X1, X2, X3)) -> active#(X1), active#(isNat(x(V1, V2))) -> isNatKind#(V2))
    (active#(U31(X1, X2, X3)) -> active#(X1), active#(isNat(x(V1, V2))) -> isNatKind#(V1))
    (active#(U31(X1, X2, X3)) -> active#(X1), active#(isNat(x(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)))
    (active#(U31(X1, X2, X3)) -> active#(X1), active#(isNat(x(V1, V2))) -> U31#(and(isNatKind(V1), isNatKind(V2)), V1, V2))
    (active#(U31(X1, X2, X3)) -> active#(X1), active#(isNat(plus(V1, V2))) -> isNatKind#(V2))
    (active#(U31(X1, X2, X3)) -> active#(X1), active#(isNat(plus(V1, V2))) -> isNatKind#(V1))
    (active#(U31(X1, X2, X3)) -> active#(X1), active#(isNat(plus(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)))
    (active#(U31(X1, X2, X3)) -> active#(X1), active#(isNat(plus(V1, V2))) -> U11#(and(isNatKind(V1), isNatKind(V2)), V1, V2))
    (active#(U31(X1, X2, X3)) -> active#(X1), active#(isNat(s(V1))) -> isNatKind#(V1))
    (active#(U31(X1, X2, X3)) -> active#(X1), active#(isNat(s(V1))) -> U21#(isNatKind(V1), V1))
    (active#(U31(X1, X2, X3)) -> active#(X1), active#(U12(tt(), V2)) -> U13#(isNat(V2)))
    (active#(U31(X1, X2, X3)) -> active#(X1), active#(U12(tt(), V2)) -> isNat#(V2))
    (active#(U31(X1, X2, X3)) -> active#(X1), active#(U12(X1, X2)) -> active#(X1))
    (active#(U31(X1, X2, X3)) -> active#(X1), active#(U12(X1, X2)) -> U12#(active(X1), X2))
    (active#(plus(X1, X2)) -> active#(X1), active#(isNatKind(x(V1, V2))) -> isNatKind#(V2))
    (active#(plus(X1, X2)) -> active#(X1), active#(isNatKind(x(V1, V2))) -> isNatKind#(V1))
    (active#(plus(X1, X2)) -> active#(X1), active#(isNatKind(x(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)))
    (active#(plus(X1, X2)) -> active#(X1), active#(isNatKind(plus(V1, V2))) -> isNatKind#(V2))
    (active#(plus(X1, X2)) -> active#(X1), active#(isNatKind(plus(V1, V2))) -> isNatKind#(V1))
    (active#(plus(X1, X2)) -> active#(X1), active#(isNatKind(plus(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)))
    (active#(plus(X1, X2)) -> active#(X1), active#(isNatKind(s(V1))) -> isNatKind#(V1))
    (active#(plus(X1, X2)) -> active#(X1), active#(and(X1, X2)) -> and#(active(X1), X2))
    (active#(plus(X1, X2)) -> active#(X1), active#(and(X1, X2)) -> active#(X1))
    (active#(plus(X1, X2)) -> active#(X1), active#(U71(tt(), M, N)) -> x#(N, M))
    (active#(plus(X1, X2)) -> active#(X1), active#(U71(tt(), M, N)) -> plus#(x(N, M), N))
    (active#(plus(X1, X2)) -> active#(X1), active#(U71(X1, X2, X3)) -> U71#(active(X1), X2, X3))
    (active#(plus(X1, X2)) -> active#(X1), active#(U71(X1, X2, X3)) -> active#(X1))
    (active#(plus(X1, X2)) -> active#(X1), active#(x(X1, X2)) -> x#(active(X1), X2))
    (active#(plus(X1, X2)) -> active#(X1), active#(x(X1, X2)) -> x#(X1, active(X2)))
    (active#(plus(X1, X2)) -> active#(X1), active#(x(X1, X2)) -> active#(X2))
    (active#(plus(X1, X2)) -> active#(X1), active#(x(X1, X2)) -> active#(X1))
    (active#(plus(X1, X2)) -> active#(X1), active#(x(N, 0())) -> isNatKind#(N))
    (active#(plus(X1, X2)) -> active#(X1), active#(x(N, 0())) -> and#(isNat(N), isNatKind(N)))
    (active#(plus(X1, X2)) -> active#(X1), active#(x(N, 0())) -> U61#(and(isNat(N), isNatKind(N))))
    (active#(plus(X1, X2)) -> active#(X1), active#(x(N, 0())) -> isNat#(N))
    (active#(plus(X1, X2)) -> active#(X1), active#(x(N, s(M))) -> isNatKind#(M))
    (active#(plus(X1, X2)) -> active#(X1), active#(x(N, s(M))) -> isNatKind#(N))
    (active#(plus(X1, X2)) -> active#(X1), active#(x(N, s(M))) -> and#(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))))
    (active#(plus(X1, X2)) -> active#(X1), active#(x(N, s(M))) -> and#(isNat(M), isNatKind(M)))
    (active#(plus(X1, X2)) -> active#(X1), active#(x(N, s(M))) -> and#(isNat(N), isNatKind(N)))
    (active#(plus(X1, X2)) -> active#(X1), active#(x(N, s(M))) -> U71#(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N))
    (active#(plus(X1, X2)) -> active#(X1), active#(x(N, s(M))) -> isNat#(M))
    (active#(plus(X1, X2)) -> active#(X1), active#(x(N, s(M))) -> isNat#(N))
    (active#(plus(X1, X2)) -> active#(X1), active#(U61(X)) -> U61#(active(X)))
    (active#(plus(X1, X2)) -> active#(X1), active#(U61(X)) -> active#(X))
    (active#(plus(X1, X2)) -> active#(X1), active#(U51(tt(), M, N)) -> plus#(N, M))
    (active#(plus(X1, X2)) -> active#(X1), active#(U51(tt(), M, N)) -> s#(plus(N, M)))
    (active#(plus(X1, X2)) -> active#(X1), active#(U51(X1, X2, X3)) -> U51#(active(X1), X2, X3))
    (active#(plus(X1, X2)) -> active#(X1), active#(U51(X1, X2, X3)) -> active#(X1))
    (active#(plus(X1, X2)) -> active#(X1), active#(plus(X1, X2)) -> plus#(active(X1), X2))
    (active#(plus(X1, X2)) -> active#(X1), active#(plus(X1, X2)) -> plus#(X1, active(X2)))
    (active#(plus(X1, X2)) -> active#(X1), active#(plus(X1, X2)) -> active#(X2))
    (active#(plus(X1, X2)) -> active#(X1), active#(plus(X1, X2)) -> active#(X1))
    (active#(plus(X1, X2)) -> active#(X1), active#(plus(N, 0())) -> isNatKind#(N))
    (active#(plus(X1, X2)) -> active#(X1), active#(plus(N, 0())) -> and#(isNat(N), isNatKind(N)))
    (active#(plus(X1, X2)) -> active#(X1), active#(plus(N, 0())) -> U41#(and(isNat(N), isNatKind(N)), N))
    (active#(plus(X1, X2)) -> active#(X1), active#(plus(N, 0())) -> isNat#(N))
    (active#(plus(X1, X2)) -> active#(X1), active#(plus(N, s(M))) -> isNatKind#(M))
    (active#(plus(X1, X2)) -> active#(X1), active#(plus(N, s(M))) -> isNatKind#(N))
    (active#(plus(X1, X2)) -> active#(X1), active#(plus(N, s(M))) -> and#(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))))
    (active#(plus(X1, X2)) -> active#(X1), active#(plus(N, s(M))) -> and#(isNat(M), isNatKind(M)))
    (active#(plus(X1, X2)) -> active#(X1), active#(plus(N, s(M))) -> and#(isNat(N), isNatKind(N)))
    (active#(plus(X1, X2)) -> active#(X1), active#(plus(N, s(M))) -> U51#(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N))
    (active#(plus(X1, X2)) -> active#(X1), active#(plus(N, s(M))) -> isNat#(M))
    (active#(plus(X1, X2)) -> active#(X1), active#(plus(N, s(M))) -> isNat#(N))
    (active#(plus(X1, X2)) -> active#(X1), active#(s(X)) -> s#(active(X)))
    (active#(plus(X1, X2)) -> active#(X1), active#(s(X)) -> active#(X))
    (active#(plus(X1, X2)) -> active#(X1), active#(U41(X1, X2)) -> U41#(active(X1), X2))
    (active#(plus(X1, X2)) -> active#(X1), active#(U41(X1, X2)) -> active#(X1))
    (active#(plus(X1, X2)) -> active#(X1), active#(U33(X)) -> U33#(active(X)))
    (active#(plus(X1, X2)) -> active#(X1), active#(U33(X)) -> active#(X))
    (active#(plus(X1, X2)) -> active#(X1), active#(U31(tt(), V1, V2)) -> U32#(isNat(V1), V2))
    (active#(plus(X1, X2)) -> active#(X1), active#(U31(tt(), V1, V2)) -> isNat#(V1))
    (active#(plus(X1, X2)) -> active#(X1), active#(U31(X1, X2, X3)) -> U31#(active(X1), X2, X3))
    (active#(plus(X1, X2)) -> active#(X1), active#(U31(X1, X2, X3)) -> active#(X1))
    (active#(plus(X1, X2)) -> active#(X1), active#(U32(tt(), V2)) -> U33#(isNat(V2)))
    (active#(plus(X1, X2)) -> active#(X1), active#(U32(tt(), V2)) -> isNat#(V2))
    (active#(plus(X1, X2)) -> active#(X1), active#(U32(X1, X2)) -> U32#(active(X1), X2))
    (active#(plus(X1, X2)) -> active#(X1), active#(U32(X1, X2)) -> active#(X1))
    (active#(plus(X1, X2)) -> active#(X1), active#(U21(tt(), V1)) -> U22#(isNat(V1)))
    (active#(plus(X1, X2)) -> active#(X1), active#(U21(tt(), V1)) -> isNat#(V1))
    (active#(plus(X1, X2)) -> active#(X1), active#(U21(X1, X2)) -> U21#(active(X1), X2))
    (active#(plus(X1, X2)) -> active#(X1), active#(U21(X1, X2)) -> active#(X1))
    (active#(plus(X1, X2)) -> active#(X1), active#(U22(X)) -> U22#(active(X)))
    (active#(plus(X1, X2)) -> active#(X1), active#(U22(X)) -> active#(X))
    (active#(plus(X1, X2)) -> active#(X1), active#(U13(X)) -> U13#(active(X)))
    (active#(plus(X1, X2)) -> active#(X1), active#(U13(X)) -> active#(X))
    (active#(plus(X1, X2)) -> active#(X1), active#(U11(tt(), V1, V2)) -> isNat#(V1))
    (active#(plus(X1, X2)) -> active#(X1), active#(U11(tt(), V1, V2)) -> U12#(isNat(V1), V2))
    (active#(plus(X1, X2)) -> active#(X1), active#(U11(X1, X2, X3)) -> U11#(active(X1), X2, X3))
    (active#(plus(X1, X2)) -> active#(X1), active#(U11(X1, X2, X3)) -> active#(X1))
    (active#(plus(X1, X2)) -> active#(X1), active#(isNat(x(V1, V2))) -> isNatKind#(V2))
    (active#(plus(X1, X2)) -> active#(X1), active#(isNat(x(V1, V2))) -> isNatKind#(V1))
    (active#(plus(X1, X2)) -> active#(X1), active#(isNat(x(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)))
    (active#(plus(X1, X2)) -> active#(X1), active#(isNat(x(V1, V2))) -> U31#(and(isNatKind(V1), isNatKind(V2)), V1, V2))
    (active#(plus(X1, X2)) -> active#(X1), active#(isNat(plus(V1, V2))) -> isNatKind#(V2))
    (active#(plus(X1, X2)) -> active#(X1), active#(isNat(plus(V1, V2))) -> isNatKind#(V1))
    (active#(plus(X1, X2)) -> active#(X1), active#(isNat(plus(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)))
    (active#(plus(X1, X2)) -> active#(X1), active#(isNat(plus(V1, V2))) -> U11#(and(isNatKind(V1), isNatKind(V2)), V1, V2))
    (active#(plus(X1, X2)) -> active#(X1), active#(isNat(s(V1))) -> isNatKind#(V1))
    (active#(plus(X1, X2)) -> active#(X1), active#(isNat(s(V1))) -> U21#(isNatKind(V1), V1))
    (active#(plus(X1, X2)) -> active#(X1), active#(U12(tt(), V2)) -> U13#(isNat(V2)))
    (active#(plus(X1, X2)) -> active#(X1), active#(U12(tt(), V2)) -> isNat#(V2))
    (active#(plus(X1, X2)) -> active#(X1), active#(U12(X1, X2)) -> active#(X1))
    (active#(plus(X1, X2)) -> active#(X1), active#(U12(X1, X2)) -> U12#(active(X1), X2))
    (active#(x(X1, X2)) -> active#(X1), active#(isNatKind(x(V1, V2))) -> isNatKind#(V2))
    (active#(x(X1, X2)) -> active#(X1), active#(isNatKind(x(V1, V2))) -> isNatKind#(V1))
    (active#(x(X1, X2)) -> active#(X1), active#(isNatKind(x(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)))
    (active#(x(X1, X2)) -> active#(X1), active#(isNatKind(plus(V1, V2))) -> isNatKind#(V2))
    (active#(x(X1, X2)) -> active#(X1), active#(isNatKind(plus(V1, V2))) -> isNatKind#(V1))
    (active#(x(X1, X2)) -> active#(X1), active#(isNatKind(plus(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)))
    (active#(x(X1, X2)) -> active#(X1), active#(isNatKind(s(V1))) -> isNatKind#(V1))
    (active#(x(X1, X2)) -> active#(X1), active#(and(X1, X2)) -> and#(active(X1), X2))
    (active#(x(X1, X2)) -> active#(X1), active#(and(X1, X2)) -> active#(X1))
    (active#(x(X1, X2)) -> active#(X1), active#(U71(tt(), M, N)) -> x#(N, M))
    (active#(x(X1, X2)) -> active#(X1), active#(U71(tt(), M, N)) -> plus#(x(N, M), N))
    (active#(x(X1, X2)) -> active#(X1), active#(U71(X1, X2, X3)) -> U71#(active(X1), X2, X3))
    (active#(x(X1, X2)) -> active#(X1), active#(U71(X1, X2, X3)) -> active#(X1))
    (active#(x(X1, X2)) -> active#(X1), active#(x(X1, X2)) -> x#(active(X1), X2))
    (active#(x(X1, X2)) -> active#(X1), active#(x(X1, X2)) -> x#(X1, active(X2)))
    (active#(x(X1, X2)) -> active#(X1), active#(x(X1, X2)) -> active#(X2))
    (active#(x(X1, X2)) -> active#(X1), active#(x(X1, X2)) -> active#(X1))
    (active#(x(X1, X2)) -> active#(X1), active#(x(N, 0())) -> isNatKind#(N))
    (active#(x(X1, X2)) -> active#(X1), active#(x(N, 0())) -> and#(isNat(N), isNatKind(N)))
    (active#(x(X1, X2)) -> active#(X1), active#(x(N, 0())) -> U61#(and(isNat(N), isNatKind(N))))
    (active#(x(X1, X2)) -> active#(X1), active#(x(N, 0())) -> isNat#(N))
    (active#(x(X1, X2)) -> active#(X1), active#(x(N, s(M))) -> isNatKind#(M))
    (active#(x(X1, X2)) -> active#(X1), active#(x(N, s(M))) -> isNatKind#(N))
    (active#(x(X1, X2)) -> active#(X1), active#(x(N, s(M))) -> and#(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))))
    (active#(x(X1, X2)) -> active#(X1), active#(x(N, s(M))) -> and#(isNat(M), isNatKind(M)))
    (active#(x(X1, X2)) -> active#(X1), active#(x(N, s(M))) -> and#(isNat(N), isNatKind(N)))
    (active#(x(X1, X2)) -> active#(X1), active#(x(N, s(M))) -> U71#(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N))
    (active#(x(X1, X2)) -> active#(X1), active#(x(N, s(M))) -> isNat#(M))
    (active#(x(X1, X2)) -> active#(X1), active#(x(N, s(M))) -> isNat#(N))
    (active#(x(X1, X2)) -> active#(X1), active#(U61(X)) -> U61#(active(X)))
    (active#(x(X1, X2)) -> active#(X1), active#(U61(X)) -> active#(X))
    (active#(x(X1, X2)) -> active#(X1), active#(U51(tt(), M, N)) -> plus#(N, M))
    (active#(x(X1, X2)) -> active#(X1), active#(U51(tt(), M, N)) -> s#(plus(N, M)))
    (active#(x(X1, X2)) -> active#(X1), active#(U51(X1, X2, X3)) -> U51#(active(X1), X2, X3))
    (active#(x(X1, X2)) -> active#(X1), active#(U51(X1, X2, X3)) -> active#(X1))
    (active#(x(X1, X2)) -> active#(X1), active#(plus(X1, X2)) -> plus#(active(X1), X2))
    (active#(x(X1, X2)) -> active#(X1), active#(plus(X1, X2)) -> plus#(X1, active(X2)))
    (active#(x(X1, X2)) -> active#(X1), active#(plus(X1, X2)) -> active#(X2))
    (active#(x(X1, X2)) -> active#(X1), active#(plus(X1, X2)) -> active#(X1))
    (active#(x(X1, X2)) -> active#(X1), active#(plus(N, 0())) -> isNatKind#(N))
    (active#(x(X1, X2)) -> active#(X1), active#(plus(N, 0())) -> and#(isNat(N), isNatKind(N)))
    (active#(x(X1, X2)) -> active#(X1), active#(plus(N, 0())) -> U41#(and(isNat(N), isNatKind(N)), N))
    (active#(x(X1, X2)) -> active#(X1), active#(plus(N, 0())) -> isNat#(N))
    (active#(x(X1, X2)) -> active#(X1), active#(plus(N, s(M))) -> isNatKind#(M))
    (active#(x(X1, X2)) -> active#(X1), active#(plus(N, s(M))) -> isNatKind#(N))
    (active#(x(X1, X2)) -> active#(X1), active#(plus(N, s(M))) -> and#(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))))
    (active#(x(X1, X2)) -> active#(X1), active#(plus(N, s(M))) -> and#(isNat(M), isNatKind(M)))
    (active#(x(X1, X2)) -> active#(X1), active#(plus(N, s(M))) -> and#(isNat(N), isNatKind(N)))
    (active#(x(X1, X2)) -> active#(X1), active#(plus(N, s(M))) -> U51#(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N))
    (active#(x(X1, X2)) -> active#(X1), active#(plus(N, s(M))) -> isNat#(M))
    (active#(x(X1, X2)) -> active#(X1), active#(plus(N, s(M))) -> isNat#(N))
    (active#(x(X1, X2)) -> active#(X1), active#(s(X)) -> s#(active(X)))
    (active#(x(X1, X2)) -> active#(X1), active#(s(X)) -> active#(X))
    (active#(x(X1, X2)) -> active#(X1), active#(U41(X1, X2)) -> U41#(active(X1), X2))
    (active#(x(X1, X2)) -> active#(X1), active#(U41(X1, X2)) -> active#(X1))
    (active#(x(X1, X2)) -> active#(X1), active#(U33(X)) -> U33#(active(X)))
    (active#(x(X1, X2)) -> active#(X1), active#(U33(X)) -> active#(X))
    (active#(x(X1, X2)) -> active#(X1), active#(U31(tt(), V1, V2)) -> U32#(isNat(V1), V2))
    (active#(x(X1, X2)) -> active#(X1), active#(U31(tt(), V1, V2)) -> isNat#(V1))
    (active#(x(X1, X2)) -> active#(X1), active#(U31(X1, X2, X3)) -> U31#(active(X1), X2, X3))
    (active#(x(X1, X2)) -> active#(X1), active#(U31(X1, X2, X3)) -> active#(X1))
    (active#(x(X1, X2)) -> active#(X1), active#(U32(tt(), V2)) -> U33#(isNat(V2)))
    (active#(x(X1, X2)) -> active#(X1), active#(U32(tt(), V2)) -> isNat#(V2))
    (active#(x(X1, X2)) -> active#(X1), active#(U32(X1, X2)) -> U32#(active(X1), X2))
    (active#(x(X1, X2)) -> active#(X1), active#(U32(X1, X2)) -> active#(X1))
    (active#(x(X1, X2)) -> active#(X1), active#(U21(tt(), V1)) -> U22#(isNat(V1)))
    (active#(x(X1, X2)) -> active#(X1), active#(U21(tt(), V1)) -> isNat#(V1))
    (active#(x(X1, X2)) -> active#(X1), active#(U21(X1, X2)) -> U21#(active(X1), X2))
    (active#(x(X1, X2)) -> active#(X1), active#(U21(X1, X2)) -> active#(X1))
    (active#(x(X1, X2)) -> active#(X1), active#(U22(X)) -> U22#(active(X)))
    (active#(x(X1, X2)) -> active#(X1), active#(U22(X)) -> active#(X))
    (active#(x(X1, X2)) -> active#(X1), active#(U13(X)) -> U13#(active(X)))
    (active#(x(X1, X2)) -> active#(X1), active#(U13(X)) -> active#(X))
    (active#(x(X1, X2)) -> active#(X1), active#(U11(tt(), V1, V2)) -> isNat#(V1))
    (active#(x(X1, X2)) -> active#(X1), active#(U11(tt(), V1, V2)) -> U12#(isNat(V1), V2))
    (active#(x(X1, X2)) -> active#(X1), active#(U11(X1, X2, X3)) -> U11#(active(X1), X2, X3))
    (active#(x(X1, X2)) -> active#(X1), active#(U11(X1, X2, X3)) -> active#(X1))
    (active#(x(X1, X2)) -> active#(X1), active#(isNat(x(V1, V2))) -> isNatKind#(V2))
    (active#(x(X1, X2)) -> active#(X1), active#(isNat(x(V1, V2))) -> isNatKind#(V1))
    (active#(x(X1, X2)) -> active#(X1), active#(isNat(x(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)))
    (active#(x(X1, X2)) -> active#(X1), active#(isNat(x(V1, V2))) -> U31#(and(isNatKind(V1), isNatKind(V2)), V1, V2))
    (active#(x(X1, X2)) -> active#(X1), active#(isNat(plus(V1, V2))) -> isNatKind#(V2))
    (active#(x(X1, X2)) -> active#(X1), active#(isNat(plus(V1, V2))) -> isNatKind#(V1))
    (active#(x(X1, X2)) -> active#(X1), active#(isNat(plus(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)))
    (active#(x(X1, X2)) -> active#(X1), active#(isNat(plus(V1, V2))) -> U11#(and(isNatKind(V1), isNatKind(V2)), V1, V2))
    (active#(x(X1, X2)) -> active#(X1), active#(isNat(s(V1))) -> isNatKind#(V1))
    (active#(x(X1, X2)) -> active#(X1), active#(isNat(s(V1))) -> U21#(isNatKind(V1), V1))
    (active#(x(X1, X2)) -> active#(X1), active#(U12(tt(), V2)) -> U13#(isNat(V2)))
    (active#(x(X1, X2)) -> active#(X1), active#(U12(tt(), V2)) -> isNat#(V2))
    (active#(x(X1, X2)) -> active#(X1), active#(U12(X1, X2)) -> active#(X1))
    (active#(x(X1, X2)) -> active#(X1), active#(U12(X1, X2)) -> U12#(active(X1), X2))
    (active#(and(X1, X2)) -> active#(X1), active#(isNatKind(x(V1, V2))) -> isNatKind#(V2))
    (active#(and(X1, X2)) -> active#(X1), active#(isNatKind(x(V1, V2))) -> isNatKind#(V1))
    (active#(and(X1, X2)) -> active#(X1), active#(isNatKind(x(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)))
    (active#(and(X1, X2)) -> active#(X1), active#(isNatKind(plus(V1, V2))) -> isNatKind#(V2))
    (active#(and(X1, X2)) -> active#(X1), active#(isNatKind(plus(V1, V2))) -> isNatKind#(V1))
    (active#(and(X1, X2)) -> active#(X1), active#(isNatKind(plus(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)))
    (active#(and(X1, X2)) -> active#(X1), active#(isNatKind(s(V1))) -> isNatKind#(V1))
    (active#(and(X1, X2)) -> active#(X1), active#(and(X1, X2)) -> and#(active(X1), X2))
    (active#(and(X1, X2)) -> active#(X1), active#(and(X1, X2)) -> active#(X1))
    (active#(and(X1, X2)) -> active#(X1), active#(U71(tt(), M, N)) -> x#(N, M))
    (active#(and(X1, X2)) -> active#(X1), active#(U71(tt(), M, N)) -> plus#(x(N, M), N))
    (active#(and(X1, X2)) -> active#(X1), active#(U71(X1, X2, X3)) -> U71#(active(X1), X2, X3))
    (active#(and(X1, X2)) -> active#(X1), active#(U71(X1, X2, X3)) -> active#(X1))
    (active#(and(X1, X2)) -> active#(X1), active#(x(X1, X2)) -> x#(active(X1), X2))
    (active#(and(X1, X2)) -> active#(X1), active#(x(X1, X2)) -> x#(X1, active(X2)))
    (active#(and(X1, X2)) -> active#(X1), active#(x(X1, X2)) -> active#(X2))
    (active#(and(X1, X2)) -> active#(X1), active#(x(X1, X2)) -> active#(X1))
    (active#(and(X1, X2)) -> active#(X1), active#(x(N, 0())) -> isNatKind#(N))
    (active#(and(X1, X2)) -> active#(X1), active#(x(N, 0())) -> and#(isNat(N), isNatKind(N)))
    (active#(and(X1, X2)) -> active#(X1), active#(x(N, 0())) -> U61#(and(isNat(N), isNatKind(N))))
    (active#(and(X1, X2)) -> active#(X1), active#(x(N, 0())) -> isNat#(N))
    (active#(and(X1, X2)) -> active#(X1), active#(x(N, s(M))) -> isNatKind#(M))
    (active#(and(X1, X2)) -> active#(X1), active#(x(N, s(M))) -> isNatKind#(N))
    (active#(and(X1, X2)) -> active#(X1), active#(x(N, s(M))) -> and#(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))))
    (active#(and(X1, X2)) -> active#(X1), active#(x(N, s(M))) -> and#(isNat(M), isNatKind(M)))
    (active#(and(X1, X2)) -> active#(X1), active#(x(N, s(M))) -> and#(isNat(N), isNatKind(N)))
    (active#(and(X1, X2)) -> active#(X1), active#(x(N, s(M))) -> U71#(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N))
    (active#(and(X1, X2)) -> active#(X1), active#(x(N, s(M))) -> isNat#(M))
    (active#(and(X1, X2)) -> active#(X1), active#(x(N, s(M))) -> isNat#(N))
    (active#(and(X1, X2)) -> active#(X1), active#(U61(X)) -> U61#(active(X)))
    (active#(and(X1, X2)) -> active#(X1), active#(U61(X)) -> active#(X))
    (active#(and(X1, X2)) -> active#(X1), active#(U51(tt(), M, N)) -> plus#(N, M))
    (active#(and(X1, X2)) -> active#(X1), active#(U51(tt(), M, N)) -> s#(plus(N, M)))
    (active#(and(X1, X2)) -> active#(X1), active#(U51(X1, X2, X3)) -> U51#(active(X1), X2, X3))
    (active#(and(X1, X2)) -> active#(X1), active#(U51(X1, X2, X3)) -> active#(X1))
    (active#(and(X1, X2)) -> active#(X1), active#(plus(X1, X2)) -> plus#(active(X1), X2))
    (active#(and(X1, X2)) -> active#(X1), active#(plus(X1, X2)) -> plus#(X1, active(X2)))
    (active#(and(X1, X2)) -> active#(X1), active#(plus(X1, X2)) -> active#(X2))
    (active#(and(X1, X2)) -> active#(X1), active#(plus(X1, X2)) -> active#(X1))
    (active#(and(X1, X2)) -> active#(X1), active#(plus(N, 0())) -> isNatKind#(N))
    (active#(and(X1, X2)) -> active#(X1), active#(plus(N, 0())) -> and#(isNat(N), isNatKind(N)))
    (active#(and(X1, X2)) -> active#(X1), active#(plus(N, 0())) -> U41#(and(isNat(N), isNatKind(N)), N))
    (active#(and(X1, X2)) -> active#(X1), active#(plus(N, 0())) -> isNat#(N))
    (active#(and(X1, X2)) -> active#(X1), active#(plus(N, s(M))) -> isNatKind#(M))
    (active#(and(X1, X2)) -> active#(X1), active#(plus(N, s(M))) -> isNatKind#(N))
    (active#(and(X1, X2)) -> active#(X1), active#(plus(N, s(M))) -> and#(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))))
    (active#(and(X1, X2)) -> active#(X1), active#(plus(N, s(M))) -> and#(isNat(M), isNatKind(M)))
    (active#(and(X1, X2)) -> active#(X1), active#(plus(N, s(M))) -> and#(isNat(N), isNatKind(N)))
    (active#(and(X1, X2)) -> active#(X1), active#(plus(N, s(M))) -> U51#(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N))
    (active#(and(X1, X2)) -> active#(X1), active#(plus(N, s(M))) -> isNat#(M))
    (active#(and(X1, X2)) -> active#(X1), active#(plus(N, s(M))) -> isNat#(N))
    (active#(and(X1, X2)) -> active#(X1), active#(s(X)) -> s#(active(X)))
    (active#(and(X1, X2)) -> active#(X1), active#(s(X)) -> active#(X))
    (active#(and(X1, X2)) -> active#(X1), active#(U41(X1, X2)) -> U41#(active(X1), X2))
    (active#(and(X1, X2)) -> active#(X1), active#(U41(X1, X2)) -> active#(X1))
    (active#(and(X1, X2)) -> active#(X1), active#(U33(X)) -> U33#(active(X)))
    (active#(and(X1, X2)) -> active#(X1), active#(U33(X)) -> active#(X))
    (active#(and(X1, X2)) -> active#(X1), active#(U31(tt(), V1, V2)) -> U32#(isNat(V1), V2))
    (active#(and(X1, X2)) -> active#(X1), active#(U31(tt(), V1, V2)) -> isNat#(V1))
    (active#(and(X1, X2)) -> active#(X1), active#(U31(X1, X2, X3)) -> U31#(active(X1), X2, X3))
    (active#(and(X1, X2)) -> active#(X1), active#(U31(X1, X2, X3)) -> active#(X1))
    (active#(and(X1, X2)) -> active#(X1), active#(U32(tt(), V2)) -> U33#(isNat(V2)))
    (active#(and(X1, X2)) -> active#(X1), active#(U32(tt(), V2)) -> isNat#(V2))
    (active#(and(X1, X2)) -> active#(X1), active#(U32(X1, X2)) -> U32#(active(X1), X2))
    (active#(and(X1, X2)) -> active#(X1), active#(U32(X1, X2)) -> active#(X1))
    (active#(and(X1, X2)) -> active#(X1), active#(U21(tt(), V1)) -> U22#(isNat(V1)))
    (active#(and(X1, X2)) -> active#(X1), active#(U21(tt(), V1)) -> isNat#(V1))
    (active#(and(X1, X2)) -> active#(X1), active#(U21(X1, X2)) -> U21#(active(X1), X2))
    (active#(and(X1, X2)) -> active#(X1), active#(U21(X1, X2)) -> active#(X1))
    (active#(and(X1, X2)) -> active#(X1), active#(U22(X)) -> U22#(active(X)))
    (active#(and(X1, X2)) -> active#(X1), active#(U22(X)) -> active#(X))
    (active#(and(X1, X2)) -> active#(X1), active#(U13(X)) -> U13#(active(X)))
    (active#(and(X1, X2)) -> active#(X1), active#(U13(X)) -> active#(X))
    (active#(and(X1, X2)) -> active#(X1), active#(U11(tt(), V1, V2)) -> isNat#(V1))
    (active#(and(X1, X2)) -> active#(X1), active#(U11(tt(), V1, V2)) -> U12#(isNat(V1), V2))
    (active#(and(X1, X2)) -> active#(X1), active#(U11(X1, X2, X3)) -> U11#(active(X1), X2, X3))
    (active#(and(X1, X2)) -> active#(X1), active#(U11(X1, X2, X3)) -> active#(X1))
    (active#(and(X1, X2)) -> active#(X1), active#(isNat(x(V1, V2))) -> isNatKind#(V2))
    (active#(and(X1, X2)) -> active#(X1), active#(isNat(x(V1, V2))) -> isNatKind#(V1))
    (active#(and(X1, X2)) -> active#(X1), active#(isNat(x(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)))
    (active#(and(X1, X2)) -> active#(X1), active#(isNat(x(V1, V2))) -> U31#(and(isNatKind(V1), isNatKind(V2)), V1, V2))
    (active#(and(X1, X2)) -> active#(X1), active#(isNat(plus(V1, V2))) -> isNatKind#(V2))
    (active#(and(X1, X2)) -> active#(X1), active#(isNat(plus(V1, V2))) -> isNatKind#(V1))
    (active#(and(X1, X2)) -> active#(X1), active#(isNat(plus(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)))
    (active#(and(X1, X2)) -> active#(X1), active#(isNat(plus(V1, V2))) -> U11#(and(isNatKind(V1), isNatKind(V2)), V1, V2))
    (active#(and(X1, X2)) -> active#(X1), active#(isNat(s(V1))) -> isNatKind#(V1))
    (active#(and(X1, X2)) -> active#(X1), active#(isNat(s(V1))) -> U21#(isNatKind(V1), V1))
    (active#(and(X1, X2)) -> active#(X1), active#(U12(tt(), V2)) -> U13#(isNat(V2)))
    (active#(and(X1, X2)) -> active#(X1), active#(U12(tt(), V2)) -> isNat#(V2))
    (active#(and(X1, X2)) -> active#(X1), active#(U12(X1, X2)) -> active#(X1))
    (active#(and(X1, X2)) -> active#(X1), active#(U12(X1, X2)) -> U12#(active(X1), X2))
    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(isNatKind(X)) -> proper#(X))
    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(isNatKind(X)) -> isNatKind#(proper(X)))
    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(and(X1, X2)) -> proper#(X2))
    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(and(X1, X2)) -> proper#(X1))
    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(and(X1, X2)) -> and#(proper(X1), proper(X2)))
    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X3))
    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X2))
    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X1))
    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> U71#(proper(X1), proper(X2), proper(X3)))
    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(x(X1, X2)) -> proper#(X2))
    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(x(X1, X2)) -> proper#(X1))
    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(x(X1, X2)) -> x#(proper(X1), proper(X2)))
    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U61(X)) -> proper#(X))
    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U61(X)) -> U61#(proper(X)))
    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X3))
    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X2))
    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X1))
    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> U51#(proper(X1), proper(X2), proper(X3)))
    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X2))
    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X1))
    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(plus(X1, X2)) -> plus#(proper(X1), proper(X2)))
    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(s(X)) -> proper#(X))
    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(s(X)) -> s#(proper(X)))
    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U41(X1, X2)) -> U41#(proper(X1), proper(X2)))
    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U33(X)) -> U33#(proper(X)))
    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X3))
    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> U31#(proper(X1), proper(X2), proper(X3)))
    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U32(X1, X2)) -> U32#(proper(X1), proper(X2)))
    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X2))
    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U21(X1, X2)) -> U21#(proper(X1), proper(X2)))
    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U22(X)) -> U22#(proper(X)))
    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U13(X)) -> U13#(proper(X)))
    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X2))
    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> U11#(proper(X1), proper(X2), proper(X3)))
    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(isNat(X)) -> isNat#(proper(X)))
    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U12(X1, X2)) -> U12#(proper(X1), proper(X2)))
    (proper#(U32(X1, X2)) -> proper#(X1), proper#(isNatKind(X)) -> proper#(X))
    (proper#(U32(X1, X2)) -> proper#(X1), proper#(isNatKind(X)) -> isNatKind#(proper(X)))
    (proper#(U32(X1, X2)) -> proper#(X1), proper#(and(X1, X2)) -> proper#(X2))
    (proper#(U32(X1, X2)) -> proper#(X1), proper#(and(X1, X2)) -> proper#(X1))
    (proper#(U32(X1, X2)) -> proper#(X1), proper#(and(X1, X2)) -> and#(proper(X1), proper(X2)))
    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X3))
    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X2))
    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X1))
    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> U71#(proper(X1), proper(X2), proper(X3)))
    (proper#(U32(X1, X2)) -> proper#(X1), proper#(x(X1, X2)) -> proper#(X2))
    (proper#(U32(X1, X2)) -> proper#(X1), proper#(x(X1, X2)) -> proper#(X1))
    (proper#(U32(X1, X2)) -> proper#(X1), proper#(x(X1, X2)) -> x#(proper(X1), proper(X2)))
    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U61(X)) -> proper#(X))
    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U61(X)) -> U61#(proper(X)))
    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X3))
    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X2))
    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X1))
    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> U51#(proper(X1), proper(X2), proper(X3)))
    (proper#(U32(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X2))
    (proper#(U32(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X1))
    (proper#(U32(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> plus#(proper(X1), proper(X2)))
    (proper#(U32(X1, X2)) -> proper#(X1), proper#(s(X)) -> proper#(X))
    (proper#(U32(X1, X2)) -> proper#(X1), proper#(s(X)) -> s#(proper(X)))
    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> U41#(proper(X1), proper(X2)))
    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U33(X)) -> U33#(proper(X)))
    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X3))
    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> U31#(proper(X1), proper(X2), proper(X3)))
    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> U32#(proper(X1), proper(X2)))
    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X2))
    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> U21#(proper(X1), proper(X2)))
    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U22(X)) -> U22#(proper(X)))
    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U13(X)) -> U13#(proper(X)))
    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X2))
    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> U11#(proper(X1), proper(X2), proper(X3)))
    (proper#(U32(X1, X2)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
    (proper#(U32(X1, X2)) -> proper#(X1), proper#(isNat(X)) -> isNat#(proper(X)))
    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> U12#(proper(X1), proper(X2)))
    (proper#(U41(X1, X2)) -> proper#(X1), proper#(isNatKind(X)) -> proper#(X))
    (proper#(U41(X1, X2)) -> proper#(X1), proper#(isNatKind(X)) -> isNatKind#(proper(X)))
    (proper#(U41(X1, X2)) -> proper#(X1), proper#(and(X1, X2)) -> proper#(X2))
    (proper#(U41(X1, X2)) -> proper#(X1), proper#(and(X1, X2)) -> proper#(X1))
    (proper#(U41(X1, X2)) -> proper#(X1), proper#(and(X1, X2)) -> and#(proper(X1), proper(X2)))
    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X3))
    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X2))
    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X1))
    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> U71#(proper(X1), proper(X2), proper(X3)))
    (proper#(U41(X1, X2)) -> proper#(X1), proper#(x(X1, X2)) -> proper#(X2))
    (proper#(U41(X1, X2)) -> proper#(X1), proper#(x(X1, X2)) -> proper#(X1))
    (proper#(U41(X1, X2)) -> proper#(X1), proper#(x(X1, X2)) -> x#(proper(X1), proper(X2)))
    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U61(X)) -> proper#(X))
    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U61(X)) -> U61#(proper(X)))
    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X3))
    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X2))
    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X1))
    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> U51#(proper(X1), proper(X2), proper(X3)))
    (proper#(U41(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X2))
    (proper#(U41(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X1))
    (proper#(U41(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> plus#(proper(X1), proper(X2)))
    (proper#(U41(X1, X2)) -> proper#(X1), proper#(s(X)) -> proper#(X))
    (proper#(U41(X1, X2)) -> proper#(X1), proper#(s(X)) -> s#(proper(X)))
    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> U41#(proper(X1), proper(X2)))
    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U33(X)) -> U33#(proper(X)))
    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X3))
    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> U31#(proper(X1), proper(X2), proper(X3)))
    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> U32#(proper(X1), proper(X2)))
    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X2))
    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> U21#(proper(X1), proper(X2)))
    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U22(X)) -> U22#(proper(X)))
    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U13(X)) -> U13#(proper(X)))
    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X2))
    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> U11#(proper(X1), proper(X2), proper(X3)))
    (proper#(U41(X1, X2)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
    (proper#(U41(X1, X2)) -> proper#(X1), proper#(isNat(X)) -> isNat#(proper(X)))
    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> U12#(proper(X1), proper(X2)))
    (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(isNatKind(X)) -> proper#(X))
    (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(isNatKind(X)) -> isNatKind#(proper(X)))
    (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(and(X1, X2)) -> proper#(X2))
    (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(and(X1, X2)) -> proper#(X1))
    (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(and(X1, X2)) -> and#(proper(X1), proper(X2)))
    (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X3))
    (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X2))
    (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X1))
    (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> U71#(proper(X1), proper(X2), proper(X3)))
    (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(x(X1, X2)) -> proper#(X2))
    (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(x(X1, X2)) -> proper#(X1))
    (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(x(X1, X2)) -> x#(proper(X1), proper(X2)))
    (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U61(X)) -> proper#(X))
    (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U61(X)) -> U61#(proper(X)))
    (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X3))
    (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X2))
    (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X1))
    (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> U51#(proper(X1), proper(X2), proper(X3)))
    (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X2))
    (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X1))
    (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(plus(X1, X2)) -> plus#(proper(X1), proper(X2)))
    (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(s(X)) -> proper#(X))
    (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(s(X)) -> s#(proper(X)))
    (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
    (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
    (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U41(X1, X2)) -> U41#(proper(X1), proper(X2)))
    (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
    (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U33(X)) -> U33#(proper(X)))
    (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X3))
    (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
    (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
    (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> U31#(proper(X1), proper(X2), proper(X3)))
    (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
    (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
    (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U32(X1, X2)) -> U32#(proper(X1), proper(X2)))
    (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X2))
    (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
    (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U21(X1, X2)) -> U21#(proper(X1), proper(X2)))
    (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
    (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U22(X)) -> U22#(proper(X)))
    (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
    (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U13(X)) -> U13#(proper(X)))
    (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
    (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X2))
    (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
    (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> U11#(proper(X1), proper(X2), proper(X3)))
    (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
    (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(isNat(X)) -> isNat#(proper(X)))
    (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
    (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
    (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U12(X1, X2)) -> U12#(proper(X1), proper(X2)))
    (proper#(U71(X1, X2, X3)) -> proper#(X1), proper#(isNatKind(X)) -> proper#(X))
    (proper#(U71(X1, X2, X3)) -> proper#(X1), proper#(isNatKind(X)) -> isNatKind#(proper(X)))
    (proper#(U71(X1, X2, X3)) -> proper#(X1), proper#(and(X1, X2)) -> proper#(X2))
    (proper#(U71(X1, X2, X3)) -> proper#(X1), proper#(and(X1, X2)) -> proper#(X1))
    (proper#(U71(X1, X2, X3)) -> proper#(X1), proper#(and(X1, X2)) -> and#(proper(X1), proper(X2)))
    (proper#(U71(X1, X2, X3)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X3))
    (proper#(U71(X1, X2, X3)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X2))
    (proper#(U71(X1, X2, X3)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X1))
    (proper#(U71(X1, X2, X3)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> U71#(proper(X1), proper(X2), proper(X3)))
    (proper#(U71(X1, X2, X3)) -> proper#(X1), proper#(x(X1, X2)) -> proper#(X2))
    (proper#(U71(X1, X2, X3)) -> proper#(X1), proper#(x(X1, X2)) -> proper#(X1))
    (proper#(U71(X1, X2, X3)) -> proper#(X1), proper#(x(X1, X2)) -> x#(proper(X1), proper(X2)))
    (proper#(U71(X1, X2, X3)) -> proper#(X1), proper#(U61(X)) -> proper#(X))
    (proper#(U71(X1, X2, X3)) -> proper#(X1), proper#(U61(X)) -> U61#(proper(X)))
    (proper#(U71(X1, X2, X3)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X3))
    (proper#(U71(X1, X2, X3)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X2))
    (proper#(U71(X1, X2, X3)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X1))
    (proper#(U71(X1, X2, X3)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> U51#(proper(X1), proper(X2), proper(X3)))
    (proper#(U71(X1, X2, X3)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X2))
    (proper#(U71(X1, X2, X3)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X1))
    (proper#(U71(X1, X2, X3)) -> proper#(X1), proper#(plus(X1, X2)) -> plus#(proper(X1), proper(X2)))
    (proper#(U71(X1, X2, X3)) -> proper#(X1), proper#(s(X)) -> proper#(X))
    (proper#(U71(X1, X2, X3)) -> proper#(X1), proper#(s(X)) -> s#(proper(X)))
    (proper#(U71(X1, X2, X3)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
    (proper#(U71(X1, X2, X3)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
    (proper#(U71(X1, X2, X3)) -> proper#(X1), proper#(U41(X1, X2)) -> U41#(proper(X1), proper(X2)))
    (proper#(U71(X1, X2, X3)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
    (proper#(U71(X1, X2, X3)) -> proper#(X1), proper#(U33(X)) -> U33#(proper(X)))
    (proper#(U71(X1, X2, X3)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X3))
    (proper#(U71(X1, X2, X3)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
    (proper#(U71(X1, X2, X3)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
    (proper#(U71(X1, X2, X3)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> U31#(proper(X1), proper(X2), proper(X3)))
    (proper#(U71(X1, X2, X3)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
    (proper#(U71(X1, X2, X3)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
    (proper#(U71(X1, X2, X3)) -> proper#(X1), proper#(U32(X1, X2)) -> U32#(proper(X1), proper(X2)))
    (proper#(U71(X1, X2, X3)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X2))
    (proper#(U71(X1, X2, X3)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
    (proper#(U71(X1, X2, X3)) -> proper#(X1), proper#(U21(X1, X2)) -> U21#(proper(X1), proper(X2)))
    (proper#(U71(X1, X2, X3)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
    (proper#(U71(X1, X2, X3)) -> proper#(X1), proper#(U22(X)) -> U22#(proper(X)))
    (proper#(U71(X1, X2, X3)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
    (proper#(U71(X1, X2, X3)) -> proper#(X1), proper#(U13(X)) -> U13#(proper(X)))
    (proper#(U71(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
    (proper#(U71(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X2))
    (proper#(U71(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
    (proper#(U71(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> U11#(proper(X1), proper(X2), proper(X3)))
    (proper#(U71(X1, X2, X3)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
    (proper#(U71(X1, X2, X3)) -> proper#(X1), proper#(isNat(X)) -> isNat#(proper(X)))
    (proper#(U71(X1, X2, X3)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
    (proper#(U71(X1, X2, X3)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
    (proper#(U71(X1, X2, X3)) -> proper#(X1), proper#(U12(X1, X2)) -> U12#(proper(X1), proper(X2)))
    (active#(plus(N, s(M))) -> isNat#(N), isNat#(ok(X)) -> isNat#(X))
    (active#(plus(N, 0())) -> isNat#(N), isNat#(ok(X)) -> isNat#(X))
    (active#(x(N, s(M))) -> isNat#(N), isNat#(ok(X)) -> isNat#(X))
    (active#(x(N, 0())) -> isNat#(N), isNat#(ok(X)) -> isNat#(X))
    (active#(U11(X1, X2, X3)) -> U11#(active(X1), X2, X3), U11#(ok(X1), ok(X2), ok(X3)) -> U11#(X1, X2, X3))
    (active#(U11(X1, X2, X3)) -> U11#(active(X1), X2, X3), U11#(mark(X1), X2, X3) -> U11#(X1, X2, X3))
    (active#(U51(X1, X2, X3)) -> U51#(active(X1), X2, X3), U51#(ok(X1), ok(X2), ok(X3)) -> U51#(X1, X2, X3))
    (active#(U51(X1, X2, X3)) -> U51#(active(X1), X2, X3), U51#(mark(X1), X2, X3) -> U51#(X1, X2, X3))
    (U11#(mark(X1), X2, X3) -> U11#(X1, X2, X3), U11#(ok(X1), ok(X2), ok(X3)) -> U11#(X1, X2, X3))
    (U11#(mark(X1), X2, X3) -> U11#(X1, X2, X3), U11#(mark(X1), X2, X3) -> U11#(X1, X2, X3))
    (U31#(mark(X1), X2, X3) -> U31#(X1, X2, X3), U31#(ok(X1), ok(X2), ok(X3)) -> U31#(X1, X2, X3))
    (U31#(mark(X1), X2, X3) -> U31#(X1, X2, X3), U31#(mark(X1), X2, X3) -> U31#(X1, X2, X3))
    (U51#(mark(X1), X2, X3) -> U51#(X1, X2, X3), U51#(ok(X1), ok(X2), ok(X3)) -> U51#(X1, X2, X3))
    (U51#(mark(X1), X2, X3) -> U51#(X1, X2, X3), U51#(mark(X1), X2, X3) -> U51#(X1, X2, X3))
    (U71#(mark(X1), X2, X3) -> U71#(X1, X2, X3), U71#(ok(X1), ok(X2), ok(X3)) -> U71#(X1, X2, X3))
    (U71#(mark(X1), X2, X3) -> U71#(X1, X2, X3), U71#(mark(X1), X2, X3) -> U71#(X1, X2, X3))
    (active#(U13(X)) -> U13#(active(X)), U13#(ok(X)) -> U13#(X))
    (active#(U13(X)) -> U13#(active(X)), U13#(mark(X)) -> U13#(X))
    (active#(U33(X)) -> U33#(active(X)), U33#(ok(X)) -> U33#(X))
    (active#(U33(X)) -> U33#(active(X)), U33#(mark(X)) -> U33#(X))
    (active#(U61(X)) -> U61#(active(X)), U61#(ok(X)) -> U61#(X))
    (active#(U61(X)) -> U61#(active(X)), U61#(mark(X)) -> U61#(X))
    (proper#(U13(X)) -> U13#(proper(X)), U13#(ok(X)) -> U13#(X))
    (proper#(U13(X)) -> U13#(proper(X)), U13#(mark(X)) -> U13#(X))
    (proper#(U33(X)) -> U33#(proper(X)), U33#(ok(X)) -> U33#(X))
    (proper#(U33(X)) -> U33#(proper(X)), U33#(mark(X)) -> U33#(X))
    (proper#(U61(X)) -> U61#(proper(X)), U61#(ok(X)) -> U61#(X))
    (proper#(U61(X)) -> U61#(proper(X)), U61#(mark(X)) -> U61#(X))
    (top#(mark(X)) -> top#(proper(X)), top#(ok(X)) -> top#(active(X)))
    (top#(mark(X)) -> top#(proper(X)), top#(ok(X)) -> active#(X))
    (top#(mark(X)) -> top#(proper(X)), top#(mark(X)) -> top#(proper(X)))
    (top#(mark(X)) -> top#(proper(X)), top#(mark(X)) -> proper#(X))
    (active#(U12(tt(), V2)) -> U13#(isNat(V2)), U13#(ok(X)) -> U13#(X))
    (active#(U12(tt(), V2)) -> U13#(isNat(V2)), U13#(mark(X)) -> U13#(X))
    (active#(U21(tt(), V1)) -> U22#(isNat(V1)), U22#(ok(X)) -> U22#(X))
    (active#(U21(tt(), V1)) -> U22#(isNat(V1)), U22#(mark(X)) -> U22#(X))
    (proper#(U31(X1, X2, X3)) -> proper#(X3), proper#(isNatKind(X)) -> proper#(X))
    (proper#(U31(X1, X2, X3)) -> proper#(X3), proper#(isNatKind(X)) -> isNatKind#(proper(X)))
    (proper#(U31(X1, X2, X3)) -> proper#(X3), proper#(and(X1, X2)) -> proper#(X2))
    (proper#(U31(X1, X2, X3)) -> proper#(X3), proper#(and(X1, X2)) -> proper#(X1))
    (proper#(U31(X1, X2, X3)) -> proper#(X3), proper#(and(X1, X2)) -> and#(proper(X1), proper(X2)))
    (proper#(U31(X1, X2, X3)) -> proper#(X3), proper#(U71(X1, X2, X3)) -> proper#(X3))
    (proper#(U31(X1, X2, X3)) -> proper#(X3), proper#(U71(X1, X2, X3)) -> proper#(X2))
    (proper#(U31(X1, X2, X3)) -> proper#(X3), proper#(U71(X1, X2, X3)) -> proper#(X1))
    (proper#(U31(X1, X2, X3)) -> proper#(X3), proper#(U71(X1, X2, X3)) -> U71#(proper(X1), proper(X2), proper(X3)))
    (proper#(U31(X1, X2, X3)) -> proper#(X3), proper#(x(X1, X2)) -> proper#(X2))
    (proper#(U31(X1, X2, X3)) -> proper#(X3), proper#(x(X1, X2)) -> proper#(X1))
    (proper#(U31(X1, X2, X3)) -> proper#(X3), proper#(x(X1, X2)) -> x#(proper(X1), proper(X2)))
    (proper#(U31(X1, X2, X3)) -> proper#(X3), proper#(U61(X)) -> proper#(X))
    (proper#(U31(X1, X2, X3)) -> proper#(X3), proper#(U61(X)) -> U61#(proper(X)))
    (proper#(U31(X1, X2, X3)) -> proper#(X3), proper#(U51(X1, X2, X3)) -> proper#(X3))
    (proper#(U31(X1, X2, X3)) -> proper#(X3), proper#(U51(X1, X2, X3)) -> proper#(X2))
    (proper#(U31(X1, X2, X3)) -> proper#(X3), proper#(U51(X1, X2, X3)) -> proper#(X1))
    (proper#(U31(X1, X2, X3)) -> proper#(X3), proper#(U51(X1, X2, X3)) -> U51#(proper(X1), proper(X2), proper(X3)))
    (proper#(U31(X1, X2, X3)) -> proper#(X3), proper#(plus(X1, X2)) -> proper#(X2))
    (proper#(U31(X1, X2, X3)) -> proper#(X3), proper#(plus(X1, X2)) -> proper#(X1))
    (proper#(U31(X1, X2, X3)) -> proper#(X3), proper#(plus(X1, X2)) -> plus#(proper(X1), proper(X2)))
    (proper#(U31(X1, X2, X3)) -> proper#(X3), proper#(s(X)) -> proper#(X))
    (proper#(U31(X1, X2, X3)) -> proper#(X3), proper#(s(X)) -> s#(proper(X)))
    (proper#(U31(X1, X2, X3)) -> proper#(X3), proper#(U41(X1, X2)) -> proper#(X2))
    (proper#(U31(X1, X2, X3)) -> proper#(X3), proper#(U41(X1, X2)) -> proper#(X1))
    (proper#(U31(X1, X2, X3)) -> proper#(X3), proper#(U41(X1, X2)) -> U41#(proper(X1), proper(X2)))
    (proper#(U31(X1, X2, X3)) -> proper#(X3), proper#(U33(X)) -> proper#(X))
    (proper#(U31(X1, X2, X3)) -> proper#(X3), proper#(U33(X)) -> U33#(proper(X)))
    (proper#(U31(X1, X2, X3)) -> proper#(X3), proper#(U31(X1, X2, X3)) -> proper#(X3))
    (proper#(U31(X1, X2, X3)) -> proper#(X3), proper#(U31(X1, X2, X3)) -> proper#(X2))
    (proper#(U31(X1, X2, X3)) -> proper#(X3), proper#(U31(X1, X2, X3)) -> proper#(X1))
    (proper#(U31(X1, X2, X3)) -> proper#(X3), proper#(U31(X1, X2, X3)) -> U31#(proper(X1), proper(X2), proper(X3)))
    (proper#(U31(X1, X2, X3)) -> proper#(X3), proper#(U32(X1, X2)) -> proper#(X2))
    (proper#(U31(X1, X2, X3)) -> proper#(X3), proper#(U32(X1, X2)) -> proper#(X1))
    (proper#(U31(X1, X2, X3)) -> proper#(X3), proper#(U32(X1, X2)) -> U32#(proper(X1), proper(X2)))
    (proper#(U31(X1, X2, X3)) -> proper#(X3), proper#(U21(X1, X2)) -> proper#(X2))
    (proper#(U31(X1, X2, X3)) -> proper#(X3), proper#(U21(X1, X2)) -> proper#(X1))
    (proper#(U31(X1, X2, X3)) -> proper#(X3), proper#(U21(X1, X2)) -> U21#(proper(X1), proper(X2)))
    (proper#(U31(X1, X2, X3)) -> proper#(X3), proper#(U22(X)) -> proper#(X))
    (proper#(U31(X1, X2, X3)) -> proper#(X3), proper#(U22(X)) -> U22#(proper(X)))
    (proper#(U31(X1, X2, X3)) -> proper#(X3), proper#(U13(X)) -> proper#(X))
    (proper#(U31(X1, X2, X3)) -> proper#(X3), proper#(U13(X)) -> U13#(proper(X)))
    (proper#(U31(X1, X2, X3)) -> proper#(X3), proper#(U11(X1, X2, X3)) -> proper#(X3))
    (proper#(U31(X1, X2, X3)) -> proper#(X3), proper#(U11(X1, X2, X3)) -> proper#(X2))
    (proper#(U31(X1, X2, X3)) -> proper#(X3), proper#(U11(X1, X2, X3)) -> proper#(X1))
    (proper#(U31(X1, X2, X3)) -> proper#(X3), proper#(U11(X1, X2, X3)) -> U11#(proper(X1), proper(X2), proper(X3)))
    (proper#(U31(X1, X2, X3)) -> proper#(X3), proper#(isNat(X)) -> proper#(X))
    (proper#(U31(X1, X2, X3)) -> proper#(X3), proper#(isNat(X)) -> isNat#(proper(X)))
    (proper#(U31(X1, X2, X3)) -> proper#(X3), proper#(U12(X1, X2)) -> proper#(X2))
    (proper#(U31(X1, X2, X3)) -> proper#(X3), proper#(U12(X1, X2)) -> proper#(X1))
    (proper#(U31(X1, X2, X3)) -> proper#(X3), proper#(U12(X1, X2)) -> U12#(proper(X1), proper(X2)))
    (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(isNatKind(X)) -> proper#(X))
    (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(isNatKind(X)) -> isNatKind#(proper(X)))
    (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(and(X1, X2)) -> proper#(X2))
    (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(and(X1, X2)) -> proper#(X1))
    (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(and(X1, X2)) -> and#(proper(X1), proper(X2)))
    (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U71(X1, X2, X3)) -> proper#(X3))
    (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U71(X1, X2, X3)) -> proper#(X2))
    (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U71(X1, X2, X3)) -> proper#(X1))
    (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U71(X1, X2, X3)) -> U71#(proper(X1), proper(X2), proper(X3)))
    (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(x(X1, X2)) -> proper#(X2))
    (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(x(X1, X2)) -> proper#(X1))
    (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(x(X1, X2)) -> x#(proper(X1), proper(X2)))
    (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U61(X)) -> proper#(X))
    (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U61(X)) -> U61#(proper(X)))
    (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U51(X1, X2, X3)) -> proper#(X3))
    (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U51(X1, X2, X3)) -> proper#(X2))
    (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U51(X1, X2, X3)) -> proper#(X1))
    (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U51(X1, X2, X3)) -> U51#(proper(X1), proper(X2), proper(X3)))
    (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(plus(X1, X2)) -> proper#(X2))
    (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(plus(X1, X2)) -> proper#(X1))
    (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(plus(X1, X2)) -> plus#(proper(X1), proper(X2)))
    (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(s(X)) -> proper#(X))
    (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(s(X)) -> s#(proper(X)))
    (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U41(X1, X2)) -> proper#(X2))
    (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U41(X1, X2)) -> proper#(X1))
    (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U41(X1, X2)) -> U41#(proper(X1), proper(X2)))
    (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U33(X)) -> proper#(X))
    (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U33(X)) -> U33#(proper(X)))
    (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U31(X1, X2, X3)) -> proper#(X3))
    (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U31(X1, X2, X3)) -> proper#(X2))
    (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U31(X1, X2, X3)) -> proper#(X1))
    (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U31(X1, X2, X3)) -> U31#(proper(X1), proper(X2), proper(X3)))
    (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U32(X1, X2)) -> proper#(X2))
    (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U32(X1, X2)) -> proper#(X1))
    (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U32(X1, X2)) -> U32#(proper(X1), proper(X2)))
    (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U21(X1, X2)) -> proper#(X2))
    (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U21(X1, X2)) -> proper#(X1))
    (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U21(X1, X2)) -> U21#(proper(X1), proper(X2)))
    (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U22(X)) -> proper#(X))
    (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U22(X)) -> U22#(proper(X)))
    (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U13(X)) -> proper#(X))
    (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U13(X)) -> U13#(proper(X)))
    (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U11(X1, X2, X3)) -> proper#(X3))
    (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U11(X1, X2, X3)) -> proper#(X2))
    (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U11(X1, X2, X3)) -> proper#(X1))
    (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U11(X1, X2, X3)) -> U11#(proper(X1), proper(X2), proper(X3)))
    (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(isNat(X)) -> proper#(X))
    (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(isNat(X)) -> isNat#(proper(X)))
    (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U12(X1, X2)) -> proper#(X2))
    (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U12(X1, X2)) -> proper#(X1))
    (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U12(X1, X2)) -> U12#(proper(X1), proper(X2)))
    (active#(x(N, s(M))) -> U71#(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N), U71#(ok(X1), ok(X2), ok(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#(U13(X)) -> active#(X), active#(isNatKind(x(V1, V2))) -> isNatKind#(V2))
    (active#(U13(X)) -> active#(X), active#(isNatKind(x(V1, V2))) -> isNatKind#(V1))
    (active#(U13(X)) -> active#(X), active#(isNatKind(x(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)))
    (active#(U13(X)) -> active#(X), active#(isNatKind(plus(V1, V2))) -> isNatKind#(V2))
    (active#(U13(X)) -> active#(X), active#(isNatKind(plus(V1, V2))) -> isNatKind#(V1))
    (active#(U13(X)) -> active#(X), active#(isNatKind(plus(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)))
    (active#(U13(X)) -> active#(X), active#(isNatKind(s(V1))) -> isNatKind#(V1))
    (active#(U13(X)) -> active#(X), active#(and(X1, X2)) -> and#(active(X1), X2))
    (active#(U13(X)) -> active#(X), active#(and(X1, X2)) -> active#(X1))
    (active#(U13(X)) -> active#(X), active#(U71(tt(), M, N)) -> x#(N, M))
    (active#(U13(X)) -> active#(X), active#(U71(tt(), M, N)) -> plus#(x(N, M), N))
    (active#(U13(X)) -> active#(X), active#(U71(X1, X2, X3)) -> U71#(active(X1), X2, X3))
    (active#(U13(X)) -> active#(X), active#(U71(X1, X2, X3)) -> active#(X1))
    (active#(U13(X)) -> active#(X), active#(x(X1, X2)) -> x#(active(X1), X2))
    (active#(U13(X)) -> active#(X), active#(x(X1, X2)) -> x#(X1, active(X2)))
    (active#(U13(X)) -> active#(X), active#(x(X1, X2)) -> active#(X2))
    (active#(U13(X)) -> active#(X), active#(x(X1, X2)) -> active#(X1))
    (active#(U13(X)) -> active#(X), active#(x(N, 0())) -> isNatKind#(N))
    (active#(U13(X)) -> active#(X), active#(x(N, 0())) -> and#(isNat(N), isNatKind(N)))
    (active#(U13(X)) -> active#(X), active#(x(N, 0())) -> U61#(and(isNat(N), isNatKind(N))))
    (active#(U13(X)) -> active#(X), active#(x(N, 0())) -> isNat#(N))
    (active#(U13(X)) -> active#(X), active#(x(N, s(M))) -> isNatKind#(M))
    (active#(U13(X)) -> active#(X), active#(x(N, s(M))) -> isNatKind#(N))
    (active#(U13(X)) -> active#(X), active#(x(N, s(M))) -> and#(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))))
    (active#(U13(X)) -> active#(X), active#(x(N, s(M))) -> and#(isNat(M), isNatKind(M)))
    (active#(U13(X)) -> active#(X), active#(x(N, s(M))) -> and#(isNat(N), isNatKind(N)))
    (active#(U13(X)) -> active#(X), active#(x(N, s(M))) -> U71#(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N))
    (active#(U13(X)) -> active#(X), active#(x(N, s(M))) -> isNat#(M))
    (active#(U13(X)) -> active#(X), active#(x(N, s(M))) -> isNat#(N))
    (active#(U13(X)) -> active#(X), active#(U61(X)) -> U61#(active(X)))
    (active#(U13(X)) -> active#(X), active#(U61(X)) -> active#(X))
    (active#(U13(X)) -> active#(X), active#(U51(tt(), M, N)) -> plus#(N, M))
    (active#(U13(X)) -> active#(X), active#(U51(tt(), M, N)) -> s#(plus(N, M)))
    (active#(U13(X)) -> active#(X), active#(U51(X1, X2, X3)) -> U51#(active(X1), X2, X3))
    (active#(U13(X)) -> active#(X), active#(U51(X1, X2, X3)) -> active#(X1))
    (active#(U13(X)) -> active#(X), active#(plus(X1, X2)) -> plus#(active(X1), X2))
    (active#(U13(X)) -> active#(X), active#(plus(X1, X2)) -> plus#(X1, active(X2)))
    (active#(U13(X)) -> active#(X), active#(plus(X1, X2)) -> active#(X2))
    (active#(U13(X)) -> active#(X), active#(plus(X1, X2)) -> active#(X1))
    (active#(U13(X)) -> active#(X), active#(plus(N, 0())) -> isNatKind#(N))
    (active#(U13(X)) -> active#(X), active#(plus(N, 0())) -> and#(isNat(N), isNatKind(N)))
    (active#(U13(X)) -> active#(X), active#(plus(N, 0())) -> U41#(and(isNat(N), isNatKind(N)), N))
    (active#(U13(X)) -> active#(X), active#(plus(N, 0())) -> isNat#(N))
    (active#(U13(X)) -> active#(X), active#(plus(N, s(M))) -> isNatKind#(M))
    (active#(U13(X)) -> active#(X), active#(plus(N, s(M))) -> isNatKind#(N))
    (active#(U13(X)) -> active#(X), active#(plus(N, s(M))) -> and#(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))))
    (active#(U13(X)) -> active#(X), active#(plus(N, s(M))) -> and#(isNat(M), isNatKind(M)))
    (active#(U13(X)) -> active#(X), active#(plus(N, s(M))) -> and#(isNat(N), isNatKind(N)))
    (active#(U13(X)) -> active#(X), active#(plus(N, s(M))) -> U51#(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N))
    (active#(U13(X)) -> active#(X), active#(plus(N, s(M))) -> isNat#(M))
    (active#(U13(X)) -> active#(X), active#(plus(N, s(M))) -> isNat#(N))
    (active#(U13(X)) -> active#(X), active#(s(X)) -> s#(active(X)))
    (active#(U13(X)) -> active#(X), active#(s(X)) -> active#(X))
    (active#(U13(X)) -> active#(X), active#(U41(X1, X2)) -> U41#(active(X1), X2))
    (active#(U13(X)) -> active#(X), active#(U41(X1, X2)) -> active#(X1))
    (active#(U13(X)) -> active#(X), active#(U33(X)) -> U33#(active(X)))
    (active#(U13(X)) -> active#(X), active#(U33(X)) -> active#(X))
    (active#(U13(X)) -> active#(X), active#(U31(tt(), V1, V2)) -> U32#(isNat(V1), V2))
    (active#(U13(X)) -> active#(X), active#(U31(tt(), V1, V2)) -> isNat#(V1))
    (active#(U13(X)) -> active#(X), active#(U31(X1, X2, X3)) -> U31#(active(X1), X2, X3))
    (active#(U13(X)) -> active#(X), active#(U31(X1, X2, X3)) -> active#(X1))
    (active#(U13(X)) -> active#(X), active#(U32(tt(), V2)) -> U33#(isNat(V2)))
    (active#(U13(X)) -> active#(X), active#(U32(tt(), V2)) -> isNat#(V2))
    (active#(U13(X)) -> active#(X), active#(U32(X1, X2)) -> U32#(active(X1), X2))
    (active#(U13(X)) -> active#(X), active#(U32(X1, X2)) -> active#(X1))
    (active#(U13(X)) -> active#(X), active#(U21(tt(), V1)) -> U22#(isNat(V1)))
    (active#(U13(X)) -> active#(X), active#(U21(tt(), V1)) -> isNat#(V1))
    (active#(U13(X)) -> active#(X), active#(U21(X1, X2)) -> U21#(active(X1), X2))
    (active#(U13(X)) -> active#(X), active#(U21(X1, X2)) -> active#(X1))
    (active#(U13(X)) -> active#(X), active#(U22(X)) -> U22#(active(X)))
    (active#(U13(X)) -> active#(X), active#(U22(X)) -> active#(X))
    (active#(U13(X)) -> active#(X), active#(U13(X)) -> U13#(active(X)))
    (active#(U13(X)) -> active#(X), active#(U13(X)) -> active#(X))
    (active#(U13(X)) -> active#(X), active#(U11(tt(), V1, V2)) -> isNat#(V1))
    (active#(U13(X)) -> active#(X), active#(U11(tt(), V1, V2)) -> U12#(isNat(V1), V2))
    (active#(U13(X)) -> active#(X), active#(U11(X1, X2, X3)) -> U11#(active(X1), X2, X3))
    (active#(U13(X)) -> active#(X), active#(U11(X1, X2, X3)) -> active#(X1))
    (active#(U13(X)) -> active#(X), active#(isNat(x(V1, V2))) -> isNatKind#(V2))
    (active#(U13(X)) -> active#(X), active#(isNat(x(V1, V2))) -> isNatKind#(V1))
    (active#(U13(X)) -> active#(X), active#(isNat(x(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)))
    (active#(U13(X)) -> active#(X), active#(isNat(x(V1, V2))) -> U31#(and(isNatKind(V1), isNatKind(V2)), V1, V2))
    (active#(U13(X)) -> active#(X), active#(isNat(plus(V1, V2))) -> isNatKind#(V2))
    (active#(U13(X)) -> active#(X), active#(isNat(plus(V1, V2))) -> isNatKind#(V1))
    (active#(U13(X)) -> active#(X), active#(isNat(plus(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)))
    (active#(U13(X)) -> active#(X), active#(isNat(plus(V1, V2))) -> U11#(and(isNatKind(V1), isNatKind(V2)), V1, V2))
    (active#(U13(X)) -> active#(X), active#(isNat(s(V1))) -> isNatKind#(V1))
    (active#(U13(X)) -> active#(X), active#(isNat(s(V1))) -> U21#(isNatKind(V1), V1))
    (active#(U13(X)) -> active#(X), active#(U12(tt(), V2)) -> U13#(isNat(V2)))
    (active#(U13(X)) -> active#(X), active#(U12(tt(), V2)) -> isNat#(V2))
    (active#(U13(X)) -> active#(X), active#(U12(X1, X2)) -> active#(X1))
    (active#(U13(X)) -> active#(X), active#(U12(X1, X2)) -> U12#(active(X1), X2))
    (active#(U33(X)) -> active#(X), active#(isNatKind(x(V1, V2))) -> isNatKind#(V2))
    (active#(U33(X)) -> active#(X), active#(isNatKind(x(V1, V2))) -> isNatKind#(V1))
    (active#(U33(X)) -> active#(X), active#(isNatKind(x(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)))
    (active#(U33(X)) -> active#(X), active#(isNatKind(plus(V1, V2))) -> isNatKind#(V2))
    (active#(U33(X)) -> active#(X), active#(isNatKind(plus(V1, V2))) -> isNatKind#(V1))
    (active#(U33(X)) -> active#(X), active#(isNatKind(plus(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)))
    (active#(U33(X)) -> active#(X), active#(isNatKind(s(V1))) -> isNatKind#(V1))
    (active#(U33(X)) -> active#(X), active#(and(X1, X2)) -> and#(active(X1), X2))
    (active#(U33(X)) -> active#(X), active#(and(X1, X2)) -> active#(X1))
    (active#(U33(X)) -> active#(X), active#(U71(tt(), M, N)) -> x#(N, M))
    (active#(U33(X)) -> active#(X), active#(U71(tt(), M, N)) -> plus#(x(N, M), N))
    (active#(U33(X)) -> active#(X), active#(U71(X1, X2, X3)) -> U71#(active(X1), X2, X3))
    (active#(U33(X)) -> active#(X), active#(U71(X1, X2, X3)) -> active#(X1))
    (active#(U33(X)) -> active#(X), active#(x(X1, X2)) -> x#(active(X1), X2))
    (active#(U33(X)) -> active#(X), active#(x(X1, X2)) -> x#(X1, active(X2)))
    (active#(U33(X)) -> active#(X), active#(x(X1, X2)) -> active#(X2))
    (active#(U33(X)) -> active#(X), active#(x(X1, X2)) -> active#(X1))
    (active#(U33(X)) -> active#(X), active#(x(N, 0())) -> isNatKind#(N))
    (active#(U33(X)) -> active#(X), active#(x(N, 0())) -> and#(isNat(N), isNatKind(N)))
    (active#(U33(X)) -> active#(X), active#(x(N, 0())) -> U61#(and(isNat(N), isNatKind(N))))
    (active#(U33(X)) -> active#(X), active#(x(N, 0())) -> isNat#(N))
    (active#(U33(X)) -> active#(X), active#(x(N, s(M))) -> isNatKind#(M))
    (active#(U33(X)) -> active#(X), active#(x(N, s(M))) -> isNatKind#(N))
    (active#(U33(X)) -> active#(X), active#(x(N, s(M))) -> and#(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))))
    (active#(U33(X)) -> active#(X), active#(x(N, s(M))) -> and#(isNat(M), isNatKind(M)))
    (active#(U33(X)) -> active#(X), active#(x(N, s(M))) -> and#(isNat(N), isNatKind(N)))
    (active#(U33(X)) -> active#(X), active#(x(N, s(M))) -> U71#(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N))
    (active#(U33(X)) -> active#(X), active#(x(N, s(M))) -> isNat#(M))
    (active#(U33(X)) -> active#(X), active#(x(N, s(M))) -> isNat#(N))
    (active#(U33(X)) -> active#(X), active#(U61(X)) -> U61#(active(X)))
    (active#(U33(X)) -> active#(X), active#(U61(X)) -> active#(X))
    (active#(U33(X)) -> active#(X), active#(U51(tt(), M, N)) -> plus#(N, M))
    (active#(U33(X)) -> active#(X), active#(U51(tt(), M, N)) -> s#(plus(N, M)))
    (active#(U33(X)) -> active#(X), active#(U51(X1, X2, X3)) -> U51#(active(X1), X2, X3))
    (active#(U33(X)) -> active#(X), active#(U51(X1, X2, X3)) -> active#(X1))
    (active#(U33(X)) -> active#(X), active#(plus(X1, X2)) -> plus#(active(X1), X2))
    (active#(U33(X)) -> active#(X), active#(plus(X1, X2)) -> plus#(X1, active(X2)))
    (active#(U33(X)) -> active#(X), active#(plus(X1, X2)) -> active#(X2))
    (active#(U33(X)) -> active#(X), active#(plus(X1, X2)) -> active#(X1))
    (active#(U33(X)) -> active#(X), active#(plus(N, 0())) -> isNatKind#(N))
    (active#(U33(X)) -> active#(X), active#(plus(N, 0())) -> and#(isNat(N), isNatKind(N)))
    (active#(U33(X)) -> active#(X), active#(plus(N, 0())) -> U41#(and(isNat(N), isNatKind(N)), N))
    (active#(U33(X)) -> active#(X), active#(plus(N, 0())) -> isNat#(N))
    (active#(U33(X)) -> active#(X), active#(plus(N, s(M))) -> isNatKind#(M))
    (active#(U33(X)) -> active#(X), active#(plus(N, s(M))) -> isNatKind#(N))
    (active#(U33(X)) -> active#(X), active#(plus(N, s(M))) -> and#(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))))
    (active#(U33(X)) -> active#(X), active#(plus(N, s(M))) -> and#(isNat(M), isNatKind(M)))
    (active#(U33(X)) -> active#(X), active#(plus(N, s(M))) -> and#(isNat(N), isNatKind(N)))
    (active#(U33(X)) -> active#(X), active#(plus(N, s(M))) -> U51#(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N))
    (active#(U33(X)) -> active#(X), active#(plus(N, s(M))) -> isNat#(M))
    (active#(U33(X)) -> active#(X), active#(plus(N, s(M))) -> isNat#(N))
    (active#(U33(X)) -> active#(X), active#(s(X)) -> s#(active(X)))
    (active#(U33(X)) -> active#(X), active#(s(X)) -> active#(X))
    (active#(U33(X)) -> active#(X), active#(U41(X1, X2)) -> U41#(active(X1), X2))
    (active#(U33(X)) -> active#(X), active#(U41(X1, X2)) -> active#(X1))
    (active#(U33(X)) -> active#(X), active#(U33(X)) -> U33#(active(X)))
    (active#(U33(X)) -> active#(X), active#(U33(X)) -> active#(X))
    (active#(U33(X)) -> active#(X), active#(U31(tt(), V1, V2)) -> U32#(isNat(V1), V2))
    (active#(U33(X)) -> active#(X), active#(U31(tt(), V1, V2)) -> isNat#(V1))
    (active#(U33(X)) -> active#(X), active#(U31(X1, X2, X3)) -> U31#(active(X1), X2, X3))
    (active#(U33(X)) -> active#(X), active#(U31(X1, X2, X3)) -> active#(X1))
    (active#(U33(X)) -> active#(X), active#(U32(tt(), V2)) -> U33#(isNat(V2)))
    (active#(U33(X)) -> active#(X), active#(U32(tt(), V2)) -> isNat#(V2))
    (active#(U33(X)) -> active#(X), active#(U32(X1, X2)) -> U32#(active(X1), X2))
    (active#(U33(X)) -> active#(X), active#(U32(X1, X2)) -> active#(X1))
    (active#(U33(X)) -> active#(X), active#(U21(tt(), V1)) -> U22#(isNat(V1)))
    (active#(U33(X)) -> active#(X), active#(U21(tt(), V1)) -> isNat#(V1))
    (active#(U33(X)) -> active#(X), active#(U21(X1, X2)) -> U21#(active(X1), X2))
    (active#(U33(X)) -> active#(X), active#(U21(X1, X2)) -> active#(X1))
    (active#(U33(X)) -> active#(X), active#(U22(X)) -> U22#(active(X)))
    (active#(U33(X)) -> active#(X), active#(U22(X)) -> active#(X))
    (active#(U33(X)) -> active#(X), active#(U13(X)) -> U13#(active(X)))
    (active#(U33(X)) -> active#(X), active#(U13(X)) -> active#(X))
    (active#(U33(X)) -> active#(X), active#(U11(tt(), V1, V2)) -> isNat#(V1))
    (active#(U33(X)) -> active#(X), active#(U11(tt(), V1, V2)) -> U12#(isNat(V1), V2))
    (active#(U33(X)) -> active#(X), active#(U11(X1, X2, X3)) -> U11#(active(X1), X2, X3))
    (active#(U33(X)) -> active#(X), active#(U11(X1, X2, X3)) -> active#(X1))
    (active#(U33(X)) -> active#(X), active#(isNat(x(V1, V2))) -> isNatKind#(V2))
    (active#(U33(X)) -> active#(X), active#(isNat(x(V1, V2))) -> isNatKind#(V1))
    (active#(U33(X)) -> active#(X), active#(isNat(x(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)))
    (active#(U33(X)) -> active#(X), active#(isNat(x(V1, V2))) -> U31#(and(isNatKind(V1), isNatKind(V2)), V1, V2))
    (active#(U33(X)) -> active#(X), active#(isNat(plus(V1, V2))) -> isNatKind#(V2))
    (active#(U33(X)) -> active#(X), active#(isNat(plus(V1, V2))) -> isNatKind#(V1))
    (active#(U33(X)) -> active#(X), active#(isNat(plus(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)))
    (active#(U33(X)) -> active#(X), active#(isNat(plus(V1, V2))) -> U11#(and(isNatKind(V1), isNatKind(V2)), V1, V2))
    (active#(U33(X)) -> active#(X), active#(isNat(s(V1))) -> isNatKind#(V1))
    (active#(U33(X)) -> active#(X), active#(isNat(s(V1))) -> U21#(isNatKind(V1), V1))
    (active#(U33(X)) -> active#(X), active#(U12(tt(), V2)) -> U13#(isNat(V2)))
    (active#(U33(X)) -> active#(X), active#(U12(tt(), V2)) -> isNat#(V2))
    (active#(U33(X)) -> active#(X), active#(U12(X1, X2)) -> active#(X1))
    (active#(U33(X)) -> active#(X), active#(U12(X1, X2)) -> U12#(active(X1), X2))
    (active#(U61(X)) -> active#(X), active#(isNatKind(x(V1, V2))) -> isNatKind#(V2))
    (active#(U61(X)) -> active#(X), active#(isNatKind(x(V1, V2))) -> isNatKind#(V1))
    (active#(U61(X)) -> active#(X), active#(isNatKind(x(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)))
    (active#(U61(X)) -> active#(X), active#(isNatKind(plus(V1, V2))) -> isNatKind#(V2))
    (active#(U61(X)) -> active#(X), active#(isNatKind(plus(V1, V2))) -> isNatKind#(V1))
    (active#(U61(X)) -> active#(X), active#(isNatKind(plus(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)))
    (active#(U61(X)) -> active#(X), active#(isNatKind(s(V1))) -> isNatKind#(V1))
    (active#(U61(X)) -> active#(X), active#(and(X1, X2)) -> and#(active(X1), X2))
    (active#(U61(X)) -> active#(X), active#(and(X1, X2)) -> active#(X1))
    (active#(U61(X)) -> active#(X), active#(U71(tt(), M, N)) -> x#(N, M))
    (active#(U61(X)) -> active#(X), active#(U71(tt(), M, N)) -> plus#(x(N, M), N))
    (active#(U61(X)) -> active#(X), active#(U71(X1, X2, X3)) -> U71#(active(X1), X2, X3))
    (active#(U61(X)) -> active#(X), active#(U71(X1, X2, X3)) -> active#(X1))
    (active#(U61(X)) -> active#(X), active#(x(X1, X2)) -> x#(active(X1), X2))
    (active#(U61(X)) -> active#(X), active#(x(X1, X2)) -> x#(X1, active(X2)))
    (active#(U61(X)) -> active#(X), active#(x(X1, X2)) -> active#(X2))
    (active#(U61(X)) -> active#(X), active#(x(X1, X2)) -> active#(X1))
    (active#(U61(X)) -> active#(X), active#(x(N, 0())) -> isNatKind#(N))
    (active#(U61(X)) -> active#(X), active#(x(N, 0())) -> and#(isNat(N), isNatKind(N)))
    (active#(U61(X)) -> active#(X), active#(x(N, 0())) -> U61#(and(isNat(N), isNatKind(N))))
    (active#(U61(X)) -> active#(X), active#(x(N, 0())) -> isNat#(N))
    (active#(U61(X)) -> active#(X), active#(x(N, s(M))) -> isNatKind#(M))
    (active#(U61(X)) -> active#(X), active#(x(N, s(M))) -> isNatKind#(N))
    (active#(U61(X)) -> active#(X), active#(x(N, s(M))) -> and#(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))))
    (active#(U61(X)) -> active#(X), active#(x(N, s(M))) -> and#(isNat(M), isNatKind(M)))
    (active#(U61(X)) -> active#(X), active#(x(N, s(M))) -> and#(isNat(N), isNatKind(N)))
    (active#(U61(X)) -> active#(X), active#(x(N, s(M))) -> U71#(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N))
    (active#(U61(X)) -> active#(X), active#(x(N, s(M))) -> isNat#(M))
    (active#(U61(X)) -> active#(X), active#(x(N, s(M))) -> isNat#(N))
    (active#(U61(X)) -> active#(X), active#(U61(X)) -> U61#(active(X)))
    (active#(U61(X)) -> active#(X), active#(U61(X)) -> active#(X))
    (active#(U61(X)) -> active#(X), active#(U51(tt(), M, N)) -> plus#(N, M))
    (active#(U61(X)) -> active#(X), active#(U51(tt(), M, N)) -> s#(plus(N, M)))
    (active#(U61(X)) -> active#(X), active#(U51(X1, X2, X3)) -> U51#(active(X1), X2, X3))
    (active#(U61(X)) -> active#(X), active#(U51(X1, X2, X3)) -> active#(X1))
    (active#(U61(X)) -> active#(X), active#(plus(X1, X2)) -> plus#(active(X1), X2))
    (active#(U61(X)) -> active#(X), active#(plus(X1, X2)) -> plus#(X1, active(X2)))
    (active#(U61(X)) -> active#(X), active#(plus(X1, X2)) -> active#(X2))
    (active#(U61(X)) -> active#(X), active#(plus(X1, X2)) -> active#(X1))
    (active#(U61(X)) -> active#(X), active#(plus(N, 0())) -> isNatKind#(N))
    (active#(U61(X)) -> active#(X), active#(plus(N, 0())) -> and#(isNat(N), isNatKind(N)))
    (active#(U61(X)) -> active#(X), active#(plus(N, 0())) -> U41#(and(isNat(N), isNatKind(N)), N))
    (active#(U61(X)) -> active#(X), active#(plus(N, 0())) -> isNat#(N))
    (active#(U61(X)) -> active#(X), active#(plus(N, s(M))) -> isNatKind#(M))
    (active#(U61(X)) -> active#(X), active#(plus(N, s(M))) -> isNatKind#(N))
    (active#(U61(X)) -> active#(X), active#(plus(N, s(M))) -> and#(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))))
    (active#(U61(X)) -> active#(X), active#(plus(N, s(M))) -> and#(isNat(M), isNatKind(M)))
    (active#(U61(X)) -> active#(X), active#(plus(N, s(M))) -> and#(isNat(N), isNatKind(N)))
    (active#(U61(X)) -> active#(X), active#(plus(N, s(M))) -> U51#(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N))
    (active#(U61(X)) -> active#(X), active#(plus(N, s(M))) -> isNat#(M))
    (active#(U61(X)) -> active#(X), active#(plus(N, s(M))) -> isNat#(N))
    (active#(U61(X)) -> active#(X), active#(s(X)) -> s#(active(X)))
    (active#(U61(X)) -> active#(X), active#(s(X)) -> active#(X))
    (active#(U61(X)) -> active#(X), active#(U41(X1, X2)) -> U41#(active(X1), X2))
    (active#(U61(X)) -> active#(X), active#(U41(X1, X2)) -> active#(X1))
    (active#(U61(X)) -> active#(X), active#(U33(X)) -> U33#(active(X)))
    (active#(U61(X)) -> active#(X), active#(U33(X)) -> active#(X))
    (active#(U61(X)) -> active#(X), active#(U31(tt(), V1, V2)) -> U32#(isNat(V1), V2))
    (active#(U61(X)) -> active#(X), active#(U31(tt(), V1, V2)) -> isNat#(V1))
    (active#(U61(X)) -> active#(X), active#(U31(X1, X2, X3)) -> U31#(active(X1), X2, X3))
    (active#(U61(X)) -> active#(X), active#(U31(X1, X2, X3)) -> active#(X1))
    (active#(U61(X)) -> active#(X), active#(U32(tt(), V2)) -> U33#(isNat(V2)))
    (active#(U61(X)) -> active#(X), active#(U32(tt(), V2)) -> isNat#(V2))
    (active#(U61(X)) -> active#(X), active#(U32(X1, X2)) -> U32#(active(X1), X2))
    (active#(U61(X)) -> active#(X), active#(U32(X1, X2)) -> active#(X1))
    (active#(U61(X)) -> active#(X), active#(U21(tt(), V1)) -> U22#(isNat(V1)))
    (active#(U61(X)) -> active#(X), active#(U21(tt(), V1)) -> isNat#(V1))
    (active#(U61(X)) -> active#(X), active#(U21(X1, X2)) -> U21#(active(X1), X2))
    (active#(U61(X)) -> active#(X), active#(U21(X1, X2)) -> active#(X1))
    (active#(U61(X)) -> active#(X), active#(U22(X)) -> U22#(active(X)))
    (active#(U61(X)) -> active#(X), active#(U22(X)) -> active#(X))
    (active#(U61(X)) -> active#(X), active#(U13(X)) -> U13#(active(X)))
    (active#(U61(X)) -> active#(X), active#(U13(X)) -> active#(X))
    (active#(U61(X)) -> active#(X), active#(U11(tt(), V1, V2)) -> isNat#(V1))
    (active#(U61(X)) -> active#(X), active#(U11(tt(), V1, V2)) -> U12#(isNat(V1), V2))
    (active#(U61(X)) -> active#(X), active#(U11(X1, X2, X3)) -> U11#(active(X1), X2, X3))
    (active#(U61(X)) -> active#(X), active#(U11(X1, X2, X3)) -> active#(X1))
    (active#(U61(X)) -> active#(X), active#(isNat(x(V1, V2))) -> isNatKind#(V2))
    (active#(U61(X)) -> active#(X), active#(isNat(x(V1, V2))) -> isNatKind#(V1))
    (active#(U61(X)) -> active#(X), active#(isNat(x(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)))
    (active#(U61(X)) -> active#(X), active#(isNat(x(V1, V2))) -> U31#(and(isNatKind(V1), isNatKind(V2)), V1, V2))
    (active#(U61(X)) -> active#(X), active#(isNat(plus(V1, V2))) -> isNatKind#(V2))
    (active#(U61(X)) -> active#(X), active#(isNat(plus(V1, V2))) -> isNatKind#(V1))
    (active#(U61(X)) -> active#(X), active#(isNat(plus(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)))
    (active#(U61(X)) -> active#(X), active#(isNat(plus(V1, V2))) -> U11#(and(isNatKind(V1), isNatKind(V2)), V1, V2))
    (active#(U61(X)) -> active#(X), active#(isNat(s(V1))) -> isNatKind#(V1))
    (active#(U61(X)) -> active#(X), active#(isNat(s(V1))) -> U21#(isNatKind(V1), V1))
    (active#(U61(X)) -> active#(X), active#(U12(tt(), V2)) -> U13#(isNat(V2)))
    (active#(U61(X)) -> active#(X), active#(U12(tt(), V2)) -> isNat#(V2))
    (active#(U61(X)) -> active#(X), active#(U12(X1, X2)) -> active#(X1))
    (active#(U61(X)) -> active#(X), active#(U12(X1, X2)) -> U12#(active(X1), X2))
    (U13#(ok(X)) -> U13#(X), U13#(ok(X)) -> U13#(X))
    (U13#(ok(X)) -> U13#(X), U13#(mark(X)) -> U13#(X))
    (U22#(ok(X)) -> U22#(X), U22#(ok(X)) -> U22#(X))
    (U22#(ok(X)) -> U22#(X), U22#(mark(X)) -> U22#(X))
    (U33#(ok(X)) -> U33#(X), U33#(ok(X)) -> U33#(X))
    (U33#(ok(X)) -> U33#(X), U33#(mark(X)) -> U33#(X))
    (s#(ok(X)) -> s#(X), s#(ok(X)) -> s#(X))
    (s#(ok(X)) -> s#(X), s#(mark(X)) -> s#(X))
    (U61#(ok(X)) -> U61#(X), U61#(ok(X)) -> U61#(X))
    (U61#(ok(X)) -> U61#(X), U61#(mark(X)) -> U61#(X))
    (proper#(isNat(X)) -> proper#(X), proper#(isNatKind(X)) -> proper#(X))
    (proper#(isNat(X)) -> proper#(X), proper#(isNatKind(X)) -> isNatKind#(proper(X)))
    (proper#(isNat(X)) -> proper#(X), proper#(and(X1, X2)) -> proper#(X2))
    (proper#(isNat(X)) -> proper#(X), proper#(and(X1, X2)) -> proper#(X1))
    (proper#(isNat(X)) -> proper#(X), proper#(and(X1, X2)) -> and#(proper(X1), proper(X2)))
    (proper#(isNat(X)) -> proper#(X), proper#(U71(X1, X2, X3)) -> proper#(X3))
    (proper#(isNat(X)) -> proper#(X), proper#(U71(X1, X2, X3)) -> proper#(X2))
    (proper#(isNat(X)) -> proper#(X), proper#(U71(X1, X2, X3)) -> proper#(X1))
    (proper#(isNat(X)) -> proper#(X), proper#(U71(X1, X2, X3)) -> U71#(proper(X1), proper(X2), proper(X3)))
    (proper#(isNat(X)) -> proper#(X), proper#(x(X1, X2)) -> proper#(X2))
    (proper#(isNat(X)) -> proper#(X), proper#(x(X1, X2)) -> proper#(X1))
    (proper#(isNat(X)) -> proper#(X), proper#(x(X1, X2)) -> x#(proper(X1), proper(X2)))
    (proper#(isNat(X)) -> proper#(X), proper#(U61(X)) -> proper#(X))
    (proper#(isNat(X)) -> proper#(X), proper#(U61(X)) -> U61#(proper(X)))
    (proper#(isNat(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X3))
    (proper#(isNat(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X2))
    (proper#(isNat(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X1))
    (proper#(isNat(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> U51#(proper(X1), proper(X2), proper(X3)))
    (proper#(isNat(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X2))
    (proper#(isNat(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X1))
    (proper#(isNat(X)) -> proper#(X), proper#(plus(X1, X2)) -> plus#(proper(X1), proper(X2)))
    (proper#(isNat(X)) -> proper#(X), proper#(s(X)) -> proper#(X))
    (proper#(isNat(X)) -> proper#(X), proper#(s(X)) -> s#(proper(X)))
    (proper#(isNat(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X2))
    (proper#(isNat(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X1))
    (proper#(isNat(X)) -> proper#(X), proper#(U41(X1, X2)) -> U41#(proper(X1), proper(X2)))
    (proper#(isNat(X)) -> proper#(X), proper#(U33(X)) -> proper#(X))
    (proper#(isNat(X)) -> proper#(X), proper#(U33(X)) -> U33#(proper(X)))
    (proper#(isNat(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X3))
    (proper#(isNat(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X2))
    (proper#(isNat(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X1))
    (proper#(isNat(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> U31#(proper(X1), proper(X2), proper(X3)))
    (proper#(isNat(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X2))
    (proper#(isNat(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X1))
    (proper#(isNat(X)) -> proper#(X), proper#(U32(X1, X2)) -> U32#(proper(X1), proper(X2)))
    (proper#(isNat(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X2))
    (proper#(isNat(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X1))
    (proper#(isNat(X)) -> proper#(X), proper#(U21(X1, X2)) -> U21#(proper(X1), proper(X2)))
    (proper#(isNat(X)) -> proper#(X), proper#(U22(X)) -> proper#(X))
    (proper#(isNat(X)) -> proper#(X), proper#(U22(X)) -> U22#(proper(X)))
    (proper#(isNat(X)) -> proper#(X), proper#(U13(X)) -> proper#(X))
    (proper#(isNat(X)) -> proper#(X), proper#(U13(X)) -> U13#(proper(X)))
    (proper#(isNat(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X3))
    (proper#(isNat(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X2))
    (proper#(isNat(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X1))
    (proper#(isNat(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> U11#(proper(X1), proper(X2), proper(X3)))
    (proper#(isNat(X)) -> proper#(X), proper#(isNat(X)) -> proper#(X))
    (proper#(isNat(X)) -> proper#(X), proper#(isNat(X)) -> isNat#(proper(X)))
    (proper#(isNat(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X2))
    (proper#(isNat(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X1))
    (proper#(isNat(X)) -> proper#(X), proper#(U12(X1, X2)) -> U12#(proper(X1), proper(X2)))
    (proper#(U22(X)) -> proper#(X), proper#(isNatKind(X)) -> proper#(X))
    (proper#(U22(X)) -> proper#(X), proper#(isNatKind(X)) -> isNatKind#(proper(X)))
    (proper#(U22(X)) -> proper#(X), proper#(and(X1, X2)) -> proper#(X2))
    (proper#(U22(X)) -> proper#(X), proper#(and(X1, X2)) -> proper#(X1))
    (proper#(U22(X)) -> proper#(X), proper#(and(X1, X2)) -> and#(proper(X1), proper(X2)))
    (proper#(U22(X)) -> proper#(X), proper#(U71(X1, X2, X3)) -> proper#(X3))
    (proper#(U22(X)) -> proper#(X), proper#(U71(X1, X2, X3)) -> proper#(X2))
    (proper#(U22(X)) -> proper#(X), proper#(U71(X1, X2, X3)) -> proper#(X1))
    (proper#(U22(X)) -> proper#(X), proper#(U71(X1, X2, X3)) -> U71#(proper(X1), proper(X2), proper(X3)))
    (proper#(U22(X)) -> proper#(X), proper#(x(X1, X2)) -> proper#(X2))
    (proper#(U22(X)) -> proper#(X), proper#(x(X1, X2)) -> proper#(X1))
    (proper#(U22(X)) -> proper#(X), proper#(x(X1, X2)) -> x#(proper(X1), proper(X2)))
    (proper#(U22(X)) -> proper#(X), proper#(U61(X)) -> proper#(X))
    (proper#(U22(X)) -> proper#(X), proper#(U61(X)) -> U61#(proper(X)))
    (proper#(U22(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X3))
    (proper#(U22(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X2))
    (proper#(U22(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X1))
    (proper#(U22(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> U51#(proper(X1), proper(X2), proper(X3)))
    (proper#(U22(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X2))
    (proper#(U22(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X1))
    (proper#(U22(X)) -> proper#(X), proper#(plus(X1, X2)) -> plus#(proper(X1), proper(X2)))
    (proper#(U22(X)) -> proper#(X), proper#(s(X)) -> proper#(X))
    (proper#(U22(X)) -> proper#(X), proper#(s(X)) -> s#(proper(X)))
    (proper#(U22(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X2))
    (proper#(U22(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X1))
    (proper#(U22(X)) -> proper#(X), proper#(U41(X1, X2)) -> U41#(proper(X1), proper(X2)))
    (proper#(U22(X)) -> proper#(X), proper#(U33(X)) -> proper#(X))
    (proper#(U22(X)) -> proper#(X), proper#(U33(X)) -> U33#(proper(X)))
    (proper#(U22(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X3))
    (proper#(U22(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X2))
    (proper#(U22(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X1))
    (proper#(U22(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> U31#(proper(X1), proper(X2), proper(X3)))
    (proper#(U22(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X2))
    (proper#(U22(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X1))
    (proper#(U22(X)) -> proper#(X), proper#(U32(X1, X2)) -> U32#(proper(X1), proper(X2)))
    (proper#(U22(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X2))
    (proper#(U22(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X1))
    (proper#(U22(X)) -> proper#(X), proper#(U21(X1, X2)) -> U21#(proper(X1), proper(X2)))
    (proper#(U22(X)) -> proper#(X), proper#(U22(X)) -> proper#(X))
    (proper#(U22(X)) -> proper#(X), proper#(U22(X)) -> U22#(proper(X)))
    (proper#(U22(X)) -> proper#(X), proper#(U13(X)) -> proper#(X))
    (proper#(U22(X)) -> proper#(X), proper#(U13(X)) -> U13#(proper(X)))
    (proper#(U22(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X3))
    (proper#(U22(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X2))
    (proper#(U22(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X1))
    (proper#(U22(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> U11#(proper(X1), proper(X2), proper(X3)))
    (proper#(U22(X)) -> proper#(X), proper#(isNat(X)) -> proper#(X))
    (proper#(U22(X)) -> proper#(X), proper#(isNat(X)) -> isNat#(proper(X)))
    (proper#(U22(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X2))
    (proper#(U22(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X1))
    (proper#(U22(X)) -> proper#(X), proper#(U12(X1, X2)) -> U12#(proper(X1), proper(X2)))
    (proper#(s(X)) -> proper#(X), proper#(isNatKind(X)) -> proper#(X))
    (proper#(s(X)) -> proper#(X), proper#(isNatKind(X)) -> isNatKind#(proper(X)))
    (proper#(s(X)) -> proper#(X), proper#(and(X1, X2)) -> proper#(X2))
    (proper#(s(X)) -> proper#(X), proper#(and(X1, X2)) -> proper#(X1))
    (proper#(s(X)) -> proper#(X), proper#(and(X1, X2)) -> and#(proper(X1), proper(X2)))
    (proper#(s(X)) -> proper#(X), proper#(U71(X1, X2, X3)) -> proper#(X3))
    (proper#(s(X)) -> proper#(X), proper#(U71(X1, X2, X3)) -> proper#(X2))
    (proper#(s(X)) -> proper#(X), proper#(U71(X1, X2, X3)) -> proper#(X1))
    (proper#(s(X)) -> proper#(X), proper#(U71(X1, X2, X3)) -> U71#(proper(X1), proper(X2), proper(X3)))
    (proper#(s(X)) -> proper#(X), proper#(x(X1, X2)) -> proper#(X2))
    (proper#(s(X)) -> proper#(X), proper#(x(X1, X2)) -> proper#(X1))
    (proper#(s(X)) -> proper#(X), proper#(x(X1, X2)) -> x#(proper(X1), proper(X2)))
    (proper#(s(X)) -> proper#(X), proper#(U61(X)) -> proper#(X))
    (proper#(s(X)) -> proper#(X), proper#(U61(X)) -> U61#(proper(X)))
    (proper#(s(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X3))
    (proper#(s(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X2))
    (proper#(s(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X1))
    (proper#(s(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> U51#(proper(X1), proper(X2), proper(X3)))
    (proper#(s(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X2))
    (proper#(s(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X1))
    (proper#(s(X)) -> proper#(X), proper#(plus(X1, X2)) -> plus#(proper(X1), proper(X2)))
    (proper#(s(X)) -> proper#(X), proper#(s(X)) -> proper#(X))
    (proper#(s(X)) -> proper#(X), proper#(s(X)) -> s#(proper(X)))
    (proper#(s(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X2))
    (proper#(s(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X1))
    (proper#(s(X)) -> proper#(X), proper#(U41(X1, X2)) -> U41#(proper(X1), proper(X2)))
    (proper#(s(X)) -> proper#(X), proper#(U33(X)) -> proper#(X))
    (proper#(s(X)) -> proper#(X), proper#(U33(X)) -> U33#(proper(X)))
    (proper#(s(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X3))
    (proper#(s(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X2))
    (proper#(s(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X1))
    (proper#(s(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> U31#(proper(X1), proper(X2), proper(X3)))
    (proper#(s(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X2))
    (proper#(s(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X1))
    (proper#(s(X)) -> proper#(X), proper#(U32(X1, X2)) -> U32#(proper(X1), proper(X2)))
    (proper#(s(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X2))
    (proper#(s(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X1))
    (proper#(s(X)) -> proper#(X), proper#(U21(X1, X2)) -> U21#(proper(X1), proper(X2)))
    (proper#(s(X)) -> proper#(X), proper#(U22(X)) -> proper#(X))
    (proper#(s(X)) -> proper#(X), proper#(U22(X)) -> U22#(proper(X)))
    (proper#(s(X)) -> proper#(X), proper#(U13(X)) -> proper#(X))
    (proper#(s(X)) -> proper#(X), proper#(U13(X)) -> U13#(proper(X)))
    (proper#(s(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X3))
    (proper#(s(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X2))
    (proper#(s(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X1))
    (proper#(s(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> U11#(proper(X1), proper(X2), proper(X3)))
    (proper#(s(X)) -> proper#(X), proper#(isNat(X)) -> proper#(X))
    (proper#(s(X)) -> proper#(X), proper#(isNat(X)) -> isNat#(proper(X)))
    (proper#(s(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X2))
    (proper#(s(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X1))
    (proper#(s(X)) -> proper#(X), proper#(U12(X1, X2)) -> U12#(proper(X1), proper(X2)))
    (proper#(isNatKind(X)) -> proper#(X), proper#(isNatKind(X)) -> proper#(X))
    (proper#(isNatKind(X)) -> proper#(X), proper#(isNatKind(X)) -> isNatKind#(proper(X)))
    (proper#(isNatKind(X)) -> proper#(X), proper#(and(X1, X2)) -> proper#(X2))
    (proper#(isNatKind(X)) -> proper#(X), proper#(and(X1, X2)) -> proper#(X1))
    (proper#(isNatKind(X)) -> proper#(X), proper#(and(X1, X2)) -> and#(proper(X1), proper(X2)))
    (proper#(isNatKind(X)) -> proper#(X), proper#(U71(X1, X2, X3)) -> proper#(X3))
    (proper#(isNatKind(X)) -> proper#(X), proper#(U71(X1, X2, X3)) -> proper#(X2))
    (proper#(isNatKind(X)) -> proper#(X), proper#(U71(X1, X2, X3)) -> proper#(X1))
    (proper#(isNatKind(X)) -> proper#(X), proper#(U71(X1, X2, X3)) -> U71#(proper(X1), proper(X2), proper(X3)))
    (proper#(isNatKind(X)) -> proper#(X), proper#(x(X1, X2)) -> proper#(X2))
    (proper#(isNatKind(X)) -> proper#(X), proper#(x(X1, X2)) -> proper#(X1))
    (proper#(isNatKind(X)) -> proper#(X), proper#(x(X1, X2)) -> x#(proper(X1), proper(X2)))
    (proper#(isNatKind(X)) -> proper#(X), proper#(U61(X)) -> proper#(X))
    (proper#(isNatKind(X)) -> proper#(X), proper#(U61(X)) -> U61#(proper(X)))
    (proper#(isNatKind(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X3))
    (proper#(isNatKind(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X2))
    (proper#(isNatKind(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X1))
    (proper#(isNatKind(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> U51#(proper(X1), proper(X2), proper(X3)))
    (proper#(isNatKind(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X2))
    (proper#(isNatKind(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X1))
    (proper#(isNatKind(X)) -> proper#(X), proper#(plus(X1, X2)) -> plus#(proper(X1), proper(X2)))
    (proper#(isNatKind(X)) -> proper#(X), proper#(s(X)) -> proper#(X))
    (proper#(isNatKind(X)) -> proper#(X), proper#(s(X)) -> s#(proper(X)))
    (proper#(isNatKind(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X2))
    (proper#(isNatKind(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X1))
    (proper#(isNatKind(X)) -> proper#(X), proper#(U41(X1, X2)) -> U41#(proper(X1), proper(X2)))
    (proper#(isNatKind(X)) -> proper#(X), proper#(U33(X)) -> proper#(X))
    (proper#(isNatKind(X)) -> proper#(X), proper#(U33(X)) -> U33#(proper(X)))
    (proper#(isNatKind(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X3))
    (proper#(isNatKind(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X2))
    (proper#(isNatKind(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X1))
    (proper#(isNatKind(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> U31#(proper(X1), proper(X2), proper(X3)))
    (proper#(isNatKind(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X2))
    (proper#(isNatKind(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X1))
    (proper#(isNatKind(X)) -> proper#(X), proper#(U32(X1, X2)) -> U32#(proper(X1), proper(X2)))
    (proper#(isNatKind(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X2))
    (proper#(isNatKind(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X1))
    (proper#(isNatKind(X)) -> proper#(X), proper#(U21(X1, X2)) -> U21#(proper(X1), proper(X2)))
    (proper#(isNatKind(X)) -> proper#(X), proper#(U22(X)) -> proper#(X))
    (proper#(isNatKind(X)) -> proper#(X), proper#(U22(X)) -> U22#(proper(X)))
    (proper#(isNatKind(X)) -> proper#(X), proper#(U13(X)) -> proper#(X))
    (proper#(isNatKind(X)) -> proper#(X), proper#(U13(X)) -> U13#(proper(X)))
    (proper#(isNatKind(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X3))
    (proper#(isNatKind(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X2))
    (proper#(isNatKind(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X1))
    (proper#(isNatKind(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> U11#(proper(X1), proper(X2), proper(X3)))
    (proper#(isNatKind(X)) -> proper#(X), proper#(isNat(X)) -> proper#(X))
    (proper#(isNatKind(X)) -> proper#(X), proper#(isNat(X)) -> isNat#(proper(X)))
    (proper#(isNatKind(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X2))
    (proper#(isNatKind(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X1))
    (proper#(isNatKind(X)) -> proper#(X), proper#(U12(X1, X2)) -> U12#(proper(X1), proper(X2)))
    (top#(ok(X)) -> active#(X), active#(isNatKind(x(V1, V2))) -> isNatKind#(V2))
    (top#(ok(X)) -> active#(X), active#(isNatKind(x(V1, V2))) -> isNatKind#(V1))
    (top#(ok(X)) -> active#(X), active#(isNatKind(x(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)))
    (top#(ok(X)) -> active#(X), active#(isNatKind(plus(V1, V2))) -> isNatKind#(V2))
    (top#(ok(X)) -> active#(X), active#(isNatKind(plus(V1, V2))) -> isNatKind#(V1))
    (top#(ok(X)) -> active#(X), active#(isNatKind(plus(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)))
    (top#(ok(X)) -> active#(X), active#(isNatKind(s(V1))) -> isNatKind#(V1))
    (top#(ok(X)) -> active#(X), active#(and(X1, X2)) -> and#(active(X1), X2))
    (top#(ok(X)) -> active#(X), active#(and(X1, X2)) -> active#(X1))
    (top#(ok(X)) -> active#(X), active#(U71(tt(), M, N)) -> x#(N, M))
    (top#(ok(X)) -> active#(X), active#(U71(tt(), M, N)) -> plus#(x(N, M), N))
    (top#(ok(X)) -> active#(X), active#(U71(X1, X2, X3)) -> U71#(active(X1), X2, X3))
    (top#(ok(X)) -> active#(X), active#(U71(X1, X2, X3)) -> active#(X1))
    (top#(ok(X)) -> active#(X), active#(x(X1, X2)) -> x#(active(X1), X2))
    (top#(ok(X)) -> active#(X), active#(x(X1, X2)) -> x#(X1, active(X2)))
    (top#(ok(X)) -> active#(X), active#(x(X1, X2)) -> active#(X2))
    (top#(ok(X)) -> active#(X), active#(x(X1, X2)) -> active#(X1))
    (top#(ok(X)) -> active#(X), active#(x(N, 0())) -> isNatKind#(N))
    (top#(ok(X)) -> active#(X), active#(x(N, 0())) -> and#(isNat(N), isNatKind(N)))
    (top#(ok(X)) -> active#(X), active#(x(N, 0())) -> U61#(and(isNat(N), isNatKind(N))))
    (top#(ok(X)) -> active#(X), active#(x(N, 0())) -> isNat#(N))
    (top#(ok(X)) -> active#(X), active#(x(N, s(M))) -> isNatKind#(M))
    (top#(ok(X)) -> active#(X), active#(x(N, s(M))) -> isNatKind#(N))
    (top#(ok(X)) -> active#(X), active#(x(N, s(M))) -> and#(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))))
    (top#(ok(X)) -> active#(X), active#(x(N, s(M))) -> and#(isNat(M), isNatKind(M)))
    (top#(ok(X)) -> active#(X), active#(x(N, s(M))) -> and#(isNat(N), isNatKind(N)))
    (top#(ok(X)) -> active#(X), active#(x(N, s(M))) -> U71#(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N))
    (top#(ok(X)) -> active#(X), active#(x(N, s(M))) -> isNat#(M))
    (top#(ok(X)) -> active#(X), active#(x(N, s(M))) -> isNat#(N))
    (top#(ok(X)) -> active#(X), active#(U61(X)) -> U61#(active(X)))
    (top#(ok(X)) -> active#(X), active#(U61(X)) -> active#(X))
    (top#(ok(X)) -> active#(X), active#(U51(tt(), M, N)) -> plus#(N, M))
    (top#(ok(X)) -> active#(X), active#(U51(tt(), M, N)) -> s#(plus(N, M)))
    (top#(ok(X)) -> active#(X), active#(U51(X1, X2, X3)) -> U51#(active(X1), X2, X3))
    (top#(ok(X)) -> active#(X), active#(U51(X1, X2, X3)) -> active#(X1))
    (top#(ok(X)) -> active#(X), active#(plus(X1, X2)) -> plus#(active(X1), X2))
    (top#(ok(X)) -> active#(X), active#(plus(X1, X2)) -> plus#(X1, active(X2)))
    (top#(ok(X)) -> active#(X), active#(plus(X1, X2)) -> active#(X2))
    (top#(ok(X)) -> active#(X), active#(plus(X1, X2)) -> active#(X1))
    (top#(ok(X)) -> active#(X), active#(plus(N, 0())) -> isNatKind#(N))
    (top#(ok(X)) -> active#(X), active#(plus(N, 0())) -> and#(isNat(N), isNatKind(N)))
    (top#(ok(X)) -> active#(X), active#(plus(N, 0())) -> U41#(and(isNat(N), isNatKind(N)), N))
    (top#(ok(X)) -> active#(X), active#(plus(N, 0())) -> isNat#(N))
    (top#(ok(X)) -> active#(X), active#(plus(N, s(M))) -> isNatKind#(M))
    (top#(ok(X)) -> active#(X), active#(plus(N, s(M))) -> isNatKind#(N))
    (top#(ok(X)) -> active#(X), active#(plus(N, s(M))) -> and#(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))))
    (top#(ok(X)) -> active#(X), active#(plus(N, s(M))) -> and#(isNat(M), isNatKind(M)))
    (top#(ok(X)) -> active#(X), active#(plus(N, s(M))) -> and#(isNat(N), isNatKind(N)))
    (top#(ok(X)) -> active#(X), active#(plus(N, s(M))) -> U51#(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N))
    (top#(ok(X)) -> active#(X), active#(plus(N, s(M))) -> isNat#(M))
    (top#(ok(X)) -> active#(X), active#(plus(N, s(M))) -> isNat#(N))
    (top#(ok(X)) -> active#(X), active#(s(X)) -> s#(active(X)))
    (top#(ok(X)) -> active#(X), active#(s(X)) -> active#(X))
    (top#(ok(X)) -> active#(X), active#(U41(X1, X2)) -> U41#(active(X1), X2))
    (top#(ok(X)) -> active#(X), active#(U41(X1, X2)) -> active#(X1))
    (top#(ok(X)) -> active#(X), active#(U33(X)) -> U33#(active(X)))
    (top#(ok(X)) -> active#(X), active#(U33(X)) -> active#(X))
    (top#(ok(X)) -> active#(X), active#(U31(tt(), V1, V2)) -> U32#(isNat(V1), V2))
    (top#(ok(X)) -> active#(X), active#(U31(tt(), V1, V2)) -> isNat#(V1))
    (top#(ok(X)) -> active#(X), active#(U31(X1, X2, X3)) -> U31#(active(X1), X2, X3))
    (top#(ok(X)) -> active#(X), active#(U31(X1, X2, X3)) -> active#(X1))
    (top#(ok(X)) -> active#(X), active#(U32(tt(), V2)) -> U33#(isNat(V2)))
    (top#(ok(X)) -> active#(X), active#(U32(tt(), V2)) -> isNat#(V2))
    (top#(ok(X)) -> active#(X), active#(U32(X1, X2)) -> U32#(active(X1), X2))
    (top#(ok(X)) -> active#(X), active#(U32(X1, X2)) -> active#(X1))
    (top#(ok(X)) -> active#(X), active#(U21(tt(), V1)) -> U22#(isNat(V1)))
    (top#(ok(X)) -> active#(X), active#(U21(tt(), V1)) -> isNat#(V1))
    (top#(ok(X)) -> active#(X), active#(U21(X1, X2)) -> U21#(active(X1), X2))
    (top#(ok(X)) -> active#(X), active#(U21(X1, X2)) -> active#(X1))
    (top#(ok(X)) -> active#(X), active#(U22(X)) -> U22#(active(X)))
    (top#(ok(X)) -> active#(X), active#(U22(X)) -> active#(X))
    (top#(ok(X)) -> active#(X), active#(U13(X)) -> U13#(active(X)))
    (top#(ok(X)) -> active#(X), active#(U13(X)) -> active#(X))
    (top#(ok(X)) -> active#(X), active#(U11(tt(), V1, V2)) -> isNat#(V1))
    (top#(ok(X)) -> active#(X), active#(U11(tt(), V1, V2)) -> U12#(isNat(V1), V2))
    (top#(ok(X)) -> active#(X), active#(U11(X1, X2, X3)) -> U11#(active(X1), X2, X3))
    (top#(ok(X)) -> active#(X), active#(U11(X1, X2, X3)) -> active#(X1))
    (top#(ok(X)) -> active#(X), active#(isNat(x(V1, V2))) -> isNatKind#(V2))
    (top#(ok(X)) -> active#(X), active#(isNat(x(V1, V2))) -> isNatKind#(V1))
    (top#(ok(X)) -> active#(X), active#(isNat(x(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)))
    (top#(ok(X)) -> active#(X), active#(isNat(x(V1, V2))) -> U31#(and(isNatKind(V1), isNatKind(V2)), V1, V2))
    (top#(ok(X)) -> active#(X), active#(isNat(plus(V1, V2))) -> isNatKind#(V2))
    (top#(ok(X)) -> active#(X), active#(isNat(plus(V1, V2))) -> isNatKind#(V1))
    (top#(ok(X)) -> active#(X), active#(isNat(plus(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)))
    (top#(ok(X)) -> active#(X), active#(isNat(plus(V1, V2))) -> U11#(and(isNatKind(V1), isNatKind(V2)), V1, V2))
    (top#(ok(X)) -> active#(X), active#(isNat(s(V1))) -> isNatKind#(V1))
    (top#(ok(X)) -> active#(X), active#(isNat(s(V1))) -> U21#(isNatKind(V1), V1))
    (top#(ok(X)) -> active#(X), active#(U12(tt(), V2)) -> U13#(isNat(V2)))
    (top#(ok(X)) -> active#(X), active#(U12(tt(), V2)) -> isNat#(V2))
    (top#(ok(X)) -> active#(X), active#(U12(X1, X2)) -> active#(X1))
    (top#(ok(X)) -> active#(X), active#(U12(X1, X2)) -> U12#(active(X1), X2))
    (active#(isNat(plus(V1, V2))) -> U11#(and(isNatKind(V1), isNatKind(V2)), V1, V2), U11#(ok(X1), ok(X2), ok(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#(U11(tt(), V1, V2)) -> U12#(isNat(V1), V2), U12#(ok(X1), ok(X2)) -> U12#(X1, X2))
    (active#(U11(tt(), V1, V2)) -> U12#(isNat(V1), V2), U12#(mark(X1), X2) -> U12#(X1, X2))
    (active#(plus(N, 0())) -> U41#(and(isNat(N), isNatKind(N)), N), U41#(ok(X1), ok(X2)) -> U41#(X1, X2))
    (active#(plus(N, 0())) -> U41#(and(isNat(N), isNatKind(N)), N), U41#(mark(X1), X2) -> U41#(X1, X2))
    (active#(U12(tt(), V2)) -> isNat#(V2), isNat#(ok(X)) -> isNat#(X))
    (active#(isNat(x(V1, V2))) -> isNatKind#(V2), isNatKind#(ok(X)) -> isNatKind#(X))
    (active#(isNatKind(plus(V1, V2))) -> isNatKind#(V2), isNatKind#(ok(X)) -> isNatKind#(X))
    (active#(U12(X1, X2)) -> U12#(active(X1), X2), U12#(ok(X1), ok(X2)) -> U12#(X1, X2))
    (active#(U12(X1, X2)) -> U12#(active(X1), X2), U12#(mark(X1), X2) -> U12#(X1, X2))
    (active#(U32(X1, X2)) -> U32#(active(X1), X2), U32#(ok(X1), ok(X2)) -> U32#(X1, X2))
    (active#(U32(X1, X2)) -> U32#(active(X1), X2), U32#(mark(X1), X2) -> U32#(X1, X2))
    (active#(plus(X1, X2)) -> plus#(active(X1), X2), plus#(ok(X1), ok(X2)) -> plus#(X1, X2))
    (active#(plus(X1, X2)) -> plus#(active(X1), X2), plus#(mark(X1), X2) -> plus#(X1, X2))
    (active#(plus(X1, X2)) -> plus#(active(X1), X2), plus#(X1, mark(X2)) -> plus#(X1, X2))
    (active#(and(X1, X2)) -> and#(active(X1), X2), and#(ok(X1), ok(X2)) -> and#(X1, X2))
    (active#(and(X1, X2)) -> and#(active(X1), X2), and#(mark(X1), X2) -> and#(X1, X2))
    (active#(U71(tt(), M, N)) -> x#(N, M), x#(ok(X1), ok(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, mark(X2)) -> x#(X1, X2))
    (active#(x(N, s(M))) -> and#(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), and#(ok(X1), ok(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))
    (U12#(ok(X1), ok(X2)) -> U12#(X1, X2), U12#(ok(X1), ok(X2)) -> U12#(X1, X2))
    (U12#(ok(X1), ok(X2)) -> U12#(X1, X2), U12#(mark(X1), X2) -> U12#(X1, X2))
    (U21#(ok(X1), ok(X2)) -> U21#(X1, X2), U21#(ok(X1), ok(X2)) -> U21#(X1, X2))
    (U21#(ok(X1), ok(X2)) -> U21#(X1, X2), U21#(mark(X1), X2) -> U21#(X1, X2))
    (U32#(ok(X1), ok(X2)) -> U32#(X1, X2), U32#(ok(X1), ok(X2)) -> U32#(X1, X2))
    (U32#(ok(X1), ok(X2)) -> U32#(X1, X2), U32#(mark(X1), X2) -> U32#(X1, X2))
    (U41#(ok(X1), ok(X2)) -> U41#(X1, X2), U41#(ok(X1), ok(X2)) -> U41#(X1, X2))
    (U41#(ok(X1), ok(X2)) -> U41#(X1, X2), U41#(mark(X1), X2) -> U41#(X1, X2))
    (plus#(mark(X1), X2) -> plus#(X1, X2), plus#(ok(X1), ok(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#(X1, mark(X2)) -> plus#(X1, X2))
    (x#(X1, mark(X2)) -> x#(X1, X2), x#(ok(X1), ok(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#(X1, mark(X2)) -> x#(X1, X2))
    (x#(ok(X1), ok(X2)) -> x#(X1, X2), x#(ok(X1), ok(X2)) -> x#(X1, X2))
    (x#(ok(X1), ok(X2)) -> x#(X1, X2), x#(mark(X1), X2) -> x#(X1, X2))
    (x#(ok(X1), ok(X2)) -> x#(X1, X2), x#(X1, mark(X2)) -> x#(X1, X2))
    (and#(ok(X1), ok(X2)) -> and#(X1, X2), and#(ok(X1), ok(X2)) -> and#(X1, X2))
    (and#(ok(X1), ok(X2)) -> and#(X1, X2), and#(mark(X1), X2) -> and#(X1, X2))
    (proper#(U11(X1, X2, X3)) -> U11#(proper(X1), proper(X2), proper(X3)), U11#(ok(X1), ok(X2), ok(X3)) -> U11#(X1, X2, X3))
    (proper#(U11(X1, X2, X3)) -> U11#(proper(X1), proper(X2), proper(X3)), U11#(mark(X1), X2, X3) -> U11#(X1, X2, X3))
    (proper#(U51(X1, X2, X3)) -> U51#(proper(X1), proper(X2), proper(X3)), U51#(ok(X1), ok(X2), ok(X3)) -> U51#(X1, X2, X3))
    (proper#(U51(X1, X2, X3)) -> U51#(proper(X1), proper(X2), proper(X3)), U51#(mark(X1), X2, X3) -> U51#(X1, X2, X3))
    (active#(U51(tt(), M, N)) -> s#(plus(N, M)), s#(ok(X)) -> s#(X))
    (active#(U51(tt(), M, N)) -> s#(plus(N, M)), s#(mark(X)) -> s#(X))
    (proper#(U71(X1, X2, X3)) -> U71#(proper(X1), proper(X2), proper(X3)), U71#(mark(X1), X2, X3) -> U71#(X1, X2, X3))
    (proper#(U71(X1, X2, X3)) -> U71#(proper(X1), proper(X2), proper(X3)), U71#(ok(X1), ok(X2), ok(X3)) -> U71#(X1, X2, X3))
    (proper#(U31(X1, X2, X3)) -> U31#(proper(X1), proper(X2), proper(X3)), U31#(mark(X1), X2, X3) -> U31#(X1, X2, X3))
    (proper#(U31(X1, X2, X3)) -> U31#(proper(X1), proper(X2), proper(X3)), U31#(ok(X1), ok(X2), ok(X3)) -> U31#(X1, X2, X3))
    (active#(x(N, 0())) -> U61#(and(isNat(N), isNatKind(N))), U61#(mark(X)) -> U61#(X))
    (active#(x(N, 0())) -> U61#(and(isNat(N), isNatKind(N))), U61#(ok(X)) -> U61#(X))
    (and#(mark(X1), X2) -> and#(X1, X2), and#(mark(X1), X2) -> and#(X1, X2))
    (and#(mark(X1), X2) -> and#(X1, X2), and#(ok(X1), ok(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#(mark(X1), X2) -> x#(X1, X2))
    (x#(mark(X1), X2) -> x#(X1, X2), x#(ok(X1), ok(X2)) -> x#(X1, X2))
    (plus#(ok(X1), ok(X2)) -> plus#(X1, X2), plus#(X1, mark(X2)) -> plus#(X1, X2))
    (plus#(ok(X1), ok(X2)) -> plus#(X1, X2), plus#(mark(X1), X2) -> plus#(X1, X2))
    (plus#(ok(X1), ok(X2)) -> plus#(X1, X2), plus#(ok(X1), ok(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#(mark(X1), X2) -> plus#(X1, X2))
    (plus#(X1, mark(X2)) -> plus#(X1, X2), plus#(ok(X1), ok(X2)) -> plus#(X1, X2))
    (U41#(mark(X1), X2) -> U41#(X1, X2), U41#(mark(X1), X2) -> U41#(X1, X2))
    (U41#(mark(X1), X2) -> U41#(X1, X2), U41#(ok(X1), ok(X2)) -> U41#(X1, X2))
    (U32#(mark(X1), X2) -> U32#(X1, X2), U32#(mark(X1), X2) -> U32#(X1, X2))
    (U32#(mark(X1), X2) -> U32#(X1, X2), U32#(ok(X1), ok(X2)) -> U32#(X1, X2))
    (U21#(mark(X1), X2) -> U21#(X1, X2), U21#(mark(X1), X2) -> U21#(X1, X2))
    (U21#(mark(X1), X2) -> U21#(X1, X2), U21#(ok(X1), ok(X2)) -> U21#(X1, X2))
    (U12#(mark(X1), X2) -> U12#(X1, X2), U12#(mark(X1), X2) -> U12#(X1, X2))
    (U12#(mark(X1), X2) -> U12#(X1, X2), U12#(ok(X1), ok(X2)) -> U12#(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#(ok(X1), ok(X2)) -> and#(X1, X2))
    (active#(U51(tt(), M, N)) -> plus#(N, M), plus#(X1, mark(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#(ok(X1), ok(X2)) -> plus#(X1, X2))
    (active#(x(X1, X2)) -> x#(active(X1), X2), x#(X1, mark(X2)) -> x#(X1, X2))
    (active#(x(X1, X2)) -> x#(active(X1), X2), x#(mark(X1), X2) -> x#(X1, X2))
    (active#(x(X1, X2)) -> x#(active(X1), X2), x#(ok(X1), ok(X2)) -> x#(X1, X2))
    (active#(U41(X1, X2)) -> U41#(active(X1), X2), U41#(mark(X1), X2) -> U41#(X1, X2))
    (active#(U41(X1, X2)) -> U41#(active(X1), X2), U41#(ok(X1), ok(X2)) -> U41#(X1, X2))
    (active#(U21(X1, X2)) -> U21#(active(X1), X2), U21#(mark(X1), X2) -> U21#(X1, X2))
    (active#(U21(X1, X2)) -> U21#(active(X1), X2), U21#(ok(X1), ok(X2)) -> U21#(X1, X2))
    (active#(isNatKind(x(V1, V2))) -> isNatKind#(V2), isNatKind#(ok(X)) -> isNatKind#(X))
    (active#(U32(tt(), V2)) -> isNat#(V2), isNat#(ok(X)) -> isNat#(X))
    (active#(isNat(plus(V1, V2))) -> isNatKind#(V2), isNatKind#(ok(X)) -> isNatKind#(X))
    (active#(U71(tt(), M, N)) -> plus#(x(N, M), N), plus#(X1, mark(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#(ok(X1), ok(X2)) -> plus#(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#(ok(X1), ok(X2)) -> U32#(X1, X2))
    (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#(ok(X1), ok(X2), ok(X3)) -> U31#(X1, X2, X3))
    (active#(isNat(s(V1))) -> U21#(isNatKind(V1), V1), U21#(mark(X1), X2) -> U21#(X1, X2))
    (active#(isNat(s(V1))) -> U21#(isNatKind(V1), V1), U21#(ok(X1), ok(X2)) -> U21#(X1, X2))
    (top#(mark(X)) -> proper#(X), proper#(U12(X1, X2)) -> U12#(proper(X1), proper(X2)))
    (top#(mark(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X1))
    (top#(mark(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X2))
    (top#(mark(X)) -> proper#(X), proper#(isNat(X)) -> isNat#(proper(X)))
    (top#(mark(X)) -> proper#(X), proper#(isNat(X)) -> proper#(X))
    (top#(mark(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> U11#(proper(X1), proper(X2), proper(X3)))
    (top#(mark(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X1))
    (top#(mark(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X2))
    (top#(mark(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X3))
    (top#(mark(X)) -> proper#(X), proper#(U13(X)) -> U13#(proper(X)))
    (top#(mark(X)) -> proper#(X), proper#(U13(X)) -> proper#(X))
    (top#(mark(X)) -> proper#(X), proper#(U22(X)) -> U22#(proper(X)))
    (top#(mark(X)) -> proper#(X), proper#(U22(X)) -> proper#(X))
    (top#(mark(X)) -> proper#(X), proper#(U21(X1, X2)) -> U21#(proper(X1), proper(X2)))
    (top#(mark(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X1))
    (top#(mark(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X2))
    (top#(mark(X)) -> proper#(X), proper#(U32(X1, X2)) -> U32#(proper(X1), proper(X2)))
    (top#(mark(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X1))
    (top#(mark(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X2))
    (top#(mark(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> U31#(proper(X1), proper(X2), proper(X3)))
    (top#(mark(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X1))
    (top#(mark(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X2))
    (top#(mark(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X3))
    (top#(mark(X)) -> proper#(X), proper#(U33(X)) -> U33#(proper(X)))
    (top#(mark(X)) -> proper#(X), proper#(U33(X)) -> proper#(X))
    (top#(mark(X)) -> proper#(X), proper#(U41(X1, X2)) -> U41#(proper(X1), proper(X2)))
    (top#(mark(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X1))
    (top#(mark(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X2))
    (top#(mark(X)) -> proper#(X), proper#(s(X)) -> s#(proper(X)))
    (top#(mark(X)) -> proper#(X), proper#(s(X)) -> proper#(X))
    (top#(mark(X)) -> proper#(X), proper#(plus(X1, X2)) -> plus#(proper(X1), proper(X2)))
    (top#(mark(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X1))
    (top#(mark(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X2))
    (top#(mark(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> U51#(proper(X1), proper(X2), proper(X3)))
    (top#(mark(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X1))
    (top#(mark(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X2))
    (top#(mark(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X3))
    (top#(mark(X)) -> proper#(X), proper#(U61(X)) -> U61#(proper(X)))
    (top#(mark(X)) -> proper#(X), proper#(U61(X)) -> proper#(X))
    (top#(mark(X)) -> proper#(X), proper#(x(X1, X2)) -> x#(proper(X1), proper(X2)))
    (top#(mark(X)) -> proper#(X), proper#(x(X1, X2)) -> proper#(X1))
    (top#(mark(X)) -> proper#(X), proper#(x(X1, X2)) -> proper#(X2))
    (top#(mark(X)) -> proper#(X), proper#(U71(X1, X2, X3)) -> U71#(proper(X1), proper(X2), proper(X3)))
    (top#(mark(X)) -> proper#(X), proper#(U71(X1, X2, X3)) -> proper#(X1))
    (top#(mark(X)) -> proper#(X), proper#(U71(X1, X2, X3)) -> proper#(X2))
    (top#(mark(X)) -> proper#(X), proper#(U71(X1, X2, X3)) -> proper#(X3))
    (top#(mark(X)) -> proper#(X), proper#(and(X1, X2)) -> and#(proper(X1), proper(X2)))
    (top#(mark(X)) -> proper#(X), proper#(and(X1, X2)) -> proper#(X1))
    (top#(mark(X)) -> proper#(X), proper#(and(X1, X2)) -> proper#(X2))
    (top#(mark(X)) -> proper#(X), proper#(isNatKind(X)) -> isNatKind#(proper(X)))
    (top#(mark(X)) -> proper#(X), proper#(isNatKind(X)) -> proper#(X))
    (proper#(U61(X)) -> proper#(X), proper#(U12(X1, X2)) -> U12#(proper(X1), proper(X2)))
    (proper#(U61(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X1))
    (proper#(U61(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X2))
    (proper#(U61(X)) -> proper#(X), proper#(isNat(X)) -> isNat#(proper(X)))
    (proper#(U61(X)) -> proper#(X), proper#(isNat(X)) -> proper#(X))
    (proper#(U61(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> U11#(proper(X1), proper(X2), proper(X3)))
    (proper#(U61(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X1))
    (proper#(U61(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X2))
    (proper#(U61(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X3))
    (proper#(U61(X)) -> proper#(X), proper#(U13(X)) -> U13#(proper(X)))
    (proper#(U61(X)) -> proper#(X), proper#(U13(X)) -> proper#(X))
    (proper#(U61(X)) -> proper#(X), proper#(U22(X)) -> U22#(proper(X)))
    (proper#(U61(X)) -> proper#(X), proper#(U22(X)) -> proper#(X))
    (proper#(U61(X)) -> proper#(X), proper#(U21(X1, X2)) -> U21#(proper(X1), proper(X2)))
    (proper#(U61(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X1))
    (proper#(U61(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X2))
    (proper#(U61(X)) -> proper#(X), proper#(U32(X1, X2)) -> U32#(proper(X1), proper(X2)))
    (proper#(U61(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X1))
    (proper#(U61(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X2))
    (proper#(U61(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> U31#(proper(X1), proper(X2), proper(X3)))
    (proper#(U61(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X1))
    (proper#(U61(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X2))
    (proper#(U61(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X3))
    (proper#(U61(X)) -> proper#(X), proper#(U33(X)) -> U33#(proper(X)))
    (proper#(U61(X)) -> proper#(X), proper#(U33(X)) -> proper#(X))
    (proper#(U61(X)) -> proper#(X), proper#(U41(X1, X2)) -> U41#(proper(X1), proper(X2)))
    (proper#(U61(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X1))
    (proper#(U61(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X2))
    (proper#(U61(X)) -> proper#(X), proper#(s(X)) -> s#(proper(X)))
    (proper#(U61(X)) -> proper#(X), proper#(s(X)) -> proper#(X))
    (proper#(U61(X)) -> proper#(X), proper#(plus(X1, X2)) -> plus#(proper(X1), proper(X2)))
    (proper#(U61(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X1))
    (proper#(U61(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X2))
    (proper#(U61(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> U51#(proper(X1), proper(X2), proper(X3)))
    (proper#(U61(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X1))
    (proper#(U61(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X2))
    (proper#(U61(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X3))
    (proper#(U61(X)) -> proper#(X), proper#(U61(X)) -> U61#(proper(X)))
    (proper#(U61(X)) -> proper#(X), proper#(U61(X)) -> proper#(X))
    (proper#(U61(X)) -> proper#(X), proper#(x(X1, X2)) -> x#(proper(X1), proper(X2)))
    (proper#(U61(X)) -> proper#(X), proper#(x(X1, X2)) -> proper#(X1))
    (proper#(U61(X)) -> proper#(X), proper#(x(X1, X2)) -> proper#(X2))
    (proper#(U61(X)) -> proper#(X), proper#(U71(X1, X2, X3)) -> U71#(proper(X1), proper(X2), proper(X3)))
    (proper#(U61(X)) -> proper#(X), proper#(U71(X1, X2, X3)) -> proper#(X1))
    (proper#(U61(X)) -> proper#(X), proper#(U71(X1, X2, X3)) -> proper#(X2))
    (proper#(U61(X)) -> proper#(X), proper#(U71(X1, X2, X3)) -> proper#(X3))
    (proper#(U61(X)) -> proper#(X), proper#(and(X1, X2)) -> and#(proper(X1), proper(X2)))
    (proper#(U61(X)) -> proper#(X), proper#(and(X1, X2)) -> proper#(X1))
    (proper#(U61(X)) -> proper#(X), proper#(and(X1, X2)) -> proper#(X2))
    (proper#(U61(X)) -> proper#(X), proper#(isNatKind(X)) -> isNatKind#(proper(X)))
    (proper#(U61(X)) -> proper#(X), proper#(isNatKind(X)) -> proper#(X))
    (proper#(U33(X)) -> proper#(X), proper#(U12(X1, X2)) -> U12#(proper(X1), proper(X2)))
    (proper#(U33(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X1))
    (proper#(U33(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X2))
    (proper#(U33(X)) -> proper#(X), proper#(isNat(X)) -> isNat#(proper(X)))
    (proper#(U33(X)) -> proper#(X), proper#(isNat(X)) -> proper#(X))
    (proper#(U33(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> U11#(proper(X1), proper(X2), proper(X3)))
    (proper#(U33(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X1))
    (proper#(U33(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X2))
    (proper#(U33(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X3))
    (proper#(U33(X)) -> proper#(X), proper#(U13(X)) -> U13#(proper(X)))
    (proper#(U33(X)) -> proper#(X), proper#(U13(X)) -> proper#(X))
    (proper#(U33(X)) -> proper#(X), proper#(U22(X)) -> U22#(proper(X)))
    (proper#(U33(X)) -> proper#(X), proper#(U22(X)) -> proper#(X))
    (proper#(U33(X)) -> proper#(X), proper#(U21(X1, X2)) -> U21#(proper(X1), proper(X2)))
    (proper#(U33(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X1))
    (proper#(U33(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X2))
    (proper#(U33(X)) -> proper#(X), proper#(U32(X1, X2)) -> U32#(proper(X1), proper(X2)))
    (proper#(U33(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X1))
    (proper#(U33(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X2))
    (proper#(U33(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> U31#(proper(X1), proper(X2), proper(X3)))
    (proper#(U33(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X1))
    (proper#(U33(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X2))
    (proper#(U33(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X3))
    (proper#(U33(X)) -> proper#(X), proper#(U33(X)) -> U33#(proper(X)))
    (proper#(U33(X)) -> proper#(X), proper#(U33(X)) -> proper#(X))
    (proper#(U33(X)) -> proper#(X), proper#(U41(X1, X2)) -> U41#(proper(X1), proper(X2)))
    (proper#(U33(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X1))
    (proper#(U33(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X2))
    (proper#(U33(X)) -> proper#(X), proper#(s(X)) -> s#(proper(X)))
    (proper#(U33(X)) -> proper#(X), proper#(s(X)) -> proper#(X))
    (proper#(U33(X)) -> proper#(X), proper#(plus(X1, X2)) -> plus#(proper(X1), proper(X2)))
    (proper#(U33(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X1))
    (proper#(U33(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X2))
    (proper#(U33(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> U51#(proper(X1), proper(X2), proper(X3)))
    (proper#(U33(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X1))
    (proper#(U33(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X2))
    (proper#(U33(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X3))
    (proper#(U33(X)) -> proper#(X), proper#(U61(X)) -> U61#(proper(X)))
    (proper#(U33(X)) -> proper#(X), proper#(U61(X)) -> proper#(X))
    (proper#(U33(X)) -> proper#(X), proper#(x(X1, X2)) -> x#(proper(X1), proper(X2)))
    (proper#(U33(X)) -> proper#(X), proper#(x(X1, X2)) -> proper#(X1))
    (proper#(U33(X)) -> proper#(X), proper#(x(X1, X2)) -> proper#(X2))
    (proper#(U33(X)) -> proper#(X), proper#(U71(X1, X2, X3)) -> U71#(proper(X1), proper(X2), proper(X3)))
    (proper#(U33(X)) -> proper#(X), proper#(U71(X1, X2, X3)) -> proper#(X1))
    (proper#(U33(X)) -> proper#(X), proper#(U71(X1, X2, X3)) -> proper#(X2))
    (proper#(U33(X)) -> proper#(X), proper#(U71(X1, X2, X3)) -> proper#(X3))
    (proper#(U33(X)) -> proper#(X), proper#(and(X1, X2)) -> and#(proper(X1), proper(X2)))
    (proper#(U33(X)) -> proper#(X), proper#(and(X1, X2)) -> proper#(X1))
    (proper#(U33(X)) -> proper#(X), proper#(and(X1, X2)) -> proper#(X2))
    (proper#(U33(X)) -> proper#(X), proper#(isNatKind(X)) -> isNatKind#(proper(X)))
    (proper#(U33(X)) -> proper#(X), proper#(isNatKind(X)) -> proper#(X))
    (proper#(U13(X)) -> proper#(X), proper#(U12(X1, X2)) -> U12#(proper(X1), proper(X2)))
    (proper#(U13(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X1))
    (proper#(U13(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X2))
    (proper#(U13(X)) -> proper#(X), proper#(isNat(X)) -> isNat#(proper(X)))
    (proper#(U13(X)) -> proper#(X), proper#(isNat(X)) -> proper#(X))
    (proper#(U13(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> U11#(proper(X1), proper(X2), proper(X3)))
    (proper#(U13(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X1))
    (proper#(U13(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X2))
    (proper#(U13(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X3))
    (proper#(U13(X)) -> proper#(X), proper#(U13(X)) -> U13#(proper(X)))
    (proper#(U13(X)) -> proper#(X), proper#(U13(X)) -> proper#(X))
    (proper#(U13(X)) -> proper#(X), proper#(U22(X)) -> U22#(proper(X)))
    (proper#(U13(X)) -> proper#(X), proper#(U22(X)) -> proper#(X))
    (proper#(U13(X)) -> proper#(X), proper#(U21(X1, X2)) -> U21#(proper(X1), proper(X2)))
    (proper#(U13(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X1))
    (proper#(U13(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X2))
    (proper#(U13(X)) -> proper#(X), proper#(U32(X1, X2)) -> U32#(proper(X1), proper(X2)))
    (proper#(U13(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X1))
    (proper#(U13(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X2))
    (proper#(U13(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> U31#(proper(X1), proper(X2), proper(X3)))
    (proper#(U13(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X1))
    (proper#(U13(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X2))
    (proper#(U13(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X3))
    (proper#(U13(X)) -> proper#(X), proper#(U33(X)) -> U33#(proper(X)))
    (proper#(U13(X)) -> proper#(X), proper#(U33(X)) -> proper#(X))
    (proper#(U13(X)) -> proper#(X), proper#(U41(X1, X2)) -> U41#(proper(X1), proper(X2)))
    (proper#(U13(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X1))
    (proper#(U13(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X2))
    (proper#(U13(X)) -> proper#(X), proper#(s(X)) -> s#(proper(X)))
    (proper#(U13(X)) -> proper#(X), proper#(s(X)) -> proper#(X))
    (proper#(U13(X)) -> proper#(X), proper#(plus(X1, X2)) -> plus#(proper(X1), proper(X2)))
    (proper#(U13(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X1))
    (proper#(U13(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X2))
    (proper#(U13(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> U51#(proper(X1), proper(X2), proper(X3)))
    (proper#(U13(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X1))
    (proper#(U13(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X2))
    (proper#(U13(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X3))
    (proper#(U13(X)) -> proper#(X), proper#(U61(X)) -> U61#(proper(X)))
    (proper#(U13(X)) -> proper#(X), proper#(U61(X)) -> proper#(X))
    (proper#(U13(X)) -> proper#(X), proper#(x(X1, X2)) -> x#(proper(X1), proper(X2)))
    (proper#(U13(X)) -> proper#(X), proper#(x(X1, X2)) -> proper#(X1))
    (proper#(U13(X)) -> proper#(X), proper#(x(X1, X2)) -> proper#(X2))
    (proper#(U13(X)) -> proper#(X), proper#(U71(X1, X2, X3)) -> U71#(proper(X1), proper(X2), proper(X3)))
    (proper#(U13(X)) -> proper#(X), proper#(U71(X1, X2, X3)) -> proper#(X1))
    (proper#(U13(X)) -> proper#(X), proper#(U71(X1, X2, X3)) -> proper#(X2))
    (proper#(U13(X)) -> proper#(X), proper#(U71(X1, X2, X3)) -> proper#(X3))
    (proper#(U13(X)) -> proper#(X), proper#(and(X1, X2)) -> and#(proper(X1), proper(X2)))
    (proper#(U13(X)) -> proper#(X), proper#(and(X1, X2)) -> proper#(X1))
    (proper#(U13(X)) -> proper#(X), proper#(and(X1, X2)) -> proper#(X2))
    (proper#(U13(X)) -> proper#(X), proper#(isNatKind(X)) -> isNatKind#(proper(X)))
    (proper#(U13(X)) -> proper#(X), proper#(isNatKind(X)) -> proper#(X))
    (isNatKind#(ok(X)) -> isNatKind#(X), isNatKind#(ok(X)) -> isNatKind#(X))
    (U61#(mark(X)) -> U61#(X), U61#(mark(X)) -> U61#(X))
    (U61#(mark(X)) -> U61#(X), U61#(ok(X)) -> U61#(X))
    (s#(mark(X)) -> s#(X), s#(mark(X)) -> s#(X))
    (s#(mark(X)) -> s#(X), s#(ok(X)) -> s#(X))
    (U33#(mark(X)) -> U33#(X), U33#(mark(X)) -> U33#(X))
    (U33#(mark(X)) -> U33#(X), U33#(ok(X)) -> U33#(X))
    (U22#(mark(X)) -> U22#(X), U22#(mark(X)) -> U22#(X))
    (U22#(mark(X)) -> U22#(X), U22#(ok(X)) -> U22#(X))
    (U13#(mark(X)) -> U13#(X), U13#(mark(X)) -> U13#(X))
    (U13#(mark(X)) -> U13#(X), U13#(ok(X)) -> U13#(X))
    (active#(s(X)) -> active#(X), active#(U12(X1, X2)) -> U12#(active(X1), X2))
    (active#(s(X)) -> active#(X), active#(U12(X1, X2)) -> active#(X1))
    (active#(s(X)) -> active#(X), active#(U12(tt(), V2)) -> isNat#(V2))
    (active#(s(X)) -> active#(X), active#(U12(tt(), V2)) -> U13#(isNat(V2)))
    (active#(s(X)) -> active#(X), active#(isNat(s(V1))) -> U21#(isNatKind(V1), V1))
    (active#(s(X)) -> active#(X), active#(isNat(s(V1))) -> isNatKind#(V1))
    (active#(s(X)) -> active#(X), active#(isNat(plus(V1, V2))) -> U11#(and(isNatKind(V1), isNatKind(V2)), V1, V2))
    (active#(s(X)) -> active#(X), active#(isNat(plus(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)))
    (active#(s(X)) -> active#(X), active#(isNat(plus(V1, V2))) -> isNatKind#(V1))
    (active#(s(X)) -> active#(X), active#(isNat(plus(V1, V2))) -> isNatKind#(V2))
    (active#(s(X)) -> active#(X), active#(isNat(x(V1, V2))) -> U31#(and(isNatKind(V1), isNatKind(V2)), V1, V2))
    (active#(s(X)) -> active#(X), active#(isNat(x(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)))
    (active#(s(X)) -> active#(X), active#(isNat(x(V1, V2))) -> isNatKind#(V1))
    (active#(s(X)) -> active#(X), active#(isNat(x(V1, V2))) -> isNatKind#(V2))
    (active#(s(X)) -> active#(X), active#(U11(X1, X2, X3)) -> active#(X1))
    (active#(s(X)) -> active#(X), active#(U11(X1, X2, X3)) -> U11#(active(X1), X2, X3))
    (active#(s(X)) -> active#(X), active#(U11(tt(), V1, V2)) -> U12#(isNat(V1), V2))
    (active#(s(X)) -> active#(X), active#(U11(tt(), V1, V2)) -> isNat#(V1))
    (active#(s(X)) -> active#(X), active#(U13(X)) -> active#(X))
    (active#(s(X)) -> active#(X), active#(U13(X)) -> U13#(active(X)))
    (active#(s(X)) -> active#(X), active#(U22(X)) -> active#(X))
    (active#(s(X)) -> active#(X), active#(U22(X)) -> U22#(active(X)))
    (active#(s(X)) -> active#(X), active#(U21(X1, X2)) -> active#(X1))
    (active#(s(X)) -> active#(X), active#(U21(X1, X2)) -> U21#(active(X1), X2))
    (active#(s(X)) -> active#(X), active#(U21(tt(), V1)) -> isNat#(V1))
    (active#(s(X)) -> active#(X), active#(U21(tt(), V1)) -> U22#(isNat(V1)))
    (active#(s(X)) -> active#(X), active#(U32(X1, X2)) -> active#(X1))
    (active#(s(X)) -> active#(X), active#(U32(X1, X2)) -> U32#(active(X1), X2))
    (active#(s(X)) -> active#(X), active#(U32(tt(), V2)) -> isNat#(V2))
    (active#(s(X)) -> active#(X), active#(U32(tt(), V2)) -> U33#(isNat(V2)))
    (active#(s(X)) -> active#(X), active#(U31(X1, X2, X3)) -> active#(X1))
    (active#(s(X)) -> active#(X), active#(U31(X1, X2, X3)) -> U31#(active(X1), X2, X3))
    (active#(s(X)) -> active#(X), active#(U31(tt(), V1, V2)) -> isNat#(V1))
    (active#(s(X)) -> active#(X), active#(U31(tt(), V1, V2)) -> U32#(isNat(V1), V2))
    (active#(s(X)) -> active#(X), active#(U33(X)) -> active#(X))
    (active#(s(X)) -> active#(X), active#(U33(X)) -> U33#(active(X)))
    (active#(s(X)) -> active#(X), active#(U41(X1, X2)) -> active#(X1))
    (active#(s(X)) -> active#(X), active#(U41(X1, X2)) -> U41#(active(X1), X2))
    (active#(s(X)) -> active#(X), active#(s(X)) -> active#(X))
    (active#(s(X)) -> active#(X), active#(s(X)) -> s#(active(X)))
    (active#(s(X)) -> active#(X), active#(plus(N, s(M))) -> isNat#(N))
    (active#(s(X)) -> active#(X), active#(plus(N, s(M))) -> isNat#(M))
    (active#(s(X)) -> active#(X), active#(plus(N, s(M))) -> U51#(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N))
    (active#(s(X)) -> active#(X), active#(plus(N, s(M))) -> and#(isNat(N), isNatKind(N)))
    (active#(s(X)) -> active#(X), active#(plus(N, s(M))) -> and#(isNat(M), isNatKind(M)))
    (active#(s(X)) -> active#(X), active#(plus(N, s(M))) -> and#(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))))
    (active#(s(X)) -> active#(X), active#(plus(N, s(M))) -> isNatKind#(N))
    (active#(s(X)) -> active#(X), active#(plus(N, s(M))) -> isNatKind#(M))
    (active#(s(X)) -> active#(X), active#(plus(N, 0())) -> isNat#(N))
    (active#(s(X)) -> active#(X), active#(plus(N, 0())) -> U41#(and(isNat(N), isNatKind(N)), N))
    (active#(s(X)) -> active#(X), active#(plus(N, 0())) -> and#(isNat(N), isNatKind(N)))
    (active#(s(X)) -> active#(X), active#(plus(N, 0())) -> isNatKind#(N))
    (active#(s(X)) -> active#(X), active#(plus(X1, X2)) -> active#(X1))
    (active#(s(X)) -> active#(X), active#(plus(X1, X2)) -> active#(X2))
    (active#(s(X)) -> active#(X), active#(plus(X1, X2)) -> plus#(X1, active(X2)))
    (active#(s(X)) -> active#(X), active#(plus(X1, X2)) -> plus#(active(X1), X2))
    (active#(s(X)) -> active#(X), active#(U51(X1, X2, X3)) -> active#(X1))
    (active#(s(X)) -> active#(X), active#(U51(X1, X2, X3)) -> U51#(active(X1), X2, X3))
    (active#(s(X)) -> active#(X), active#(U51(tt(), M, N)) -> s#(plus(N, M)))
    (active#(s(X)) -> active#(X), active#(U51(tt(), M, N)) -> plus#(N, M))
    (active#(s(X)) -> active#(X), active#(U61(X)) -> active#(X))
    (active#(s(X)) -> active#(X), active#(U61(X)) -> U61#(active(X)))
    (active#(s(X)) -> active#(X), active#(x(N, s(M))) -> isNat#(N))
    (active#(s(X)) -> active#(X), active#(x(N, s(M))) -> isNat#(M))
    (active#(s(X)) -> active#(X), active#(x(N, s(M))) -> U71#(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N))
    (active#(s(X)) -> active#(X), active#(x(N, s(M))) -> and#(isNat(N), isNatKind(N)))
    (active#(s(X)) -> active#(X), active#(x(N, s(M))) -> and#(isNat(M), isNatKind(M)))
    (active#(s(X)) -> active#(X), active#(x(N, s(M))) -> and#(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))))
    (active#(s(X)) -> active#(X), active#(x(N, s(M))) -> isNatKind#(N))
    (active#(s(X)) -> active#(X), active#(x(N, s(M))) -> isNatKind#(M))
    (active#(s(X)) -> active#(X), active#(x(N, 0())) -> isNat#(N))
    (active#(s(X)) -> active#(X), active#(x(N, 0())) -> U61#(and(isNat(N), isNatKind(N))))
    (active#(s(X)) -> active#(X), active#(x(N, 0())) -> and#(isNat(N), isNatKind(N)))
    (active#(s(X)) -> active#(X), active#(x(N, 0())) -> isNatKind#(N))
    (active#(s(X)) -> active#(X), active#(x(X1, X2)) -> active#(X1))
    (active#(s(X)) -> active#(X), active#(x(X1, X2)) -> active#(X2))
    (active#(s(X)) -> active#(X), active#(x(X1, X2)) -> x#(X1, active(X2)))
    (active#(s(X)) -> active#(X), active#(x(X1, X2)) -> x#(active(X1), X2))
    (active#(s(X)) -> active#(X), active#(U71(X1, X2, X3)) -> active#(X1))
    (active#(s(X)) -> active#(X), active#(U71(X1, X2, X3)) -> U71#(active(X1), X2, X3))
    (active#(s(X)) -> active#(X), active#(U71(tt(), M, N)) -> plus#(x(N, M), N))
    (active#(s(X)) -> active#(X), active#(U71(tt(), M, N)) -> x#(N, M))
    (active#(s(X)) -> active#(X), active#(and(X1, X2)) -> active#(X1))
    (active#(s(X)) -> active#(X), active#(and(X1, X2)) -> and#(active(X1), X2))
    (active#(s(X)) -> active#(X), active#(isNatKind(s(V1))) -> isNatKind#(V1))
    (active#(s(X)) -> active#(X), active#(isNatKind(plus(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)))
    (active#(s(X)) -> active#(X), active#(isNatKind(plus(V1, V2))) -> isNatKind#(V1))
    (active#(s(X)) -> active#(X), active#(isNatKind(plus(V1, V2))) -> isNatKind#(V2))
    (active#(s(X)) -> active#(X), active#(isNatKind(x(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)))
    (active#(s(X)) -> active#(X), active#(isNatKind(x(V1, V2))) -> isNatKind#(V1))
    (active#(s(X)) -> active#(X), active#(isNatKind(x(V1, V2))) -> isNatKind#(V2))
    (active#(U22(X)) -> active#(X), active#(U12(X1, X2)) -> U12#(active(X1), X2))
    (active#(U22(X)) -> active#(X), active#(U12(X1, X2)) -> active#(X1))
    (active#(U22(X)) -> active#(X), active#(U12(tt(), V2)) -> isNat#(V2))
    (active#(U22(X)) -> active#(X), active#(U12(tt(), V2)) -> U13#(isNat(V2)))
    (active#(U22(X)) -> active#(X), active#(isNat(s(V1))) -> U21#(isNatKind(V1), V1))
    (active#(U22(X)) -> active#(X), active#(isNat(s(V1))) -> isNatKind#(V1))
    (active#(U22(X)) -> active#(X), active#(isNat(plus(V1, V2))) -> U11#(and(isNatKind(V1), isNatKind(V2)), V1, V2))
    (active#(U22(X)) -> active#(X), active#(isNat(plus(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)))
    (active#(U22(X)) -> active#(X), active#(isNat(plus(V1, V2))) -> isNatKind#(V1))
    (active#(U22(X)) -> active#(X), active#(isNat(plus(V1, V2))) -> isNatKind#(V2))
    (active#(U22(X)) -> active#(X), active#(isNat(x(V1, V2))) -> U31#(and(isNatKind(V1), isNatKind(V2)), V1, V2))
    (active#(U22(X)) -> active#(X), active#(isNat(x(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)))
    (active#(U22(X)) -> active#(X), active#(isNat(x(V1, V2))) -> isNatKind#(V1))
    (active#(U22(X)) -> active#(X), active#(isNat(x(V1, V2))) -> isNatKind#(V2))
    (active#(U22(X)) -> active#(X), active#(U11(X1, X2, X3)) -> active#(X1))
    (active#(U22(X)) -> active#(X), active#(U11(X1, X2, X3)) -> U11#(active(X1), X2, X3))
    (active#(U22(X)) -> active#(X), active#(U11(tt(), V1, V2)) -> U12#(isNat(V1), V2))
    (active#(U22(X)) -> active#(X), active#(U11(tt(), V1, V2)) -> isNat#(V1))
    (active#(U22(X)) -> active#(X), active#(U13(X)) -> active#(X))
    (active#(U22(X)) -> active#(X), active#(U13(X)) -> U13#(active(X)))
    (active#(U22(X)) -> active#(X), active#(U22(X)) -> active#(X))
    (active#(U22(X)) -> active#(X), active#(U22(X)) -> U22#(active(X)))
    (active#(U22(X)) -> active#(X), active#(U21(X1, X2)) -> active#(X1))
    (active#(U22(X)) -> active#(X), active#(U21(X1, X2)) -> U21#(active(X1), X2))
    (active#(U22(X)) -> active#(X), active#(U21(tt(), V1)) -> isNat#(V1))
    (active#(U22(X)) -> active#(X), active#(U21(tt(), V1)) -> U22#(isNat(V1)))
    (active#(U22(X)) -> active#(X), active#(U32(X1, X2)) -> active#(X1))
    (active#(U22(X)) -> active#(X), active#(U32(X1, X2)) -> U32#(active(X1), X2))
    (active#(U22(X)) -> active#(X), active#(U32(tt(), V2)) -> isNat#(V2))
    (active#(U22(X)) -> active#(X), active#(U32(tt(), V2)) -> U33#(isNat(V2)))
    (active#(U22(X)) -> active#(X), active#(U31(X1, X2, X3)) -> active#(X1))
    (active#(U22(X)) -> active#(X), active#(U31(X1, X2, X3)) -> U31#(active(X1), X2, X3))
    (active#(U22(X)) -> active#(X), active#(U31(tt(), V1, V2)) -> isNat#(V1))
    (active#(U22(X)) -> active#(X), active#(U31(tt(), V1, V2)) -> U32#(isNat(V1), V2))
    (active#(U22(X)) -> active#(X), active#(U33(X)) -> active#(X))
    (active#(U22(X)) -> active#(X), active#(U33(X)) -> U33#(active(X)))
    (active#(U22(X)) -> active#(X), active#(U41(X1, X2)) -> active#(X1))
    (active#(U22(X)) -> active#(X), active#(U41(X1, X2)) -> U41#(active(X1), X2))
    (active#(U22(X)) -> active#(X), active#(s(X)) -> active#(X))
    (active#(U22(X)) -> active#(X), active#(s(X)) -> s#(active(X)))
    (active#(U22(X)) -> active#(X), active#(plus(N, s(M))) -> isNat#(N))
    (active#(U22(X)) -> active#(X), active#(plus(N, s(M))) -> isNat#(M))
    (active#(U22(X)) -> active#(X), active#(plus(N, s(M))) -> U51#(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N))
    (active#(U22(X)) -> active#(X), active#(plus(N, s(M))) -> and#(isNat(N), isNatKind(N)))
    (active#(U22(X)) -> active#(X), active#(plus(N, s(M))) -> and#(isNat(M), isNatKind(M)))
    (active#(U22(X)) -> active#(X), active#(plus(N, s(M))) -> and#(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))))
    (active#(U22(X)) -> active#(X), active#(plus(N, s(M))) -> isNatKind#(N))
    (active#(U22(X)) -> active#(X), active#(plus(N, s(M))) -> isNatKind#(M))
    (active#(U22(X)) -> active#(X), active#(plus(N, 0())) -> isNat#(N))
    (active#(U22(X)) -> active#(X), active#(plus(N, 0())) -> U41#(and(isNat(N), isNatKind(N)), N))
    (active#(U22(X)) -> active#(X), active#(plus(N, 0())) -> and#(isNat(N), isNatKind(N)))
    (active#(U22(X)) -> active#(X), active#(plus(N, 0())) -> isNatKind#(N))
    (active#(U22(X)) -> active#(X), active#(plus(X1, X2)) -> active#(X1))
    (active#(U22(X)) -> active#(X), active#(plus(X1, X2)) -> active#(X2))
    (active#(U22(X)) -> active#(X), active#(plus(X1, X2)) -> plus#(X1, active(X2)))
    (active#(U22(X)) -> active#(X), active#(plus(X1, X2)) -> plus#(active(X1), X2))
    (active#(U22(X)) -> active#(X), active#(U51(X1, X2, X3)) -> active#(X1))
    (active#(U22(X)) -> active#(X), active#(U51(X1, X2, X3)) -> U51#(active(X1), X2, X3))
    (active#(U22(X)) -> active#(X), active#(U51(tt(), M, N)) -> s#(plus(N, M)))
    (active#(U22(X)) -> active#(X), active#(U51(tt(), M, N)) -> plus#(N, M))
    (active#(U22(X)) -> active#(X), active#(U61(X)) -> active#(X))
    (active#(U22(X)) -> active#(X), active#(U61(X)) -> U61#(active(X)))
    (active#(U22(X)) -> active#(X), active#(x(N, s(M))) -> isNat#(N))
    (active#(U22(X)) -> active#(X), active#(x(N, s(M))) -> isNat#(M))
    (active#(U22(X)) -> active#(X), active#(x(N, s(M))) -> U71#(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N))
    (active#(U22(X)) -> active#(X), active#(x(N, s(M))) -> and#(isNat(N), isNatKind(N)))
    (active#(U22(X)) -> active#(X), active#(x(N, s(M))) -> and#(isNat(M), isNatKind(M)))
    (active#(U22(X)) -> active#(X), active#(x(N, s(M))) -> and#(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))))
    (active#(U22(X)) -> active#(X), active#(x(N, s(M))) -> isNatKind#(N))
    (active#(U22(X)) -> active#(X), active#(x(N, s(M))) -> isNatKind#(M))
    (active#(U22(X)) -> active#(X), active#(x(N, 0())) -> isNat#(N))
    (active#(U22(X)) -> active#(X), active#(x(N, 0())) -> U61#(and(isNat(N), isNatKind(N))))
    (active#(U22(X)) -> active#(X), active#(x(N, 0())) -> and#(isNat(N), isNatKind(N)))
    (active#(U22(X)) -> active#(X), active#(x(N, 0())) -> isNatKind#(N))
    (active#(U22(X)) -> active#(X), active#(x(X1, X2)) -> active#(X1))
    (active#(U22(X)) -> active#(X), active#(x(X1, X2)) -> active#(X2))
    (active#(U22(X)) -> active#(X), active#(x(X1, X2)) -> x#(X1, active(X2)))
    (active#(U22(X)) -> active#(X), active#(x(X1, X2)) -> x#(active(X1), X2))
    (active#(U22(X)) -> active#(X), active#(U71(X1, X2, X3)) -> active#(X1))
    (active#(U22(X)) -> active#(X), active#(U71(X1, X2, X3)) -> U71#(active(X1), X2, X3))
    (active#(U22(X)) -> active#(X), active#(U71(tt(), M, N)) -> plus#(x(N, M), N))
    (active#(U22(X)) -> active#(X), active#(U71(tt(), M, N)) -> x#(N, M))
    (active#(U22(X)) -> active#(X), active#(and(X1, X2)) -> active#(X1))
    (active#(U22(X)) -> active#(X), active#(and(X1, X2)) -> and#(active(X1), X2))
    (active#(U22(X)) -> active#(X), active#(isNatKind(s(V1))) -> isNatKind#(V1))
    (active#(U22(X)) -> active#(X), active#(isNatKind(plus(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)))
    (active#(U22(X)) -> active#(X), active#(isNatKind(plus(V1, V2))) -> isNatKind#(V1))
    (active#(U22(X)) -> active#(X), active#(isNatKind(plus(V1, V2))) -> isNatKind#(V2))
    (active#(U22(X)) -> active#(X), active#(isNatKind(x(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)))
    (active#(U22(X)) -> active#(X), active#(isNatKind(x(V1, V2))) -> isNatKind#(V1))
    (active#(U22(X)) -> active#(X), active#(isNatKind(x(V1, V2))) -> isNatKind#(V2))
    (isNat#(ok(X)) -> isNat#(X), isNat#(ok(X)) -> isNat#(X))
    (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#(ok(X1), ok(X2), ok(X3)) -> U51#(X1, X2, X3))
    (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U12(X1, X2)) -> U12#(proper(X1), proper(X2)))
    (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U12(X1, X2)) -> proper#(X1))
    (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U12(X1, X2)) -> proper#(X2))
    (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(isNat(X)) -> isNat#(proper(X)))
    (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(isNat(X)) -> proper#(X))
    (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U11(X1, X2, X3)) -> U11#(proper(X1), proper(X2), proper(X3)))
    (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U11(X1, X2, X3)) -> proper#(X1))
    (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U11(X1, X2, X3)) -> proper#(X2))
    (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U11(X1, X2, X3)) -> proper#(X3))
    (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U13(X)) -> U13#(proper(X)))
    (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U13(X)) -> proper#(X))
    (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U22(X)) -> U22#(proper(X)))
    (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U22(X)) -> proper#(X))
    (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U21(X1, X2)) -> U21#(proper(X1), proper(X2)))
    (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U21(X1, X2)) -> proper#(X1))
    (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U21(X1, X2)) -> proper#(X2))
    (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U32(X1, X2)) -> U32#(proper(X1), proper(X2)))
    (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U32(X1, X2)) -> proper#(X1))
    (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U32(X1, X2)) -> proper#(X2))
    (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U31(X1, X2, X3)) -> U31#(proper(X1), proper(X2), proper(X3)))
    (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U31(X1, X2, X3)) -> proper#(X1))
    (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U31(X1, X2, X3)) -> proper#(X2))
    (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U31(X1, X2, X3)) -> proper#(X3))
    (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U33(X)) -> U33#(proper(X)))
    (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U33(X)) -> proper#(X))
    (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U41(X1, X2)) -> U41#(proper(X1), proper(X2)))
    (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U41(X1, X2)) -> proper#(X1))
    (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U41(X1, X2)) -> proper#(X2))
    (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(s(X)) -> s#(proper(X)))
    (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(s(X)) -> proper#(X))
    (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(plus(X1, X2)) -> plus#(proper(X1), proper(X2)))
    (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(plus(X1, X2)) -> proper#(X1))
    (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(plus(X1, X2)) -> proper#(X2))
    (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U51(X1, X2, X3)) -> U51#(proper(X1), proper(X2), proper(X3)))
    (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U51(X1, X2, X3)) -> proper#(X1))
    (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U51(X1, X2, X3)) -> proper#(X2))
    (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U51(X1, X2, X3)) -> proper#(X3))
    (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U61(X)) -> U61#(proper(X)))
    (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U61(X)) -> proper#(X))
    (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(x(X1, X2)) -> x#(proper(X1), proper(X2)))
    (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(x(X1, X2)) -> proper#(X1))
    (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(x(X1, X2)) -> proper#(X2))
    (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U71(X1, X2, X3)) -> U71#(proper(X1), proper(X2), proper(X3)))
    (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U71(X1, X2, X3)) -> proper#(X1))
    (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U71(X1, X2, X3)) -> proper#(X2))
    (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U71(X1, X2, X3)) -> proper#(X3))
    (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(and(X1, X2)) -> and#(proper(X1), proper(X2)))
    (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(and(X1, X2)) -> proper#(X1))
    (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(and(X1, X2)) -> proper#(X2))
    (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(isNatKind(X)) -> isNatKind#(proper(X)))
    (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(isNatKind(X)) -> proper#(X))
    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U12(X1, X2)) -> U12#(proper(X1), proper(X2)))
    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U12(X1, X2)) -> proper#(X1))
    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U12(X1, X2)) -> proper#(X2))
    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(isNat(X)) -> isNat#(proper(X)))
    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(isNat(X)) -> proper#(X))
    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U11(X1, X2, X3)) -> U11#(proper(X1), proper(X2), proper(X3)))
    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U11(X1, X2, X3)) -> proper#(X1))
    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U11(X1, X2, X3)) -> proper#(X2))
    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U11(X1, X2, X3)) -> proper#(X3))
    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U13(X)) -> U13#(proper(X)))
    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U13(X)) -> proper#(X))
    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U22(X)) -> U22#(proper(X)))
    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U22(X)) -> proper#(X))
    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U21(X1, X2)) -> U21#(proper(X1), proper(X2)))
    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U21(X1, X2)) -> proper#(X1))
    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U21(X1, X2)) -> proper#(X2))
    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U32(X1, X2)) -> U32#(proper(X1), proper(X2)))
    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U32(X1, X2)) -> proper#(X1))
    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U32(X1, X2)) -> proper#(X2))
    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U31(X1, X2, X3)) -> U31#(proper(X1), proper(X2), proper(X3)))
    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U31(X1, X2, X3)) -> proper#(X1))
    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U31(X1, X2, X3)) -> proper#(X2))
    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U31(X1, X2, X3)) -> proper#(X3))
    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U33(X)) -> U33#(proper(X)))
    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U33(X)) -> proper#(X))
    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U41(X1, X2)) -> U41#(proper(X1), proper(X2)))
    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U41(X1, X2)) -> proper#(X1))
    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U41(X1, X2)) -> proper#(X2))
    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(s(X)) -> s#(proper(X)))
    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(s(X)) -> proper#(X))
    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(plus(X1, X2)) -> plus#(proper(X1), proper(X2)))
    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(plus(X1, X2)) -> proper#(X1))
    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(plus(X1, X2)) -> proper#(X2))
    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U51(X1, X2, X3)) -> U51#(proper(X1), proper(X2), proper(X3)))
    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U51(X1, X2, X3)) -> proper#(X1))
    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U51(X1, X2, X3)) -> proper#(X2))
    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U51(X1, X2, X3)) -> proper#(X3))
    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U61(X)) -> U61#(proper(X)))
    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U61(X)) -> proper#(X))
    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(x(X1, X2)) -> x#(proper(X1), proper(X2)))
    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(x(X1, X2)) -> proper#(X1))
    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(x(X1, X2)) -> proper#(X2))
    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U71(X1, X2, X3)) -> U71#(proper(X1), proper(X2), proper(X3)))
    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U71(X1, X2, X3)) -> proper#(X1))
    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U71(X1, X2, X3)) -> proper#(X2))
    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U71(X1, X2, X3)) -> proper#(X3))
    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(and(X1, X2)) -> and#(proper(X1), proper(X2)))
    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(and(X1, X2)) -> proper#(X1))
    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(and(X1, X2)) -> proper#(X2))
    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(isNatKind(X)) -> isNatKind#(proper(X)))
    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(isNatKind(X)) -> proper#(X))
    (active#(U32(tt(), V2)) -> U33#(isNat(V2)), U33#(mark(X)) -> U33#(X))
    (active#(U32(tt(), V2)) -> U33#(isNat(V2)), U33#(ok(X)) -> U33#(X))
    (top#(ok(X)) -> top#(active(X)), top#(mark(X)) -> proper#(X))
    (top#(ok(X)) -> top#(active(X)), top#(mark(X)) -> top#(proper(X)))
    (top#(ok(X)) -> top#(active(X)), top#(ok(X)) -> active#(X))
    (top#(ok(X)) -> top#(active(X)), top#(ok(X)) -> top#(active(X)))
    (proper#(isNatKind(X)) -> isNatKind#(proper(X)), isNatKind#(ok(X)) -> isNatKind#(X))
    (proper#(s(X)) -> s#(proper(X)), s#(mark(X)) -> s#(X))
    (proper#(s(X)) -> s#(proper(X)), s#(ok(X)) -> s#(X))
    (proper#(U22(X)) -> U22#(proper(X)), U22#(mark(X)) -> U22#(X))
    (proper#(U22(X)) -> U22#(proper(X)), U22#(ok(X)) -> U22#(X))
    (proper#(isNat(X)) -> isNat#(proper(X)), isNat#(ok(X)) -> isNat#(X))
    (active#(s(X)) -> s#(active(X)), s#(mark(X)) -> s#(X))
    (active#(s(X)) -> s#(active(X)), s#(ok(X)) -> s#(X))
    (active#(U22(X)) -> U22#(active(X)), U22#(mark(X)) -> U22#(X))
    (active#(U22(X)) -> U22#(active(X)), U22#(ok(X)) -> U22#(X))
    (U71#(ok(X1), ok(X2), ok(X3)) -> U71#(X1, X2, X3), U71#(mark(X1), X2, X3) -> U71#(X1, X2, X3))
    (U71#(ok(X1), ok(X2), ok(X3)) -> U71#(X1, X2, X3), U71#(ok(X1), ok(X2), ok(X3)) -> U71#(X1, X2, X3))
    (U51#(ok(X1), ok(X2), ok(X3)) -> U51#(X1, X2, X3), U51#(mark(X1), X2, X3) -> U51#(X1, X2, X3))
    (U51#(ok(X1), ok(X2), ok(X3)) -> U51#(X1, X2, X3), U51#(ok(X1), ok(X2), ok(X3)) -> U51#(X1, X2, X3))
    (U31#(ok(X1), ok(X2), ok(X3)) -> U31#(X1, X2, X3), U31#(mark(X1), X2, X3) -> U31#(X1, X2, X3))
    (U31#(ok(X1), ok(X2), ok(X3)) -> U31#(X1, X2, X3), U31#(ok(X1), ok(X2), ok(X3)) -> U31#(X1, X2, X3))
    (U11#(ok(X1), ok(X2), ok(X3)) -> U11#(X1, X2, X3), U11#(mark(X1), X2, X3) -> U11#(X1, X2, X3))
    (U11#(ok(X1), ok(X2), ok(X3)) -> U11#(X1, X2, X3), U11#(ok(X1), ok(X2), ok(X3)) -> U11#(X1, X2, X3))
    (active#(U71(X1, X2, X3)) -> U71#(active(X1), X2, X3), U71#(mark(X1), X2, X3) -> U71#(X1, X2, X3))
    (active#(U71(X1, X2, X3)) -> U71#(active(X1), X2, X3), U71#(ok(X1), ok(X2), ok(X3)) -> U71#(X1, X2, X3))
    (active#(U31(X1, X2, X3)) -> U31#(active(X1), X2, X3), U31#(mark(X1), X2, X3) -> U31#(X1, X2, X3))
    (active#(U31(X1, X2, X3)) -> U31#(active(X1), X2, X3), U31#(ok(X1), ok(X2), ok(X3)) -> U31#(X1, X2, X3))
    (active#(x(N, 0())) -> isNatKind#(N), isNatKind#(ok(X)) -> isNatKind#(X))
    (active#(x(N, s(M))) -> isNatKind#(N), isNatKind#(ok(X)) -> isNatKind#(X))
    (active#(plus(N, 0())) -> isNatKind#(N), isNatKind#(ok(X)) -> isNatKind#(X))
    (active#(plus(N, s(M))) -> isNatKind#(N), isNatKind#(ok(X)) -> isNatKind#(X))
    (proper#(and(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> U12#(proper(X1), proper(X2)))
    (proper#(and(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
    (proper#(and(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
    (proper#(and(X1, X2)) -> proper#(X1), proper#(isNat(X)) -> isNat#(proper(X)))
    (proper#(and(X1, X2)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
    (proper#(and(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> U11#(proper(X1), proper(X2), proper(X3)))
    (proper#(and(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
    (proper#(and(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X2))
    (proper#(and(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
    (proper#(and(X1, X2)) -> proper#(X1), proper#(U13(X)) -> U13#(proper(X)))
    (proper#(and(X1, X2)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
    (proper#(and(X1, X2)) -> proper#(X1), proper#(U22(X)) -> U22#(proper(X)))
    (proper#(and(X1, X2)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
    (proper#(and(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> U21#(proper(X1), proper(X2)))
    (proper#(and(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
    (proper#(and(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X2))
    (proper#(and(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> U32#(proper(X1), proper(X2)))
    (proper#(and(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
    (proper#(and(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
    (proper#(and(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> U31#(proper(X1), proper(X2), proper(X3)))
    (proper#(and(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
    (proper#(and(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
    (proper#(and(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X3))
    (proper#(and(X1, X2)) -> proper#(X1), proper#(U33(X)) -> U33#(proper(X)))
    (proper#(and(X1, X2)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
    (proper#(and(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> U41#(proper(X1), proper(X2)))
    (proper#(and(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
    (proper#(and(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
    (proper#(and(X1, X2)) -> proper#(X1), proper#(s(X)) -> s#(proper(X)))
    (proper#(and(X1, X2)) -> proper#(X1), proper#(s(X)) -> proper#(X))
    (proper#(and(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> plus#(proper(X1), proper(X2)))
    (proper#(and(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X1))
    (proper#(and(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X2))
    (proper#(and(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> U51#(proper(X1), proper(X2), proper(X3)))
    (proper#(and(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X1))
    (proper#(and(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X2))
    (proper#(and(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X3))
    (proper#(and(X1, X2)) -> proper#(X1), proper#(U61(X)) -> U61#(proper(X)))
    (proper#(and(X1, X2)) -> proper#(X1), proper#(U61(X)) -> proper#(X))
    (proper#(and(X1, X2)) -> proper#(X1), proper#(x(X1, X2)) -> x#(proper(X1), proper(X2)))
    (proper#(and(X1, X2)) -> proper#(X1), proper#(x(X1, X2)) -> proper#(X1))
    (proper#(and(X1, X2)) -> proper#(X1), proper#(x(X1, X2)) -> proper#(X2))
    (proper#(and(X1, X2)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> U71#(proper(X1), proper(X2), proper(X3)))
    (proper#(and(X1, X2)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X1))
    (proper#(and(X1, X2)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X2))
    (proper#(and(X1, X2)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X3))
    (proper#(and(X1, X2)) -> proper#(X1), proper#(and(X1, X2)) -> and#(proper(X1), proper(X2)))
    (proper#(and(X1, X2)) -> proper#(X1), proper#(and(X1, X2)) -> proper#(X1))
    (proper#(and(X1, X2)) -> proper#(X1), proper#(and(X1, X2)) -> proper#(X2))
    (proper#(and(X1, X2)) -> proper#(X1), proper#(isNatKind(X)) -> isNatKind#(proper(X)))
    (proper#(and(X1, X2)) -> proper#(X1), proper#(isNatKind(X)) -> proper#(X))
    (proper#(x(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> U12#(proper(X1), proper(X2)))
    (proper#(x(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
    (proper#(x(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
    (proper#(x(X1, X2)) -> proper#(X1), proper#(isNat(X)) -> isNat#(proper(X)))
    (proper#(x(X1, X2)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
    (proper#(x(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> U11#(proper(X1), proper(X2), proper(X3)))
    (proper#(x(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
    (proper#(x(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X2))
    (proper#(x(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
    (proper#(x(X1, X2)) -> proper#(X1), proper#(U13(X)) -> U13#(proper(X)))
    (proper#(x(X1, X2)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
    (proper#(x(X1, X2)) -> proper#(X1), proper#(U22(X)) -> U22#(proper(X)))
    (proper#(x(X1, X2)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
    (proper#(x(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> U21#(proper(X1), proper(X2)))
    (proper#(x(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
    (proper#(x(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X2))
    (proper#(x(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> U32#(proper(X1), proper(X2)))
    (proper#(x(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
    (proper#(x(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
    (proper#(x(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> U31#(proper(X1), proper(X2), proper(X3)))
    (proper#(x(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
    (proper#(x(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
    (proper#(x(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X3))
    (proper#(x(X1, X2)) -> proper#(X1), proper#(U33(X)) -> U33#(proper(X)))
    (proper#(x(X1, X2)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
    (proper#(x(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> U41#(proper(X1), proper(X2)))
    (proper#(x(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
    (proper#(x(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
    (proper#(x(X1, X2)) -> proper#(X1), proper#(s(X)) -> s#(proper(X)))
    (proper#(x(X1, X2)) -> proper#(X1), proper#(s(X)) -> proper#(X))
    (proper#(x(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> plus#(proper(X1), proper(X2)))
    (proper#(x(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X1))
    (proper#(x(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X2))
    (proper#(x(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> U51#(proper(X1), proper(X2), proper(X3)))
    (proper#(x(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X1))
    (proper#(x(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X2))
    (proper#(x(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X3))
    (proper#(x(X1, X2)) -> proper#(X1), proper#(U61(X)) -> U61#(proper(X)))
    (proper#(x(X1, X2)) -> proper#(X1), proper#(U61(X)) -> proper#(X))
    (proper#(x(X1, X2)) -> proper#(X1), proper#(x(X1, X2)) -> x#(proper(X1), proper(X2)))
    (proper#(x(X1, X2)) -> proper#(X1), proper#(x(X1, X2)) -> proper#(X1))
    (proper#(x(X1, X2)) -> proper#(X1), proper#(x(X1, X2)) -> proper#(X2))
    (proper#(x(X1, X2)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> U71#(proper(X1), proper(X2), proper(X3)))
    (proper#(x(X1, X2)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X1))
    (proper#(x(X1, X2)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X2))
    (proper#(x(X1, X2)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X3))
    (proper#(x(X1, X2)) -> proper#(X1), proper#(and(X1, X2)) -> and#(proper(X1), proper(X2)))
    (proper#(x(X1, X2)) -> proper#(X1), proper#(and(X1, X2)) -> proper#(X1))
    (proper#(x(X1, X2)) -> proper#(X1), proper#(and(X1, X2)) -> proper#(X2))
    (proper#(x(X1, X2)) -> proper#(X1), proper#(isNatKind(X)) -> isNatKind#(proper(X)))
    (proper#(x(X1, X2)) -> proper#(X1), proper#(isNatKind(X)) -> proper#(X))
    (proper#(plus(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> U12#(proper(X1), proper(X2)))
    (proper#(plus(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
    (proper#(plus(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
    (proper#(plus(X1, X2)) -> proper#(X1), proper#(isNat(X)) -> isNat#(proper(X)))
    (proper#(plus(X1, X2)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
    (proper#(plus(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> U11#(proper(X1), proper(X2), proper(X3)))
    (proper#(plus(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
    (proper#(plus(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X2))
    (proper#(plus(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
    (proper#(plus(X1, X2)) -> proper#(X1), proper#(U13(X)) -> U13#(proper(X)))
    (proper#(plus(X1, X2)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
    (proper#(plus(X1, X2)) -> proper#(X1), proper#(U22(X)) -> U22#(proper(X)))
    (proper#(plus(X1, X2)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
    (proper#(plus(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> U21#(proper(X1), proper(X2)))
    (proper#(plus(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
    (proper#(plus(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X2))
    (proper#(plus(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> U32#(proper(X1), proper(X2)))
    (proper#(plus(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
    (proper#(plus(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
    (proper#(plus(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> U31#(proper(X1), proper(X2), proper(X3)))
    (proper#(plus(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
    (proper#(plus(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
    (proper#(plus(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X3))
    (proper#(plus(X1, X2)) -> proper#(X1), proper#(U33(X)) -> U33#(proper(X)))
    (proper#(plus(X1, X2)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
    (proper#(plus(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> U41#(proper(X1), proper(X2)))
    (proper#(plus(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
    (proper#(plus(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
    (proper#(plus(X1, X2)) -> proper#(X1), proper#(s(X)) -> s#(proper(X)))
    (proper#(plus(X1, X2)) -> proper#(X1), proper#(s(X)) -> proper#(X))
    (proper#(plus(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> plus#(proper(X1), proper(X2)))
    (proper#(plus(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X1))
    (proper#(plus(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X2))
    (proper#(plus(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> U51#(proper(X1), proper(X2), proper(X3)))
    (proper#(plus(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X1))
    (proper#(plus(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X2))
    (proper#(plus(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X3))
    (proper#(plus(X1, X2)) -> proper#(X1), proper#(U61(X)) -> U61#(proper(X)))
    (proper#(plus(X1, X2)) -> proper#(X1), proper#(U61(X)) -> proper#(X))
    (proper#(plus(X1, X2)) -> proper#(X1), proper#(x(X1, X2)) -> x#(proper(X1), proper(X2)))
    (proper#(plus(X1, X2)) -> proper#(X1), proper#(x(X1, X2)) -> proper#(X1))
    (proper#(plus(X1, X2)) -> proper#(X1), proper#(x(X1, X2)) -> proper#(X2))
    (proper#(plus(X1, X2)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> U71#(proper(X1), proper(X2), proper(X3)))
    (proper#(plus(X1, X2)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X1))
    (proper#(plus(X1, X2)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X2))
    (proper#(plus(X1, X2)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X3))
    (proper#(plus(X1, X2)) -> proper#(X1), proper#(and(X1, X2)) -> and#(proper(X1), proper(X2)))
    (proper#(plus(X1, X2)) -> proper#(X1), proper#(and(X1, X2)) -> proper#(X1))
    (proper#(plus(X1, X2)) -> proper#(X1), proper#(and(X1, X2)) -> proper#(X2))
    (proper#(plus(X1, X2)) -> proper#(X1), proper#(isNatKind(X)) -> isNatKind#(proper(X)))
    (proper#(plus(X1, X2)) -> proper#(X1), proper#(isNatKind(X)) -> proper#(X))
    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U12(X1, X2)) -> U12#(proper(X1), proper(X2)))
    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(isNat(X)) -> isNat#(proper(X)))
    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> U11#(proper(X1), proper(X2), proper(X3)))
    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X2))
    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U13(X)) -> U13#(proper(X)))
    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U22(X)) -> U22#(proper(X)))
    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U21(X1, X2)) -> U21#(proper(X1), proper(X2)))
    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X2))
    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U32(X1, X2)) -> U32#(proper(X1), proper(X2)))
    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> U31#(proper(X1), proper(X2), proper(X3)))
    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X3))
    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U33(X)) -> U33#(proper(X)))
    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U41(X1, X2)) -> U41#(proper(X1), proper(X2)))
    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(s(X)) -> s#(proper(X)))
    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(s(X)) -> proper#(X))
    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(plus(X1, X2)) -> plus#(proper(X1), proper(X2)))
    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X1))
    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X2))
    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> U51#(proper(X1), proper(X2), proper(X3)))
    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X1))
    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X2))
    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X3))
    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U61(X)) -> U61#(proper(X)))
    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U61(X)) -> proper#(X))
    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(x(X1, X2)) -> x#(proper(X1), proper(X2)))
    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(x(X1, X2)) -> proper#(X1))
    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(x(X1, X2)) -> proper#(X2))
    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> U71#(proper(X1), proper(X2), proper(X3)))
    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X1))
    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X2))
    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X3))
    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(and(X1, X2)) -> and#(proper(X1), proper(X2)))
    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(and(X1, X2)) -> proper#(X1))
    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(and(X1, X2)) -> proper#(X2))
    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(isNatKind(X)) -> isNatKind#(proper(X)))
    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(isNatKind(X)) -> proper#(X))
    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> U12#(proper(X1), proper(X2)))
    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
    (proper#(U21(X1, X2)) -> proper#(X1), proper#(isNat(X)) -> isNat#(proper(X)))
    (proper#(U21(X1, X2)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> U11#(proper(X1), proper(X2), proper(X3)))
    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X2))
    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U13(X)) -> U13#(proper(X)))
    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U22(X)) -> U22#(proper(X)))
    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> U21#(proper(X1), proper(X2)))
    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X2))
    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> U32#(proper(X1), proper(X2)))
    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> U31#(proper(X1), proper(X2), proper(X3)))
    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X3))
    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U33(X)) -> U33#(proper(X)))
    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> U41#(proper(X1), proper(X2)))
    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
    (proper#(U21(X1, X2)) -> proper#(X1), proper#(s(X)) -> s#(proper(X)))
    (proper#(U21(X1, X2)) -> proper#(X1), proper#(s(X)) -> proper#(X))
    (proper#(U21(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> plus#(proper(X1), proper(X2)))
    (proper#(U21(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X1))
    (proper#(U21(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X2))
    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> U51#(proper(X1), proper(X2), proper(X3)))
    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X1))
    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X2))
    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X3))
    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U61(X)) -> U61#(proper(X)))
    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U61(X)) -> proper#(X))
    (proper#(U21(X1, X2)) -> proper#(X1), proper#(x(X1, X2)) -> x#(proper(X1), proper(X2)))
    (proper#(U21(X1, X2)) -> proper#(X1), proper#(x(X1, X2)) -> proper#(X1))
    (proper#(U21(X1, X2)) -> proper#(X1), proper#(x(X1, X2)) -> proper#(X2))
    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> U71#(proper(X1), proper(X2), proper(X3)))
    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X1))
    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X2))
    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X3))
    (proper#(U21(X1, X2)) -> proper#(X1), proper#(and(X1, X2)) -> and#(proper(X1), proper(X2)))
    (proper#(U21(X1, X2)) -> proper#(X1), proper#(and(X1, X2)) -> proper#(X1))
    (proper#(U21(X1, X2)) -> proper#(X1), proper#(and(X1, X2)) -> proper#(X2))
    (proper#(U21(X1, X2)) -> proper#(X1), proper#(isNatKind(X)) -> isNatKind#(proper(X)))
    (proper#(U21(X1, X2)) -> proper#(X1), proper#(isNatKind(X)) -> proper#(X))
    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> U12#(proper(X1), proper(X2)))
    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
    (proper#(U12(X1, X2)) -> proper#(X1), proper#(isNat(X)) -> isNat#(proper(X)))
    (proper#(U12(X1, X2)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> U11#(proper(X1), proper(X2), proper(X3)))
    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X2))
    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U13(X)) -> U13#(proper(X)))
    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U22(X)) -> U22#(proper(X)))
    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> U21#(proper(X1), proper(X2)))
    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X2))
    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> U32#(proper(X1), proper(X2)))
    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> U31#(proper(X1), proper(X2), proper(X3)))
    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X3))
    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U33(X)) -> U33#(proper(X)))
    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> U41#(proper(X1), proper(X2)))
    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
    (proper#(U12(X1, X2)) -> proper#(X1), proper#(s(X)) -> s#(proper(X)))
    (proper#(U12(X1, X2)) -> proper#(X1), proper#(s(X)) -> proper#(X))
    (proper#(U12(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> plus#(proper(X1), proper(X2)))
    (proper#(U12(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X1))
    (proper#(U12(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X2))
    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> U51#(proper(X1), proper(X2), proper(X3)))
    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X1))
    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X2))
    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X3))
    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U61(X)) -> U61#(proper(X)))
    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U61(X)) -> proper#(X))
    (proper#(U12(X1, X2)) -> proper#(X1), proper#(x(X1, X2)) -> x#(proper(X1), proper(X2)))
    (proper#(U12(X1, X2)) -> proper#(X1), proper#(x(X1, X2)) -> proper#(X1))
    (proper#(U12(X1, X2)) -> proper#(X1), proper#(x(X1, X2)) -> proper#(X2))
    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> U71#(proper(X1), proper(X2), proper(X3)))
    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X1))
    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X2))
    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X3))
    (proper#(U12(X1, X2)) -> proper#(X1), proper#(and(X1, X2)) -> and#(proper(X1), proper(X2)))
    (proper#(U12(X1, X2)) -> proper#(X1), proper#(and(X1, X2)) -> proper#(X1))
    (proper#(U12(X1, X2)) -> proper#(X1), proper#(and(X1, X2)) -> proper#(X2))
    (proper#(U12(X1, X2)) -> proper#(X1), proper#(isNatKind(X)) -> isNatKind#(proper(X)))
    (proper#(U12(X1, X2)) -> proper#(X1), proper#(isNatKind(X)) -> proper#(X))
    (active#(U71(X1, X2, X3)) -> active#(X1), active#(U12(X1, X2)) -> U12#(active(X1), X2))
    (active#(U71(X1, X2, X3)) -> active#(X1), active#(U12(X1, X2)) -> active#(X1))
    (active#(U71(X1, X2, X3)) -> active#(X1), active#(U12(tt(), V2)) -> isNat#(V2))
    (active#(U71(X1, X2, X3)) -> active#(X1), active#(U12(tt(), V2)) -> U13#(isNat(V2)))
    (active#(U71(X1, X2, X3)) -> active#(X1), active#(isNat(s(V1))) -> U21#(isNatKind(V1), V1))
    (active#(U71(X1, X2, X3)) -> active#(X1), active#(isNat(s(V1))) -> isNatKind#(V1))
    (active#(U71(X1, X2, X3)) -> active#(X1), active#(isNat(plus(V1, V2))) -> U11#(and(isNatKind(V1), isNatKind(V2)), V1, V2))
    (active#(U71(X1, X2, X3)) -> active#(X1), active#(isNat(plus(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)))
    (active#(U71(X1, X2, X3)) -> active#(X1), active#(isNat(plus(V1, V2))) -> isNatKind#(V1))
    (active#(U71(X1, X2, X3)) -> active#(X1), active#(isNat(plus(V1, V2))) -> isNatKind#(V2))
    (active#(U71(X1, X2, X3)) -> active#(X1), active#(isNat(x(V1, V2))) -> U31#(and(isNatKind(V1), isNatKind(V2)), V1, V2))
    (active#(U71(X1, X2, X3)) -> active#(X1), active#(isNat(x(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)))
    (active#(U71(X1, X2, X3)) -> active#(X1), active#(isNat(x(V1, V2))) -> isNatKind#(V1))
    (active#(U71(X1, X2, X3)) -> active#(X1), active#(isNat(x(V1, V2))) -> isNatKind#(V2))
    (active#(U71(X1, X2, X3)) -> active#(X1), active#(U11(X1, X2, X3)) -> active#(X1))
    (active#(U71(X1, X2, X3)) -> active#(X1), active#(U11(X1, X2, X3)) -> U11#(active(X1), X2, X3))
    (active#(U71(X1, X2, X3)) -> active#(X1), active#(U11(tt(), V1, V2)) -> U12#(isNat(V1), V2))
    (active#(U71(X1, X2, X3)) -> active#(X1), active#(U11(tt(), V1, V2)) -> isNat#(V1))
    (active#(U71(X1, X2, X3)) -> active#(X1), active#(U13(X)) -> active#(X))
    (active#(U71(X1, X2, X3)) -> active#(X1), active#(U13(X)) -> U13#(active(X)))
    (active#(U71(X1, X2, X3)) -> active#(X1), active#(U22(X)) -> active#(X))
    (active#(U71(X1, X2, X3)) -> active#(X1), active#(U22(X)) -> U22#(active(X)))
    (active#(U71(X1, X2, X3)) -> active#(X1), active#(U21(X1, X2)) -> active#(X1))
    (active#(U71(X1, X2, X3)) -> active#(X1), active#(U21(X1, X2)) -> U21#(active(X1), X2))
    (active#(U71(X1, X2, X3)) -> active#(X1), active#(U21(tt(), V1)) -> isNat#(V1))
    (active#(U71(X1, X2, X3)) -> active#(X1), active#(U21(tt(), V1)) -> U22#(isNat(V1)))
    (active#(U71(X1, X2, X3)) -> active#(X1), active#(U32(X1, X2)) -> active#(X1))
    (active#(U71(X1, X2, X3)) -> active#(X1), active#(U32(X1, X2)) -> U32#(active(X1), X2))
    (active#(U71(X1, X2, X3)) -> active#(X1), active#(U32(tt(), V2)) -> isNat#(V2))
    (active#(U71(X1, X2, X3)) -> active#(X1), active#(U32(tt(), V2)) -> U33#(isNat(V2)))
    (active#(U71(X1, X2, X3)) -> active#(X1), active#(U31(X1, X2, X3)) -> active#(X1))
    (active#(U71(X1, X2, X3)) -> active#(X1), active#(U31(X1, X2, X3)) -> U31#(active(X1), X2, X3))
    (active#(U71(X1, X2, X3)) -> active#(X1), active#(U31(tt(), V1, V2)) -> isNat#(V1))
    (active#(U71(X1, X2, X3)) -> active#(X1), active#(U31(tt(), V1, V2)) -> U32#(isNat(V1), V2))
    (active#(U71(X1, X2, X3)) -> active#(X1), active#(U33(X)) -> active#(X))
    (active#(U71(X1, X2, X3)) -> active#(X1), active#(U33(X)) -> U33#(active(X)))
    (active#(U71(X1, X2, X3)) -> active#(X1), active#(U41(X1, X2)) -> active#(X1))
    (active#(U71(X1, X2, X3)) -> active#(X1), active#(U41(X1, X2)) -> U41#(active(X1), X2))
    (active#(U71(X1, X2, X3)) -> active#(X1), active#(s(X)) -> active#(X))
    (active#(U71(X1, X2, X3)) -> active#(X1), active#(s(X)) -> s#(active(X)))
    (active#(U71(X1, X2, X3)) -> active#(X1), active#(plus(N, s(M))) -> isNat#(N))
    (active#(U71(X1, X2, X3)) -> active#(X1), active#(plus(N, s(M))) -> isNat#(M))
    (active#(U71(X1, X2, X3)) -> active#(X1), active#(plus(N, s(M))) -> U51#(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N))
    (active#(U71(X1, X2, X3)) -> active#(X1), active#(plus(N, s(M))) -> and#(isNat(N), isNatKind(N)))
    (active#(U71(X1, X2, X3)) -> active#(X1), active#(plus(N, s(M))) -> and#(isNat(M), isNatKind(M)))
    (active#(U71(X1, X2, X3)) -> active#(X1), active#(plus(N, s(M))) -> and#(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))))
    (active#(U71(X1, X2, X3)) -> active#(X1), active#(plus(N, s(M))) -> isNatKind#(N))
    (active#(U71(X1, X2, X3)) -> active#(X1), active#(plus(N, s(M))) -> isNatKind#(M))
    (active#(U71(X1, X2, X3)) -> active#(X1), active#(plus(N, 0())) -> isNat#(N))
    (active#(U71(X1, X2, X3)) -> active#(X1), active#(plus(N, 0())) -> U41#(and(isNat(N), isNatKind(N)), N))
    (active#(U71(X1, X2, X3)) -> active#(X1), active#(plus(N, 0())) -> and#(isNat(N), isNatKind(N)))
    (active#(U71(X1, X2, X3)) -> active#(X1), active#(plus(N, 0())) -> isNatKind#(N))
    (active#(U71(X1, X2, X3)) -> active#(X1), active#(plus(X1, X2)) -> active#(X1))
    (active#(U71(X1, X2, X3)) -> active#(X1), active#(plus(X1, X2)) -> active#(X2))
    (active#(U71(X1, X2, X3)) -> active#(X1), active#(plus(X1, X2)) -> plus#(X1, active(X2)))
    (active#(U71(X1, X2, X3)) -> active#(X1), active#(plus(X1, X2)) -> plus#(active(X1), X2))
    (active#(U71(X1, X2, X3)) -> active#(X1), active#(U51(X1, X2, X3)) -> active#(X1))
    (active#(U71(X1, X2, X3)) -> active#(X1), active#(U51(X1, X2, X3)) -> U51#(active(X1), X2, X3))
    (active#(U71(X1, X2, X3)) -> active#(X1), active#(U51(tt(), M, N)) -> s#(plus(N, M)))
    (active#(U71(X1, X2, X3)) -> active#(X1), active#(U51(tt(), M, N)) -> plus#(N, M))
    (active#(U71(X1, X2, X3)) -> active#(X1), active#(U61(X)) -> active#(X))
    (active#(U71(X1, X2, X3)) -> active#(X1), active#(U61(X)) -> U61#(active(X)))
    (active#(U71(X1, X2, X3)) -> active#(X1), active#(x(N, s(M))) -> isNat#(N))
    (active#(U71(X1, X2, X3)) -> active#(X1), active#(x(N, s(M))) -> isNat#(M))
    (active#(U71(X1, X2, X3)) -> active#(X1), active#(x(N, s(M))) -> U71#(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N))
    (active#(U71(X1, X2, X3)) -> active#(X1), active#(x(N, s(M))) -> and#(isNat(N), isNatKind(N)))
    (active#(U71(X1, X2, X3)) -> active#(X1), active#(x(N, s(M))) -> and#(isNat(M), isNatKind(M)))
    (active#(U71(X1, X2, X3)) -> active#(X1), active#(x(N, s(M))) -> and#(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))))
    (active#(U71(X1, X2, X3)) -> active#(X1), active#(x(N, s(M))) -> isNatKind#(N))
    (active#(U71(X1, X2, X3)) -> active#(X1), active#(x(N, s(M))) -> isNatKind#(M))
    (active#(U71(X1, X2, X3)) -> active#(X1), active#(x(N, 0())) -> isNat#(N))
    (active#(U71(X1, X2, X3)) -> active#(X1), active#(x(N, 0())) -> U61#(and(isNat(N), isNatKind(N))))
    (active#(U71(X1, X2, X3)) -> active#(X1), active#(x(N, 0())) -> and#(isNat(N), isNatKind(N)))
    (active#(U71(X1, X2, X3)) -> active#(X1), active#(x(N, 0())) -> isNatKind#(N))
    (active#(U71(X1, X2, X3)) -> active#(X1), active#(x(X1, X2)) -> active#(X1))
    (active#(U71(X1, X2, X3)) -> active#(X1), active#(x(X1, X2)) -> active#(X2))
    (active#(U71(X1, X2, X3)) -> active#(X1), active#(x(X1, X2)) -> x#(X1, active(X2)))
    (active#(U71(X1, X2, X3)) -> active#(X1), active#(x(X1, X2)) -> x#(active(X1), X2))
    (active#(U71(X1, X2, X3)) -> active#(X1), active#(U71(X1, X2, X3)) -> active#(X1))
    (active#(U71(X1, X2, X3)) -> active#(X1), active#(U71(X1, X2, X3)) -> U71#(active(X1), X2, X3))
    (active#(U71(X1, X2, X3)) -> active#(X1), active#(U71(tt(), M, N)) -> plus#(x(N, M), N))
    (active#(U71(X1, X2, X3)) -> active#(X1), active#(U71(tt(), M, N)) -> x#(N, M))
    (active#(U71(X1, X2, X3)) -> active#(X1), active#(and(X1, X2)) -> active#(X1))
    (active#(U71(X1, X2, X3)) -> active#(X1), active#(and(X1, X2)) -> and#(active(X1), X2))
    (active#(U71(X1, X2, X3)) -> active#(X1), active#(isNatKind(s(V1))) -> isNatKind#(V1))
    (active#(U71(X1, X2, X3)) -> active#(X1), active#(isNatKind(plus(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)))
    (active#(U71(X1, X2, X3)) -> active#(X1), active#(isNatKind(plus(V1, V2))) -> isNatKind#(V1))
    (active#(U71(X1, X2, X3)) -> active#(X1), active#(isNatKind(plus(V1, V2))) -> isNatKind#(V2))
    (active#(U71(X1, X2, X3)) -> active#(X1), active#(isNatKind(x(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)))
    (active#(U71(X1, X2, X3)) -> active#(X1), active#(isNatKind(x(V1, V2))) -> isNatKind#(V1))
    (active#(U71(X1, X2, X3)) -> active#(X1), active#(isNatKind(x(V1, V2))) -> isNatKind#(V2))
    (active#(U51(X1, X2, X3)) -> active#(X1), active#(U12(X1, X2)) -> U12#(active(X1), X2))
    (active#(U51(X1, X2, X3)) -> active#(X1), active#(U12(X1, X2)) -> active#(X1))
    (active#(U51(X1, X2, X3)) -> active#(X1), active#(U12(tt(), V2)) -> isNat#(V2))
    (active#(U51(X1, X2, X3)) -> active#(X1), active#(U12(tt(), V2)) -> U13#(isNat(V2)))
    (active#(U51(X1, X2, X3)) -> active#(X1), active#(isNat(s(V1))) -> U21#(isNatKind(V1), V1))
    (active#(U51(X1, X2, X3)) -> active#(X1), active#(isNat(s(V1))) -> isNatKind#(V1))
    (active#(U51(X1, X2, X3)) -> active#(X1), active#(isNat(plus(V1, V2))) -> U11#(and(isNatKind(V1), isNatKind(V2)), V1, V2))
    (active#(U51(X1, X2, X3)) -> active#(X1), active#(isNat(plus(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)))
    (active#(U51(X1, X2, X3)) -> active#(X1), active#(isNat(plus(V1, V2))) -> isNatKind#(V1))
    (active#(U51(X1, X2, X3)) -> active#(X1), active#(isNat(plus(V1, V2))) -> isNatKind#(V2))
    (active#(U51(X1, X2, X3)) -> active#(X1), active#(isNat(x(V1, V2))) -> U31#(and(isNatKind(V1), isNatKind(V2)), V1, V2))
    (active#(U51(X1, X2, X3)) -> active#(X1), active#(isNat(x(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)))
    (active#(U51(X1, X2, X3)) -> active#(X1), active#(isNat(x(V1, V2))) -> isNatKind#(V1))
    (active#(U51(X1, X2, X3)) -> active#(X1), active#(isNat(x(V1, V2))) -> isNatKind#(V2))
    (active#(U51(X1, X2, X3)) -> active#(X1), active#(U11(X1, X2, X3)) -> active#(X1))
    (active#(U51(X1, X2, X3)) -> active#(X1), active#(U11(X1, X2, X3)) -> U11#(active(X1), X2, X3))
    (active#(U51(X1, X2, X3)) -> active#(X1), active#(U11(tt(), V1, V2)) -> U12#(isNat(V1), V2))
    (active#(U51(X1, X2, X3)) -> active#(X1), active#(U11(tt(), V1, V2)) -> isNat#(V1))
    (active#(U51(X1, X2, X3)) -> active#(X1), active#(U13(X)) -> active#(X))
    (active#(U51(X1, X2, X3)) -> active#(X1), active#(U13(X)) -> U13#(active(X)))
    (active#(U51(X1, X2, X3)) -> active#(X1), active#(U22(X)) -> active#(X))
    (active#(U51(X1, X2, X3)) -> active#(X1), active#(U22(X)) -> U22#(active(X)))
    (active#(U51(X1, X2, X3)) -> active#(X1), active#(U21(X1, X2)) -> active#(X1))
    (active#(U51(X1, X2, X3)) -> active#(X1), active#(U21(X1, X2)) -> U21#(active(X1), X2))
    (active#(U51(X1, X2, X3)) -> active#(X1), active#(U21(tt(), V1)) -> isNat#(V1))
    (active#(U51(X1, X2, X3)) -> active#(X1), active#(U21(tt(), V1)) -> U22#(isNat(V1)))
    (active#(U51(X1, X2, X3)) -> active#(X1), active#(U32(X1, X2)) -> active#(X1))
    (active#(U51(X1, X2, X3)) -> active#(X1), active#(U32(X1, X2)) -> U32#(active(X1), X2))
    (active#(U51(X1, X2, X3)) -> active#(X1), active#(U32(tt(), V2)) -> isNat#(V2))
    (active#(U51(X1, X2, X3)) -> active#(X1), active#(U32(tt(), V2)) -> U33#(isNat(V2)))
    (active#(U51(X1, X2, X3)) -> active#(X1), active#(U31(X1, X2, X3)) -> active#(X1))
    (active#(U51(X1, X2, X3)) -> active#(X1), active#(U31(X1, X2, X3)) -> U31#(active(X1), X2, X3))
    (active#(U51(X1, X2, X3)) -> active#(X1), active#(U31(tt(), V1, V2)) -> isNat#(V1))
    (active#(U51(X1, X2, X3)) -> active#(X1), active#(U31(tt(), V1, V2)) -> U32#(isNat(V1), V2))
    (active#(U51(X1, X2, X3)) -> active#(X1), active#(U33(X)) -> active#(X))
    (active#(U51(X1, X2, X3)) -> active#(X1), active#(U33(X)) -> U33#(active(X)))
    (active#(U51(X1, X2, X3)) -> active#(X1), active#(U41(X1, X2)) -> active#(X1))
    (active#(U51(X1, X2, X3)) -> active#(X1), active#(U41(X1, X2)) -> U41#(active(X1), X2))
    (active#(U51(X1, X2, X3)) -> active#(X1), active#(s(X)) -> active#(X))
    (active#(U51(X1, X2, X3)) -> active#(X1), active#(s(X)) -> s#(active(X)))
    (active#(U51(X1, X2, X3)) -> active#(X1), active#(plus(N, s(M))) -> isNat#(N))
    (active#(U51(X1, X2, X3)) -> active#(X1), active#(plus(N, s(M))) -> isNat#(M))
    (active#(U51(X1, X2, X3)) -> active#(X1), active#(plus(N, s(M))) -> U51#(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N))
    (active#(U51(X1, X2, X3)) -> active#(X1), active#(plus(N, s(M))) -> and#(isNat(N), isNatKind(N)))
    (active#(U51(X1, X2, X3)) -> active#(X1), active#(plus(N, s(M))) -> and#(isNat(M), isNatKind(M)))
    (active#(U51(X1, X2, X3)) -> active#(X1), active#(plus(N, s(M))) -> and#(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))))
    (active#(U51(X1, X2, X3)) -> active#(X1), active#(plus(N, s(M))) -> isNatKind#(N))
    (active#(U51(X1, X2, X3)) -> active#(X1), active#(plus(N, s(M))) -> isNatKind#(M))
    (active#(U51(X1, X2, X3)) -> active#(X1), active#(plus(N, 0())) -> isNat#(N))
    (active#(U51(X1, X2, X3)) -> active#(X1), active#(plus(N, 0())) -> U41#(and(isNat(N), isNatKind(N)), N))
    (active#(U51(X1, X2, X3)) -> active#(X1), active#(plus(N, 0())) -> and#(isNat(N), isNatKind(N)))
    (active#(U51(X1, X2, X3)) -> active#(X1), active#(plus(N, 0())) -> isNatKind#(N))
    (active#(U51(X1, X2, X3)) -> active#(X1), active#(plus(X1, X2)) -> active#(X1))
    (active#(U51(X1, X2, X3)) -> active#(X1), active#(plus(X1, X2)) -> active#(X2))
    (active#(U51(X1, X2, X3)) -> active#(X1), active#(plus(X1, X2)) -> plus#(X1, active(X2)))
    (active#(U51(X1, X2, X3)) -> active#(X1), active#(plus(X1, X2)) -> plus#(active(X1), X2))
    (active#(U51(X1, X2, X3)) -> active#(X1), active#(U51(X1, X2, X3)) -> active#(X1))
    (active#(U51(X1, X2, X3)) -> active#(X1), active#(U51(X1, X2, X3)) -> U51#(active(X1), X2, X3))
    (active#(U51(X1, X2, X3)) -> active#(X1), active#(U51(tt(), M, N)) -> s#(plus(N, M)))
    (active#(U51(X1, X2, X3)) -> active#(X1), active#(U51(tt(), M, N)) -> plus#(N, M))
    (active#(U51(X1, X2, X3)) -> active#(X1), active#(U61(X)) -> active#(X))
    (active#(U51(X1, X2, X3)) -> active#(X1), active#(U61(X)) -> U61#(active(X)))
    (active#(U51(X1, X2, X3)) -> active#(X1), active#(x(N, s(M))) -> isNat#(N))
    (active#(U51(X1, X2, X3)) -> active#(X1), active#(x(N, s(M))) -> isNat#(M))
    (active#(U51(X1, X2, X3)) -> active#(X1), active#(x(N, s(M))) -> U71#(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N))
    (active#(U51(X1, X2, X3)) -> active#(X1), active#(x(N, s(M))) -> and#(isNat(N), isNatKind(N)))
    (active#(U51(X1, X2, X3)) -> active#(X1), active#(x(N, s(M))) -> and#(isNat(M), isNatKind(M)))
    (active#(U51(X1, X2, X3)) -> active#(X1), active#(x(N, s(M))) -> and#(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))))
    (active#(U51(X1, X2, X3)) -> active#(X1), active#(x(N, s(M))) -> isNatKind#(N))
    (active#(U51(X1, X2, X3)) -> active#(X1), active#(x(N, s(M))) -> isNatKind#(M))
    (active#(U51(X1, X2, X3)) -> active#(X1), active#(x(N, 0())) -> isNat#(N))
    (active#(U51(X1, X2, X3)) -> active#(X1), active#(x(N, 0())) -> U61#(and(isNat(N), isNatKind(N))))
    (active#(U51(X1, X2, X3)) -> active#(X1), active#(x(N, 0())) -> and#(isNat(N), isNatKind(N)))
    (active#(U51(X1, X2, X3)) -> active#(X1), active#(x(N, 0())) -> isNatKind#(N))
    (active#(U51(X1, X2, X3)) -> active#(X1), active#(x(X1, X2)) -> active#(X1))
    (active#(U51(X1, X2, X3)) -> active#(X1), active#(x(X1, X2)) -> active#(X2))
    (active#(U51(X1, X2, X3)) -> active#(X1), active#(x(X1, X2)) -> x#(X1, active(X2)))
    (active#(U51(X1, X2, X3)) -> active#(X1), active#(x(X1, X2)) -> x#(active(X1), X2))
    (active#(U51(X1, X2, X3)) -> active#(X1), active#(U71(X1, X2, X3)) -> active#(X1))
    (active#(U51(X1, X2, X3)) -> active#(X1), active#(U71(X1, X2, X3)) -> U71#(active(X1), X2, X3))
    (active#(U51(X1, X2, X3)) -> active#(X1), active#(U71(tt(), M, N)) -> plus#(x(N, M), N))
    (active#(U51(X1, X2, X3)) -> active#(X1), active#(U71(tt(), M, N)) -> x#(N, M))
    (active#(U51(X1, X2, X3)) -> active#(X1), active#(and(X1, X2)) -> active#(X1))
    (active#(U51(X1, X2, X3)) -> active#(X1), active#(and(X1, X2)) -> and#(active(X1), X2))
    (active#(U51(X1, X2, X3)) -> active#(X1), active#(isNatKind(s(V1))) -> isNatKind#(V1))
    (active#(U51(X1, X2, X3)) -> active#(X1), active#(isNatKind(plus(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)))
    (active#(U51(X1, X2, X3)) -> active#(X1), active#(isNatKind(plus(V1, V2))) -> isNatKind#(V1))
    (active#(U51(X1, X2, X3)) -> active#(X1), active#(isNatKind(plus(V1, V2))) -> isNatKind#(V2))
    (active#(U51(X1, X2, X3)) -> active#(X1), active#(isNatKind(x(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)))
    (active#(U51(X1, X2, X3)) -> active#(X1), active#(isNatKind(x(V1, V2))) -> isNatKind#(V1))
    (active#(U51(X1, X2, X3)) -> active#(X1), active#(isNatKind(x(V1, V2))) -> isNatKind#(V2))
    (active#(U41(X1, X2)) -> active#(X1), active#(U12(X1, X2)) -> U12#(active(X1), X2))
    (active#(U41(X1, X2)) -> active#(X1), active#(U12(X1, X2)) -> active#(X1))
    (active#(U41(X1, X2)) -> active#(X1), active#(U12(tt(), V2)) -> isNat#(V2))
    (active#(U41(X1, X2)) -> active#(X1), active#(U12(tt(), V2)) -> U13#(isNat(V2)))
    (active#(U41(X1, X2)) -> active#(X1), active#(isNat(s(V1))) -> U21#(isNatKind(V1), V1))
    (active#(U41(X1, X2)) -> active#(X1), active#(isNat(s(V1))) -> isNatKind#(V1))
    (active#(U41(X1, X2)) -> active#(X1), active#(isNat(plus(V1, V2))) -> U11#(and(isNatKind(V1), isNatKind(V2)), V1, V2))
    (active#(U41(X1, X2)) -> active#(X1), active#(isNat(plus(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)))
    (active#(U41(X1, X2)) -> active#(X1), active#(isNat(plus(V1, V2))) -> isNatKind#(V1))
    (active#(U41(X1, X2)) -> active#(X1), active#(isNat(plus(V1, V2))) -> isNatKind#(V2))
    (active#(U41(X1, X2)) -> active#(X1), active#(isNat(x(V1, V2))) -> U31#(and(isNatKind(V1), isNatKind(V2)), V1, V2))
    (active#(U41(X1, X2)) -> active#(X1), active#(isNat(x(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)))
    (active#(U41(X1, X2)) -> active#(X1), active#(isNat(x(V1, V2))) -> isNatKind#(V1))
    (active#(U41(X1, X2)) -> active#(X1), active#(isNat(x(V1, V2))) -> isNatKind#(V2))
    (active#(U41(X1, X2)) -> active#(X1), active#(U11(X1, X2, X3)) -> active#(X1))
    (active#(U41(X1, X2)) -> active#(X1), active#(U11(X1, X2, X3)) -> U11#(active(X1), X2, X3))
    (active#(U41(X1, X2)) -> active#(X1), active#(U11(tt(), V1, V2)) -> U12#(isNat(V1), V2))
    (active#(U41(X1, X2)) -> active#(X1), active#(U11(tt(), V1, V2)) -> isNat#(V1))
    (active#(U41(X1, X2)) -> active#(X1), active#(U13(X)) -> active#(X))
    (active#(U41(X1, X2)) -> active#(X1), active#(U13(X)) -> U13#(active(X)))
    (active#(U41(X1, X2)) -> active#(X1), active#(U22(X)) -> active#(X))
    (active#(U41(X1, X2)) -> active#(X1), active#(U22(X)) -> U22#(active(X)))
    (active#(U41(X1, X2)) -> active#(X1), active#(U21(X1, X2)) -> active#(X1))
    (active#(U41(X1, X2)) -> active#(X1), active#(U21(X1, X2)) -> U21#(active(X1), X2))
    (active#(U41(X1, X2)) -> active#(X1), active#(U21(tt(), V1)) -> isNat#(V1))
    (active#(U41(X1, X2)) -> active#(X1), active#(U21(tt(), V1)) -> U22#(isNat(V1)))
    (active#(U41(X1, X2)) -> active#(X1), active#(U32(X1, X2)) -> active#(X1))
    (active#(U41(X1, X2)) -> active#(X1), active#(U32(X1, X2)) -> U32#(active(X1), X2))
    (active#(U41(X1, X2)) -> active#(X1), active#(U32(tt(), V2)) -> isNat#(V2))
    (active#(U41(X1, X2)) -> active#(X1), active#(U32(tt(), V2)) -> U33#(isNat(V2)))
    (active#(U41(X1, X2)) -> active#(X1), active#(U31(X1, X2, X3)) -> active#(X1))
    (active#(U41(X1, X2)) -> active#(X1), active#(U31(X1, X2, X3)) -> U31#(active(X1), X2, X3))
    (active#(U41(X1, X2)) -> active#(X1), active#(U31(tt(), V1, V2)) -> isNat#(V1))
    (active#(U41(X1, X2)) -> active#(X1), active#(U31(tt(), V1, V2)) -> U32#(isNat(V1), V2))
    (active#(U41(X1, X2)) -> active#(X1), active#(U33(X)) -> active#(X))
    (active#(U41(X1, X2)) -> active#(X1), active#(U33(X)) -> U33#(active(X)))
    (active#(U41(X1, X2)) -> active#(X1), active#(U41(X1, X2)) -> active#(X1))
    (active#(U41(X1, X2)) -> active#(X1), active#(U41(X1, X2)) -> U41#(active(X1), X2))
    (active#(U41(X1, X2)) -> active#(X1), active#(s(X)) -> active#(X))
    (active#(U41(X1, X2)) -> active#(X1), active#(s(X)) -> s#(active(X)))
    (active#(U41(X1, X2)) -> active#(X1), active#(plus(N, s(M))) -> isNat#(N))
    (active#(U41(X1, X2)) -> active#(X1), active#(plus(N, s(M))) -> isNat#(M))
    (active#(U41(X1, X2)) -> active#(X1), active#(plus(N, s(M))) -> U51#(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N))
    (active#(U41(X1, X2)) -> active#(X1), active#(plus(N, s(M))) -> and#(isNat(N), isNatKind(N)))
    (active#(U41(X1, X2)) -> active#(X1), active#(plus(N, s(M))) -> and#(isNat(M), isNatKind(M)))
    (active#(U41(X1, X2)) -> active#(X1), active#(plus(N, s(M))) -> and#(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))))
    (active#(U41(X1, X2)) -> active#(X1), active#(plus(N, s(M))) -> isNatKind#(N))
    (active#(U41(X1, X2)) -> active#(X1), active#(plus(N, s(M))) -> isNatKind#(M))
    (active#(U41(X1, X2)) -> active#(X1), active#(plus(N, 0())) -> isNat#(N))
    (active#(U41(X1, X2)) -> active#(X1), active#(plus(N, 0())) -> U41#(and(isNat(N), isNatKind(N)), N))
    (active#(U41(X1, X2)) -> active#(X1), active#(plus(N, 0())) -> and#(isNat(N), isNatKind(N)))
    (active#(U41(X1, X2)) -> active#(X1), active#(plus(N, 0())) -> isNatKind#(N))
    (active#(U41(X1, X2)) -> active#(X1), active#(plus(X1, X2)) -> active#(X1))
    (active#(U41(X1, X2)) -> active#(X1), active#(plus(X1, X2)) -> active#(X2))
    (active#(U41(X1, X2)) -> active#(X1), active#(plus(X1, X2)) -> plus#(X1, active(X2)))
    (active#(U41(X1, X2)) -> active#(X1), active#(plus(X1, X2)) -> plus#(active(X1), X2))
    (active#(U41(X1, X2)) -> active#(X1), active#(U51(X1, X2, X3)) -> active#(X1))
    (active#(U41(X1, X2)) -> active#(X1), active#(U51(X1, X2, X3)) -> U51#(active(X1), X2, X3))
    (active#(U41(X1, X2)) -> active#(X1), active#(U51(tt(), M, N)) -> s#(plus(N, M)))
    (active#(U41(X1, X2)) -> active#(X1), active#(U51(tt(), M, N)) -> plus#(N, M))
    (active#(U41(X1, X2)) -> active#(X1), active#(U61(X)) -> active#(X))
    (active#(U41(X1, X2)) -> active#(X1), active#(U61(X)) -> U61#(active(X)))
    (active#(U41(X1, X2)) -> active#(X1), active#(x(N, s(M))) -> isNat#(N))
    (active#(U41(X1, X2)) -> active#(X1), active#(x(N, s(M))) -> isNat#(M))
    (active#(U41(X1, X2)) -> active#(X1), active#(x(N, s(M))) -> U71#(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N))
    (active#(U41(X1, X2)) -> active#(X1), active#(x(N, s(M))) -> and#(isNat(N), isNatKind(N)))
    (active#(U41(X1, X2)) -> active#(X1), active#(x(N, s(M))) -> and#(isNat(M), isNatKind(M)))
    (active#(U41(X1, X2)) -> active#(X1), active#(x(N, s(M))) -> and#(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))))
    (active#(U41(X1, X2)) -> active#(X1), active#(x(N, s(M))) -> isNatKind#(N))
    (active#(U41(X1, X2)) -> active#(X1), active#(x(N, s(M))) -> isNatKind#(M))
    (active#(U41(X1, X2)) -> active#(X1), active#(x(N, 0())) -> isNat#(N))
    (active#(U41(X1, X2)) -> active#(X1), active#(x(N, 0())) -> U61#(and(isNat(N), isNatKind(N))))
    (active#(U41(X1, X2)) -> active#(X1), active#(x(N, 0())) -> and#(isNat(N), isNatKind(N)))
    (active#(U41(X1, X2)) -> active#(X1), active#(x(N, 0())) -> isNatKind#(N))
    (active#(U41(X1, X2)) -> active#(X1), active#(x(X1, X2)) -> active#(X1))
    (active#(U41(X1, X2)) -> active#(X1), active#(x(X1, X2)) -> active#(X2))
    (active#(U41(X1, X2)) -> active#(X1), active#(x(X1, X2)) -> x#(X1, active(X2)))
    (active#(U41(X1, X2)) -> active#(X1), active#(x(X1, X2)) -> x#(active(X1), X2))
    (active#(U41(X1, X2)) -> active#(X1), active#(U71(X1, X2, X3)) -> active#(X1))
    (active#(U41(X1, X2)) -> active#(X1), active#(U71(X1, X2, X3)) -> U71#(active(X1), X2, X3))
    (active#(U41(X1, X2)) -> active#(X1), active#(U71(tt(), M, N)) -> plus#(x(N, M), N))
    (active#(U41(X1, X2)) -> active#(X1), active#(U71(tt(), M, N)) -> x#(N, M))
    (active#(U41(X1, X2)) -> active#(X1), active#(and(X1, X2)) -> active#(X1))
    (active#(U41(X1, X2)) -> active#(X1), active#(and(X1, X2)) -> and#(active(X1), X2))
    (active#(U41(X1, X2)) -> active#(X1), active#(isNatKind(s(V1))) -> isNatKind#(V1))
    (active#(U41(X1, X2)) -> active#(X1), active#(isNatKind(plus(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)))
    (active#(U41(X1, X2)) -> active#(X1), active#(isNatKind(plus(V1, V2))) -> isNatKind#(V1))
    (active#(U41(X1, X2)) -> active#(X1), active#(isNatKind(plus(V1, V2))) -> isNatKind#(V2))
    (active#(U41(X1, X2)) -> active#(X1), active#(isNatKind(x(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)))
    (active#(U41(X1, X2)) -> active#(X1), active#(isNatKind(x(V1, V2))) -> isNatKind#(V1))
    (active#(U41(X1, X2)) -> active#(X1), active#(isNatKind(x(V1, V2))) -> isNatKind#(V2))
    (active#(U32(X1, X2)) -> active#(X1), active#(U12(X1, X2)) -> U12#(active(X1), X2))
    (active#(U32(X1, X2)) -> active#(X1), active#(U12(X1, X2)) -> active#(X1))
    (active#(U32(X1, X2)) -> active#(X1), active#(U12(tt(), V2)) -> isNat#(V2))
    (active#(U32(X1, X2)) -> active#(X1), active#(U12(tt(), V2)) -> U13#(isNat(V2)))
    (active#(U32(X1, X2)) -> active#(X1), active#(isNat(s(V1))) -> U21#(isNatKind(V1), V1))
    (active#(U32(X1, X2)) -> active#(X1), active#(isNat(s(V1))) -> isNatKind#(V1))
    (active#(U32(X1, X2)) -> active#(X1), active#(isNat(plus(V1, V2))) -> U11#(and(isNatKind(V1), isNatKind(V2)), V1, V2))
    (active#(U32(X1, X2)) -> active#(X1), active#(isNat(plus(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)))
    (active#(U32(X1, X2)) -> active#(X1), active#(isNat(plus(V1, V2))) -> isNatKind#(V1))
    (active#(U32(X1, X2)) -> active#(X1), active#(isNat(plus(V1, V2))) -> isNatKind#(V2))
    (active#(U32(X1, X2)) -> active#(X1), active#(isNat(x(V1, V2))) -> U31#(and(isNatKind(V1), isNatKind(V2)), V1, V2))
    (active#(U32(X1, X2)) -> active#(X1), active#(isNat(x(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)))
    (active#(U32(X1, X2)) -> active#(X1), active#(isNat(x(V1, V2))) -> isNatKind#(V1))
    (active#(U32(X1, X2)) -> active#(X1), active#(isNat(x(V1, V2))) -> isNatKind#(V2))
    (active#(U32(X1, X2)) -> active#(X1), active#(U11(X1, X2, X3)) -> active#(X1))
    (active#(U32(X1, X2)) -> active#(X1), active#(U11(X1, X2, X3)) -> U11#(active(X1), X2, X3))
    (active#(U32(X1, X2)) -> active#(X1), active#(U11(tt(), V1, V2)) -> U12#(isNat(V1), V2))
    (active#(U32(X1, X2)) -> active#(X1), active#(U11(tt(), V1, V2)) -> isNat#(V1))
    (active#(U32(X1, X2)) -> active#(X1), active#(U13(X)) -> active#(X))
    (active#(U32(X1, X2)) -> active#(X1), active#(U13(X)) -> U13#(active(X)))
    (active#(U32(X1, X2)) -> active#(X1), active#(U22(X)) -> active#(X))
    (active#(U32(X1, X2)) -> active#(X1), active#(U22(X)) -> U22#(active(X)))
    (active#(U32(X1, X2)) -> active#(X1), active#(U21(X1, X2)) -> active#(X1))
    (active#(U32(X1, X2)) -> active#(X1), active#(U21(X1, X2)) -> U21#(active(X1), X2))
    (active#(U32(X1, X2)) -> active#(X1), active#(U21(tt(), V1)) -> isNat#(V1))
    (active#(U32(X1, X2)) -> active#(X1), active#(U21(tt(), V1)) -> U22#(isNat(V1)))
    (active#(U32(X1, X2)) -> active#(X1), active#(U32(X1, X2)) -> active#(X1))
    (active#(U32(X1, X2)) -> active#(X1), active#(U32(X1, X2)) -> U32#(active(X1), X2))
    (active#(U32(X1, X2)) -> active#(X1), active#(U32(tt(), V2)) -> isNat#(V2))
    (active#(U32(X1, X2)) -> active#(X1), active#(U32(tt(), V2)) -> U33#(isNat(V2)))
    (active#(U32(X1, X2)) -> active#(X1), active#(U31(X1, X2, X3)) -> active#(X1))
    (active#(U32(X1, X2)) -> active#(X1), active#(U31(X1, X2, X3)) -> U31#(active(X1), X2, X3))
    (active#(U32(X1, X2)) -> active#(X1), active#(U31(tt(), V1, V2)) -> isNat#(V1))
    (active#(U32(X1, X2)) -> active#(X1), active#(U31(tt(), V1, V2)) -> U32#(isNat(V1), V2))
    (active#(U32(X1, X2)) -> active#(X1), active#(U33(X)) -> active#(X))
    (active#(U32(X1, X2)) -> active#(X1), active#(U33(X)) -> U33#(active(X)))
    (active#(U32(X1, X2)) -> active#(X1), active#(U41(X1, X2)) -> active#(X1))
    (active#(U32(X1, X2)) -> active#(X1), active#(U41(X1, X2)) -> U41#(active(X1), X2))
    (active#(U32(X1, X2)) -> active#(X1), active#(s(X)) -> active#(X))
    (active#(U32(X1, X2)) -> active#(X1), active#(s(X)) -> s#(active(X)))
    (active#(U32(X1, X2)) -> active#(X1), active#(plus(N, s(M))) -> isNat#(N))
    (active#(U32(X1, X2)) -> active#(X1), active#(plus(N, s(M))) -> isNat#(M))
    (active#(U32(X1, X2)) -> active#(X1), active#(plus(N, s(M))) -> U51#(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N))
    (active#(U32(X1, X2)) -> active#(X1), active#(plus(N, s(M))) -> and#(isNat(N), isNatKind(N)))
    (active#(U32(X1, X2)) -> active#(X1), active#(plus(N, s(M))) -> and#(isNat(M), isNatKind(M)))
    (active#(U32(X1, X2)) -> active#(X1), active#(plus(N, s(M))) -> and#(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))))
    (active#(U32(X1, X2)) -> active#(X1), active#(plus(N, s(M))) -> isNatKind#(N))
    (active#(U32(X1, X2)) -> active#(X1), active#(plus(N, s(M))) -> isNatKind#(M))
    (active#(U32(X1, X2)) -> active#(X1), active#(plus(N, 0())) -> isNat#(N))
    (active#(U32(X1, X2)) -> active#(X1), active#(plus(N, 0())) -> U41#(and(isNat(N), isNatKind(N)), N))
    (active#(U32(X1, X2)) -> active#(X1), active#(plus(N, 0())) -> and#(isNat(N), isNatKind(N)))
    (active#(U32(X1, X2)) -> active#(X1), active#(plus(N, 0())) -> isNatKind#(N))
    (active#(U32(X1, X2)) -> active#(X1), active#(plus(X1, X2)) -> active#(X1))
    (active#(U32(X1, X2)) -> active#(X1), active#(plus(X1, X2)) -> active#(X2))
    (active#(U32(X1, X2)) -> active#(X1), active#(plus(X1, X2)) -> plus#(X1, active(X2)))
    (active#(U32(X1, X2)) -> active#(X1), active#(plus(X1, X2)) -> plus#(active(X1), X2))
    (active#(U32(X1, X2)) -> active#(X1), active#(U51(X1, X2, X3)) -> active#(X1))
    (active#(U32(X1, X2)) -> active#(X1), active#(U51(X1, X2, X3)) -> U51#(active(X1), X2, X3))
    (active#(U32(X1, X2)) -> active#(X1), active#(U51(tt(), M, N)) -> s#(plus(N, M)))
    (active#(U32(X1, X2)) -> active#(X1), active#(U51(tt(), M, N)) -> plus#(N, M))
    (active#(U32(X1, X2)) -> active#(X1), active#(U61(X)) -> active#(X))
    (active#(U32(X1, X2)) -> active#(X1), active#(U61(X)) -> U61#(active(X)))
    (active#(U32(X1, X2)) -> active#(X1), active#(x(N, s(M))) -> isNat#(N))
    (active#(U32(X1, X2)) -> active#(X1), active#(x(N, s(M))) -> isNat#(M))
    (active#(U32(X1, X2)) -> active#(X1), active#(x(N, s(M))) -> U71#(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N))
    (active#(U32(X1, X2)) -> active#(X1), active#(x(N, s(M))) -> and#(isNat(N), isNatKind(N)))
    (active#(U32(X1, X2)) -> active#(X1), active#(x(N, s(M))) -> and#(isNat(M), isNatKind(M)))
    (active#(U32(X1, X2)) -> active#(X1), active#(x(N, s(M))) -> and#(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))))
    (active#(U32(X1, X2)) -> active#(X1), active#(x(N, s(M))) -> isNatKind#(N))
    (active#(U32(X1, X2)) -> active#(X1), active#(x(N, s(M))) -> isNatKind#(M))
    (active#(U32(X1, X2)) -> active#(X1), active#(x(N, 0())) -> isNat#(N))
    (active#(U32(X1, X2)) -> active#(X1), active#(x(N, 0())) -> U61#(and(isNat(N), isNatKind(N))))
    (active#(U32(X1, X2)) -> active#(X1), active#(x(N, 0())) -> and#(isNat(N), isNatKind(N)))
    (active#(U32(X1, X2)) -> active#(X1), active#(x(N, 0())) -> isNatKind#(N))
    (active#(U32(X1, X2)) -> active#(X1), active#(x(X1, X2)) -> active#(X1))
    (active#(U32(X1, X2)) -> active#(X1), active#(x(X1, X2)) -> active#(X2))
    (active#(U32(X1, X2)) -> active#(X1), active#(x(X1, X2)) -> x#(X1, active(X2)))
    (active#(U32(X1, X2)) -> active#(X1), active#(x(X1, X2)) -> x#(active(X1), X2))
    (active#(U32(X1, X2)) -> active#(X1), active#(U71(X1, X2, X3)) -> active#(X1))
    (active#(U32(X1, X2)) -> active#(X1), active#(U71(X1, X2, X3)) -> U71#(active(X1), X2, X3))
    (active#(U32(X1, X2)) -> active#(X1), active#(U71(tt(), M, N)) -> plus#(x(N, M), N))
    (active#(U32(X1, X2)) -> active#(X1), active#(U71(tt(), M, N)) -> x#(N, M))
    (active#(U32(X1, X2)) -> active#(X1), active#(and(X1, X2)) -> active#(X1))
    (active#(U32(X1, X2)) -> active#(X1), active#(and(X1, X2)) -> and#(active(X1), X2))
    (active#(U32(X1, X2)) -> active#(X1), active#(isNatKind(s(V1))) -> isNatKind#(V1))
    (active#(U32(X1, X2)) -> active#(X1), active#(isNatKind(plus(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)))
    (active#(U32(X1, X2)) -> active#(X1), active#(isNatKind(plus(V1, V2))) -> isNatKind#(V1))
    (active#(U32(X1, X2)) -> active#(X1), active#(isNatKind(plus(V1, V2))) -> isNatKind#(V2))
    (active#(U32(X1, X2)) -> active#(X1), active#(isNatKind(x(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)))
    (active#(U32(X1, X2)) -> active#(X1), active#(isNatKind(x(V1, V2))) -> isNatKind#(V1))
    (active#(U32(X1, X2)) -> active#(X1), active#(isNatKind(x(V1, V2))) -> isNatKind#(V2))
    (active#(U11(X1, X2, X3)) -> active#(X1), active#(U12(X1, X2)) -> U12#(active(X1), X2))
    (active#(U11(X1, X2, X3)) -> active#(X1), active#(U12(X1, X2)) -> active#(X1))
    (active#(U11(X1, X2, X3)) -> active#(X1), active#(U12(tt(), V2)) -> isNat#(V2))
    (active#(U11(X1, X2, X3)) -> active#(X1), active#(U12(tt(), V2)) -> U13#(isNat(V2)))
    (active#(U11(X1, X2, X3)) -> active#(X1), active#(isNat(s(V1))) -> U21#(isNatKind(V1), V1))
    (active#(U11(X1, X2, X3)) -> active#(X1), active#(isNat(s(V1))) -> isNatKind#(V1))
    (active#(U11(X1, X2, X3)) -> active#(X1), active#(isNat(plus(V1, V2))) -> U11#(and(isNatKind(V1), isNatKind(V2)), V1, V2))
    (active#(U11(X1, X2, X3)) -> active#(X1), active#(isNat(plus(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)))
    (active#(U11(X1, X2, X3)) -> active#(X1), active#(isNat(plus(V1, V2))) -> isNatKind#(V1))
    (active#(U11(X1, X2, X3)) -> active#(X1), active#(isNat(plus(V1, V2))) -> isNatKind#(V2))
    (active#(U11(X1, X2, X3)) -> active#(X1), active#(isNat(x(V1, V2))) -> U31#(and(isNatKind(V1), isNatKind(V2)), V1, V2))
    (active#(U11(X1, X2, X3)) -> active#(X1), active#(isNat(x(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)))
    (active#(U11(X1, X2, X3)) -> active#(X1), active#(isNat(x(V1, V2))) -> isNatKind#(V1))
    (active#(U11(X1, X2, X3)) -> active#(X1), active#(isNat(x(V1, V2))) -> isNatKind#(V2))
    (active#(U11(X1, X2, X3)) -> active#(X1), active#(U11(X1, X2, X3)) -> active#(X1))
    (active#(U11(X1, X2, X3)) -> active#(X1), active#(U11(X1, X2, X3)) -> U11#(active(X1), X2, X3))
    (active#(U11(X1, X2, X3)) -> active#(X1), active#(U11(tt(), V1, V2)) -> U12#(isNat(V1), V2))
    (active#(U11(X1, X2, X3)) -> active#(X1), active#(U11(tt(), V1, V2)) -> isNat#(V1))
    (active#(U11(X1, X2, X3)) -> active#(X1), active#(U13(X)) -> active#(X))
    (active#(U11(X1, X2, X3)) -> active#(X1), active#(U13(X)) -> U13#(active(X)))
    (active#(U11(X1, X2, X3)) -> active#(X1), active#(U22(X)) -> active#(X))
    (active#(U11(X1, X2, X3)) -> active#(X1), active#(U22(X)) -> U22#(active(X)))
    (active#(U11(X1, X2, X3)) -> active#(X1), active#(U21(X1, X2)) -> active#(X1))
    (active#(U11(X1, X2, X3)) -> active#(X1), active#(U21(X1, X2)) -> U21#(active(X1), X2))
    (active#(U11(X1, X2, X3)) -> active#(X1), active#(U21(tt(), V1)) -> isNat#(V1))
    (active#(U11(X1, X2, X3)) -> active#(X1), active#(U21(tt(), V1)) -> U22#(isNat(V1)))
    (active#(U11(X1, X2, X3)) -> active#(X1), active#(U32(X1, X2)) -> active#(X1))
    (active#(U11(X1, X2, X3)) -> active#(X1), active#(U32(X1, X2)) -> U32#(active(X1), X2))
    (active#(U11(X1, X2, X3)) -> active#(X1), active#(U32(tt(), V2)) -> isNat#(V2))
    (active#(U11(X1, X2, X3)) -> active#(X1), active#(U32(tt(), V2)) -> U33#(isNat(V2)))
    (active#(U11(X1, X2, X3)) -> active#(X1), active#(U31(X1, X2, X3)) -> active#(X1))
    (active#(U11(X1, X2, X3)) -> active#(X1), active#(U31(X1, X2, X3)) -> U31#(active(X1), X2, X3))
    (active#(U11(X1, X2, X3)) -> active#(X1), active#(U31(tt(), V1, V2)) -> isNat#(V1))
    (active#(U11(X1, X2, X3)) -> active#(X1), active#(U31(tt(), V1, V2)) -> U32#(isNat(V1), V2))
    (active#(U11(X1, X2, X3)) -> active#(X1), active#(U33(X)) -> active#(X))
    (active#(U11(X1, X2, X3)) -> active#(X1), active#(U33(X)) -> U33#(active(X)))
    (active#(U11(X1, X2, X3)) -> active#(X1), active#(U41(X1, X2)) -> active#(X1))
    (active#(U11(X1, X2, X3)) -> active#(X1), active#(U41(X1, X2)) -> U41#(active(X1), X2))
    (active#(U11(X1, X2, X3)) -> active#(X1), active#(s(X)) -> active#(X))
    (active#(U11(X1, X2, X3)) -> active#(X1), active#(s(X)) -> s#(active(X)))
    (active#(U11(X1, X2, X3)) -> active#(X1), active#(plus(N, s(M))) -> isNat#(N))
    (active#(U11(X1, X2, X3)) -> active#(X1), active#(plus(N, s(M))) -> isNat#(M))
    (active#(U11(X1, X2, X3)) -> active#(X1), active#(plus(N, s(M))) -> U51#(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N))
    (active#(U11(X1, X2, X3)) -> active#(X1), active#(plus(N, s(M))) -> and#(isNat(N), isNatKind(N)))
    (active#(U11(X1, X2, X3)) -> active#(X1), active#(plus(N, s(M))) -> and#(isNat(M), isNatKind(M)))
    (active#(U11(X1, X2, X3)) -> active#(X1), active#(plus(N, s(M))) -> and#(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))))
    (active#(U11(X1, X2, X3)) -> active#(X1), active#(plus(N, s(M))) -> isNatKind#(N))
    (active#(U11(X1, X2, X3)) -> active#(X1), active#(plus(N, s(M))) -> isNatKind#(M))
    (active#(U11(X1, X2, X3)) -> active#(X1), active#(plus(N, 0())) -> isNat#(N))
    (active#(U11(X1, X2, X3)) -> active#(X1), active#(plus(N, 0())) -> U41#(and(isNat(N), isNatKind(N)), N))
    (active#(U11(X1, X2, X3)) -> active#(X1), active#(plus(N, 0())) -> and#(isNat(N), isNatKind(N)))
    (active#(U11(X1, X2, X3)) -> active#(X1), active#(plus(N, 0())) -> isNatKind#(N))
    (active#(U11(X1, X2, X3)) -> active#(X1), active#(plus(X1, X2)) -> active#(X1))
    (active#(U11(X1, X2, X3)) -> active#(X1), active#(plus(X1, X2)) -> active#(X2))
    (active#(U11(X1, X2, X3)) -> active#(X1), active#(plus(X1, X2)) -> plus#(X1, active(X2)))
    (active#(U11(X1, X2, X3)) -> active#(X1), active#(plus(X1, X2)) -> plus#(active(X1), X2))
    (active#(U11(X1, X2, X3)) -> active#(X1), active#(U51(X1, X2, X3)) -> active#(X1))
    (active#(U11(X1, X2, X3)) -> active#(X1), active#(U51(X1, X2, X3)) -> U51#(active(X1), X2, X3))
    (active#(U11(X1, X2, X3)) -> active#(X1), active#(U51(tt(), M, N)) -> s#(plus(N, M)))
    (active#(U11(X1, X2, X3)) -> active#(X1), active#(U51(tt(), M, N)) -> plus#(N, M))
    (active#(U11(X1, X2, X3)) -> active#(X1), active#(U61(X)) -> active#(X))
    (active#(U11(X1, X2, X3)) -> active#(X1), active#(U61(X)) -> U61#(active(X)))
    (active#(U11(X1, X2, X3)) -> active#(X1), active#(x(N, s(M))) -> isNat#(N))
    (active#(U11(X1, X2, X3)) -> active#(X1), active#(x(N, s(M))) -> isNat#(M))
    (active#(U11(X1, X2, X3)) -> active#(X1), active#(x(N, s(M))) -> U71#(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N))
    (active#(U11(X1, X2, X3)) -> active#(X1), active#(x(N, s(M))) -> and#(isNat(N), isNatKind(N)))
    (active#(U11(X1, X2, X3)) -> active#(X1), active#(x(N, s(M))) -> and#(isNat(M), isNatKind(M)))
    (active#(U11(X1, X2, X3)) -> active#(X1), active#(x(N, s(M))) -> and#(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))))
    (active#(U11(X1, X2, X3)) -> active#(X1), active#(x(N, s(M))) -> isNatKind#(N))
    (active#(U11(X1, X2, X3)) -> active#(X1), active#(x(N, s(M))) -> isNatKind#(M))
    (active#(U11(X1, X2, X3)) -> active#(X1), active#(x(N, 0())) -> isNat#(N))
    (active#(U11(X1, X2, X3)) -> active#(X1), active#(x(N, 0())) -> U61#(and(isNat(N), isNatKind(N))))
    (active#(U11(X1, X2, X3)) -> active#(X1), active#(x(N, 0())) -> and#(isNat(N), isNatKind(N)))
    (active#(U11(X1, X2, X3)) -> active#(X1), active#(x(N, 0())) -> isNatKind#(N))
    (active#(U11(X1, X2, X3)) -> active#(X1), active#(x(X1, X2)) -> active#(X1))
    (active#(U11(X1, X2, X3)) -> active#(X1), active#(x(X1, X2)) -> active#(X2))
    (active#(U11(X1, X2, X3)) -> active#(X1), active#(x(X1, X2)) -> x#(X1, active(X2)))
    (active#(U11(X1, X2, X3)) -> active#(X1), active#(x(X1, X2)) -> x#(active(X1), X2))
    (active#(U11(X1, X2, X3)) -> active#(X1), active#(U71(X1, X2, X3)) -> active#(X1))
    (active#(U11(X1, X2, X3)) -> active#(X1), active#(U71(X1, X2, X3)) -> U71#(active(X1), X2, X3))
    (active#(U11(X1, X2, X3)) -> active#(X1), active#(U71(tt(), M, N)) -> plus#(x(N, M), N))
    (active#(U11(X1, X2, X3)) -> active#(X1), active#(U71(tt(), M, N)) -> x#(N, M))
    (active#(U11(X1, X2, X3)) -> active#(X1), active#(and(X1, X2)) -> active#(X1))
    (active#(U11(X1, X2, X3)) -> active#(X1), active#(and(X1, X2)) -> and#(active(X1), X2))
    (active#(U11(X1, X2, X3)) -> active#(X1), active#(isNatKind(s(V1))) -> isNatKind#(V1))
    (active#(U11(X1, X2, X3)) -> active#(X1), active#(isNatKind(plus(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)))
    (active#(U11(X1, X2, X3)) -> active#(X1), active#(isNatKind(plus(V1, V2))) -> isNatKind#(V1))
    (active#(U11(X1, X2, X3)) -> active#(X1), active#(isNatKind(plus(V1, V2))) -> isNatKind#(V2))
    (active#(U11(X1, X2, X3)) -> active#(X1), active#(isNatKind(x(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)))
    (active#(U11(X1, X2, X3)) -> active#(X1), active#(isNatKind(x(V1, V2))) -> isNatKind#(V1))
    (active#(U11(X1, X2, X3)) -> active#(X1), active#(isNatKind(x(V1, V2))) -> isNatKind#(V2))
    (proper#(and(X1, X2)) -> and#(proper(X1), proper(X2)), and#(mark(X1), X2) -> and#(X1, X2))
    (proper#(and(X1, X2)) -> and#(proper(X1), proper(X2)), and#(ok(X1), ok(X2)) -> and#(X1, X2))
    (proper#(plus(X1, X2)) -> plus#(proper(X1), proper(X2)), plus#(X1, mark(X2)) -> plus#(X1, X2))
    (proper#(plus(X1, X2)) -> plus#(proper(X1), proper(X2)), plus#(mark(X1), X2) -> plus#(X1, X2))
    (proper#(plus(X1, X2)) -> plus#(proper(X1), proper(X2)), plus#(ok(X1), ok(X2)) -> plus#(X1, X2))
    (proper#(U32(X1, X2)) -> U32#(proper(X1), proper(X2)), U32#(mark(X1), X2) -> U32#(X1, X2))
    (proper#(U32(X1, X2)) -> U32#(proper(X1), proper(X2)), U32#(ok(X1), ok(X2)) -> U32#(X1, X2))
    (proper#(U12(X1, X2)) -> U12#(proper(X1), proper(X2)), U12#(mark(X1), X2) -> U12#(X1, X2))
    (proper#(U12(X1, X2)) -> U12#(proper(X1), proper(X2)), U12#(ok(X1), ok(X2)) -> U12#(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#(ok(X1), ok(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#(ok(X1), ok(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#(ok(X1), ok(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#(ok(X1), ok(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#(ok(X1), ok(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#(ok(X1), ok(X2)) -> and#(X1, X2))
    (active#(isNatKind(plus(V1, V2))) -> isNatKind#(V1), isNatKind#(ok(X)) -> isNatKind#(X))
    (active#(U31(tt(), V1, V2)) -> isNat#(V1), isNat#(ok(X)) -> isNat#(X))
    (active#(U11(tt(), V1, V2)) -> isNat#(V1), isNat#(ok(X)) -> isNat#(X))
    (active#(isNat(plus(V1, V2))) -> isNatKind#(V1), isNatKind#(ok(X)) -> isNatKind#(X))
    (active#(x(N, s(M))) -> isNatKind#(M), isNatKind#(ok(X)) -> isNatKind#(X))
    (active#(plus(N, s(M))) -> isNatKind#(M), isNatKind#(ok(X)) -> isNatKind#(X))
    (proper#(and(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> U12#(proper(X1), proper(X2)))
    (proper#(and(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
    (proper#(and(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
    (proper#(and(X1, X2)) -> proper#(X2), proper#(isNat(X)) -> isNat#(proper(X)))
    (proper#(and(X1, X2)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
    (proper#(and(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> U11#(proper(X1), proper(X2), proper(X3)))
    (proper#(and(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
    (proper#(and(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X2))
    (proper#(and(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
    (proper#(and(X1, X2)) -> proper#(X2), proper#(U13(X)) -> U13#(proper(X)))
    (proper#(and(X1, X2)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
    (proper#(and(X1, X2)) -> proper#(X2), proper#(U22(X)) -> U22#(proper(X)))
    (proper#(and(X1, X2)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
    (proper#(and(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> U21#(proper(X1), proper(X2)))
    (proper#(and(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
    (proper#(and(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X2))
    (proper#(and(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> U32#(proper(X1), proper(X2)))
    (proper#(and(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
    (proper#(and(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
    (proper#(and(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> U31#(proper(X1), proper(X2), proper(X3)))
    (proper#(and(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
    (proper#(and(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
    (proper#(and(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X3))
    (proper#(and(X1, X2)) -> proper#(X2), proper#(U33(X)) -> U33#(proper(X)))
    (proper#(and(X1, X2)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
    (proper#(and(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> U41#(proper(X1), proper(X2)))
    (proper#(and(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
    (proper#(and(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
    (proper#(and(X1, X2)) -> proper#(X2), proper#(s(X)) -> s#(proper(X)))
    (proper#(and(X1, X2)) -> proper#(X2), proper#(s(X)) -> proper#(X))
    (proper#(and(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> plus#(proper(X1), proper(X2)))
    (proper#(and(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X1))
    (proper#(and(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X2))
    (proper#(and(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> U51#(proper(X1), proper(X2), proper(X3)))
    (proper#(and(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X1))
    (proper#(and(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X2))
    (proper#(and(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X3))
    (proper#(and(X1, X2)) -> proper#(X2), proper#(U61(X)) -> U61#(proper(X)))
    (proper#(and(X1, X2)) -> proper#(X2), proper#(U61(X)) -> proper#(X))
    (proper#(and(X1, X2)) -> proper#(X2), proper#(x(X1, X2)) -> x#(proper(X1), proper(X2)))
    (proper#(and(X1, X2)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X1))
    (proper#(and(X1, X2)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X2))
    (proper#(and(X1, X2)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> U71#(proper(X1), proper(X2), proper(X3)))
    (proper#(and(X1, X2)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X1))
    (proper#(and(X1, X2)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X2))
    (proper#(and(X1, X2)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X3))
    (proper#(and(X1, X2)) -> proper#(X2), proper#(and(X1, X2)) -> and#(proper(X1), proper(X2)))
    (proper#(and(X1, X2)) -> proper#(X2), proper#(and(X1, X2)) -> proper#(X1))
    (proper#(and(X1, X2)) -> proper#(X2), proper#(and(X1, X2)) -> proper#(X2))
    (proper#(and(X1, X2)) -> proper#(X2), proper#(isNatKind(X)) -> isNatKind#(proper(X)))
    (proper#(and(X1, X2)) -> proper#(X2), proper#(isNatKind(X)) -> proper#(X))
    (proper#(x(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> U12#(proper(X1), proper(X2)))
    (proper#(x(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
    (proper#(x(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
    (proper#(x(X1, X2)) -> proper#(X2), proper#(isNat(X)) -> isNat#(proper(X)))
    (proper#(x(X1, X2)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
    (proper#(x(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> U11#(proper(X1), proper(X2), proper(X3)))
    (proper#(x(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
    (proper#(x(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X2))
    (proper#(x(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
    (proper#(x(X1, X2)) -> proper#(X2), proper#(U13(X)) -> U13#(proper(X)))
    (proper#(x(X1, X2)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
    (proper#(x(X1, X2)) -> proper#(X2), proper#(U22(X)) -> U22#(proper(X)))
    (proper#(x(X1, X2)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
    (proper#(x(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> U21#(proper(X1), proper(X2)))
    (proper#(x(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
    (proper#(x(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X2))
    (proper#(x(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> U32#(proper(X1), proper(X2)))
    (proper#(x(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
    (proper#(x(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
    (proper#(x(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> U31#(proper(X1), proper(X2), proper(X3)))
    (proper#(x(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
    (proper#(x(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
    (proper#(x(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X3))
    (proper#(x(X1, X2)) -> proper#(X2), proper#(U33(X)) -> U33#(proper(X)))
    (proper#(x(X1, X2)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
    (proper#(x(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> U41#(proper(X1), proper(X2)))
    (proper#(x(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
    (proper#(x(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
    (proper#(x(X1, X2)) -> proper#(X2), proper#(s(X)) -> s#(proper(X)))
    (proper#(x(X1, X2)) -> proper#(X2), proper#(s(X)) -> proper#(X))
    (proper#(x(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> plus#(proper(X1), proper(X2)))
    (proper#(x(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X1))
    (proper#(x(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X2))
    (proper#(x(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> U51#(proper(X1), proper(X2), proper(X3)))
    (proper#(x(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X1))
    (proper#(x(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X2))
    (proper#(x(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X3))
    (proper#(x(X1, X2)) -> proper#(X2), proper#(U61(X)) -> U61#(proper(X)))
    (proper#(x(X1, X2)) -> proper#(X2), proper#(U61(X)) -> proper#(X))
    (proper#(x(X1, X2)) -> proper#(X2), proper#(x(X1, X2)) -> x#(proper(X1), proper(X2)))
    (proper#(x(X1, X2)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X1))
    (proper#(x(X1, X2)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X2))
    (proper#(x(X1, X2)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> U71#(proper(X1), proper(X2), proper(X3)))
    (proper#(x(X1, X2)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X1))
    (proper#(x(X1, X2)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X2))
    (proper#(x(X1, X2)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X3))
    (proper#(x(X1, X2)) -> proper#(X2), proper#(and(X1, X2)) -> and#(proper(X1), proper(X2)))
    (proper#(x(X1, X2)) -> proper#(X2), proper#(and(X1, X2)) -> proper#(X1))
    (proper#(x(X1, X2)) -> proper#(X2), proper#(and(X1, X2)) -> proper#(X2))
    (proper#(x(X1, X2)) -> proper#(X2), proper#(isNatKind(X)) -> isNatKind#(proper(X)))
    (proper#(x(X1, X2)) -> proper#(X2), proper#(isNatKind(X)) -> proper#(X))
    (proper#(plus(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> U12#(proper(X1), proper(X2)))
    (proper#(plus(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
    (proper#(plus(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
    (proper#(plus(X1, X2)) -> proper#(X2), proper#(isNat(X)) -> isNat#(proper(X)))
    (proper#(plus(X1, X2)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
    (proper#(plus(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> U11#(proper(X1), proper(X2), proper(X3)))
    (proper#(plus(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
    (proper#(plus(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X2))
    (proper#(plus(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
    (proper#(plus(X1, X2)) -> proper#(X2), proper#(U13(X)) -> U13#(proper(X)))
    (proper#(plus(X1, X2)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
    (proper#(plus(X1, X2)) -> proper#(X2), proper#(U22(X)) -> U22#(proper(X)))
    (proper#(plus(X1, X2)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
    (proper#(plus(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> U21#(proper(X1), proper(X2)))
    (proper#(plus(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
    (proper#(plus(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X2))
    (proper#(plus(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> U32#(proper(X1), proper(X2)))
    (proper#(plus(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
    (proper#(plus(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
    (proper#(plus(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> U31#(proper(X1), proper(X2), proper(X3)))
    (proper#(plus(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
    (proper#(plus(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
    (proper#(plus(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X3))
    (proper#(plus(X1, X2)) -> proper#(X2), proper#(U33(X)) -> U33#(proper(X)))
    (proper#(plus(X1, X2)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
    (proper#(plus(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> U41#(proper(X1), proper(X2)))
    (proper#(plus(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
    (proper#(plus(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
    (proper#(plus(X1, X2)) -> proper#(X2), proper#(s(X)) -> s#(proper(X)))
    (proper#(plus(X1, X2)) -> proper#(X2), proper#(s(X)) -> proper#(X))
    (proper#(plus(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> plus#(proper(X1), proper(X2)))
    (proper#(plus(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X1))
    (proper#(plus(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X2))
    (proper#(plus(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> U51#(proper(X1), proper(X2), proper(X3)))
    (proper#(plus(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X1))
    (proper#(plus(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X2))
    (proper#(plus(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X3))
    (proper#(plus(X1, X2)) -> proper#(X2), proper#(U61(X)) -> U61#(proper(X)))
    (proper#(plus(X1, X2)) -> proper#(X2), proper#(U61(X)) -> proper#(X))
    (proper#(plus(X1, X2)) -> proper#(X2), proper#(x(X1, X2)) -> x#(proper(X1), proper(X2)))
    (proper#(plus(X1, X2)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X1))
    (proper#(plus(X1, X2)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X2))
    (proper#(plus(X1, X2)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> U71#(proper(X1), proper(X2), proper(X3)))
    (proper#(plus(X1, X2)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X1))
    (proper#(plus(X1, X2)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X2))
    (proper#(plus(X1, X2)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X3))
    (proper#(plus(X1, X2)) -> proper#(X2), proper#(and(X1, X2)) -> and#(proper(X1), proper(X2)))
    (proper#(plus(X1, X2)) -> proper#(X2), proper#(and(X1, X2)) -> proper#(X1))
    (proper#(plus(X1, X2)) -> proper#(X2), proper#(and(X1, X2)) -> proper#(X2))
    (proper#(plus(X1, X2)) -> proper#(X2), proper#(isNatKind(X)) -> isNatKind#(proper(X)))
    (proper#(plus(X1, X2)) -> proper#(X2), proper#(isNatKind(X)) -> proper#(X))
    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U12(X1, X2)) -> U12#(proper(X1), proper(X2)))
    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(isNat(X)) -> isNat#(proper(X)))
    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> U11#(proper(X1), proper(X2), proper(X3)))
    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X2))
    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U13(X)) -> U13#(proper(X)))
    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U22(X)) -> U22#(proper(X)))
    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U21(X1, X2)) -> U21#(proper(X1), proper(X2)))
    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X2))
    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U32(X1, X2)) -> U32#(proper(X1), proper(X2)))
    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> U31#(proper(X1), proper(X2), proper(X3)))
    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X3))
    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U33(X)) -> U33#(proper(X)))
    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U41(X1, X2)) -> U41#(proper(X1), proper(X2)))
    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(s(X)) -> s#(proper(X)))
    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(s(X)) -> proper#(X))
    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(plus(X1, X2)) -> plus#(proper(X1), proper(X2)))
    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X1))
    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X2))
    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> U51#(proper(X1), proper(X2), proper(X3)))
    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X1))
    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X2))
    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X3))
    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U61(X)) -> U61#(proper(X)))
    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U61(X)) -> proper#(X))
    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(x(X1, X2)) -> x#(proper(X1), proper(X2)))
    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X1))
    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X2))
    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> U71#(proper(X1), proper(X2), proper(X3)))
    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X1))
    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X2))
    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X3))
    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(and(X1, X2)) -> and#(proper(X1), proper(X2)))
    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(and(X1, X2)) -> proper#(X1))
    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(and(X1, X2)) -> proper#(X2))
    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(isNatKind(X)) -> isNatKind#(proper(X)))
    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(isNatKind(X)) -> proper#(X))
    (proper#(U21(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> U12#(proper(X1), proper(X2)))
    (proper#(U21(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
    (proper#(U21(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
    (proper#(U21(X1, X2)) -> proper#(X2), proper#(isNat(X)) -> isNat#(proper(X)))
    (proper#(U21(X1, X2)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
    (proper#(U21(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> U11#(proper(X1), proper(X2), proper(X3)))
    (proper#(U21(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
    (proper#(U21(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X2))
    (proper#(U21(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
    (proper#(U21(X1, X2)) -> proper#(X2), proper#(U13(X)) -> U13#(proper(X)))
    (proper#(U21(X1, X2)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
    (proper#(U21(X1, X2)) -> proper#(X2), proper#(U22(X)) -> U22#(proper(X)))
    (proper#(U21(X1, X2)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
    (proper#(U21(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> U21#(proper(X1), proper(X2)))
    (proper#(U21(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
    (proper#(U21(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X2))
    (proper#(U21(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> U32#(proper(X1), proper(X2)))
    (proper#(U21(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
    (proper#(U21(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
    (proper#(U21(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> U31#(proper(X1), proper(X2), proper(X3)))
    (proper#(U21(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
    (proper#(U21(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
    (proper#(U21(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X3))
    (proper#(U21(X1, X2)) -> proper#(X2), proper#(U33(X)) -> U33#(proper(X)))
    (proper#(U21(X1, X2)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
    (proper#(U21(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> U41#(proper(X1), proper(X2)))
    (proper#(U21(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
    (proper#(U21(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
    (proper#(U21(X1, X2)) -> proper#(X2), proper#(s(X)) -> s#(proper(X)))
    (proper#(U21(X1, X2)) -> proper#(X2), proper#(s(X)) -> proper#(X))
    (proper#(U21(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> plus#(proper(X1), proper(X2)))
    (proper#(U21(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X1))
    (proper#(U21(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X2))
    (proper#(U21(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> U51#(proper(X1), proper(X2), proper(X3)))
    (proper#(U21(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X1))
    (proper#(U21(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X2))
    (proper#(U21(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X3))
    (proper#(U21(X1, X2)) -> proper#(X2), proper#(U61(X)) -> U61#(proper(X)))
    (proper#(U21(X1, X2)) -> proper#(X2), proper#(U61(X)) -> proper#(X))
    (proper#(U21(X1, X2)) -> proper#(X2), proper#(x(X1, X2)) -> x#(proper(X1), proper(X2)))
    (proper#(U21(X1, X2)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X1))
    (proper#(U21(X1, X2)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X2))
    (proper#(U21(X1, X2)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> U71#(proper(X1), proper(X2), proper(X3)))
    (proper#(U21(X1, X2)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X1))
    (proper#(U21(X1, X2)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X2))
    (proper#(U21(X1, X2)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X3))
    (proper#(U21(X1, X2)) -> proper#(X2), proper#(and(X1, X2)) -> and#(proper(X1), proper(X2)))
    (proper#(U21(X1, X2)) -> proper#(X2), proper#(and(X1, X2)) -> proper#(X1))
    (proper#(U21(X1, X2)) -> proper#(X2), proper#(and(X1, X2)) -> proper#(X2))
    (proper#(U21(X1, X2)) -> proper#(X2), proper#(isNatKind(X)) -> isNatKind#(proper(X)))
    (proper#(U21(X1, X2)) -> proper#(X2), proper#(isNatKind(X)) -> proper#(X))
    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> U12#(proper(X1), proper(X2)))
    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
    (proper#(U12(X1, X2)) -> proper#(X2), proper#(isNat(X)) -> isNat#(proper(X)))
    (proper#(U12(X1, X2)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> U11#(proper(X1), proper(X2), proper(X3)))
    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X2))
    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U13(X)) -> U13#(proper(X)))
    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U22(X)) -> U22#(proper(X)))
    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> U21#(proper(X1), proper(X2)))
    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X2))
    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> U32#(proper(X1), proper(X2)))
    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> U31#(proper(X1), proper(X2), proper(X3)))
    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X3))
    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U33(X)) -> U33#(proper(X)))
    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> U41#(proper(X1), proper(X2)))
    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
    (proper#(U12(X1, X2)) -> proper#(X2), proper#(s(X)) -> s#(proper(X)))
    (proper#(U12(X1, X2)) -> proper#(X2), proper#(s(X)) -> proper#(X))
    (proper#(U12(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> plus#(proper(X1), proper(X2)))
    (proper#(U12(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X1))
    (proper#(U12(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X2))
    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> U51#(proper(X1), proper(X2), proper(X3)))
    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X1))
    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X2))
    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X3))
    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U61(X)) -> U61#(proper(X)))
    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U61(X)) -> proper#(X))
    (proper#(U12(X1, X2)) -> proper#(X2), proper#(x(X1, X2)) -> x#(proper(X1), proper(X2)))
    (proper#(U12(X1, X2)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X1))
    (proper#(U12(X1, X2)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X2))
    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> U71#(proper(X1), proper(X2), proper(X3)))
    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X1))
    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X2))
    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X3))
    (proper#(U12(X1, X2)) -> proper#(X2), proper#(and(X1, X2)) -> and#(proper(X1), proper(X2)))
    (proper#(U12(X1, X2)) -> proper#(X2), proper#(and(X1, X2)) -> proper#(X1))
    (proper#(U12(X1, X2)) -> proper#(X2), proper#(and(X1, X2)) -> proper#(X2))
    (proper#(U12(X1, X2)) -> proper#(X2), proper#(isNatKind(X)) -> isNatKind#(proper(X)))
    (proper#(U12(X1, X2)) -> proper#(X2), proper#(isNatKind(X)) -> proper#(X))
    (active#(plus(X1, X2)) -> active#(X2), active#(U12(X1, X2)) -> U12#(active(X1), X2))
    (active#(plus(X1, X2)) -> active#(X2), active#(U12(X1, X2)) -> active#(X1))
    (active#(plus(X1, X2)) -> active#(X2), active#(U12(tt(), V2)) -> isNat#(V2))
    (active#(plus(X1, X2)) -> active#(X2), active#(U12(tt(), V2)) -> U13#(isNat(V2)))
    (active#(plus(X1, X2)) -> active#(X2), active#(isNat(s(V1))) -> U21#(isNatKind(V1), V1))
    (active#(plus(X1, X2)) -> active#(X2), active#(isNat(s(V1))) -> isNatKind#(V1))
    (active#(plus(X1, X2)) -> active#(X2), active#(isNat(plus(V1, V2))) -> U11#(and(isNatKind(V1), isNatKind(V2)), V1, V2))
    (active#(plus(X1, X2)) -> active#(X2), active#(isNat(plus(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)))
    (active#(plus(X1, X2)) -> active#(X2), active#(isNat(plus(V1, V2))) -> isNatKind#(V1))
    (active#(plus(X1, X2)) -> active#(X2), active#(isNat(plus(V1, V2))) -> isNatKind#(V2))
    (active#(plus(X1, X2)) -> active#(X2), active#(isNat(x(V1, V2))) -> U31#(and(isNatKind(V1), isNatKind(V2)), V1, V2))
    (active#(plus(X1, X2)) -> active#(X2), active#(isNat(x(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)))
    (active#(plus(X1, X2)) -> active#(X2), active#(isNat(x(V1, V2))) -> isNatKind#(V1))
    (active#(plus(X1, X2)) -> active#(X2), active#(isNat(x(V1, V2))) -> isNatKind#(V2))
    (active#(plus(X1, X2)) -> active#(X2), active#(U11(X1, X2, X3)) -> active#(X1))
    (active#(plus(X1, X2)) -> active#(X2), active#(U11(X1, X2, X3)) -> U11#(active(X1), X2, X3))
    (active#(plus(X1, X2)) -> active#(X2), active#(U11(tt(), V1, V2)) -> U12#(isNat(V1), V2))
    (active#(plus(X1, X2)) -> active#(X2), active#(U11(tt(), V1, V2)) -> isNat#(V1))
    (active#(plus(X1, X2)) -> active#(X2), active#(U13(X)) -> active#(X))
    (active#(plus(X1, X2)) -> active#(X2), active#(U13(X)) -> U13#(active(X)))
    (active#(plus(X1, X2)) -> active#(X2), active#(U22(X)) -> active#(X))
    (active#(plus(X1, X2)) -> active#(X2), active#(U22(X)) -> U22#(active(X)))
    (active#(plus(X1, X2)) -> active#(X2), active#(U21(X1, X2)) -> active#(X1))
    (active#(plus(X1, X2)) -> active#(X2), active#(U21(X1, X2)) -> U21#(active(X1), X2))
    (active#(plus(X1, X2)) -> active#(X2), active#(U21(tt(), V1)) -> isNat#(V1))
    (active#(plus(X1, X2)) -> active#(X2), active#(U21(tt(), V1)) -> U22#(isNat(V1)))
    (active#(plus(X1, X2)) -> active#(X2), active#(U32(X1, X2)) -> active#(X1))
    (active#(plus(X1, X2)) -> active#(X2), active#(U32(X1, X2)) -> U32#(active(X1), X2))
    (active#(plus(X1, X2)) -> active#(X2), active#(U32(tt(), V2)) -> isNat#(V2))
    (active#(plus(X1, X2)) -> active#(X2), active#(U32(tt(), V2)) -> U33#(isNat(V2)))
    (active#(plus(X1, X2)) -> active#(X2), active#(U31(X1, X2, X3)) -> active#(X1))
    (active#(plus(X1, X2)) -> active#(X2), active#(U31(X1, X2, X3)) -> U31#(active(X1), X2, X3))
    (active#(plus(X1, X2)) -> active#(X2), active#(U31(tt(), V1, V2)) -> isNat#(V1))
    (active#(plus(X1, X2)) -> active#(X2), active#(U31(tt(), V1, V2)) -> U32#(isNat(V1), V2))
    (active#(plus(X1, X2)) -> active#(X2), active#(U33(X)) -> active#(X))
    (active#(plus(X1, X2)) -> active#(X2), active#(U33(X)) -> U33#(active(X)))
    (active#(plus(X1, X2)) -> active#(X2), active#(U41(X1, X2)) -> active#(X1))
    (active#(plus(X1, X2)) -> active#(X2), active#(U41(X1, X2)) -> U41#(active(X1), X2))
    (active#(plus(X1, X2)) -> active#(X2), active#(s(X)) -> active#(X))
    (active#(plus(X1, X2)) -> active#(X2), active#(s(X)) -> s#(active(X)))
    (active#(plus(X1, X2)) -> active#(X2), active#(plus(N, s(M))) -> isNat#(N))
    (active#(plus(X1, X2)) -> active#(X2), active#(plus(N, s(M))) -> isNat#(M))
    (active#(plus(X1, X2)) -> active#(X2), active#(plus(N, s(M))) -> U51#(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N))
    (active#(plus(X1, X2)) -> active#(X2), active#(plus(N, s(M))) -> and#(isNat(N), isNatKind(N)))
    (active#(plus(X1, X2)) -> active#(X2), active#(plus(N, s(M))) -> and#(isNat(M), isNatKind(M)))
    (active#(plus(X1, X2)) -> active#(X2), active#(plus(N, s(M))) -> and#(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))))
    (active#(plus(X1, X2)) -> active#(X2), active#(plus(N, s(M))) -> isNatKind#(N))
    (active#(plus(X1, X2)) -> active#(X2), active#(plus(N, s(M))) -> isNatKind#(M))
    (active#(plus(X1, X2)) -> active#(X2), active#(plus(N, 0())) -> isNat#(N))
    (active#(plus(X1, X2)) -> active#(X2), active#(plus(N, 0())) -> U41#(and(isNat(N), isNatKind(N)), N))
    (active#(plus(X1, X2)) -> active#(X2), active#(plus(N, 0())) -> and#(isNat(N), isNatKind(N)))
    (active#(plus(X1, X2)) -> active#(X2), active#(plus(N, 0())) -> isNatKind#(N))
    (active#(plus(X1, X2)) -> active#(X2), active#(plus(X1, X2)) -> active#(X1))
    (active#(plus(X1, X2)) -> active#(X2), active#(plus(X1, X2)) -> active#(X2))
    (active#(plus(X1, X2)) -> active#(X2), active#(plus(X1, X2)) -> plus#(X1, active(X2)))
    (active#(plus(X1, X2)) -> active#(X2), active#(plus(X1, X2)) -> plus#(active(X1), X2))
    (active#(plus(X1, X2)) -> active#(X2), active#(U51(X1, X2, X3)) -> active#(X1))
    (active#(plus(X1, X2)) -> active#(X2), active#(U51(X1, X2, X3)) -> U51#(active(X1), X2, X3))
    (active#(plus(X1, X2)) -> active#(X2), active#(U51(tt(), M, N)) -> s#(plus(N, M)))
    (active#(plus(X1, X2)) -> active#(X2), active#(U51(tt(), M, N)) -> plus#(N, M))
    (active#(plus(X1, X2)) -> active#(X2), active#(U61(X)) -> active#(X))
    (active#(plus(X1, X2)) -> active#(X2), active#(U61(X)) -> U61#(active(X)))
    (active#(plus(X1, X2)) -> active#(X2), active#(x(N, s(M))) -> isNat#(N))
    (active#(plus(X1, X2)) -> active#(X2), active#(x(N, s(M))) -> isNat#(M))
    (active#(plus(X1, X2)) -> active#(X2), active#(x(N, s(M))) -> U71#(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N))
    (active#(plus(X1, X2)) -> active#(X2), active#(x(N, s(M))) -> and#(isNat(N), isNatKind(N)))
    (active#(plus(X1, X2)) -> active#(X2), active#(x(N, s(M))) -> and#(isNat(M), isNatKind(M)))
    (active#(plus(X1, X2)) -> active#(X2), active#(x(N, s(M))) -> and#(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))))
    (active#(plus(X1, X2)) -> active#(X2), active#(x(N, s(M))) -> isNatKind#(N))
    (active#(plus(X1, X2)) -> active#(X2), active#(x(N, s(M))) -> isNatKind#(M))
    (active#(plus(X1, X2)) -> active#(X2), active#(x(N, 0())) -> isNat#(N))
    (active#(plus(X1, X2)) -> active#(X2), active#(x(N, 0())) -> U61#(and(isNat(N), isNatKind(N))))
    (active#(plus(X1, X2)) -> active#(X2), active#(x(N, 0())) -> and#(isNat(N), isNatKind(N)))
    (active#(plus(X1, X2)) -> active#(X2), active#(x(N, 0())) -> isNatKind#(N))
    (active#(plus(X1, X2)) -> active#(X2), active#(x(X1, X2)) -> active#(X1))
    (active#(plus(X1, X2)) -> active#(X2), active#(x(X1, X2)) -> active#(X2))
    (active#(plus(X1, X2)) -> active#(X2), active#(x(X1, X2)) -> x#(X1, active(X2)))
    (active#(plus(X1, X2)) -> active#(X2), active#(x(X1, X2)) -> x#(active(X1), X2))
    (active#(plus(X1, X2)) -> active#(X2), active#(U71(X1, X2, X3)) -> active#(X1))
    (active#(plus(X1, X2)) -> active#(X2), active#(U71(X1, X2, X3)) -> U71#(active(X1), X2, X3))
    (active#(plus(X1, X2)) -> active#(X2), active#(U71(tt(), M, N)) -> plus#(x(N, M), N))
    (active#(plus(X1, X2)) -> active#(X2), active#(U71(tt(), M, N)) -> x#(N, M))
    (active#(plus(X1, X2)) -> active#(X2), active#(and(X1, X2)) -> active#(X1))
    (active#(plus(X1, X2)) -> active#(X2), active#(and(X1, X2)) -> and#(active(X1), X2))
    (active#(plus(X1, X2)) -> active#(X2), active#(isNatKind(s(V1))) -> isNatKind#(V1))
    (active#(plus(X1, X2)) -> active#(X2), active#(isNatKind(plus(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)))
    (active#(plus(X1, X2)) -> active#(X2), active#(isNatKind(plus(V1, V2))) -> isNatKind#(V1))
    (active#(plus(X1, X2)) -> active#(X2), active#(isNatKind(plus(V1, V2))) -> isNatKind#(V2))
    (active#(plus(X1, X2)) -> active#(X2), active#(isNatKind(x(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)))
    (active#(plus(X1, X2)) -> active#(X2), active#(isNatKind(x(V1, V2))) -> isNatKind#(V1))
    (active#(plus(X1, X2)) -> active#(X2), active#(isNatKind(x(V1, V2))) -> isNatKind#(V2))
   }
   SCCS:
    Scc:
     {top#(mark(X)) -> top#(proper(X)),
        top#(ok(X)) -> top#(active(X))}
    Scc:
     {    proper#(U12(X1, X2)) -> proper#(X1),
          proper#(U12(X1, X2)) -> proper#(X2),
             proper#(isNat(X)) -> proper#(X),
      proper#(U11(X1, X2, X3)) -> proper#(X1),
      proper#(U11(X1, X2, X3)) -> proper#(X2),
      proper#(U11(X1, X2, X3)) -> proper#(X3),
               proper#(U13(X)) -> proper#(X),
               proper#(U22(X)) -> proper#(X),
          proper#(U21(X1, X2)) -> proper#(X1),
          proper#(U21(X1, X2)) -> proper#(X2),
          proper#(U32(X1, X2)) -> proper#(X1),
          proper#(U32(X1, X2)) -> proper#(X2),
      proper#(U31(X1, X2, X3)) -> proper#(X1),
      proper#(U31(X1, X2, X3)) -> proper#(X2),
      proper#(U31(X1, X2, X3)) -> proper#(X3),
               proper#(U33(X)) -> proper#(X),
          proper#(U41(X1, X2)) -> proper#(X1),
          proper#(U41(X1, X2)) -> proper#(X2),
                 proper#(s(X)) -> proper#(X),
         proper#(plus(X1, X2)) -> proper#(X1),
         proper#(plus(X1, X2)) -> proper#(X2),
      proper#(U51(X1, X2, X3)) -> proper#(X1),
      proper#(U51(X1, X2, X3)) -> proper#(X2),
      proper#(U51(X1, X2, X3)) -> proper#(X3),
               proper#(U61(X)) -> proper#(X),
            proper#(x(X1, X2)) -> proper#(X1),
            proper#(x(X1, X2)) -> proper#(X2),
      proper#(U71(X1, X2, X3)) -> proper#(X1),
      proper#(U71(X1, X2, X3)) -> proper#(X2),
      proper#(U71(X1, X2, X3)) -> proper#(X3),
          proper#(and(X1, X2)) -> proper#(X1),
          proper#(and(X1, X2)) -> proper#(X2),
         proper#(isNatKind(X)) -> proper#(X)}
    Scc:
     {isNatKind#(ok(X)) -> isNatKind#(X)}
    Scc:
     {  and#(mark(X1), X2) -> and#(X1, X2),
      and#(ok(X1), ok(X2)) -> and#(X1, X2)}
    Scc:
     {      U71#(mark(X1), X2, X3) -> U71#(X1, X2, X3),
      U71#(ok(X1), ok(X2), ok(X3)) -> U71#(X1, X2, X3)}
    Scc:
     {  x#(X1, mark(X2)) -> x#(X1, X2),
        x#(mark(X1), X2) -> x#(X1, X2),
      x#(ok(X1), ok(X2)) -> x#(X1, X2)}
    Scc:
     {U61#(mark(X)) -> U61#(X),
        U61#(ok(X)) -> U61#(X)}
    Scc:
     {      U51#(mark(X1), X2, X3) -> U51#(X1, X2, X3),
      U51#(ok(X1), ok(X2), ok(X3)) -> U51#(X1, X2, X3)}
    Scc:
     {  plus#(X1, mark(X2)) -> plus#(X1, X2),
        plus#(mark(X1), X2) -> plus#(X1, X2),
      plus#(ok(X1), ok(X2)) -> plus#(X1, X2)}
    Scc:
     {s#(mark(X)) -> s#(X),
        s#(ok(X)) -> s#(X)}
    Scc:
     {  U41#(mark(X1), X2) -> U41#(X1, X2),
      U41#(ok(X1), ok(X2)) -> U41#(X1, X2)}
    Scc:
     {U33#(mark(X)) -> U33#(X),
        U33#(ok(X)) -> U33#(X)}
    Scc:
     {      U31#(mark(X1), X2, X3) -> U31#(X1, X2, X3),
      U31#(ok(X1), ok(X2), ok(X3)) -> U31#(X1, X2, X3)}
    Scc:
     {  U32#(mark(X1), X2) -> U32#(X1, X2),
      U32#(ok(X1), ok(X2)) -> U32#(X1, X2)}
    Scc:
     {  U21#(mark(X1), X2) -> U21#(X1, X2),
      U21#(ok(X1), ok(X2)) -> U21#(X1, X2)}
    Scc:
     {U22#(mark(X)) -> U22#(X),
        U22#(ok(X)) -> U22#(X)}
    Scc:
     {U13#(mark(X)) -> U13#(X),
        U13#(ok(X)) -> U13#(X)}
    Scc:
     {      U11#(mark(X1), X2, X3) -> U11#(X1, X2, X3),
      U11#(ok(X1), ok(X2), ok(X3)) -> U11#(X1, X2, X3)}
    Scc:
     {    active#(U12(X1, X2)) -> active#(X1),
      active#(U11(X1, X2, X3)) -> active#(X1),
               active#(U13(X)) -> active#(X),
               active#(U22(X)) -> active#(X),
          active#(U21(X1, X2)) -> active#(X1),
          active#(U32(X1, X2)) -> active#(X1),
      active#(U31(X1, X2, X3)) -> active#(X1),
               active#(U33(X)) -> active#(X),
          active#(U41(X1, X2)) -> active#(X1),
                 active#(s(X)) -> active#(X),
         active#(plus(X1, X2)) -> active#(X1),
         active#(plus(X1, X2)) -> active#(X2),
      active#(U51(X1, X2, X3)) -> active#(X1),
               active#(U61(X)) -> active#(X),
            active#(x(X1, X2)) -> active#(X1),
            active#(x(X1, X2)) -> active#(X2),
      active#(U71(X1, X2, X3)) -> active#(X1),
          active#(and(X1, X2)) -> active#(X1)}
    Scc:
     {isNat#(ok(X)) -> isNat#(X)}
    Scc:
     {  U12#(mark(X1), X2) -> U12#(X1, X2),
      U12#(ok(X1), ok(X2)) -> U12#(X1, X2)}
    SCC:
     Strict:
      {top#(mark(X)) -> top#(proper(X)),
         top#(ok(X)) -> top#(active(X))}
     Weak:
     {              U12(mark(X1), X2) -> mark(U12(X1, X2)),
                  U12(ok(X1), ok(X2)) -> ok(U12(X1, X2)),
                         isNat(ok(X)) -> ok(isNat(X)),
                  active(U12(X1, X2)) -> U12(active(X1), X2),
                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(X1, X2, X3)) -> U11(active(X1), X2, X3),
            active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                       active(U13(X)) -> U13(active(X)),
                    active(U13(tt())) -> mark(tt()),
                       active(U22(X)) -> U22(active(X)),
                    active(U22(tt())) -> mark(tt()),
                  active(U21(X1, X2)) -> U21(active(X1), X2),
                active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                  active(U32(X1, X2)) -> U32(active(X1), X2),
                active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
              active(U31(X1, X2, X3)) -> U31(active(X1), X2, X3),
            active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                       active(U33(X)) -> U33(active(X)),
                    active(U33(tt())) -> mark(tt()),
                  active(U41(X1, X2)) -> U41(active(X1), X2),
                 active(U41(tt(), N)) -> mark(N),
                         active(s(X)) -> s(active(X)),
                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(plus(X1, X2)) -> plus(X1, active(X2)),
                 active(plus(X1, X2)) -> plus(active(X1), X2),
              active(U51(X1, X2, X3)) -> U51(active(X1), X2, X3),
              active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                       active(U61(X)) -> U61(active(X)),
                    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(x(X1, X2)) -> x(X1, active(X2)),
                    active(x(X1, X2)) -> x(active(X1), X2),
              active(U71(X1, X2, X3)) -> U71(active(X1), X2, X3),
              active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                  active(and(X1, X2)) -> and(active(X1), X2),
                 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(mark(X1), X2, X3) -> mark(U11(X1, X2, X3)),
          U11(ok(X1), ok(X2), ok(X3)) -> ok(U11(X1, X2, X3)),
                         U13(mark(X)) -> mark(U13(X)),
                           U13(ok(X)) -> ok(U13(X)),
                         U22(mark(X)) -> mark(U22(X)),
                           U22(ok(X)) -> ok(U22(X)),
                    U21(mark(X1), X2) -> mark(U21(X1, X2)),
                  U21(ok(X1), ok(X2)) -> ok(U21(X1, X2)),
                    U32(mark(X1), X2) -> mark(U32(X1, X2)),
                  U32(ok(X1), ok(X2)) -> ok(U32(X1, X2)),
                U31(mark(X1), X2, X3) -> mark(U31(X1, X2, X3)),
          U31(ok(X1), ok(X2), ok(X3)) -> ok(U31(X1, X2, X3)),
                         U33(mark(X)) -> mark(U33(X)),
                           U33(ok(X)) -> ok(U33(X)),
                    U41(mark(X1), X2) -> mark(U41(X1, X2)),
                  U41(ok(X1), ok(X2)) -> ok(U41(X1, X2)),
                           s(mark(X)) -> mark(s(X)),
                             s(ok(X)) -> ok(s(X)),
                   plus(X1, mark(X2)) -> mark(plus(X1, X2)),
                   plus(mark(X1), X2) -> mark(plus(X1, X2)),
                 plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)),
                U51(mark(X1), X2, X3) -> mark(U51(X1, X2, X3)),
          U51(ok(X1), ok(X2), ok(X3)) -> ok(U51(X1, X2, X3)),
                         U61(mark(X)) -> mark(U61(X)),
                           U61(ok(X)) -> ok(U61(X)),
                      x(X1, mark(X2)) -> mark(x(X1, X2)),
                      x(mark(X1), X2) -> mark(x(X1, X2)),
                    x(ok(X1), ok(X2)) -> ok(x(X1, X2)),
                U71(mark(X1), X2, X3) -> mark(U71(X1, X2, X3)),
          U71(ok(X1), ok(X2), ok(X3)) -> ok(U71(X1, X2, X3)),
                    and(mark(X1), X2) -> mark(and(X1, X2)),
                  and(ok(X1), ok(X2)) -> ok(and(X1, X2)),
                     isNatKind(ok(X)) -> ok(isNatKind(X)),
                  proper(U12(X1, X2)) -> U12(proper(X1), proper(X2)),
                     proper(isNat(X)) -> isNat(proper(X)),
              proper(U11(X1, X2, X3)) -> U11(proper(X1), proper(X2), proper(X3)),
                         proper(tt()) -> ok(tt()),
                       proper(U13(X)) -> U13(proper(X)),
                       proper(U22(X)) -> U22(proper(X)),
                  proper(U21(X1, X2)) -> U21(proper(X1), proper(X2)),
                  proper(U32(X1, X2)) -> U32(proper(X1), proper(X2)),
              proper(U31(X1, X2, X3)) -> U31(proper(X1), proper(X2), proper(X3)),
                       proper(U33(X)) -> U33(proper(X)),
                  proper(U41(X1, X2)) -> U41(proper(X1), proper(X2)),
                         proper(s(X)) -> s(proper(X)),
                 proper(plus(X1, X2)) -> plus(proper(X1), proper(X2)),
              proper(U51(X1, X2, X3)) -> U51(proper(X1), proper(X2), proper(X3)),
                          proper(0()) -> ok(0()),
                       proper(U61(X)) -> U61(proper(X)),
                    proper(x(X1, X2)) -> x(proper(X1), proper(X2)),
              proper(U71(X1, X2, X3)) -> U71(proper(X1), proper(X2), proper(X3)),
                  proper(and(X1, X2)) -> and(proper(X1), proper(X2)),
                 proper(isNatKind(X)) -> isNatKind(proper(X)),
                         top(mark(X)) -> top(proper(X)),
                           top(ok(X)) -> top(active(X))}
     Fail
    SCC:
     Strict:
      {    proper#(U12(X1, X2)) -> proper#(X1),
           proper#(U12(X1, X2)) -> proper#(X2),
              proper#(isNat(X)) -> proper#(X),
       proper#(U11(X1, X2, X3)) -> proper#(X1),
       proper#(U11(X1, X2, X3)) -> proper#(X2),
       proper#(U11(X1, X2, X3)) -> proper#(X3),
                proper#(U13(X)) -> proper#(X),
                proper#(U22(X)) -> proper#(X),
           proper#(U21(X1, X2)) -> proper#(X1),
           proper#(U21(X1, X2)) -> proper#(X2),
           proper#(U32(X1, X2)) -> proper#(X1),
           proper#(U32(X1, X2)) -> proper#(X2),
       proper#(U31(X1, X2, X3)) -> proper#(X1),
       proper#(U31(X1, X2, X3)) -> proper#(X2),
       proper#(U31(X1, X2, X3)) -> proper#(X3),
                proper#(U33(X)) -> proper#(X),
           proper#(U41(X1, X2)) -> proper#(X1),
           proper#(U41(X1, X2)) -> proper#(X2),
                  proper#(s(X)) -> proper#(X),
          proper#(plus(X1, X2)) -> proper#(X1),
          proper#(plus(X1, X2)) -> proper#(X2),
       proper#(U51(X1, X2, X3)) -> proper#(X1),
       proper#(U51(X1, X2, X3)) -> proper#(X2),
       proper#(U51(X1, X2, X3)) -> proper#(X3),
                proper#(U61(X)) -> proper#(X),
             proper#(x(X1, X2)) -> proper#(X1),
             proper#(x(X1, X2)) -> proper#(X2),
       proper#(U71(X1, X2, X3)) -> proper#(X1),
       proper#(U71(X1, X2, X3)) -> proper#(X2),
       proper#(U71(X1, X2, X3)) -> proper#(X3),
           proper#(and(X1, X2)) -> proper#(X1),
           proper#(and(X1, X2)) -> proper#(X2),
          proper#(isNatKind(X)) -> proper#(X)}
     Weak:
     {              U12(mark(X1), X2) -> mark(U12(X1, X2)),
                  U12(ok(X1), ok(X2)) -> ok(U12(X1, X2)),
                         isNat(ok(X)) -> ok(isNat(X)),
                  active(U12(X1, X2)) -> U12(active(X1), X2),
                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(X1, X2, X3)) -> U11(active(X1), X2, X3),
            active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                       active(U13(X)) -> U13(active(X)),
                    active(U13(tt())) -> mark(tt()),
                       active(U22(X)) -> U22(active(X)),
                    active(U22(tt())) -> mark(tt()),
                  active(U21(X1, X2)) -> U21(active(X1), X2),
                active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                  active(U32(X1, X2)) -> U32(active(X1), X2),
                active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
              active(U31(X1, X2, X3)) -> U31(active(X1), X2, X3),
            active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                       active(U33(X)) -> U33(active(X)),
                    active(U33(tt())) -> mark(tt()),
                  active(U41(X1, X2)) -> U41(active(X1), X2),
                 active(U41(tt(), N)) -> mark(N),
                         active(s(X)) -> s(active(X)),
                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(plus(X1, X2)) -> plus(X1, active(X2)),
                 active(plus(X1, X2)) -> plus(active(X1), X2),
              active(U51(X1, X2, X3)) -> U51(active(X1), X2, X3),
              active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                       active(U61(X)) -> U61(active(X)),
                    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(x(X1, X2)) -> x(X1, active(X2)),
                    active(x(X1, X2)) -> x(active(X1), X2),
              active(U71(X1, X2, X3)) -> U71(active(X1), X2, X3),
              active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                  active(and(X1, X2)) -> and(active(X1), X2),
                 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(mark(X1), X2, X3) -> mark(U11(X1, X2, X3)),
          U11(ok(X1), ok(X2), ok(X3)) -> ok(U11(X1, X2, X3)),
                         U13(mark(X)) -> mark(U13(X)),
                           U13(ok(X)) -> ok(U13(X)),
                         U22(mark(X)) -> mark(U22(X)),
                           U22(ok(X)) -> ok(U22(X)),
                    U21(mark(X1), X2) -> mark(U21(X1, X2)),
                  U21(ok(X1), ok(X2)) -> ok(U21(X1, X2)),
                    U32(mark(X1), X2) -> mark(U32(X1, X2)),
                  U32(ok(X1), ok(X2)) -> ok(U32(X1, X2)),
                U31(mark(X1), X2, X3) -> mark(U31(X1, X2, X3)),
          U31(ok(X1), ok(X2), ok(X3)) -> ok(U31(X1, X2, X3)),
                         U33(mark(X)) -> mark(U33(X)),
                           U33(ok(X)) -> ok(U33(X)),
                    U41(mark(X1), X2) -> mark(U41(X1, X2)),
                  U41(ok(X1), ok(X2)) -> ok(U41(X1, X2)),
                           s(mark(X)) -> mark(s(X)),
                             s(ok(X)) -> ok(s(X)),
                   plus(X1, mark(X2)) -> mark(plus(X1, X2)),
                   plus(mark(X1), X2) -> mark(plus(X1, X2)),
                 plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)),
                U51(mark(X1), X2, X3) -> mark(U51(X1, X2, X3)),
          U51(ok(X1), ok(X2), ok(X3)) -> ok(U51(X1, X2, X3)),
                         U61(mark(X)) -> mark(U61(X)),
                           U61(ok(X)) -> ok(U61(X)),
                      x(X1, mark(X2)) -> mark(x(X1, X2)),
                      x(mark(X1), X2) -> mark(x(X1, X2)),
                    x(ok(X1), ok(X2)) -> ok(x(X1, X2)),
                U71(mark(X1), X2, X3) -> mark(U71(X1, X2, X3)),
          U71(ok(X1), ok(X2), ok(X3)) -> ok(U71(X1, X2, X3)),
                    and(mark(X1), X2) -> mark(and(X1, X2)),
                  and(ok(X1), ok(X2)) -> ok(and(X1, X2)),
                     isNatKind(ok(X)) -> ok(isNatKind(X)),
                  proper(U12(X1, X2)) -> U12(proper(X1), proper(X2)),
                     proper(isNat(X)) -> isNat(proper(X)),
              proper(U11(X1, X2, X3)) -> U11(proper(X1), proper(X2), proper(X3)),
                         proper(tt()) -> ok(tt()),
                       proper(U13(X)) -> U13(proper(X)),
                       proper(U22(X)) -> U22(proper(X)),
                  proper(U21(X1, X2)) -> U21(proper(X1), proper(X2)),
                  proper(U32(X1, X2)) -> U32(proper(X1), proper(X2)),
              proper(U31(X1, X2, X3)) -> U31(proper(X1), proper(X2), proper(X3)),
                       proper(U33(X)) -> U33(proper(X)),
                  proper(U41(X1, X2)) -> U41(proper(X1), proper(X2)),
                         proper(s(X)) -> s(proper(X)),
                 proper(plus(X1, X2)) -> plus(proper(X1), proper(X2)),
              proper(U51(X1, X2, X3)) -> U51(proper(X1), proper(X2), proper(X3)),
                          proper(0()) -> ok(0()),
                       proper(U61(X)) -> U61(proper(X)),
                    proper(x(X1, X2)) -> x(proper(X1), proper(X2)),
              proper(U71(X1, X2, X3)) -> U71(proper(X1), proper(X2), proper(X3)),
                  proper(and(X1, X2)) -> and(proper(X1), proper(X2)),
                 proper(isNatKind(X)) -> isNatKind(proper(X)),
                         top(mark(X)) -> top(proper(X)),
                           top(ok(X)) -> top(active(X))}
     SPSC:
      Simple Projection:
       pi(proper#) = 0
      Strict:
       {    proper#(U12(X1, X2)) -> proper#(X1),
            proper#(U12(X1, X2)) -> proper#(X2),
               proper#(isNat(X)) -> proper#(X),
        proper#(U11(X1, X2, X3)) -> proper#(X1),
        proper#(U11(X1, X2, X3)) -> proper#(X2),
        proper#(U11(X1, X2, X3)) -> proper#(X3),
                 proper#(U13(X)) -> proper#(X),
                 proper#(U22(X)) -> proper#(X),
            proper#(U21(X1, X2)) -> proper#(X1),
            proper#(U21(X1, X2)) -> proper#(X2),
            proper#(U32(X1, X2)) -> proper#(X1),
            proper#(U32(X1, X2)) -> proper#(X2),
        proper#(U31(X1, X2, X3)) -> proper#(X1),
        proper#(U31(X1, X2, X3)) -> proper#(X2),
        proper#(U31(X1, X2, X3)) -> proper#(X3),
                 proper#(U33(X)) -> proper#(X),
            proper#(U41(X1, X2)) -> proper#(X1),
            proper#(U41(X1, X2)) -> proper#(X2),
                   proper#(s(X)) -> proper#(X),
           proper#(plus(X1, X2)) -> proper#(X1),
           proper#(plus(X1, X2)) -> proper#(X2),
        proper#(U51(X1, X2, X3)) -> proper#(X1),
        proper#(U51(X1, X2, X3)) -> proper#(X2),
        proper#(U51(X1, X2, X3)) -> proper#(X3),
                 proper#(U61(X)) -> proper#(X),
              proper#(x(X1, X2)) -> proper#(X1),
              proper#(x(X1, X2)) -> proper#(X2),
        proper#(U71(X1, X2, X3)) -> proper#(X1),
        proper#(U71(X1, X2, X3)) -> proper#(X2),
        proper#(U71(X1, X2, X3)) -> proper#(X3),
            proper#(and(X1, X2)) -> proper#(X1),
            proper#(and(X1, X2)) -> proper#(X2)}
      EDG:
       {
        (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(and(X1, X2)) -> proper#(X2))
        (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(and(X1, X2)) -> proper#(X1))
        (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X3))
        (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X2))
        (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X1))
        (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(x(X1, X2)) -> proper#(X2))
        (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(x(X1, X2)) -> proper#(X1))
        (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U61(X)) -> proper#(X))
        (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X3))
        (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X2))
        (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X1))
        (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X2))
        (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X1))
        (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(s(X)) -> proper#(X))
        (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
        (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
        (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
        (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X3))
        (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
        (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
        (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
        (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
        (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X2))
        (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
        (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
        (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
        (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
        (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X2))
        (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
        (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
        (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
        (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
        (proper#(U32(X1, X2)) -> proper#(X1), proper#(and(X1, X2)) -> proper#(X2))
        (proper#(U32(X1, X2)) -> proper#(X1), proper#(and(X1, X2)) -> proper#(X1))
        (proper#(U32(X1, X2)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X3))
        (proper#(U32(X1, X2)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X2))
        (proper#(U32(X1, X2)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X1))
        (proper#(U32(X1, X2)) -> proper#(X1), proper#(x(X1, X2)) -> proper#(X2))
        (proper#(U32(X1, X2)) -> proper#(X1), proper#(x(X1, X2)) -> proper#(X1))
        (proper#(U32(X1, X2)) -> proper#(X1), proper#(U61(X)) -> proper#(X))
        (proper#(U32(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X3))
        (proper#(U32(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X2))
        (proper#(U32(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X1))
        (proper#(U32(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X2))
        (proper#(U32(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X1))
        (proper#(U32(X1, X2)) -> proper#(X1), proper#(s(X)) -> proper#(X))
        (proper#(U32(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
        (proper#(U32(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
        (proper#(U32(X1, X2)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
        (proper#(U32(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X3))
        (proper#(U32(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
        (proper#(U32(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
        (proper#(U32(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
        (proper#(U32(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
        (proper#(U32(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X2))
        (proper#(U32(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
        (proper#(U32(X1, X2)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
        (proper#(U32(X1, X2)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
        (proper#(U32(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
        (proper#(U32(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X2))
        (proper#(U32(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
        (proper#(U32(X1, X2)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
        (proper#(U32(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
        (proper#(U32(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
        (proper#(U41(X1, X2)) -> proper#(X1), proper#(and(X1, X2)) -> proper#(X2))
        (proper#(U41(X1, X2)) -> proper#(X1), proper#(and(X1, X2)) -> proper#(X1))
        (proper#(U41(X1, X2)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X3))
        (proper#(U41(X1, X2)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X2))
        (proper#(U41(X1, X2)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X1))
        (proper#(U41(X1, X2)) -> proper#(X1), proper#(x(X1, X2)) -> proper#(X2))
        (proper#(U41(X1, X2)) -> proper#(X1), proper#(x(X1, X2)) -> proper#(X1))
        (proper#(U41(X1, X2)) -> proper#(X1), proper#(U61(X)) -> proper#(X))
        (proper#(U41(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X3))
        (proper#(U41(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X2))
        (proper#(U41(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X1))
        (proper#(U41(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X2))
        (proper#(U41(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X1))
        (proper#(U41(X1, X2)) -> proper#(X1), proper#(s(X)) -> proper#(X))
        (proper#(U41(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
        (proper#(U41(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
        (proper#(U41(X1, X2)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
        (proper#(U41(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X3))
        (proper#(U41(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
        (proper#(U41(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
        (proper#(U41(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
        (proper#(U41(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
        (proper#(U41(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X2))
        (proper#(U41(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
        (proper#(U41(X1, X2)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
        (proper#(U41(X1, X2)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
        (proper#(U41(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
        (proper#(U41(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X2))
        (proper#(U41(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
        (proper#(U41(X1, X2)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
        (proper#(U41(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
        (proper#(U41(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
        (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(and(X1, X2)) -> proper#(X2))
        (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(and(X1, X2)) -> proper#(X1))
        (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X3))
        (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X2))
        (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X1))
        (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(x(X1, X2)) -> proper#(X2))
        (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(x(X1, X2)) -> proper#(X1))
        (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U61(X)) -> proper#(X))
        (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X3))
        (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X2))
        (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X1))
        (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X2))
        (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X1))
        (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(s(X)) -> proper#(X))
        (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
        (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
        (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
        (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X3))
        (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
        (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
        (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
        (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
        (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X2))
        (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
        (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
        (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
        (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
        (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X2))
        (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
        (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
        (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
        (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
        (proper#(U71(X1, X2, X3)) -> proper#(X1), proper#(and(X1, X2)) -> proper#(X2))
        (proper#(U71(X1, X2, X3)) -> proper#(X1), proper#(and(X1, X2)) -> proper#(X1))
        (proper#(U71(X1, X2, X3)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X3))
        (proper#(U71(X1, X2, X3)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X2))
        (proper#(U71(X1, X2, X3)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X1))
        (proper#(U71(X1, X2, X3)) -> proper#(X1), proper#(x(X1, X2)) -> proper#(X2))
        (proper#(U71(X1, X2, X3)) -> proper#(X1), proper#(x(X1, X2)) -> proper#(X1))
        (proper#(U71(X1, X2, X3)) -> proper#(X1), proper#(U61(X)) -> proper#(X))
        (proper#(U71(X1, X2, X3)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X3))
        (proper#(U71(X1, X2, X3)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X2))
        (proper#(U71(X1, X2, X3)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X1))
        (proper#(U71(X1, X2, X3)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X2))
        (proper#(U71(X1, X2, X3)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X1))
        (proper#(U71(X1, X2, X3)) -> proper#(X1), proper#(s(X)) -> proper#(X))
        (proper#(U71(X1, X2, X3)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
        (proper#(U71(X1, X2, X3)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
        (proper#(U71(X1, X2, X3)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
        (proper#(U71(X1, X2, X3)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X3))
        (proper#(U71(X1, X2, X3)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
        (proper#(U71(X1, X2, X3)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
        (proper#(U71(X1, X2, X3)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
        (proper#(U71(X1, X2, X3)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
        (proper#(U71(X1, X2, X3)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X2))
        (proper#(U71(X1, X2, X3)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
        (proper#(U71(X1, X2, X3)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
        (proper#(U71(X1, X2, X3)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
        (proper#(U71(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
        (proper#(U71(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X2))
        (proper#(U71(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
        (proper#(U71(X1, X2, X3)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
        (proper#(U71(X1, X2, X3)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
        (proper#(U71(X1, X2, X3)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
        (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(and(X1, X2)) -> proper#(X2))
        (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(and(X1, X2)) -> proper#(X1))
        (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U71(X1, X2, X3)) -> proper#(X3))
        (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U71(X1, X2, X3)) -> proper#(X2))
        (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U71(X1, X2, X3)) -> proper#(X1))
        (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(x(X1, X2)) -> proper#(X2))
        (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(x(X1, X2)) -> proper#(X1))
        (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U61(X)) -> proper#(X))
        (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U51(X1, X2, X3)) -> proper#(X3))
        (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U51(X1, X2, X3)) -> proper#(X2))
        (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U51(X1, X2, X3)) -> proper#(X1))
        (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(plus(X1, X2)) -> proper#(X2))
        (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(plus(X1, X2)) -> proper#(X1))
        (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(s(X)) -> proper#(X))
        (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U41(X1, X2)) -> proper#(X2))
        (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U41(X1, X2)) -> proper#(X1))
        (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U33(X)) -> proper#(X))
        (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U31(X1, X2, X3)) -> proper#(X3))
        (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U31(X1, X2, X3)) -> proper#(X2))
        (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U31(X1, X2, X3)) -> proper#(X1))
        (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U32(X1, X2)) -> proper#(X2))
        (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U32(X1, X2)) -> proper#(X1))
        (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U21(X1, X2)) -> proper#(X2))
        (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U21(X1, X2)) -> proper#(X1))
        (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U22(X)) -> proper#(X))
        (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U13(X)) -> proper#(X))
        (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U11(X1, X2, X3)) -> proper#(X3))
        (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U11(X1, X2, X3)) -> proper#(X2))
        (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U11(X1, X2, X3)) -> proper#(X1))
        (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(isNat(X)) -> proper#(X))
        (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U12(X1, X2)) -> proper#(X2))
        (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U12(X1, X2)) -> proper#(X1))
        (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(and(X1, X2)) -> proper#(X2))
        (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(and(X1, X2)) -> proper#(X1))
        (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U71(X1, X2, X3)) -> proper#(X3))
        (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U71(X1, X2, X3)) -> proper#(X2))
        (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U71(X1, X2, X3)) -> proper#(X1))
        (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(x(X1, X2)) -> proper#(X2))
        (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(x(X1, X2)) -> proper#(X1))
        (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U61(X)) -> proper#(X))
        (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U51(X1, X2, X3)) -> proper#(X3))
        (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U51(X1, X2, X3)) -> proper#(X2))
        (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U51(X1, X2, X3)) -> proper#(X1))
        (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(plus(X1, X2)) -> proper#(X2))
        (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(plus(X1, X2)) -> proper#(X1))
        (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(s(X)) -> proper#(X))
        (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U41(X1, X2)) -> proper#(X2))
        (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U41(X1, X2)) -> proper#(X1))
        (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U33(X)) -> proper#(X))
        (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U31(X1, X2, X3)) -> proper#(X3))
        (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U31(X1, X2, X3)) -> proper#(X2))
        (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U31(X1, X2, X3)) -> proper#(X1))
        (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U32(X1, X2)) -> proper#(X2))
        (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U32(X1, X2)) -> proper#(X1))
        (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U21(X1, X2)) -> proper#(X2))
        (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U21(X1, X2)) -> proper#(X1))
        (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U22(X)) -> proper#(X))
        (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U13(X)) -> proper#(X))
        (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U11(X1, X2, X3)) -> proper#(X3))
        (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U11(X1, X2, X3)) -> proper#(X2))
        (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U11(X1, X2, X3)) -> proper#(X1))
        (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(isNat(X)) -> proper#(X))
        (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U12(X1, X2)) -> proper#(X2))
        (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U12(X1, X2)) -> proper#(X1))
        (proper#(isNat(X)) -> proper#(X), proper#(and(X1, X2)) -> proper#(X2))
        (proper#(isNat(X)) -> proper#(X), proper#(and(X1, X2)) -> proper#(X1))
        (proper#(isNat(X)) -> proper#(X), proper#(U71(X1, X2, X3)) -> proper#(X3))
        (proper#(isNat(X)) -> proper#(X), proper#(U71(X1, X2, X3)) -> proper#(X2))
        (proper#(isNat(X)) -> proper#(X), proper#(U71(X1, X2, X3)) -> proper#(X1))
        (proper#(isNat(X)) -> proper#(X), proper#(x(X1, X2)) -> proper#(X2))
        (proper#(isNat(X)) -> proper#(X), proper#(x(X1, X2)) -> proper#(X1))
        (proper#(isNat(X)) -> proper#(X), proper#(U61(X)) -> proper#(X))
        (proper#(isNat(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X3))
        (proper#(isNat(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X2))
        (proper#(isNat(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X1))
        (proper#(isNat(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X2))
        (proper#(isNat(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X1))
        (proper#(isNat(X)) -> proper#(X), proper#(s(X)) -> proper#(X))
        (proper#(isNat(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X2))
        (proper#(isNat(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X1))
        (proper#(isNat(X)) -> proper#(X), proper#(U33(X)) -> proper#(X))
        (proper#(isNat(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X3))
        (proper#(isNat(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X2))
        (proper#(isNat(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X1))
        (proper#(isNat(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X2))
        (proper#(isNat(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X1))
        (proper#(isNat(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X2))
        (proper#(isNat(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X1))
        (proper#(isNat(X)) -> proper#(X), proper#(U22(X)) -> proper#(X))
        (proper#(isNat(X)) -> proper#(X), proper#(U13(X)) -> proper#(X))
        (proper#(isNat(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X3))
        (proper#(isNat(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X2))
        (proper#(isNat(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X1))
        (proper#(isNat(X)) -> proper#(X), proper#(isNat(X)) -> proper#(X))
        (proper#(isNat(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X2))
        (proper#(isNat(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X1))
        (proper#(U22(X)) -> proper#(X), proper#(and(X1, X2)) -> proper#(X2))
        (proper#(U22(X)) -> proper#(X), proper#(and(X1, X2)) -> proper#(X1))
        (proper#(U22(X)) -> proper#(X), proper#(U71(X1, X2, X3)) -> proper#(X3))
        (proper#(U22(X)) -> proper#(X), proper#(U71(X1, X2, X3)) -> proper#(X2))
        (proper#(U22(X)) -> proper#(X), proper#(U71(X1, X2, X3)) -> proper#(X1))
        (proper#(U22(X)) -> proper#(X), proper#(x(X1, X2)) -> proper#(X2))
        (proper#(U22(X)) -> proper#(X), proper#(x(X1, X2)) -> proper#(X1))
        (proper#(U22(X)) -> proper#(X), proper#(U61(X)) -> proper#(X))
        (proper#(U22(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X3))
        (proper#(U22(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X2))
        (proper#(U22(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X1))
        (proper#(U22(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X2))
        (proper#(U22(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X1))
        (proper#(U22(X)) -> proper#(X), proper#(s(X)) -> proper#(X))
        (proper#(U22(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X2))
        (proper#(U22(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X1))
        (proper#(U22(X)) -> proper#(X), proper#(U33(X)) -> proper#(X))
        (proper#(U22(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X3))
        (proper#(U22(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X2))
        (proper#(U22(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X1))
        (proper#(U22(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X2))
        (proper#(U22(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X1))
        (proper#(U22(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X2))
        (proper#(U22(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X1))
        (proper#(U22(X)) -> proper#(X), proper#(U22(X)) -> proper#(X))
        (proper#(U22(X)) -> proper#(X), proper#(U13(X)) -> proper#(X))
        (proper#(U22(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X3))
        (proper#(U22(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X2))
        (proper#(U22(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X1))
        (proper#(U22(X)) -> proper#(X), proper#(isNat(X)) -> proper#(X))
        (proper#(U22(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X2))
        (proper#(U22(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X1))
        (proper#(s(X)) -> proper#(X), proper#(and(X1, X2)) -> proper#(X2))
        (proper#(s(X)) -> proper#(X), proper#(and(X1, X2)) -> proper#(X1))
        (proper#(s(X)) -> proper#(X), proper#(U71(X1, X2, X3)) -> proper#(X3))
        (proper#(s(X)) -> proper#(X), proper#(U71(X1, X2, X3)) -> proper#(X2))
        (proper#(s(X)) -> proper#(X), proper#(U71(X1, X2, X3)) -> proper#(X1))
        (proper#(s(X)) -> proper#(X), proper#(x(X1, X2)) -> proper#(X2))
        (proper#(s(X)) -> proper#(X), proper#(x(X1, X2)) -> proper#(X1))
        (proper#(s(X)) -> proper#(X), proper#(U61(X)) -> proper#(X))
        (proper#(s(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X3))
        (proper#(s(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X2))
        (proper#(s(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X1))
        (proper#(s(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X2))
        (proper#(s(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X1))
        (proper#(s(X)) -> proper#(X), proper#(s(X)) -> proper#(X))
        (proper#(s(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X2))
        (proper#(s(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X1))
        (proper#(s(X)) -> proper#(X), proper#(U33(X)) -> proper#(X))
        (proper#(s(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X3))
        (proper#(s(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X2))
        (proper#(s(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X1))
        (proper#(s(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X2))
        (proper#(s(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X1))
        (proper#(s(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X2))
        (proper#(s(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X1))
        (proper#(s(X)) -> proper#(X), proper#(U22(X)) -> proper#(X))
        (proper#(s(X)) -> proper#(X), proper#(U13(X)) -> proper#(X))
        (proper#(s(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X3))
        (proper#(s(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X2))
        (proper#(s(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X1))
        (proper#(s(X)) -> proper#(X), proper#(isNat(X)) -> proper#(X))
        (proper#(s(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X2))
        (proper#(s(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X1))
        (proper#(U12(X1, X2)) -> proper#(X2), proper#(and(X1, X2)) -> proper#(X2))
        (proper#(U12(X1, X2)) -> proper#(X2), proper#(and(X1, X2)) -> proper#(X1))
        (proper#(U12(X1, X2)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X3))
        (proper#(U12(X1, X2)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X2))
        (proper#(U12(X1, X2)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X1))
        (proper#(U12(X1, X2)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X2))
        (proper#(U12(X1, X2)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X1))
        (proper#(U12(X1, X2)) -> proper#(X2), proper#(U61(X)) -> proper#(X))
        (proper#(U12(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X3))
        (proper#(U12(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X2))
        (proper#(U12(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X1))
        (proper#(U12(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X2))
        (proper#(U12(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X1))
        (proper#(U12(X1, X2)) -> proper#(X2), proper#(s(X)) -> proper#(X))
        (proper#(U12(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
        (proper#(U12(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
        (proper#(U12(X1, X2)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
        (proper#(U12(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X3))
        (proper#(U12(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
        (proper#(U12(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
        (proper#(U12(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
        (proper#(U12(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
        (proper#(U12(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X2))
        (proper#(U12(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
        (proper#(U12(X1, X2)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
        (proper#(U12(X1, X2)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
        (proper#(U12(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
        (proper#(U12(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X2))
        (proper#(U12(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
        (proper#(U12(X1, X2)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
        (proper#(U12(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
        (proper#(U12(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
        (proper#(U21(X1, X2)) -> proper#(X2), proper#(and(X1, X2)) -> proper#(X2))
        (proper#(U21(X1, X2)) -> proper#(X2), proper#(and(X1, X2)) -> proper#(X1))
        (proper#(U21(X1, X2)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X3))
        (proper#(U21(X1, X2)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X2))
        (proper#(U21(X1, X2)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X1))
        (proper#(U21(X1, X2)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X2))
        (proper#(U21(X1, X2)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X1))
        (proper#(U21(X1, X2)) -> proper#(X2), proper#(U61(X)) -> proper#(X))
        (proper#(U21(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X3))
        (proper#(U21(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X2))
        (proper#(U21(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X1))
        (proper#(U21(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X2))
        (proper#(U21(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X1))
        (proper#(U21(X1, X2)) -> proper#(X2), proper#(s(X)) -> proper#(X))
        (proper#(U21(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
        (proper#(U21(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
        (proper#(U21(X1, X2)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
        (proper#(U21(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X3))
        (proper#(U21(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
        (proper#(U21(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
        (proper#(U21(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
        (proper#(U21(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
        (proper#(U21(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X2))
        (proper#(U21(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
        (proper#(U21(X1, X2)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
        (proper#(U21(X1, X2)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
        (proper#(U21(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
        (proper#(U21(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X2))
        (proper#(U21(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
        (proper#(U21(X1, X2)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
        (proper#(U21(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
        (proper#(U21(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
        (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(and(X1, X2)) -> proper#(X2))
        (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(and(X1, X2)) -> proper#(X1))
        (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X3))
        (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X2))
        (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X1))
        (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X2))
        (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X1))
        (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U61(X)) -> proper#(X))
        (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X3))
        (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X2))
        (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X1))
        (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X2))
        (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X1))
        (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(s(X)) -> proper#(X))
        (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
        (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
        (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
        (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X3))
        (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
        (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
        (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
        (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
        (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X2))
        (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
        (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
        (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
        (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
        (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X2))
        (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
        (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
        (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
        (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
        (proper#(plus(X1, X2)) -> proper#(X2), proper#(and(X1, X2)) -> proper#(X2))
        (proper#(plus(X1, X2)) -> proper#(X2), proper#(and(X1, X2)) -> proper#(X1))
        (proper#(plus(X1, X2)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X3))
        (proper#(plus(X1, X2)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X2))
        (proper#(plus(X1, X2)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X1))
        (proper#(plus(X1, X2)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X2))
        (proper#(plus(X1, X2)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X1))
        (proper#(plus(X1, X2)) -> proper#(X2), proper#(U61(X)) -> proper#(X))
        (proper#(plus(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X3))
        (proper#(plus(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X2))
        (proper#(plus(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X1))
        (proper#(plus(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X2))
        (proper#(plus(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X1))
        (proper#(plus(X1, X2)) -> proper#(X2), proper#(s(X)) -> proper#(X))
        (proper#(plus(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
        (proper#(plus(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
        (proper#(plus(X1, X2)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
        (proper#(plus(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X3))
        (proper#(plus(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
        (proper#(plus(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
        (proper#(plus(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
        (proper#(plus(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
        (proper#(plus(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X2))
        (proper#(plus(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
        (proper#(plus(X1, X2)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
        (proper#(plus(X1, X2)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
        (proper#(plus(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
        (proper#(plus(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X2))
        (proper#(plus(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
        (proper#(plus(X1, X2)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
        (proper#(plus(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
        (proper#(plus(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
        (proper#(x(X1, X2)) -> proper#(X2), proper#(and(X1, X2)) -> proper#(X2))
        (proper#(x(X1, X2)) -> proper#(X2), proper#(and(X1, X2)) -> proper#(X1))
        (proper#(x(X1, X2)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X3))
        (proper#(x(X1, X2)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X2))
        (proper#(x(X1, X2)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X1))
        (proper#(x(X1, X2)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X2))
        (proper#(x(X1, X2)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X1))
        (proper#(x(X1, X2)) -> proper#(X2), proper#(U61(X)) -> proper#(X))
        (proper#(x(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X3))
        (proper#(x(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X2))
        (proper#(x(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X1))
        (proper#(x(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X2))
        (proper#(x(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X1))
        (proper#(x(X1, X2)) -> proper#(X2), proper#(s(X)) -> proper#(X))
        (proper#(x(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
        (proper#(x(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
        (proper#(x(X1, X2)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
        (proper#(x(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X3))
        (proper#(x(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
        (proper#(x(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
        (proper#(x(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
        (proper#(x(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
        (proper#(x(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X2))
        (proper#(x(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
        (proper#(x(X1, X2)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
        (proper#(x(X1, X2)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
        (proper#(x(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
        (proper#(x(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X2))
        (proper#(x(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
        (proper#(x(X1, X2)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
        (proper#(x(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
        (proper#(x(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
        (proper#(and(X1, X2)) -> proper#(X2), proper#(and(X1, X2)) -> proper#(X2))
        (proper#(and(X1, X2)) -> proper#(X2), proper#(and(X1, X2)) -> proper#(X1))
        (proper#(and(X1, X2)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X3))
        (proper#(and(X1, X2)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X2))
        (proper#(and(X1, X2)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X1))
        (proper#(and(X1, X2)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X2))
        (proper#(and(X1, X2)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X1))
        (proper#(and(X1, X2)) -> proper#(X2), proper#(U61(X)) -> proper#(X))
        (proper#(and(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X3))
        (proper#(and(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X2))
        (proper#(and(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X1))
        (proper#(and(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X2))
        (proper#(and(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X1))
        (proper#(and(X1, X2)) -> proper#(X2), proper#(s(X)) -> proper#(X))
        (proper#(and(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
        (proper#(and(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
        (proper#(and(X1, X2)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
        (proper#(and(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X3))
        (proper#(and(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
        (proper#(and(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
        (proper#(and(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
        (proper#(and(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
        (proper#(and(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X2))
        (proper#(and(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
        (proper#(and(X1, X2)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
        (proper#(and(X1, X2)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
        (proper#(and(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
        (proper#(and(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X2))
        (proper#(and(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
        (proper#(and(X1, X2)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
        (proper#(and(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
        (proper#(and(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
        (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
        (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
        (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
        (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
        (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X2))
        (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
        (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
        (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
        (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
        (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X2))
        (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
        (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
        (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
        (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
        (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X3))
        (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
        (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
        (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
        (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(s(X)) -> proper#(X))
        (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X1))
        (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X2))
        (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X1))
        (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X2))
        (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X3))
        (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U61(X)) -> proper#(X))
        (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X1))
        (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X2))
        (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X1))
        (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X2))
        (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X3))
        (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(and(X1, X2)) -> proper#(X1))
        (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(and(X1, X2)) -> proper#(X2))
        (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
        (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
        (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
        (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
        (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X2))
        (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
        (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
        (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
        (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
        (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X2))
        (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
        (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
        (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
        (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
        (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X3))
        (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
        (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
        (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
        (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(s(X)) -> proper#(X))
        (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X1))
        (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X2))
        (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X1))
        (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X2))
        (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X3))
        (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U61(X)) -> proper#(X))
        (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X1))
        (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X2))
        (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X1))
        (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X2))
        (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X3))
        (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(and(X1, X2)) -> proper#(X1))
        (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(and(X1, X2)) -> proper#(X2))
        (proper#(U41(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
        (proper#(U41(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
        (proper#(U41(X1, X2)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
        (proper#(U41(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
        (proper#(U41(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X2))
        (proper#(U41(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
        (proper#(U41(X1, X2)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
        (proper#(U41(X1, X2)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
        (proper#(U41(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
        (proper#(U41(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X2))
        (proper#(U41(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
        (proper#(U41(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
        (proper#(U41(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
        (proper#(U41(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
        (proper#(U41(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X3))
        (proper#(U41(X1, X2)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
        (proper#(U41(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
        (proper#(U41(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
        (proper#(U41(X1, X2)) -> proper#(X2), proper#(s(X)) -> proper#(X))
        (proper#(U41(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X1))
        (proper#(U41(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X2))
        (proper#(U41(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X1))
        (proper#(U41(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X2))
        (proper#(U41(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X3))
        (proper#(U41(X1, X2)) -> proper#(X2), proper#(U61(X)) -> proper#(X))
        (proper#(U41(X1, X2)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X1))
        (proper#(U41(X1, X2)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X2))
        (proper#(U41(X1, X2)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X1))
        (proper#(U41(X1, X2)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X2))
        (proper#(U41(X1, X2)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X3))
        (proper#(U41(X1, X2)) -> proper#(X2), proper#(and(X1, X2)) -> proper#(X1))
        (proper#(U41(X1, X2)) -> proper#(X2), proper#(and(X1, X2)) -> proper#(X2))
        (proper#(U32(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
        (proper#(U32(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
        (proper#(U32(X1, X2)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
        (proper#(U32(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
        (proper#(U32(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X2))
        (proper#(U32(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
        (proper#(U32(X1, X2)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
        (proper#(U32(X1, X2)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
        (proper#(U32(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
        (proper#(U32(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X2))
        (proper#(U32(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
        (proper#(U32(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
        (proper#(U32(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
        (proper#(U32(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
        (proper#(U32(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X3))
        (proper#(U32(X1, X2)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
        (proper#(U32(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
        (proper#(U32(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
        (proper#(U32(X1, X2)) -> proper#(X2), proper#(s(X)) -> proper#(X))
        (proper#(U32(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X1))
        (proper#(U32(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X2))
        (proper#(U32(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X1))
        (proper#(U32(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X2))
        (proper#(U32(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X3))
        (proper#(U32(X1, X2)) -> proper#(X2), proper#(U61(X)) -> proper#(X))
        (proper#(U32(X1, X2)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X1))
        (proper#(U32(X1, X2)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X2))
        (proper#(U32(X1, X2)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X1))
        (proper#(U32(X1, X2)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X2))
        (proper#(U32(X1, X2)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X3))
        (proper#(U32(X1, X2)) -> proper#(X2), proper#(and(X1, X2)) -> proper#(X1))
        (proper#(U32(X1, X2)) -> proper#(X2), proper#(and(X1, X2)) -> proper#(X2))
        (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
        (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
        (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
        (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
        (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X2))
        (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
        (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
        (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
        (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
        (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X2))
        (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
        (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
        (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
        (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
        (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X3))
        (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
        (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
        (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
        (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(s(X)) -> proper#(X))
        (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X1))
        (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X2))
        (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X1))
        (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X2))
        (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X3))
        (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U61(X)) -> proper#(X))
        (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X1))
        (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X2))
        (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X1))
        (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X2))
        (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X3))
        (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(and(X1, X2)) -> proper#(X1))
        (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(and(X1, X2)) -> proper#(X2))
        (proper#(U61(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X1))
        (proper#(U61(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X2))
        (proper#(U61(X)) -> proper#(X), proper#(isNat(X)) -> proper#(X))
        (proper#(U61(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X1))
        (proper#(U61(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X2))
        (proper#(U61(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X3))
        (proper#(U61(X)) -> proper#(X), proper#(U13(X)) -> proper#(X))
        (proper#(U61(X)) -> proper#(X), proper#(U22(X)) -> proper#(X))
        (proper#(U61(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X1))
        (proper#(U61(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X2))
        (proper#(U61(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X1))
        (proper#(U61(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X2))
        (proper#(U61(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X1))
        (proper#(U61(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X2))
        (proper#(U61(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X3))
        (proper#(U61(X)) -> proper#(X), proper#(U33(X)) -> proper#(X))
        (proper#(U61(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X1))
        (proper#(U61(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X2))
        (proper#(U61(X)) -> proper#(X), proper#(s(X)) -> proper#(X))
        (proper#(U61(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X1))
        (proper#(U61(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X2))
        (proper#(U61(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X1))
        (proper#(U61(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X2))
        (proper#(U61(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X3))
        (proper#(U61(X)) -> proper#(X), proper#(U61(X)) -> proper#(X))
        (proper#(U61(X)) -> proper#(X), proper#(x(X1, X2)) -> proper#(X1))
        (proper#(U61(X)) -> proper#(X), proper#(x(X1, X2)) -> proper#(X2))
        (proper#(U61(X)) -> proper#(X), proper#(U71(X1, X2, X3)) -> proper#(X1))
        (proper#(U61(X)) -> proper#(X), proper#(U71(X1, X2, X3)) -> proper#(X2))
        (proper#(U61(X)) -> proper#(X), proper#(U71(X1, X2, X3)) -> proper#(X3))
        (proper#(U61(X)) -> proper#(X), proper#(and(X1, X2)) -> proper#(X1))
        (proper#(U61(X)) -> proper#(X), proper#(and(X1, X2)) -> proper#(X2))
        (proper#(U33(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X1))
        (proper#(U33(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X2))
        (proper#(U33(X)) -> proper#(X), proper#(isNat(X)) -> proper#(X))
        (proper#(U33(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X1))
        (proper#(U33(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X2))
        (proper#(U33(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X3))
        (proper#(U33(X)) -> proper#(X), proper#(U13(X)) -> proper#(X))
        (proper#(U33(X)) -> proper#(X), proper#(U22(X)) -> proper#(X))
        (proper#(U33(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X1))
        (proper#(U33(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X2))
        (proper#(U33(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X1))
        (proper#(U33(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X2))
        (proper#(U33(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X1))
        (proper#(U33(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X2))
        (proper#(U33(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X3))
        (proper#(U33(X)) -> proper#(X), proper#(U33(X)) -> proper#(X))
        (proper#(U33(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X1))
        (proper#(U33(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X2))
        (proper#(U33(X)) -> proper#(X), proper#(s(X)) -> proper#(X))
        (proper#(U33(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X1))
        (proper#(U33(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X2))
        (proper#(U33(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X1))
        (proper#(U33(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X2))
        (proper#(U33(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X3))
        (proper#(U33(X)) -> proper#(X), proper#(U61(X)) -> proper#(X))
        (proper#(U33(X)) -> proper#(X), proper#(x(X1, X2)) -> proper#(X1))
        (proper#(U33(X)) -> proper#(X), proper#(x(X1, X2)) -> proper#(X2))
        (proper#(U33(X)) -> proper#(X), proper#(U71(X1, X2, X3)) -> proper#(X1))
        (proper#(U33(X)) -> proper#(X), proper#(U71(X1, X2, X3)) -> proper#(X2))
        (proper#(U33(X)) -> proper#(X), proper#(U71(X1, X2, X3)) -> proper#(X3))
        (proper#(U33(X)) -> proper#(X), proper#(and(X1, X2)) -> proper#(X1))
        (proper#(U33(X)) -> proper#(X), proper#(and(X1, X2)) -> proper#(X2))
        (proper#(U13(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X1))
        (proper#(U13(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X2))
        (proper#(U13(X)) -> proper#(X), proper#(isNat(X)) -> proper#(X))
        (proper#(U13(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X1))
        (proper#(U13(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X2))
        (proper#(U13(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X3))
        (proper#(U13(X)) -> proper#(X), proper#(U13(X)) -> proper#(X))
        (proper#(U13(X)) -> proper#(X), proper#(U22(X)) -> proper#(X))
        (proper#(U13(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X1))
        (proper#(U13(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X2))
        (proper#(U13(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X1))
        (proper#(U13(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X2))
        (proper#(U13(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X1))
        (proper#(U13(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X2))
        (proper#(U13(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X3))
        (proper#(U13(X)) -> proper#(X), proper#(U33(X)) -> proper#(X))
        (proper#(U13(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X1))
        (proper#(U13(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X2))
        (proper#(U13(X)) -> proper#(X), proper#(s(X)) -> proper#(X))
        (proper#(U13(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X1))
        (proper#(U13(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X2))
        (proper#(U13(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X1))
        (proper#(U13(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X2))
        (proper#(U13(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X3))
        (proper#(U13(X)) -> proper#(X), proper#(U61(X)) -> proper#(X))
        (proper#(U13(X)) -> proper#(X), proper#(x(X1, X2)) -> proper#(X1))
        (proper#(U13(X)) -> proper#(X), proper#(x(X1, X2)) -> proper#(X2))
        (proper#(U13(X)) -> proper#(X), proper#(U71(X1, X2, X3)) -> proper#(X1))
        (proper#(U13(X)) -> proper#(X), proper#(U71(X1, X2, X3)) -> proper#(X2))
        (proper#(U13(X)) -> proper#(X), proper#(U71(X1, X2, X3)) -> proper#(X3))
        (proper#(U13(X)) -> proper#(X), proper#(and(X1, X2)) -> proper#(X1))
        (proper#(U13(X)) -> proper#(X), proper#(and(X1, X2)) -> proper#(X2))
        (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U12(X1, X2)) -> proper#(X1))
        (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U12(X1, X2)) -> proper#(X2))
        (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(isNat(X)) -> proper#(X))
        (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U11(X1, X2, X3)) -> proper#(X1))
        (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U11(X1, X2, X3)) -> proper#(X2))
        (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U11(X1, X2, X3)) -> proper#(X3))
        (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U13(X)) -> proper#(X))
        (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U22(X)) -> proper#(X))
        (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U21(X1, X2)) -> proper#(X1))
        (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U21(X1, X2)) -> proper#(X2))
        (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U32(X1, X2)) -> proper#(X1))
        (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U32(X1, X2)) -> proper#(X2))
        (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U31(X1, X2, X3)) -> proper#(X1))
        (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U31(X1, X2, X3)) -> proper#(X2))
        (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U31(X1, X2, X3)) -> proper#(X3))
        (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U33(X)) -> proper#(X))
        (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U41(X1, X2)) -> proper#(X1))
        (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U41(X1, X2)) -> proper#(X2))
        (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(s(X)) -> proper#(X))
        (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(plus(X1, X2)) -> proper#(X1))
        (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(plus(X1, X2)) -> proper#(X2))
        (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U51(X1, X2, X3)) -> proper#(X1))
        (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U51(X1, X2, X3)) -> proper#(X2))
        (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U51(X1, X2, X3)) -> proper#(X3))
        (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U61(X)) -> proper#(X))
        (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(x(X1, X2)) -> proper#(X1))
        (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(x(X1, X2)) -> proper#(X2))
        (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U71(X1, X2, X3)) -> proper#(X1))
        (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U71(X1, X2, X3)) -> proper#(X2))
        (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U71(X1, X2, X3)) -> proper#(X3))
        (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(and(X1, X2)) -> proper#(X1))
        (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(and(X1, X2)) -> proper#(X2))
        (proper#(U31(X1, X2, X3)) -> proper#(X3), proper#(U12(X1, X2)) -> proper#(X1))
        (proper#(U31(X1, X2, X3)) -> proper#(X3), proper#(U12(X1, X2)) -> proper#(X2))
        (proper#(U31(X1, X2, X3)) -> proper#(X3), proper#(isNat(X)) -> proper#(X))
        (proper#(U31(X1, X2, X3)) -> proper#(X3), proper#(U11(X1, X2, X3)) -> proper#(X1))
        (proper#(U31(X1, X2, X3)) -> proper#(X3), proper#(U11(X1, X2, X3)) -> proper#(X2))
        (proper#(U31(X1, X2, X3)) -> proper#(X3), proper#(U11(X1, X2, X3)) -> proper#(X3))
        (proper#(U31(X1, X2, X3)) -> proper#(X3), proper#(U13(X)) -> proper#(X))
        (proper#(U31(X1, X2, X3)) -> proper#(X3), proper#(U22(X)) -> proper#(X))
        (proper#(U31(X1, X2, X3)) -> proper#(X3), proper#(U21(X1, X2)) -> proper#(X1))
        (proper#(U31(X1, X2, X3)) -> proper#(X3), proper#(U21(X1, X2)) -> proper#(X2))
        (proper#(U31(X1, X2, X3)) -> proper#(X3), proper#(U32(X1, X2)) -> proper#(X1))
        (proper#(U31(X1, X2, X3)) -> proper#(X3), proper#(U32(X1, X2)) -> proper#(X2))
        (proper#(U31(X1, X2, X3)) -> proper#(X3), proper#(U31(X1, X2, X3)) -> proper#(X1))
        (proper#(U31(X1, X2, X3)) -> proper#(X3), proper#(U31(X1, X2, X3)) -> proper#(X2))
        (proper#(U31(X1, X2, X3)) -> proper#(X3), proper#(U31(X1, X2, X3)) -> proper#(X3))
        (proper#(U31(X1, X2, X3)) -> proper#(X3), proper#(U33(X)) -> proper#(X))
        (proper#(U31(X1, X2, X3)) -> proper#(X3), proper#(U41(X1, X2)) -> proper#(X1))
        (proper#(U31(X1, X2, X3)) -> proper#(X3), proper#(U41(X1, X2)) -> proper#(X2))
        (proper#(U31(X1, X2, X3)) -> proper#(X3), proper#(s(X)) -> proper#(X))
        (proper#(U31(X1, X2, X3)) -> proper#(X3), proper#(plus(X1, X2)) -> proper#(X1))
        (proper#(U31(X1, X2, X3)) -> proper#(X3), proper#(plus(X1, X2)) -> proper#(X2))
        (proper#(U31(X1, X2, X3)) -> proper#(X3), proper#(U51(X1, X2, X3)) -> proper#(X1))
        (proper#(U31(X1, X2, X3)) -> proper#(X3), proper#(U51(X1, X2, X3)) -> proper#(X2))
        (proper#(U31(X1, X2, X3)) -> proper#(X3), proper#(U51(X1, X2, X3)) -> proper#(X3))
        (proper#(U31(X1, X2, X3)) -> proper#(X3), proper#(U61(X)) -> proper#(X))
        (proper#(U31(X1, X2, X3)) -> proper#(X3), proper#(x(X1, X2)) -> proper#(X1))
        (proper#(U31(X1, X2, X3)) -> proper#(X3), proper#(x(X1, X2)) -> proper#(X2))
        (proper#(U31(X1, X2, X3)) -> proper#(X3), proper#(U71(X1, X2, X3)) -> proper#(X1))
        (proper#(U31(X1, X2, X3)) -> proper#(X3), proper#(U71(X1, X2, X3)) -> proper#(X2))
        (proper#(U31(X1, X2, X3)) -> proper#(X3), proper#(U71(X1, X2, X3)) -> proper#(X3))
        (proper#(U31(X1, X2, X3)) -> proper#(X3), proper#(and(X1, X2)) -> proper#(X1))
        (proper#(U31(X1, X2, X3)) -> proper#(X3), proper#(and(X1, X2)) -> proper#(X2))
        (proper#(and(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
        (proper#(and(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
        (proper#(and(X1, X2)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
        (proper#(and(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
        (proper#(and(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X2))
        (proper#(and(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
        (proper#(and(X1, X2)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
        (proper#(and(X1, X2)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
        (proper#(and(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
        (proper#(and(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X2))
        (proper#(and(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
        (proper#(and(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
        (proper#(and(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
        (proper#(and(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
        (proper#(and(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X3))
        (proper#(and(X1, X2)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
        (proper#(and(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
        (proper#(and(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
        (proper#(and(X1, X2)) -> proper#(X1), proper#(s(X)) -> proper#(X))
        (proper#(and(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X1))
        (proper#(and(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X2))
        (proper#(and(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X1))
        (proper#(and(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X2))
        (proper#(and(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X3))
        (proper#(and(X1, X2)) -> proper#(X1), proper#(U61(X)) -> proper#(X))
        (proper#(and(X1, X2)) -> proper#(X1), proper#(x(X1, X2)) -> proper#(X1))
        (proper#(and(X1, X2)) -> proper#(X1), proper#(x(X1, X2)) -> proper#(X2))
        (proper#(and(X1, X2)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X1))
        (proper#(and(X1, X2)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X2))
        (proper#(and(X1, X2)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X3))
        (proper#(and(X1, X2)) -> proper#(X1), proper#(and(X1, X2)) -> proper#(X1))
        (proper#(and(X1, X2)) -> proper#(X1), proper#(and(X1, X2)) -> proper#(X2))
        (proper#(x(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
        (proper#(x(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
        (proper#(x(X1, X2)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
        (proper#(x(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
        (proper#(x(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X2))
        (proper#(x(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
        (proper#(x(X1, X2)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
        (proper#(x(X1, X2)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
        (proper#(x(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
        (proper#(x(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X2))
        (proper#(x(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
        (proper#(x(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
        (proper#(x(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
        (proper#(x(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
        (proper#(x(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X3))
        (proper#(x(X1, X2)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
        (proper#(x(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
        (proper#(x(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
        (proper#(x(X1, X2)) -> proper#(X1), proper#(s(X)) -> proper#(X))
        (proper#(x(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X1))
        (proper#(x(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X2))
        (proper#(x(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X1))
        (proper#(x(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X2))
        (proper#(x(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X3))
        (proper#(x(X1, X2)) -> proper#(X1), proper#(U61(X)) -> proper#(X))
        (proper#(x(X1, X2)) -> proper#(X1), proper#(x(X1, X2)) -> proper#(X1))
        (proper#(x(X1, X2)) -> proper#(X1), proper#(x(X1, X2)) -> proper#(X2))
        (proper#(x(X1, X2)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X1))
        (proper#(x(X1, X2)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X2))
        (proper#(x(X1, X2)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X3))
        (proper#(x(X1, X2)) -> proper#(X1), proper#(and(X1, X2)) -> proper#(X1))
        (proper#(x(X1, X2)) -> proper#(X1), proper#(and(X1, X2)) -> proper#(X2))
        (proper#(plus(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
        (proper#(plus(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
        (proper#(plus(X1, X2)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
        (proper#(plus(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
        (proper#(plus(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X2))
        (proper#(plus(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
        (proper#(plus(X1, X2)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
        (proper#(plus(X1, X2)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
        (proper#(plus(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
        (proper#(plus(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X2))
        (proper#(plus(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
        (proper#(plus(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
        (proper#(plus(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
        (proper#(plus(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
        (proper#(plus(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X3))
        (proper#(plus(X1, X2)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
        (proper#(plus(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
        (proper#(plus(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
        (proper#(plus(X1, X2)) -> proper#(X1), proper#(s(X)) -> proper#(X))
        (proper#(plus(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X1))
        (proper#(plus(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X2))
        (proper#(plus(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X1))
        (proper#(plus(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X2))
        (proper#(plus(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X3))
        (proper#(plus(X1, X2)) -> proper#(X1), proper#(U61(X)) -> proper#(X))
        (proper#(plus(X1, X2)) -> proper#(X1), proper#(x(X1, X2)) -> proper#(X1))
        (proper#(plus(X1, X2)) -> proper#(X1), proper#(x(X1, X2)) -> proper#(X2))
        (proper#(plus(X1, X2)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X1))
        (proper#(plus(X1, X2)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X2))
        (proper#(plus(X1, X2)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X3))
        (proper#(plus(X1, X2)) -> proper#(X1), proper#(and(X1, X2)) -> proper#(X1))
        (proper#(plus(X1, X2)) -> proper#(X1), proper#(and(X1, X2)) -> proper#(X2))
        (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
        (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
        (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
        (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
        (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X2))
        (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
        (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
        (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
        (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
        (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X2))
        (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
        (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
        (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
        (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
        (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X3))
        (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
        (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
        (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
        (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(s(X)) -> proper#(X))
        (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X1))
        (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X2))
        (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X1))
        (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X2))
        (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X3))
        (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U61(X)) -> proper#(X))
        (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(x(X1, X2)) -> proper#(X1))
        (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(x(X1, X2)) -> proper#(X2))
        (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X1))
        (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X2))
        (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X3))
        (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(and(X1, X2)) -> proper#(X1))
        (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(and(X1, X2)) -> proper#(X2))
        (proper#(U21(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
        (proper#(U21(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
        (proper#(U21(X1, X2)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
        (proper#(U21(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
        (proper#(U21(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X2))
        (proper#(U21(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
        (proper#(U21(X1, X2)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
        (proper#(U21(X1, X2)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
        (proper#(U21(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
        (proper#(U21(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X2))
        (proper#(U21(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
        (proper#(U21(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
        (proper#(U21(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
        (proper#(U21(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
        (proper#(U21(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X3))
        (proper#(U21(X1, X2)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
        (proper#(U21(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
        (proper#(U21(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
        (proper#(U21(X1, X2)) -> proper#(X1), proper#(s(X)) -> proper#(X))
        (proper#(U21(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X1))
        (proper#(U21(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X2))
        (proper#(U21(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X1))
        (proper#(U21(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X2))
        (proper#(U21(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X3))
        (proper#(U21(X1, X2)) -> proper#(X1), proper#(U61(X)) -> proper#(X))
        (proper#(U21(X1, X2)) -> proper#(X1), proper#(x(X1, X2)) -> proper#(X1))
        (proper#(U21(X1, X2)) -> proper#(X1), proper#(x(X1, X2)) -> proper#(X2))
        (proper#(U21(X1, X2)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X1))
        (proper#(U21(X1, X2)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X2))
        (proper#(U21(X1, X2)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X3))
        (proper#(U21(X1, X2)) -> proper#(X1), proper#(and(X1, X2)) -> proper#(X1))
        (proper#(U21(X1, X2)) -> proper#(X1), proper#(and(X1, X2)) -> proper#(X2))
        (proper#(U12(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
        (proper#(U12(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
        (proper#(U12(X1, X2)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
        (proper#(U12(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
        (proper#(U12(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X2))
        (proper#(U12(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
        (proper#(U12(X1, X2)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
        (proper#(U12(X1, X2)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
        (proper#(U12(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
        (proper#(U12(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X2))
        (proper#(U12(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
        (proper#(U12(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
        (proper#(U12(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
        (proper#(U12(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
        (proper#(U12(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X3))
        (proper#(U12(X1, X2)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
        (proper#(U12(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
        (proper#(U12(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
        (proper#(U12(X1, X2)) -> proper#(X1), proper#(s(X)) -> proper#(X))
        (proper#(U12(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X1))
        (proper#(U12(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X2))
        (proper#(U12(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X1))
        (proper#(U12(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X2))
        (proper#(U12(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X3))
        (proper#(U12(X1, X2)) -> proper#(X1), proper#(U61(X)) -> proper#(X))
        (proper#(U12(X1, X2)) -> proper#(X1), proper#(x(X1, X2)) -> proper#(X1))
        (proper#(U12(X1, X2)) -> proper#(X1), proper#(x(X1, X2)) -> proper#(X2))
        (proper#(U12(X1, X2)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X1))
        (proper#(U12(X1, X2)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X2))
        (proper#(U12(X1, X2)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X3))
        (proper#(U12(X1, X2)) -> proper#(X1), proper#(and(X1, X2)) -> proper#(X1))
        (proper#(U12(X1, X2)) -> proper#(X1), proper#(and(X1, X2)) -> proper#(X2))
       }
       SCCS:
        Scc:
         {    proper#(U12(X1, X2)) -> proper#(X1),
              proper#(U12(X1, X2)) -> proper#(X2),
                 proper#(isNat(X)) -> proper#(X),
          proper#(U11(X1, X2, X3)) -> proper#(X1),
          proper#(U11(X1, X2, X3)) -> proper#(X2),
          proper#(U11(X1, X2, X3)) -> proper#(X3),
                   proper#(U13(X)) -> proper#(X),
                   proper#(U22(X)) -> proper#(X),
              proper#(U21(X1, X2)) -> proper#(X1),
              proper#(U21(X1, X2)) -> proper#(X2),
              proper#(U32(X1, X2)) -> proper#(X1),
              proper#(U32(X1, X2)) -> proper#(X2),
          proper#(U31(X1, X2, X3)) -> proper#(X1),
          proper#(U31(X1, X2, X3)) -> proper#(X2),
          proper#(U31(X1, X2, X3)) -> proper#(X3),
                   proper#(U33(X)) -> proper#(X),
              proper#(U41(X1, X2)) -> proper#(X1),
              proper#(U41(X1, X2)) -> proper#(X2),
                     proper#(s(X)) -> proper#(X),
             proper#(plus(X1, X2)) -> proper#(X1),
             proper#(plus(X1, X2)) -> proper#(X2),
          proper#(U51(X1, X2, X3)) -> proper#(X1),
          proper#(U51(X1, X2, X3)) -> proper#(X2),
          proper#(U51(X1, X2, X3)) -> proper#(X3),
                   proper#(U61(X)) -> proper#(X),
                proper#(x(X1, X2)) -> proper#(X1),
                proper#(x(X1, X2)) -> proper#(X2),
          proper#(U71(X1, X2, X3)) -> proper#(X1),
          proper#(U71(X1, X2, X3)) -> proper#(X2),
          proper#(U71(X1, X2, X3)) -> proper#(X3),
              proper#(and(X1, X2)) -> proper#(X1),
              proper#(and(X1, X2)) -> proper#(X2)}
        SCC:
         Strict:
          {    proper#(U12(X1, X2)) -> proper#(X1),
               proper#(U12(X1, X2)) -> proper#(X2),
                  proper#(isNat(X)) -> proper#(X),
           proper#(U11(X1, X2, X3)) -> proper#(X1),
           proper#(U11(X1, X2, X3)) -> proper#(X2),
           proper#(U11(X1, X2, X3)) -> proper#(X3),
                    proper#(U13(X)) -> proper#(X),
                    proper#(U22(X)) -> proper#(X),
               proper#(U21(X1, X2)) -> proper#(X1),
               proper#(U21(X1, X2)) -> proper#(X2),
               proper#(U32(X1, X2)) -> proper#(X1),
               proper#(U32(X1, X2)) -> proper#(X2),
           proper#(U31(X1, X2, X3)) -> proper#(X1),
           proper#(U31(X1, X2, X3)) -> proper#(X2),
           proper#(U31(X1, X2, X3)) -> proper#(X3),
                    proper#(U33(X)) -> proper#(X),
               proper#(U41(X1, X2)) -> proper#(X1),
               proper#(U41(X1, X2)) -> proper#(X2),
                      proper#(s(X)) -> proper#(X),
              proper#(plus(X1, X2)) -> proper#(X1),
              proper#(plus(X1, X2)) -> proper#(X2),
           proper#(U51(X1, X2, X3)) -> proper#(X1),
           proper#(U51(X1, X2, X3)) -> proper#(X2),
           proper#(U51(X1, X2, X3)) -> proper#(X3),
                    proper#(U61(X)) -> proper#(X),
                 proper#(x(X1, X2)) -> proper#(X1),
                 proper#(x(X1, X2)) -> proper#(X2),
           proper#(U71(X1, X2, X3)) -> proper#(X1),
           proper#(U71(X1, X2, X3)) -> proper#(X2),
           proper#(U71(X1, X2, X3)) -> proper#(X3),
               proper#(and(X1, X2)) -> proper#(X1),
               proper#(and(X1, X2)) -> proper#(X2)}
         Weak:
         {              U12(mark(X1), X2) -> mark(U12(X1, X2)),
                      U12(ok(X1), ok(X2)) -> ok(U12(X1, X2)),
                             isNat(ok(X)) -> ok(isNat(X)),
                      active(U12(X1, X2)) -> U12(active(X1), X2),
                    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(X1, X2, X3)) -> U11(active(X1), X2, X3),
                active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                           active(U13(X)) -> U13(active(X)),
                        active(U13(tt())) -> mark(tt()),
                           active(U22(X)) -> U22(active(X)),
                        active(U22(tt())) -> mark(tt()),
                      active(U21(X1, X2)) -> U21(active(X1), X2),
                    active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                      active(U32(X1, X2)) -> U32(active(X1), X2),
                    active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
                  active(U31(X1, X2, X3)) -> U31(active(X1), X2, X3),
                active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                           active(U33(X)) -> U33(active(X)),
                        active(U33(tt())) -> mark(tt()),
                      active(U41(X1, X2)) -> U41(active(X1), X2),
                     active(U41(tt(), N)) -> mark(N),
                             active(s(X)) -> s(active(X)),
                    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(plus(X1, X2)) -> plus(X1, active(X2)),
                     active(plus(X1, X2)) -> plus(active(X1), X2),
                  active(U51(X1, X2, X3)) -> U51(active(X1), X2, X3),
                  active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                           active(U61(X)) -> U61(active(X)),
                        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(x(X1, X2)) -> x(X1, active(X2)),
                        active(x(X1, X2)) -> x(active(X1), X2),
                  active(U71(X1, X2, X3)) -> U71(active(X1), X2, X3),
                  active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                      active(and(X1, X2)) -> and(active(X1), X2),
                     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(mark(X1), X2, X3) -> mark(U11(X1, X2, X3)),
              U11(ok(X1), ok(X2), ok(X3)) -> ok(U11(X1, X2, X3)),
                             U13(mark(X)) -> mark(U13(X)),
                               U13(ok(X)) -> ok(U13(X)),
                             U22(mark(X)) -> mark(U22(X)),
                               U22(ok(X)) -> ok(U22(X)),
                        U21(mark(X1), X2) -> mark(U21(X1, X2)),
                      U21(ok(X1), ok(X2)) -> ok(U21(X1, X2)),
                        U32(mark(X1), X2) -> mark(U32(X1, X2)),
                      U32(ok(X1), ok(X2)) -> ok(U32(X1, X2)),
                    U31(mark(X1), X2, X3) -> mark(U31(X1, X2, X3)),
              U31(ok(X1), ok(X2), ok(X3)) -> ok(U31(X1, X2, X3)),
                             U33(mark(X)) -> mark(U33(X)),
                               U33(ok(X)) -> ok(U33(X)),
                        U41(mark(X1), X2) -> mark(U41(X1, X2)),
                      U41(ok(X1), ok(X2)) -> ok(U41(X1, X2)),
                               s(mark(X)) -> mark(s(X)),
                                 s(ok(X)) -> ok(s(X)),
                       plus(X1, mark(X2)) -> mark(plus(X1, X2)),
                       plus(mark(X1), X2) -> mark(plus(X1, X2)),
                     plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)),
                    U51(mark(X1), X2, X3) -> mark(U51(X1, X2, X3)),
              U51(ok(X1), ok(X2), ok(X3)) -> ok(U51(X1, X2, X3)),
                             U61(mark(X)) -> mark(U61(X)),
                               U61(ok(X)) -> ok(U61(X)),
                          x(X1, mark(X2)) -> mark(x(X1, X2)),
                          x(mark(X1), X2) -> mark(x(X1, X2)),
                        x(ok(X1), ok(X2)) -> ok(x(X1, X2)),
                    U71(mark(X1), X2, X3) -> mark(U71(X1, X2, X3)),
              U71(ok(X1), ok(X2), ok(X3)) -> ok(U71(X1, X2, X3)),
                        and(mark(X1), X2) -> mark(and(X1, X2)),
                      and(ok(X1), ok(X2)) -> ok(and(X1, X2)),
                         isNatKind(ok(X)) -> ok(isNatKind(X)),
                      proper(U12(X1, X2)) -> U12(proper(X1), proper(X2)),
                         proper(isNat(X)) -> isNat(proper(X)),
                  proper(U11(X1, X2, X3)) -> U11(proper(X1), proper(X2), proper(X3)),
                             proper(tt()) -> ok(tt()),
                           proper(U13(X)) -> U13(proper(X)),
                           proper(U22(X)) -> U22(proper(X)),
                      proper(U21(X1, X2)) -> U21(proper(X1), proper(X2)),
                      proper(U32(X1, X2)) -> U32(proper(X1), proper(X2)),
                  proper(U31(X1, X2, X3)) -> U31(proper(X1), proper(X2), proper(X3)),
                           proper(U33(X)) -> U33(proper(X)),
                      proper(U41(X1, X2)) -> U41(proper(X1), proper(X2)),
                             proper(s(X)) -> s(proper(X)),
                     proper(plus(X1, X2)) -> plus(proper(X1), proper(X2)),
                  proper(U51(X1, X2, X3)) -> U51(proper(X1), proper(X2), proper(X3)),
                              proper(0()) -> ok(0()),
                           proper(U61(X)) -> U61(proper(X)),
                        proper(x(X1, X2)) -> x(proper(X1), proper(X2)),
                  proper(U71(X1, X2, X3)) -> U71(proper(X1), proper(X2), proper(X3)),
                      proper(and(X1, X2)) -> and(proper(X1), proper(X2)),
                     proper(isNatKind(X)) -> isNatKind(proper(X)),
                             top(mark(X)) -> top(proper(X)),
                               top(ok(X)) -> top(active(X))}
         SPSC:
          Simple Projection:
           pi(proper#) = 0
          Strict:
           {    proper#(U12(X1, X2)) -> proper#(X1),
                proper#(U12(X1, X2)) -> proper#(X2),
                   proper#(isNat(X)) -> proper#(X),
            proper#(U11(X1, X2, X3)) -> proper#(X1),
            proper#(U11(X1, X2, X3)) -> proper#(X2),
            proper#(U11(X1, X2, X3)) -> proper#(X3),
                     proper#(U13(X)) -> proper#(X),
                     proper#(U22(X)) -> proper#(X),
                proper#(U21(X1, X2)) -> proper#(X1),
                proper#(U21(X1, X2)) -> proper#(X2),
                proper#(U32(X1, X2)) -> proper#(X1),
                proper#(U32(X1, X2)) -> proper#(X2),
            proper#(U31(X1, X2, X3)) -> proper#(X1),
            proper#(U31(X1, X2, X3)) -> proper#(X2),
            proper#(U31(X1, X2, X3)) -> proper#(X3),
                     proper#(U33(X)) -> proper#(X),
                proper#(U41(X1, X2)) -> proper#(X1),
                proper#(U41(X1, X2)) -> proper#(X2),
                       proper#(s(X)) -> proper#(X),
               proper#(plus(X1, X2)) -> proper#(X1),
               proper#(plus(X1, X2)) -> proper#(X2),
            proper#(U51(X1, X2, X3)) -> proper#(X1),
            proper#(U51(X1, X2, X3)) -> proper#(X2),
            proper#(U51(X1, X2, X3)) -> proper#(X3),
                     proper#(U61(X)) -> proper#(X),
                  proper#(x(X1, X2)) -> proper#(X1),
                  proper#(x(X1, X2)) -> proper#(X2),
            proper#(U71(X1, X2, X3)) -> proper#(X1),
            proper#(U71(X1, X2, X3)) -> proper#(X2),
            proper#(U71(X1, X2, X3)) -> proper#(X3),
                proper#(and(X1, X2)) -> proper#(X2)}
          EDG:
           {
            (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(and(X1, X2)) -> proper#(X2))
            (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X3))
            (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X2))
            (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X1))
            (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(x(X1, X2)) -> proper#(X2))
            (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(x(X1, X2)) -> proper#(X1))
            (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U61(X)) -> proper#(X))
            (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X3))
            (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X2))
            (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X1))
            (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X2))
            (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X1))
            (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(s(X)) -> proper#(X))
            (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
            (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
            (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
            (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X3))
            (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
            (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
            (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
            (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
            (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X2))
            (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
            (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
            (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
            (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
            (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X2))
            (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
            (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
            (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
            (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
            (proper#(U32(X1, X2)) -> proper#(X1), proper#(and(X1, X2)) -> proper#(X2))
            (proper#(U32(X1, X2)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X3))
            (proper#(U32(X1, X2)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X2))
            (proper#(U32(X1, X2)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X1))
            (proper#(U32(X1, X2)) -> proper#(X1), proper#(x(X1, X2)) -> proper#(X2))
            (proper#(U32(X1, X2)) -> proper#(X1), proper#(x(X1, X2)) -> proper#(X1))
            (proper#(U32(X1, X2)) -> proper#(X1), proper#(U61(X)) -> proper#(X))
            (proper#(U32(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X3))
            (proper#(U32(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X2))
            (proper#(U32(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X1))
            (proper#(U32(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X2))
            (proper#(U32(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X1))
            (proper#(U32(X1, X2)) -> proper#(X1), proper#(s(X)) -> proper#(X))
            (proper#(U32(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
            (proper#(U32(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
            (proper#(U32(X1, X2)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
            (proper#(U32(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X3))
            (proper#(U32(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
            (proper#(U32(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
            (proper#(U32(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
            (proper#(U32(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
            (proper#(U32(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X2))
            (proper#(U32(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
            (proper#(U32(X1, X2)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
            (proper#(U32(X1, X2)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
            (proper#(U32(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
            (proper#(U32(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X2))
            (proper#(U32(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
            (proper#(U32(X1, X2)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
            (proper#(U32(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
            (proper#(U32(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
            (proper#(U41(X1, X2)) -> proper#(X1), proper#(and(X1, X2)) -> proper#(X2))
            (proper#(U41(X1, X2)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X3))
            (proper#(U41(X1, X2)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X2))
            (proper#(U41(X1, X2)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X1))
            (proper#(U41(X1, X2)) -> proper#(X1), proper#(x(X1, X2)) -> proper#(X2))
            (proper#(U41(X1, X2)) -> proper#(X1), proper#(x(X1, X2)) -> proper#(X1))
            (proper#(U41(X1, X2)) -> proper#(X1), proper#(U61(X)) -> proper#(X))
            (proper#(U41(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X3))
            (proper#(U41(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X2))
            (proper#(U41(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X1))
            (proper#(U41(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X2))
            (proper#(U41(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X1))
            (proper#(U41(X1, X2)) -> proper#(X1), proper#(s(X)) -> proper#(X))
            (proper#(U41(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
            (proper#(U41(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
            (proper#(U41(X1, X2)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
            (proper#(U41(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X3))
            (proper#(U41(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
            (proper#(U41(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
            (proper#(U41(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
            (proper#(U41(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
            (proper#(U41(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X2))
            (proper#(U41(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
            (proper#(U41(X1, X2)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
            (proper#(U41(X1, X2)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
            (proper#(U41(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
            (proper#(U41(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X2))
            (proper#(U41(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
            (proper#(U41(X1, X2)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
            (proper#(U41(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
            (proper#(U41(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
            (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(and(X1, X2)) -> proper#(X2))
            (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X3))
            (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X2))
            (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X1))
            (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(x(X1, X2)) -> proper#(X2))
            (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(x(X1, X2)) -> proper#(X1))
            (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U61(X)) -> proper#(X))
            (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X3))
            (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X2))
            (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X1))
            (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X2))
            (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X1))
            (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(s(X)) -> proper#(X))
            (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
            (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
            (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
            (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X3))
            (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
            (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
            (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
            (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
            (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X2))
            (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
            (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
            (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
            (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
            (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X2))
            (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
            (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
            (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
            (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
            (proper#(U71(X1, X2, X3)) -> proper#(X1), proper#(and(X1, X2)) -> proper#(X2))
            (proper#(U71(X1, X2, X3)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X3))
            (proper#(U71(X1, X2, X3)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X2))
            (proper#(U71(X1, X2, X3)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X1))
            (proper#(U71(X1, X2, X3)) -> proper#(X1), proper#(x(X1, X2)) -> proper#(X2))
            (proper#(U71(X1, X2, X3)) -> proper#(X1), proper#(x(X1, X2)) -> proper#(X1))
            (proper#(U71(X1, X2, X3)) -> proper#(X1), proper#(U61(X)) -> proper#(X))
            (proper#(U71(X1, X2, X3)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X3))
            (proper#(U71(X1, X2, X3)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X2))
            (proper#(U71(X1, X2, X3)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X1))
            (proper#(U71(X1, X2, X3)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X2))
            (proper#(U71(X1, X2, X3)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X1))
            (proper#(U71(X1, X2, X3)) -> proper#(X1), proper#(s(X)) -> proper#(X))
            (proper#(U71(X1, X2, X3)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
            (proper#(U71(X1, X2, X3)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
            (proper#(U71(X1, X2, X3)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
            (proper#(U71(X1, X2, X3)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X3))
            (proper#(U71(X1, X2, X3)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
            (proper#(U71(X1, X2, X3)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
            (proper#(U71(X1, X2, X3)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
            (proper#(U71(X1, X2, X3)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
            (proper#(U71(X1, X2, X3)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X2))
            (proper#(U71(X1, X2, X3)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
            (proper#(U71(X1, X2, X3)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
            (proper#(U71(X1, X2, X3)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
            (proper#(U71(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
            (proper#(U71(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X2))
            (proper#(U71(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
            (proper#(U71(X1, X2, X3)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
            (proper#(U71(X1, X2, X3)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
            (proper#(U71(X1, X2, X3)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
            (proper#(U31(X1, X2, X3)) -> proper#(X3), proper#(and(X1, X2)) -> proper#(X2))
            (proper#(U31(X1, X2, X3)) -> proper#(X3), proper#(U71(X1, X2, X3)) -> proper#(X3))
            (proper#(U31(X1, X2, X3)) -> proper#(X3), proper#(U71(X1, X2, X3)) -> proper#(X2))
            (proper#(U31(X1, X2, X3)) -> proper#(X3), proper#(U71(X1, X2, X3)) -> proper#(X1))
            (proper#(U31(X1, X2, X3)) -> proper#(X3), proper#(x(X1, X2)) -> proper#(X2))
            (proper#(U31(X1, X2, X3)) -> proper#(X3), proper#(x(X1, X2)) -> proper#(X1))
            (proper#(U31(X1, X2, X3)) -> proper#(X3), proper#(U61(X)) -> proper#(X))
            (proper#(U31(X1, X2, X3)) -> proper#(X3), proper#(U51(X1, X2, X3)) -> proper#(X3))
            (proper#(U31(X1, X2, X3)) -> proper#(X3), proper#(U51(X1, X2, X3)) -> proper#(X2))
            (proper#(U31(X1, X2, X3)) -> proper#(X3), proper#(U51(X1, X2, X3)) -> proper#(X1))
            (proper#(U31(X1, X2, X3)) -> proper#(X3), proper#(plus(X1, X2)) -> proper#(X2))
            (proper#(U31(X1, X2, X3)) -> proper#(X3), proper#(plus(X1, X2)) -> proper#(X1))
            (proper#(U31(X1, X2, X3)) -> proper#(X3), proper#(s(X)) -> proper#(X))
            (proper#(U31(X1, X2, X3)) -> proper#(X3), proper#(U41(X1, X2)) -> proper#(X2))
            (proper#(U31(X1, X2, X3)) -> proper#(X3), proper#(U41(X1, X2)) -> proper#(X1))
            (proper#(U31(X1, X2, X3)) -> proper#(X3), proper#(U33(X)) -> proper#(X))
            (proper#(U31(X1, X2, X3)) -> proper#(X3), proper#(U31(X1, X2, X3)) -> proper#(X3))
            (proper#(U31(X1, X2, X3)) -> proper#(X3), proper#(U31(X1, X2, X3)) -> proper#(X2))
            (proper#(U31(X1, X2, X3)) -> proper#(X3), proper#(U31(X1, X2, X3)) -> proper#(X1))
            (proper#(U31(X1, X2, X3)) -> proper#(X3), proper#(U32(X1, X2)) -> proper#(X2))
            (proper#(U31(X1, X2, X3)) -> proper#(X3), proper#(U32(X1, X2)) -> proper#(X1))
            (proper#(U31(X1, X2, X3)) -> proper#(X3), proper#(U21(X1, X2)) -> proper#(X2))
            (proper#(U31(X1, X2, X3)) -> proper#(X3), proper#(U21(X1, X2)) -> proper#(X1))
            (proper#(U31(X1, X2, X3)) -> proper#(X3), proper#(U22(X)) -> proper#(X))
            (proper#(U31(X1, X2, X3)) -> proper#(X3), proper#(U13(X)) -> proper#(X))
            (proper#(U31(X1, X2, X3)) -> proper#(X3), proper#(U11(X1, X2, X3)) -> proper#(X3))
            (proper#(U31(X1, X2, X3)) -> proper#(X3), proper#(U11(X1, X2, X3)) -> proper#(X2))
            (proper#(U31(X1, X2, X3)) -> proper#(X3), proper#(U11(X1, X2, X3)) -> proper#(X1))
            (proper#(U31(X1, X2, X3)) -> proper#(X3), proper#(isNat(X)) -> proper#(X))
            (proper#(U31(X1, X2, X3)) -> proper#(X3), proper#(U12(X1, X2)) -> proper#(X2))
            (proper#(U31(X1, X2, X3)) -> proper#(X3), proper#(U12(X1, X2)) -> proper#(X1))
            (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(and(X1, X2)) -> proper#(X2))
            (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U71(X1, X2, X3)) -> proper#(X3))
            (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U71(X1, X2, X3)) -> proper#(X2))
            (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U71(X1, X2, X3)) -> proper#(X1))
            (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(x(X1, X2)) -> proper#(X2))
            (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(x(X1, X2)) -> proper#(X1))
            (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U61(X)) -> proper#(X))
            (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U51(X1, X2, X3)) -> proper#(X3))
            (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U51(X1, X2, X3)) -> proper#(X2))
            (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U51(X1, X2, X3)) -> proper#(X1))
            (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(plus(X1, X2)) -> proper#(X2))
            (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(plus(X1, X2)) -> proper#(X1))
            (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(s(X)) -> proper#(X))
            (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U41(X1, X2)) -> proper#(X2))
            (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U41(X1, X2)) -> proper#(X1))
            (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U33(X)) -> proper#(X))
            (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U31(X1, X2, X3)) -> proper#(X3))
            (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U31(X1, X2, X3)) -> proper#(X2))
            (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U31(X1, X2, X3)) -> proper#(X1))
            (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U32(X1, X2)) -> proper#(X2))
            (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U32(X1, X2)) -> proper#(X1))
            (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U21(X1, X2)) -> proper#(X2))
            (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U21(X1, X2)) -> proper#(X1))
            (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U22(X)) -> proper#(X))
            (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U13(X)) -> proper#(X))
            (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U11(X1, X2, X3)) -> proper#(X3))
            (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U11(X1, X2, X3)) -> proper#(X2))
            (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U11(X1, X2, X3)) -> proper#(X1))
            (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(isNat(X)) -> proper#(X))
            (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U12(X1, X2)) -> proper#(X2))
            (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U12(X1, X2)) -> proper#(X1))
            (proper#(U13(X)) -> proper#(X), proper#(and(X1, X2)) -> proper#(X2))
            (proper#(U13(X)) -> proper#(X), proper#(U71(X1, X2, X3)) -> proper#(X3))
            (proper#(U13(X)) -> proper#(X), proper#(U71(X1, X2, X3)) -> proper#(X2))
            (proper#(U13(X)) -> proper#(X), proper#(U71(X1, X2, X3)) -> proper#(X1))
            (proper#(U13(X)) -> proper#(X), proper#(x(X1, X2)) -> proper#(X2))
            (proper#(U13(X)) -> proper#(X), proper#(x(X1, X2)) -> proper#(X1))
            (proper#(U13(X)) -> proper#(X), proper#(U61(X)) -> proper#(X))
            (proper#(U13(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X3))
            (proper#(U13(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X2))
            (proper#(U13(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X1))
            (proper#(U13(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X2))
            (proper#(U13(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X1))
            (proper#(U13(X)) -> proper#(X), proper#(s(X)) -> proper#(X))
            (proper#(U13(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X2))
            (proper#(U13(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X1))
            (proper#(U13(X)) -> proper#(X), proper#(U33(X)) -> proper#(X))
            (proper#(U13(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X3))
            (proper#(U13(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X2))
            (proper#(U13(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X1))
            (proper#(U13(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X2))
            (proper#(U13(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X1))
            (proper#(U13(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X2))
            (proper#(U13(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X1))
            (proper#(U13(X)) -> proper#(X), proper#(U22(X)) -> proper#(X))
            (proper#(U13(X)) -> proper#(X), proper#(U13(X)) -> proper#(X))
            (proper#(U13(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X3))
            (proper#(U13(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X2))
            (proper#(U13(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X1))
            (proper#(U13(X)) -> proper#(X), proper#(isNat(X)) -> proper#(X))
            (proper#(U13(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X2))
            (proper#(U13(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X1))
            (proper#(U33(X)) -> proper#(X), proper#(and(X1, X2)) -> proper#(X2))
            (proper#(U33(X)) -> proper#(X), proper#(U71(X1, X2, X3)) -> proper#(X3))
            (proper#(U33(X)) -> proper#(X), proper#(U71(X1, X2, X3)) -> proper#(X2))
            (proper#(U33(X)) -> proper#(X), proper#(U71(X1, X2, X3)) -> proper#(X1))
            (proper#(U33(X)) -> proper#(X), proper#(x(X1, X2)) -> proper#(X2))
            (proper#(U33(X)) -> proper#(X), proper#(x(X1, X2)) -> proper#(X1))
            (proper#(U33(X)) -> proper#(X), proper#(U61(X)) -> proper#(X))
            (proper#(U33(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X3))
            (proper#(U33(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X2))
            (proper#(U33(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X1))
            (proper#(U33(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X2))
            (proper#(U33(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X1))
            (proper#(U33(X)) -> proper#(X), proper#(s(X)) -> proper#(X))
            (proper#(U33(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X2))
            (proper#(U33(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X1))
            (proper#(U33(X)) -> proper#(X), proper#(U33(X)) -> proper#(X))
            (proper#(U33(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X3))
            (proper#(U33(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X2))
            (proper#(U33(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X1))
            (proper#(U33(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X2))
            (proper#(U33(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X1))
            (proper#(U33(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X2))
            (proper#(U33(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X1))
            (proper#(U33(X)) -> proper#(X), proper#(U22(X)) -> proper#(X))
            (proper#(U33(X)) -> proper#(X), proper#(U13(X)) -> proper#(X))
            (proper#(U33(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X3))
            (proper#(U33(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X2))
            (proper#(U33(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X1))
            (proper#(U33(X)) -> proper#(X), proper#(isNat(X)) -> proper#(X))
            (proper#(U33(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X2))
            (proper#(U33(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X1))
            (proper#(U61(X)) -> proper#(X), proper#(and(X1, X2)) -> proper#(X2))
            (proper#(U61(X)) -> proper#(X), proper#(U71(X1, X2, X3)) -> proper#(X3))
            (proper#(U61(X)) -> proper#(X), proper#(U71(X1, X2, X3)) -> proper#(X2))
            (proper#(U61(X)) -> proper#(X), proper#(U71(X1, X2, X3)) -> proper#(X1))
            (proper#(U61(X)) -> proper#(X), proper#(x(X1, X2)) -> proper#(X2))
            (proper#(U61(X)) -> proper#(X), proper#(x(X1, X2)) -> proper#(X1))
            (proper#(U61(X)) -> proper#(X), proper#(U61(X)) -> proper#(X))
            (proper#(U61(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X3))
            (proper#(U61(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X2))
            (proper#(U61(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X1))
            (proper#(U61(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X2))
            (proper#(U61(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X1))
            (proper#(U61(X)) -> proper#(X), proper#(s(X)) -> proper#(X))
            (proper#(U61(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X2))
            (proper#(U61(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X1))
            (proper#(U61(X)) -> proper#(X), proper#(U33(X)) -> proper#(X))
            (proper#(U61(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X3))
            (proper#(U61(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X2))
            (proper#(U61(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X1))
            (proper#(U61(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X2))
            (proper#(U61(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X1))
            (proper#(U61(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X2))
            (proper#(U61(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X1))
            (proper#(U61(X)) -> proper#(X), proper#(U22(X)) -> proper#(X))
            (proper#(U61(X)) -> proper#(X), proper#(U13(X)) -> proper#(X))
            (proper#(U61(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X3))
            (proper#(U61(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X2))
            (proper#(U61(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X1))
            (proper#(U61(X)) -> proper#(X), proper#(isNat(X)) -> proper#(X))
            (proper#(U61(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X2))
            (proper#(U61(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X1))
            (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(and(X1, X2)) -> proper#(X2))
            (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X3))
            (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X2))
            (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X1))
            (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X2))
            (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X1))
            (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U61(X)) -> proper#(X))
            (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X3))
            (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X2))
            (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X1))
            (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X2))
            (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X1))
            (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(s(X)) -> proper#(X))
            (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
            (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
            (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
            (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X3))
            (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
            (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
            (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
            (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
            (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X2))
            (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
            (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
            (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
            (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
            (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X2))
            (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
            (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
            (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
            (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
            (proper#(U32(X1, X2)) -> proper#(X2), proper#(and(X1, X2)) -> proper#(X2))
            (proper#(U32(X1, X2)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X3))
            (proper#(U32(X1, X2)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X2))
            (proper#(U32(X1, X2)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X1))
            (proper#(U32(X1, X2)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X2))
            (proper#(U32(X1, X2)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X1))
            (proper#(U32(X1, X2)) -> proper#(X2), proper#(U61(X)) -> proper#(X))
            (proper#(U32(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X3))
            (proper#(U32(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X2))
            (proper#(U32(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X1))
            (proper#(U32(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X2))
            (proper#(U32(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X1))
            (proper#(U32(X1, X2)) -> proper#(X2), proper#(s(X)) -> proper#(X))
            (proper#(U32(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
            (proper#(U32(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
            (proper#(U32(X1, X2)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
            (proper#(U32(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X3))
            (proper#(U32(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
            (proper#(U32(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
            (proper#(U32(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
            (proper#(U32(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
            (proper#(U32(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X2))
            (proper#(U32(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
            (proper#(U32(X1, X2)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
            (proper#(U32(X1, X2)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
            (proper#(U32(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
            (proper#(U32(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X2))
            (proper#(U32(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
            (proper#(U32(X1, X2)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
            (proper#(U32(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
            (proper#(U32(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
            (proper#(U41(X1, X2)) -> proper#(X2), proper#(and(X1, X2)) -> proper#(X2))
            (proper#(U41(X1, X2)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X3))
            (proper#(U41(X1, X2)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X2))
            (proper#(U41(X1, X2)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X1))
            (proper#(U41(X1, X2)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X2))
            (proper#(U41(X1, X2)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X1))
            (proper#(U41(X1, X2)) -> proper#(X2), proper#(U61(X)) -> proper#(X))
            (proper#(U41(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X3))
            (proper#(U41(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X2))
            (proper#(U41(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X1))
            (proper#(U41(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X2))
            (proper#(U41(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X1))
            (proper#(U41(X1, X2)) -> proper#(X2), proper#(s(X)) -> proper#(X))
            (proper#(U41(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
            (proper#(U41(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
            (proper#(U41(X1, X2)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
            (proper#(U41(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X3))
            (proper#(U41(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
            (proper#(U41(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
            (proper#(U41(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
            (proper#(U41(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
            (proper#(U41(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X2))
            (proper#(U41(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
            (proper#(U41(X1, X2)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
            (proper#(U41(X1, X2)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
            (proper#(U41(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
            (proper#(U41(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X2))
            (proper#(U41(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
            (proper#(U41(X1, X2)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
            (proper#(U41(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
            (proper#(U41(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
            (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(and(X1, X2)) -> proper#(X2))
            (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X3))
            (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X2))
            (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X1))
            (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X2))
            (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X1))
            (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U61(X)) -> proper#(X))
            (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X3))
            (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X2))
            (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X1))
            (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X2))
            (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X1))
            (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(s(X)) -> proper#(X))
            (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
            (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
            (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
            (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X3))
            (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
            (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
            (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
            (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
            (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X2))
            (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
            (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
            (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
            (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
            (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X2))
            (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
            (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
            (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
            (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
            (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(and(X1, X2)) -> proper#(X2))
            (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X3))
            (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X2))
            (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X1))
            (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X2))
            (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X1))
            (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U61(X)) -> proper#(X))
            (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X3))
            (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X2))
            (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X1))
            (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X2))
            (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X1))
            (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(s(X)) -> proper#(X))
            (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
            (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
            (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
            (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X3))
            (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
            (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
            (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
            (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
            (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X2))
            (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
            (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
            (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
            (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
            (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X2))
            (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
            (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
            (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
            (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
            (proper#(and(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
            (proper#(and(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
            (proper#(and(X1, X2)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
            (proper#(and(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
            (proper#(and(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X2))
            (proper#(and(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
            (proper#(and(X1, X2)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
            (proper#(and(X1, X2)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
            (proper#(and(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
            (proper#(and(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X2))
            (proper#(and(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
            (proper#(and(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
            (proper#(and(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
            (proper#(and(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
            (proper#(and(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X3))
            (proper#(and(X1, X2)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
            (proper#(and(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
            (proper#(and(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
            (proper#(and(X1, X2)) -> proper#(X2), proper#(s(X)) -> proper#(X))
            (proper#(and(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X1))
            (proper#(and(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X2))
            (proper#(and(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X1))
            (proper#(and(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X2))
            (proper#(and(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X3))
            (proper#(and(X1, X2)) -> proper#(X2), proper#(U61(X)) -> proper#(X))
            (proper#(and(X1, X2)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X1))
            (proper#(and(X1, X2)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X2))
            (proper#(and(X1, X2)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X1))
            (proper#(and(X1, X2)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X2))
            (proper#(and(X1, X2)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X3))
            (proper#(and(X1, X2)) -> proper#(X2), proper#(and(X1, X2)) -> proper#(X2))
            (proper#(x(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
            (proper#(x(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
            (proper#(x(X1, X2)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
            (proper#(x(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
            (proper#(x(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X2))
            (proper#(x(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
            (proper#(x(X1, X2)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
            (proper#(x(X1, X2)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
            (proper#(x(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
            (proper#(x(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X2))
            (proper#(x(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
            (proper#(x(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
            (proper#(x(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
            (proper#(x(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
            (proper#(x(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X3))
            (proper#(x(X1, X2)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
            (proper#(x(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
            (proper#(x(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
            (proper#(x(X1, X2)) -> proper#(X2), proper#(s(X)) -> proper#(X))
            (proper#(x(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X1))
            (proper#(x(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X2))
            (proper#(x(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X1))
            (proper#(x(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X2))
            (proper#(x(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X3))
            (proper#(x(X1, X2)) -> proper#(X2), proper#(U61(X)) -> proper#(X))
            (proper#(x(X1, X2)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X1))
            (proper#(x(X1, X2)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X2))
            (proper#(x(X1, X2)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X1))
            (proper#(x(X1, X2)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X2))
            (proper#(x(X1, X2)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X3))
            (proper#(x(X1, X2)) -> proper#(X2), proper#(and(X1, X2)) -> proper#(X2))
            (proper#(plus(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
            (proper#(plus(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
            (proper#(plus(X1, X2)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
            (proper#(plus(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
            (proper#(plus(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X2))
            (proper#(plus(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
            (proper#(plus(X1, X2)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
            (proper#(plus(X1, X2)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
            (proper#(plus(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
            (proper#(plus(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X2))
            (proper#(plus(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
            (proper#(plus(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
            (proper#(plus(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
            (proper#(plus(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
            (proper#(plus(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X3))
            (proper#(plus(X1, X2)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
            (proper#(plus(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
            (proper#(plus(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
            (proper#(plus(X1, X2)) -> proper#(X2), proper#(s(X)) -> proper#(X))
            (proper#(plus(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X1))
            (proper#(plus(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X2))
            (proper#(plus(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X1))
            (proper#(plus(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X2))
            (proper#(plus(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X3))
            (proper#(plus(X1, X2)) -> proper#(X2), proper#(U61(X)) -> proper#(X))
            (proper#(plus(X1, X2)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X1))
            (proper#(plus(X1, X2)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X2))
            (proper#(plus(X1, X2)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X1))
            (proper#(plus(X1, X2)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X2))
            (proper#(plus(X1, X2)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X3))
            (proper#(plus(X1, X2)) -> proper#(X2), proper#(and(X1, X2)) -> proper#(X2))
            (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
            (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
            (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
            (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
            (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X2))
            (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
            (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
            (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
            (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
            (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X2))
            (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
            (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
            (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
            (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
            (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X3))
            (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
            (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
            (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
            (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(s(X)) -> proper#(X))
            (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X1))
            (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X2))
            (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X1))
            (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X2))
            (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X3))
            (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U61(X)) -> proper#(X))
            (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X1))
            (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X2))
            (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X1))
            (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X2))
            (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X3))
            (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(and(X1, X2)) -> proper#(X2))
            (proper#(U21(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
            (proper#(U21(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
            (proper#(U21(X1, X2)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
            (proper#(U21(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
            (proper#(U21(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X2))
            (proper#(U21(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
            (proper#(U21(X1, X2)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
            (proper#(U21(X1, X2)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
            (proper#(U21(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
            (proper#(U21(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X2))
            (proper#(U21(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
            (proper#(U21(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
            (proper#(U21(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
            (proper#(U21(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
            (proper#(U21(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X3))
            (proper#(U21(X1, X2)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
            (proper#(U21(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
            (proper#(U21(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
            (proper#(U21(X1, X2)) -> proper#(X2), proper#(s(X)) -> proper#(X))
            (proper#(U21(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X1))
            (proper#(U21(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X2))
            (proper#(U21(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X1))
            (proper#(U21(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X2))
            (proper#(U21(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X3))
            (proper#(U21(X1, X2)) -> proper#(X2), proper#(U61(X)) -> proper#(X))
            (proper#(U21(X1, X2)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X1))
            (proper#(U21(X1, X2)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X2))
            (proper#(U21(X1, X2)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X1))
            (proper#(U21(X1, X2)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X2))
            (proper#(U21(X1, X2)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X3))
            (proper#(U21(X1, X2)) -> proper#(X2), proper#(and(X1, X2)) -> proper#(X2))
            (proper#(U12(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
            (proper#(U12(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
            (proper#(U12(X1, X2)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
            (proper#(U12(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
            (proper#(U12(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X2))
            (proper#(U12(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
            (proper#(U12(X1, X2)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
            (proper#(U12(X1, X2)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
            (proper#(U12(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
            (proper#(U12(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X2))
            (proper#(U12(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
            (proper#(U12(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
            (proper#(U12(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
            (proper#(U12(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
            (proper#(U12(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X3))
            (proper#(U12(X1, X2)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
            (proper#(U12(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
            (proper#(U12(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
            (proper#(U12(X1, X2)) -> proper#(X2), proper#(s(X)) -> proper#(X))
            (proper#(U12(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X1))
            (proper#(U12(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X2))
            (proper#(U12(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X1))
            (proper#(U12(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X2))
            (proper#(U12(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X3))
            (proper#(U12(X1, X2)) -> proper#(X2), proper#(U61(X)) -> proper#(X))
            (proper#(U12(X1, X2)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X1))
            (proper#(U12(X1, X2)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X2))
            (proper#(U12(X1, X2)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X1))
            (proper#(U12(X1, X2)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X2))
            (proper#(U12(X1, X2)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X3))
            (proper#(U12(X1, X2)) -> proper#(X2), proper#(and(X1, X2)) -> proper#(X2))
            (proper#(s(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X1))
            (proper#(s(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X2))
            (proper#(s(X)) -> proper#(X), proper#(isNat(X)) -> proper#(X))
            (proper#(s(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X1))
            (proper#(s(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X2))
            (proper#(s(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X3))
            (proper#(s(X)) -> proper#(X), proper#(U13(X)) -> proper#(X))
            (proper#(s(X)) -> proper#(X), proper#(U22(X)) -> proper#(X))
            (proper#(s(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X1))
            (proper#(s(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X2))
            (proper#(s(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X1))
            (proper#(s(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X2))
            (proper#(s(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X1))
            (proper#(s(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X2))
            (proper#(s(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X3))
            (proper#(s(X)) -> proper#(X), proper#(U33(X)) -> proper#(X))
            (proper#(s(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X1))
            (proper#(s(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X2))
            (proper#(s(X)) -> proper#(X), proper#(s(X)) -> proper#(X))
            (proper#(s(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X1))
            (proper#(s(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X2))
            (proper#(s(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X1))
            (proper#(s(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X2))
            (proper#(s(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X3))
            (proper#(s(X)) -> proper#(X), proper#(U61(X)) -> proper#(X))
            (proper#(s(X)) -> proper#(X), proper#(x(X1, X2)) -> proper#(X1))
            (proper#(s(X)) -> proper#(X), proper#(x(X1, X2)) -> proper#(X2))
            (proper#(s(X)) -> proper#(X), proper#(U71(X1, X2, X3)) -> proper#(X1))
            (proper#(s(X)) -> proper#(X), proper#(U71(X1, X2, X3)) -> proper#(X2))
            (proper#(s(X)) -> proper#(X), proper#(U71(X1, X2, X3)) -> proper#(X3))
            (proper#(s(X)) -> proper#(X), proper#(and(X1, X2)) -> proper#(X2))
            (proper#(U22(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X1))
            (proper#(U22(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X2))
            (proper#(U22(X)) -> proper#(X), proper#(isNat(X)) -> proper#(X))
            (proper#(U22(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X1))
            (proper#(U22(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X2))
            (proper#(U22(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X3))
            (proper#(U22(X)) -> proper#(X), proper#(U13(X)) -> proper#(X))
            (proper#(U22(X)) -> proper#(X), proper#(U22(X)) -> proper#(X))
            (proper#(U22(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X1))
            (proper#(U22(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X2))
            (proper#(U22(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X1))
            (proper#(U22(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X2))
            (proper#(U22(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X1))
            (proper#(U22(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X2))
            (proper#(U22(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X3))
            (proper#(U22(X)) -> proper#(X), proper#(U33(X)) -> proper#(X))
            (proper#(U22(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X1))
            (proper#(U22(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X2))
            (proper#(U22(X)) -> proper#(X), proper#(s(X)) -> proper#(X))
            (proper#(U22(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X1))
            (proper#(U22(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X2))
            (proper#(U22(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X1))
            (proper#(U22(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X2))
            (proper#(U22(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X3))
            (proper#(U22(X)) -> proper#(X), proper#(U61(X)) -> proper#(X))
            (proper#(U22(X)) -> proper#(X), proper#(x(X1, X2)) -> proper#(X1))
            (proper#(U22(X)) -> proper#(X), proper#(x(X1, X2)) -> proper#(X2))
            (proper#(U22(X)) -> proper#(X), proper#(U71(X1, X2, X3)) -> proper#(X1))
            (proper#(U22(X)) -> proper#(X), proper#(U71(X1, X2, X3)) -> proper#(X2))
            (proper#(U22(X)) -> proper#(X), proper#(U71(X1, X2, X3)) -> proper#(X3))
            (proper#(U22(X)) -> proper#(X), proper#(and(X1, X2)) -> proper#(X2))
            (proper#(isNat(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X1))
            (proper#(isNat(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X2))
            (proper#(isNat(X)) -> proper#(X), proper#(isNat(X)) -> proper#(X))
            (proper#(isNat(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X1))
            (proper#(isNat(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X2))
            (proper#(isNat(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X3))
            (proper#(isNat(X)) -> proper#(X), proper#(U13(X)) -> proper#(X))
            (proper#(isNat(X)) -> proper#(X), proper#(U22(X)) -> proper#(X))
            (proper#(isNat(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X1))
            (proper#(isNat(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X2))
            (proper#(isNat(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X1))
            (proper#(isNat(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X2))
            (proper#(isNat(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X1))
            (proper#(isNat(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X2))
            (proper#(isNat(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X3))
            (proper#(isNat(X)) -> proper#(X), proper#(U33(X)) -> proper#(X))
            (proper#(isNat(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X1))
            (proper#(isNat(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X2))
            (proper#(isNat(X)) -> proper#(X), proper#(s(X)) -> proper#(X))
            (proper#(isNat(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X1))
            (proper#(isNat(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X2))
            (proper#(isNat(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X1))
            (proper#(isNat(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X2))
            (proper#(isNat(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X3))
            (proper#(isNat(X)) -> proper#(X), proper#(U61(X)) -> proper#(X))
            (proper#(isNat(X)) -> proper#(X), proper#(x(X1, X2)) -> proper#(X1))
            (proper#(isNat(X)) -> proper#(X), proper#(x(X1, X2)) -> proper#(X2))
            (proper#(isNat(X)) -> proper#(X), proper#(U71(X1, X2, X3)) -> proper#(X1))
            (proper#(isNat(X)) -> proper#(X), proper#(U71(X1, X2, X3)) -> proper#(X2))
            (proper#(isNat(X)) -> proper#(X), proper#(U71(X1, X2, X3)) -> proper#(X3))
            (proper#(isNat(X)) -> proper#(X), proper#(and(X1, X2)) -> proper#(X2))
            (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U12(X1, X2)) -> proper#(X1))
            (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U12(X1, X2)) -> proper#(X2))
            (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(isNat(X)) -> proper#(X))
            (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U11(X1, X2, X3)) -> proper#(X1))
            (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U11(X1, X2, X3)) -> proper#(X2))
            (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U11(X1, X2, X3)) -> proper#(X3))
            (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U13(X)) -> proper#(X))
            (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U22(X)) -> proper#(X))
            (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U21(X1, X2)) -> proper#(X1))
            (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U21(X1, X2)) -> proper#(X2))
            (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U32(X1, X2)) -> proper#(X1))
            (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U32(X1, X2)) -> proper#(X2))
            (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U31(X1, X2, X3)) -> proper#(X1))
            (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U31(X1, X2, X3)) -> proper#(X2))
            (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U31(X1, X2, X3)) -> proper#(X3))
            (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U33(X)) -> proper#(X))
            (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U41(X1, X2)) -> proper#(X1))
            (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U41(X1, X2)) -> proper#(X2))
            (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(s(X)) -> proper#(X))
            (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(plus(X1, X2)) -> proper#(X1))
            (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(plus(X1, X2)) -> proper#(X2))
            (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U51(X1, X2, X3)) -> proper#(X1))
            (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U51(X1, X2, X3)) -> proper#(X2))
            (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U51(X1, X2, X3)) -> proper#(X3))
            (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U61(X)) -> proper#(X))
            (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(x(X1, X2)) -> proper#(X1))
            (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(x(X1, X2)) -> proper#(X2))
            (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U71(X1, X2, X3)) -> proper#(X1))
            (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U71(X1, X2, X3)) -> proper#(X2))
            (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U71(X1, X2, X3)) -> proper#(X3))
            (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(and(X1, X2)) -> proper#(X2))
            (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U12(X1, X2)) -> proper#(X1))
            (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U12(X1, X2)) -> proper#(X2))
            (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(isNat(X)) -> proper#(X))
            (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U11(X1, X2, X3)) -> proper#(X1))
            (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U11(X1, X2, X3)) -> proper#(X2))
            (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U11(X1, X2, X3)) -> proper#(X3))
            (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U13(X)) -> proper#(X))
            (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U22(X)) -> proper#(X))
            (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U21(X1, X2)) -> proper#(X1))
            (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U21(X1, X2)) -> proper#(X2))
            (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U32(X1, X2)) -> proper#(X1))
            (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U32(X1, X2)) -> proper#(X2))
            (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U31(X1, X2, X3)) -> proper#(X1))
            (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U31(X1, X2, X3)) -> proper#(X2))
            (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U31(X1, X2, X3)) -> proper#(X3))
            (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U33(X)) -> proper#(X))
            (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U41(X1, X2)) -> proper#(X1))
            (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U41(X1, X2)) -> proper#(X2))
            (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(s(X)) -> proper#(X))
            (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(plus(X1, X2)) -> proper#(X1))
            (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(plus(X1, X2)) -> proper#(X2))
            (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U51(X1, X2, X3)) -> proper#(X1))
            (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U51(X1, X2, X3)) -> proper#(X2))
            (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U51(X1, X2, X3)) -> proper#(X3))
            (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U61(X)) -> proper#(X))
            (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(x(X1, X2)) -> proper#(X1))
            (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(x(X1, X2)) -> proper#(X2))
            (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U71(X1, X2, X3)) -> proper#(X1))
            (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U71(X1, X2, X3)) -> proper#(X2))
            (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U71(X1, X2, X3)) -> proper#(X3))
            (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(and(X1, X2)) -> proper#(X2))
            (proper#(x(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
            (proper#(x(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
            (proper#(x(X1, X2)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
            (proper#(x(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
            (proper#(x(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X2))
            (proper#(x(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
            (proper#(x(X1, X2)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
            (proper#(x(X1, X2)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
            (proper#(x(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
            (proper#(x(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X2))
            (proper#(x(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
            (proper#(x(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
            (proper#(x(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
            (proper#(x(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
            (proper#(x(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X3))
            (proper#(x(X1, X2)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
            (proper#(x(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
            (proper#(x(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
            (proper#(x(X1, X2)) -> proper#(X1), proper#(s(X)) -> proper#(X))
            (proper#(x(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X1))
            (proper#(x(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X2))
            (proper#(x(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X1))
            (proper#(x(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X2))
            (proper#(x(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X3))
            (proper#(x(X1, X2)) -> proper#(X1), proper#(U61(X)) -> proper#(X))
            (proper#(x(X1, X2)) -> proper#(X1), proper#(x(X1, X2)) -> proper#(X1))
            (proper#(x(X1, X2)) -> proper#(X1), proper#(x(X1, X2)) -> proper#(X2))
            (proper#(x(X1, X2)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X1))
            (proper#(x(X1, X2)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X2))
            (proper#(x(X1, X2)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X3))
            (proper#(x(X1, X2)) -> proper#(X1), proper#(and(X1, X2)) -> proper#(X2))
            (proper#(plus(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
            (proper#(plus(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
            (proper#(plus(X1, X2)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
            (proper#(plus(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
            (proper#(plus(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X2))
            (proper#(plus(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
            (proper#(plus(X1, X2)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
            (proper#(plus(X1, X2)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
            (proper#(plus(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
            (proper#(plus(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X2))
            (proper#(plus(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
            (proper#(plus(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
            (proper#(plus(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
            (proper#(plus(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
            (proper#(plus(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X3))
            (proper#(plus(X1, X2)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
            (proper#(plus(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
            (proper#(plus(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
            (proper#(plus(X1, X2)) -> proper#(X1), proper#(s(X)) -> proper#(X))
            (proper#(plus(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X1))
            (proper#(plus(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X2))
            (proper#(plus(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X1))
            (proper#(plus(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X2))
            (proper#(plus(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X3))
            (proper#(plus(X1, X2)) -> proper#(X1), proper#(U61(X)) -> proper#(X))
            (proper#(plus(X1, X2)) -> proper#(X1), proper#(x(X1, X2)) -> proper#(X1))
            (proper#(plus(X1, X2)) -> proper#(X1), proper#(x(X1, X2)) -> proper#(X2))
            (proper#(plus(X1, X2)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X1))
            (proper#(plus(X1, X2)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X2))
            (proper#(plus(X1, X2)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X3))
            (proper#(plus(X1, X2)) -> proper#(X1), proper#(and(X1, X2)) -> proper#(X2))
            (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
            (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
            (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
            (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
            (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X2))
            (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
            (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
            (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
            (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
            (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X2))
            (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
            (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
            (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
            (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
            (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X3))
            (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
            (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
            (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
            (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(s(X)) -> proper#(X))
            (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X1))
            (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X2))
            (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X1))
            (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X2))
            (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X3))
            (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U61(X)) -> proper#(X))
            (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(x(X1, X2)) -> proper#(X1))
            (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(x(X1, X2)) -> proper#(X2))
            (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X1))
            (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X2))
            (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X3))
            (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(and(X1, X2)) -> proper#(X2))
            (proper#(U21(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
            (proper#(U21(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
            (proper#(U21(X1, X2)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
            (proper#(U21(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
            (proper#(U21(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X2))
            (proper#(U21(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
            (proper#(U21(X1, X2)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
            (proper#(U21(X1, X2)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
            (proper#(U21(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
            (proper#(U21(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X2))
            (proper#(U21(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
            (proper#(U21(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
            (proper#(U21(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
            (proper#(U21(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
            (proper#(U21(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X3))
            (proper#(U21(X1, X2)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
            (proper#(U21(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
            (proper#(U21(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
            (proper#(U21(X1, X2)) -> proper#(X1), proper#(s(X)) -> proper#(X))
            (proper#(U21(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X1))
            (proper#(U21(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X2))
            (proper#(U21(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X1))
            (proper#(U21(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X2))
            (proper#(U21(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X3))
            (proper#(U21(X1, X2)) -> proper#(X1), proper#(U61(X)) -> proper#(X))
            (proper#(U21(X1, X2)) -> proper#(X1), proper#(x(X1, X2)) -> proper#(X1))
            (proper#(U21(X1, X2)) -> proper#(X1), proper#(x(X1, X2)) -> proper#(X2))
            (proper#(U21(X1, X2)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X1))
            (proper#(U21(X1, X2)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X2))
            (proper#(U21(X1, X2)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X3))
            (proper#(U21(X1, X2)) -> proper#(X1), proper#(and(X1, X2)) -> proper#(X2))
            (proper#(U12(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
            (proper#(U12(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
            (proper#(U12(X1, X2)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
            (proper#(U12(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
            (proper#(U12(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X2))
            (proper#(U12(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
            (proper#(U12(X1, X2)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
            (proper#(U12(X1, X2)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
            (proper#(U12(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
            (proper#(U12(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X2))
            (proper#(U12(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
            (proper#(U12(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
            (proper#(U12(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
            (proper#(U12(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
            (proper#(U12(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X3))
            (proper#(U12(X1, X2)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
            (proper#(U12(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
            (proper#(U12(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
            (proper#(U12(X1, X2)) -> proper#(X1), proper#(s(X)) -> proper#(X))
            (proper#(U12(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X1))
            (proper#(U12(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X2))
            (proper#(U12(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X1))
            (proper#(U12(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X2))
            (proper#(U12(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X3))
            (proper#(U12(X1, X2)) -> proper#(X1), proper#(U61(X)) -> proper#(X))
            (proper#(U12(X1, X2)) -> proper#(X1), proper#(x(X1, X2)) -> proper#(X1))
            (proper#(U12(X1, X2)) -> proper#(X1), proper#(x(X1, X2)) -> proper#(X2))
            (proper#(U12(X1, X2)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X1))
            (proper#(U12(X1, X2)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X2))
            (proper#(U12(X1, X2)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X3))
            (proper#(U12(X1, X2)) -> proper#(X1), proper#(and(X1, X2)) -> proper#(X2))
           }
           SCCS:
            Scc:
             {    proper#(U12(X1, X2)) -> proper#(X1),
                  proper#(U12(X1, X2)) -> proper#(X2),
                     proper#(isNat(X)) -> proper#(X),
              proper#(U11(X1, X2, X3)) -> proper#(X1),
              proper#(U11(X1, X2, X3)) -> proper#(X2),
              proper#(U11(X1, X2, X3)) -> proper#(X3),
                       proper#(U13(X)) -> proper#(X),
                       proper#(U22(X)) -> proper#(X),
                  proper#(U21(X1, X2)) -> proper#(X1),
                  proper#(U21(X1, X2)) -> proper#(X2),
                  proper#(U32(X1, X2)) -> proper#(X1),
                  proper#(U32(X1, X2)) -> proper#(X2),
              proper#(U31(X1, X2, X3)) -> proper#(X1),
              proper#(U31(X1, X2, X3)) -> proper#(X2),
              proper#(U31(X1, X2, X3)) -> proper#(X3),
                       proper#(U33(X)) -> proper#(X),
                  proper#(U41(X1, X2)) -> proper#(X1),
                  proper#(U41(X1, X2)) -> proper#(X2),
                         proper#(s(X)) -> proper#(X),
                 proper#(plus(X1, X2)) -> proper#(X1),
                 proper#(plus(X1, X2)) -> proper#(X2),
              proper#(U51(X1, X2, X3)) -> proper#(X1),
              proper#(U51(X1, X2, X3)) -> proper#(X2),
              proper#(U51(X1, X2, X3)) -> proper#(X3),
                       proper#(U61(X)) -> proper#(X),
                    proper#(x(X1, X2)) -> proper#(X1),
                    proper#(x(X1, X2)) -> proper#(X2),
              proper#(U71(X1, X2, X3)) -> proper#(X1),
              proper#(U71(X1, X2, X3)) -> proper#(X2),
              proper#(U71(X1, X2, X3)) -> proper#(X3),
                  proper#(and(X1, X2)) -> proper#(X2)}
            SCC:
             Strict:
              {    proper#(U12(X1, X2)) -> proper#(X1),
                   proper#(U12(X1, X2)) -> proper#(X2),
                      proper#(isNat(X)) -> proper#(X),
               proper#(U11(X1, X2, X3)) -> proper#(X1),
               proper#(U11(X1, X2, X3)) -> proper#(X2),
               proper#(U11(X1, X2, X3)) -> proper#(X3),
                        proper#(U13(X)) -> proper#(X),
                        proper#(U22(X)) -> proper#(X),
                   proper#(U21(X1, X2)) -> proper#(X1),
                   proper#(U21(X1, X2)) -> proper#(X2),
                   proper#(U32(X1, X2)) -> proper#(X1),
                   proper#(U32(X1, X2)) -> proper#(X2),
               proper#(U31(X1, X2, X3)) -> proper#(X1),
               proper#(U31(X1, X2, X3)) -> proper#(X2),
               proper#(U31(X1, X2, X3)) -> proper#(X3),
                        proper#(U33(X)) -> proper#(X),
                   proper#(U41(X1, X2)) -> proper#(X1),
                   proper#(U41(X1, X2)) -> proper#(X2),
                          proper#(s(X)) -> proper#(X),
                  proper#(plus(X1, X2)) -> proper#(X1),
                  proper#(plus(X1, X2)) -> proper#(X2),
               proper#(U51(X1, X2, X3)) -> proper#(X1),
               proper#(U51(X1, X2, X3)) -> proper#(X2),
               proper#(U51(X1, X2, X3)) -> proper#(X3),
                        proper#(U61(X)) -> proper#(X),
                     proper#(x(X1, X2)) -> proper#(X1),
                     proper#(x(X1, X2)) -> proper#(X2),
               proper#(U71(X1, X2, X3)) -> proper#(X1),
               proper#(U71(X1, X2, X3)) -> proper#(X2),
               proper#(U71(X1, X2, X3)) -> proper#(X3),
                   proper#(and(X1, X2)) -> proper#(X2)}
             Weak:
             {              U12(mark(X1), X2) -> mark(U12(X1, X2)),
                          U12(ok(X1), ok(X2)) -> ok(U12(X1, X2)),
                                 isNat(ok(X)) -> ok(isNat(X)),
                          active(U12(X1, X2)) -> U12(active(X1), X2),
                        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(X1, X2, X3)) -> U11(active(X1), X2, X3),
                    active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                               active(U13(X)) -> U13(active(X)),
                            active(U13(tt())) -> mark(tt()),
                               active(U22(X)) -> U22(active(X)),
                            active(U22(tt())) -> mark(tt()),
                          active(U21(X1, X2)) -> U21(active(X1), X2),
                        active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                          active(U32(X1, X2)) -> U32(active(X1), X2),
                        active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
                      active(U31(X1, X2, X3)) -> U31(active(X1), X2, X3),
                    active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                               active(U33(X)) -> U33(active(X)),
                            active(U33(tt())) -> mark(tt()),
                          active(U41(X1, X2)) -> U41(active(X1), X2),
                         active(U41(tt(), N)) -> mark(N),
                                 active(s(X)) -> s(active(X)),
                        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(plus(X1, X2)) -> plus(X1, active(X2)),
                         active(plus(X1, X2)) -> plus(active(X1), X2),
                      active(U51(X1, X2, X3)) -> U51(active(X1), X2, X3),
                      active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                               active(U61(X)) -> U61(active(X)),
                            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(x(X1, X2)) -> x(X1, active(X2)),
                            active(x(X1, X2)) -> x(active(X1), X2),
                      active(U71(X1, X2, X3)) -> U71(active(X1), X2, X3),
                      active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                          active(and(X1, X2)) -> and(active(X1), X2),
                         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(mark(X1), X2, X3) -> mark(U11(X1, X2, X3)),
                  U11(ok(X1), ok(X2), ok(X3)) -> ok(U11(X1, X2, X3)),
                                 U13(mark(X)) -> mark(U13(X)),
                                   U13(ok(X)) -> ok(U13(X)),
                                 U22(mark(X)) -> mark(U22(X)),
                                   U22(ok(X)) -> ok(U22(X)),
                            U21(mark(X1), X2) -> mark(U21(X1, X2)),
                          U21(ok(X1), ok(X2)) -> ok(U21(X1, X2)),
                            U32(mark(X1), X2) -> mark(U32(X1, X2)),
                          U32(ok(X1), ok(X2)) -> ok(U32(X1, X2)),
                        U31(mark(X1), X2, X3) -> mark(U31(X1, X2, X3)),
                  U31(ok(X1), ok(X2), ok(X3)) -> ok(U31(X1, X2, X3)),
                                 U33(mark(X)) -> mark(U33(X)),
                                   U33(ok(X)) -> ok(U33(X)),
                            U41(mark(X1), X2) -> mark(U41(X1, X2)),
                          U41(ok(X1), ok(X2)) -> ok(U41(X1, X2)),
                                   s(mark(X)) -> mark(s(X)),
                                     s(ok(X)) -> ok(s(X)),
                           plus(X1, mark(X2)) -> mark(plus(X1, X2)),
                           plus(mark(X1), X2) -> mark(plus(X1, X2)),
                         plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)),
                        U51(mark(X1), X2, X3) -> mark(U51(X1, X2, X3)),
                  U51(ok(X1), ok(X2), ok(X3)) -> ok(U51(X1, X2, X3)),
                                 U61(mark(X)) -> mark(U61(X)),
                                   U61(ok(X)) -> ok(U61(X)),
                              x(X1, mark(X2)) -> mark(x(X1, X2)),
                              x(mark(X1), X2) -> mark(x(X1, X2)),
                            x(ok(X1), ok(X2)) -> ok(x(X1, X2)),
                        U71(mark(X1), X2, X3) -> mark(U71(X1, X2, X3)),
                  U71(ok(X1), ok(X2), ok(X3)) -> ok(U71(X1, X2, X3)),
                            and(mark(X1), X2) -> mark(and(X1, X2)),
                          and(ok(X1), ok(X2)) -> ok(and(X1, X2)),
                             isNatKind(ok(X)) -> ok(isNatKind(X)),
                          proper(U12(X1, X2)) -> U12(proper(X1), proper(X2)),
                             proper(isNat(X)) -> isNat(proper(X)),
                      proper(U11(X1, X2, X3)) -> U11(proper(X1), proper(X2), proper(X3)),
                                 proper(tt()) -> ok(tt()),
                               proper(U13(X)) -> U13(proper(X)),
                               proper(U22(X)) -> U22(proper(X)),
                          proper(U21(X1, X2)) -> U21(proper(X1), proper(X2)),
                          proper(U32(X1, X2)) -> U32(proper(X1), proper(X2)),
                      proper(U31(X1, X2, X3)) -> U31(proper(X1), proper(X2), proper(X3)),
                               proper(U33(X)) -> U33(proper(X)),
                          proper(U41(X1, X2)) -> U41(proper(X1), proper(X2)),
                                 proper(s(X)) -> s(proper(X)),
                         proper(plus(X1, X2)) -> plus(proper(X1), proper(X2)),
                      proper(U51(X1, X2, X3)) -> U51(proper(X1), proper(X2), proper(X3)),
                                  proper(0()) -> ok(0()),
                               proper(U61(X)) -> U61(proper(X)),
                            proper(x(X1, X2)) -> x(proper(X1), proper(X2)),
                      proper(U71(X1, X2, X3)) -> U71(proper(X1), proper(X2), proper(X3)),
                          proper(and(X1, X2)) -> and(proper(X1), proper(X2)),
                         proper(isNatKind(X)) -> isNatKind(proper(X)),
                                 top(mark(X)) -> top(proper(X)),
                                   top(ok(X)) -> top(active(X))}
             SPSC:
              Simple Projection:
               pi(proper#) = 0
              Strict:
               {    proper#(U12(X1, X2)) -> proper#(X1),
                    proper#(U12(X1, X2)) -> proper#(X2),
                       proper#(isNat(X)) -> proper#(X),
                proper#(U11(X1, X2, X3)) -> proper#(X1),
                proper#(U11(X1, X2, X3)) -> proper#(X2),
                proper#(U11(X1, X2, X3)) -> proper#(X3),
                         proper#(U13(X)) -> proper#(X),
                         proper#(U22(X)) -> proper#(X),
                    proper#(U21(X1, X2)) -> proper#(X1),
                    proper#(U21(X1, X2)) -> proper#(X2),
                    proper#(U32(X1, X2)) -> proper#(X1),
                    proper#(U32(X1, X2)) -> proper#(X2),
                proper#(U31(X1, X2, X3)) -> proper#(X1),
                proper#(U31(X1, X2, X3)) -> proper#(X2),
                         proper#(U33(X)) -> proper#(X),
                    proper#(U41(X1, X2)) -> proper#(X1),
                    proper#(U41(X1, X2)) -> proper#(X2),
                           proper#(s(X)) -> proper#(X),
                   proper#(plus(X1, X2)) -> proper#(X1),
                   proper#(plus(X1, X2)) -> proper#(X2),
                proper#(U51(X1, X2, X3)) -> proper#(X1),
                proper#(U51(X1, X2, X3)) -> proper#(X2),
                proper#(U51(X1, X2, X3)) -> proper#(X3),
                         proper#(U61(X)) -> proper#(X),
                      proper#(x(X1, X2)) -> proper#(X1),
                      proper#(x(X1, X2)) -> proper#(X2),
                proper#(U71(X1, X2, X3)) -> proper#(X1),
                proper#(U71(X1, X2, X3)) -> proper#(X2),
                proper#(U71(X1, X2, X3)) -> proper#(X3),
                    proper#(and(X1, X2)) -> proper#(X2)}
              EDG:
               {
                (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(and(X1, X2)) -> proper#(X2))
                (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X3))
                (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X2))
                (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X1))
                (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(x(X1, X2)) -> proper#(X2))
                (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(x(X1, X2)) -> proper#(X1))
                (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U61(X)) -> proper#(X))
                (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X3))
                (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X2))
                (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X1))
                (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X2))
                (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X1))
                (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(s(X)) -> proper#(X))
                (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
                (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
                (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
                (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X2))
                (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
                (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
                (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
                (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X2))
                (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                (proper#(U32(X1, X2)) -> proper#(X1), proper#(and(X1, X2)) -> proper#(X2))
                (proper#(U32(X1, X2)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X3))
                (proper#(U32(X1, X2)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X2))
                (proper#(U32(X1, X2)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X1))
                (proper#(U32(X1, X2)) -> proper#(X1), proper#(x(X1, X2)) -> proper#(X2))
                (proper#(U32(X1, X2)) -> proper#(X1), proper#(x(X1, X2)) -> proper#(X1))
                (proper#(U32(X1, X2)) -> proper#(X1), proper#(U61(X)) -> proper#(X))
                (proper#(U32(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X3))
                (proper#(U32(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X2))
                (proper#(U32(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X1))
                (proper#(U32(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X2))
                (proper#(U32(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X1))
                (proper#(U32(X1, X2)) -> proper#(X1), proper#(s(X)) -> proper#(X))
                (proper#(U32(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
                (proper#(U32(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
                (proper#(U32(X1, X2)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                (proper#(U32(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                (proper#(U32(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
                (proper#(U32(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                (proper#(U32(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                (proper#(U32(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X2))
                (proper#(U32(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                (proper#(U32(X1, X2)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
                (proper#(U32(X1, X2)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
                (proper#(U32(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
                (proper#(U32(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X2))
                (proper#(U32(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                (proper#(U32(X1, X2)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                (proper#(U32(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                (proper#(U32(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                (proper#(U41(X1, X2)) -> proper#(X1), proper#(and(X1, X2)) -> proper#(X2))
                (proper#(U41(X1, X2)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X3))
                (proper#(U41(X1, X2)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X2))
                (proper#(U41(X1, X2)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X1))
                (proper#(U41(X1, X2)) -> proper#(X1), proper#(x(X1, X2)) -> proper#(X2))
                (proper#(U41(X1, X2)) -> proper#(X1), proper#(x(X1, X2)) -> proper#(X1))
                (proper#(U41(X1, X2)) -> proper#(X1), proper#(U61(X)) -> proper#(X))
                (proper#(U41(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X3))
                (proper#(U41(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X2))
                (proper#(U41(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X1))
                (proper#(U41(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X2))
                (proper#(U41(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X1))
                (proper#(U41(X1, X2)) -> proper#(X1), proper#(s(X)) -> proper#(X))
                (proper#(U41(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
                (proper#(U41(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
                (proper#(U41(X1, X2)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                (proper#(U41(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                (proper#(U41(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
                (proper#(U41(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                (proper#(U41(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                (proper#(U41(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X2))
                (proper#(U41(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                (proper#(U41(X1, X2)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
                (proper#(U41(X1, X2)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
                (proper#(U41(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
                (proper#(U41(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X2))
                (proper#(U41(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                (proper#(U41(X1, X2)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                (proper#(U41(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                (proper#(U41(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(and(X1, X2)) -> proper#(X2))
                (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X3))
                (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X2))
                (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X1))
                (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(x(X1, X2)) -> proper#(X2))
                (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(x(X1, X2)) -> proper#(X1))
                (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U61(X)) -> proper#(X))
                (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X3))
                (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X2))
                (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X1))
                (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X2))
                (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X1))
                (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(s(X)) -> proper#(X))
                (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
                (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
                (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
                (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X2))
                (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
                (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
                (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
                (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X2))
                (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                (proper#(U71(X1, X2, X3)) -> proper#(X1), proper#(and(X1, X2)) -> proper#(X2))
                (proper#(U71(X1, X2, X3)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X3))
                (proper#(U71(X1, X2, X3)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X2))
                (proper#(U71(X1, X2, X3)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X1))
                (proper#(U71(X1, X2, X3)) -> proper#(X1), proper#(x(X1, X2)) -> proper#(X2))
                (proper#(U71(X1, X2, X3)) -> proper#(X1), proper#(x(X1, X2)) -> proper#(X1))
                (proper#(U71(X1, X2, X3)) -> proper#(X1), proper#(U61(X)) -> proper#(X))
                (proper#(U71(X1, X2, X3)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X3))
                (proper#(U71(X1, X2, X3)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X2))
                (proper#(U71(X1, X2, X3)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X1))
                (proper#(U71(X1, X2, X3)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X2))
                (proper#(U71(X1, X2, X3)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X1))
                (proper#(U71(X1, X2, X3)) -> proper#(X1), proper#(s(X)) -> proper#(X))
                (proper#(U71(X1, X2, X3)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
                (proper#(U71(X1, X2, X3)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
                (proper#(U71(X1, X2, X3)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                (proper#(U71(X1, X2, X3)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                (proper#(U71(X1, X2, X3)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
                (proper#(U71(X1, X2, X3)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                (proper#(U71(X1, X2, X3)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                (proper#(U71(X1, X2, X3)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X2))
                (proper#(U71(X1, X2, X3)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                (proper#(U71(X1, X2, X3)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
                (proper#(U71(X1, X2, X3)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
                (proper#(U71(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
                (proper#(U71(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X2))
                (proper#(U71(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                (proper#(U71(X1, X2, X3)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                (proper#(U71(X1, X2, X3)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                (proper#(U71(X1, X2, X3)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                (proper#(U13(X)) -> proper#(X), proper#(and(X1, X2)) -> proper#(X2))
                (proper#(U13(X)) -> proper#(X), proper#(U71(X1, X2, X3)) -> proper#(X3))
                (proper#(U13(X)) -> proper#(X), proper#(U71(X1, X2, X3)) -> proper#(X2))
                (proper#(U13(X)) -> proper#(X), proper#(U71(X1, X2, X3)) -> proper#(X1))
                (proper#(U13(X)) -> proper#(X), proper#(x(X1, X2)) -> proper#(X2))
                (proper#(U13(X)) -> proper#(X), proper#(x(X1, X2)) -> proper#(X1))
                (proper#(U13(X)) -> proper#(X), proper#(U61(X)) -> proper#(X))
                (proper#(U13(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X3))
                (proper#(U13(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X2))
                (proper#(U13(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X1))
                (proper#(U13(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X2))
                (proper#(U13(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X1))
                (proper#(U13(X)) -> proper#(X), proper#(s(X)) -> proper#(X))
                (proper#(U13(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X2))
                (proper#(U13(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X1))
                (proper#(U13(X)) -> proper#(X), proper#(U33(X)) -> proper#(X))
                (proper#(U13(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X2))
                (proper#(U13(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X1))
                (proper#(U13(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X2))
                (proper#(U13(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X1))
                (proper#(U13(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X2))
                (proper#(U13(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X1))
                (proper#(U13(X)) -> proper#(X), proper#(U22(X)) -> proper#(X))
                (proper#(U13(X)) -> proper#(X), proper#(U13(X)) -> proper#(X))
                (proper#(U13(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X3))
                (proper#(U13(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X2))
                (proper#(U13(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X1))
                (proper#(U13(X)) -> proper#(X), proper#(isNat(X)) -> proper#(X))
                (proper#(U13(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X2))
                (proper#(U13(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X1))
                (proper#(U33(X)) -> proper#(X), proper#(and(X1, X2)) -> proper#(X2))
                (proper#(U33(X)) -> proper#(X), proper#(U71(X1, X2, X3)) -> proper#(X3))
                (proper#(U33(X)) -> proper#(X), proper#(U71(X1, X2, X3)) -> proper#(X2))
                (proper#(U33(X)) -> proper#(X), proper#(U71(X1, X2, X3)) -> proper#(X1))
                (proper#(U33(X)) -> proper#(X), proper#(x(X1, X2)) -> proper#(X2))
                (proper#(U33(X)) -> proper#(X), proper#(x(X1, X2)) -> proper#(X1))
                (proper#(U33(X)) -> proper#(X), proper#(U61(X)) -> proper#(X))
                (proper#(U33(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X3))
                (proper#(U33(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X2))
                (proper#(U33(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X1))
                (proper#(U33(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X2))
                (proper#(U33(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X1))
                (proper#(U33(X)) -> proper#(X), proper#(s(X)) -> proper#(X))
                (proper#(U33(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X2))
                (proper#(U33(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X1))
                (proper#(U33(X)) -> proper#(X), proper#(U33(X)) -> proper#(X))
                (proper#(U33(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X2))
                (proper#(U33(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X1))
                (proper#(U33(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X2))
                (proper#(U33(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X1))
                (proper#(U33(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X2))
                (proper#(U33(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X1))
                (proper#(U33(X)) -> proper#(X), proper#(U22(X)) -> proper#(X))
                (proper#(U33(X)) -> proper#(X), proper#(U13(X)) -> proper#(X))
                (proper#(U33(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X3))
                (proper#(U33(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X2))
                (proper#(U33(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X1))
                (proper#(U33(X)) -> proper#(X), proper#(isNat(X)) -> proper#(X))
                (proper#(U33(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X2))
                (proper#(U33(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X1))
                (proper#(U61(X)) -> proper#(X), proper#(and(X1, X2)) -> proper#(X2))
                (proper#(U61(X)) -> proper#(X), proper#(U71(X1, X2, X3)) -> proper#(X3))
                (proper#(U61(X)) -> proper#(X), proper#(U71(X1, X2, X3)) -> proper#(X2))
                (proper#(U61(X)) -> proper#(X), proper#(U71(X1, X2, X3)) -> proper#(X1))
                (proper#(U61(X)) -> proper#(X), proper#(x(X1, X2)) -> proper#(X2))
                (proper#(U61(X)) -> proper#(X), proper#(x(X1, X2)) -> proper#(X1))
                (proper#(U61(X)) -> proper#(X), proper#(U61(X)) -> proper#(X))
                (proper#(U61(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X3))
                (proper#(U61(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X2))
                (proper#(U61(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X1))
                (proper#(U61(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X2))
                (proper#(U61(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X1))
                (proper#(U61(X)) -> proper#(X), proper#(s(X)) -> proper#(X))
                (proper#(U61(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X2))
                (proper#(U61(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X1))
                (proper#(U61(X)) -> proper#(X), proper#(U33(X)) -> proper#(X))
                (proper#(U61(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X2))
                (proper#(U61(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X1))
                (proper#(U61(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X2))
                (proper#(U61(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X1))
                (proper#(U61(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X2))
                (proper#(U61(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X1))
                (proper#(U61(X)) -> proper#(X), proper#(U22(X)) -> proper#(X))
                (proper#(U61(X)) -> proper#(X), proper#(U13(X)) -> proper#(X))
                (proper#(U61(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X3))
                (proper#(U61(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X2))
                (proper#(U61(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X1))
                (proper#(U61(X)) -> proper#(X), proper#(isNat(X)) -> proper#(X))
                (proper#(U61(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X2))
                (proper#(U61(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X1))
                (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(and(X1, X2)) -> proper#(X2))
                (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U71(X1, X2, X3)) -> proper#(X3))
                (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U71(X1, X2, X3)) -> proper#(X2))
                (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U71(X1, X2, X3)) -> proper#(X1))
                (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(x(X1, X2)) -> proper#(X2))
                (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(x(X1, X2)) -> proper#(X1))
                (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U61(X)) -> proper#(X))
                (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U51(X1, X2, X3)) -> proper#(X3))
                (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U51(X1, X2, X3)) -> proper#(X2))
                (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U51(X1, X2, X3)) -> proper#(X1))
                (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(plus(X1, X2)) -> proper#(X2))
                (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(plus(X1, X2)) -> proper#(X1))
                (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(s(X)) -> proper#(X))
                (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U41(X1, X2)) -> proper#(X2))
                (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U41(X1, X2)) -> proper#(X1))
                (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U33(X)) -> proper#(X))
                (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U31(X1, X2, X3)) -> proper#(X2))
                (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U31(X1, X2, X3)) -> proper#(X1))
                (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U32(X1, X2)) -> proper#(X2))
                (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U32(X1, X2)) -> proper#(X1))
                (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U21(X1, X2)) -> proper#(X2))
                (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U21(X1, X2)) -> proper#(X1))
                (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U22(X)) -> proper#(X))
                (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U13(X)) -> proper#(X))
                (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U11(X1, X2, X3)) -> proper#(X3))
                (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U11(X1, X2, X3)) -> proper#(X2))
                (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U11(X1, X2, X3)) -> proper#(X1))
                (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(isNat(X)) -> proper#(X))
                (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U12(X1, X2)) -> proper#(X2))
                (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U12(X1, X2)) -> proper#(X1))
                (proper#(U12(X1, X2)) -> proper#(X2), proper#(and(X1, X2)) -> proper#(X2))
                (proper#(U12(X1, X2)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X3))
                (proper#(U12(X1, X2)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X2))
                (proper#(U12(X1, X2)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X1))
                (proper#(U12(X1, X2)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X2))
                (proper#(U12(X1, X2)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X1))
                (proper#(U12(X1, X2)) -> proper#(X2), proper#(U61(X)) -> proper#(X))
                (proper#(U12(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X3))
                (proper#(U12(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X2))
                (proper#(U12(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X1))
                (proper#(U12(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X2))
                (proper#(U12(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X1))
                (proper#(U12(X1, X2)) -> proper#(X2), proper#(s(X)) -> proper#(X))
                (proper#(U12(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
                (proper#(U12(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
                (proper#(U12(X1, X2)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
                (proper#(U12(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
                (proper#(U12(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
                (proper#(U12(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
                (proper#(U12(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
                (proper#(U12(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X2))
                (proper#(U12(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
                (proper#(U12(X1, X2)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
                (proper#(U12(X1, X2)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
                (proper#(U12(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
                (proper#(U12(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X2))
                (proper#(U12(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
                (proper#(U12(X1, X2)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
                (proper#(U12(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
                (proper#(U12(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
                (proper#(U21(X1, X2)) -> proper#(X2), proper#(and(X1, X2)) -> proper#(X2))
                (proper#(U21(X1, X2)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X3))
                (proper#(U21(X1, X2)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X2))
                (proper#(U21(X1, X2)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X1))
                (proper#(U21(X1, X2)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X2))
                (proper#(U21(X1, X2)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X1))
                (proper#(U21(X1, X2)) -> proper#(X2), proper#(U61(X)) -> proper#(X))
                (proper#(U21(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X3))
                (proper#(U21(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X2))
                (proper#(U21(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X1))
                (proper#(U21(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X2))
                (proper#(U21(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X1))
                (proper#(U21(X1, X2)) -> proper#(X2), proper#(s(X)) -> proper#(X))
                (proper#(U21(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
                (proper#(U21(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
                (proper#(U21(X1, X2)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
                (proper#(U21(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
                (proper#(U21(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
                (proper#(U21(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
                (proper#(U21(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
                (proper#(U21(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X2))
                (proper#(U21(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
                (proper#(U21(X1, X2)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
                (proper#(U21(X1, X2)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
                (proper#(U21(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
                (proper#(U21(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X2))
                (proper#(U21(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
                (proper#(U21(X1, X2)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
                (proper#(U21(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
                (proper#(U21(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
                (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(and(X1, X2)) -> proper#(X2))
                (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X3))
                (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X2))
                (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X1))
                (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X2))
                (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X1))
                (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U61(X)) -> proper#(X))
                (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X3))
                (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X2))
                (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X1))
                (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X2))
                (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X1))
                (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(s(X)) -> proper#(X))
                (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
                (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
                (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
                (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
                (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
                (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
                (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
                (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X2))
                (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
                (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
                (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
                (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
                (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X2))
                (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
                (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
                (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
                (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
                (proper#(plus(X1, X2)) -> proper#(X2), proper#(and(X1, X2)) -> proper#(X2))
                (proper#(plus(X1, X2)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X3))
                (proper#(plus(X1, X2)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X2))
                (proper#(plus(X1, X2)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X1))
                (proper#(plus(X1, X2)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X2))
                (proper#(plus(X1, X2)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X1))
                (proper#(plus(X1, X2)) -> proper#(X2), proper#(U61(X)) -> proper#(X))
                (proper#(plus(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X3))
                (proper#(plus(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X2))
                (proper#(plus(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X1))
                (proper#(plus(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X2))
                (proper#(plus(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X1))
                (proper#(plus(X1, X2)) -> proper#(X2), proper#(s(X)) -> proper#(X))
                (proper#(plus(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
                (proper#(plus(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
                (proper#(plus(X1, X2)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
                (proper#(plus(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
                (proper#(plus(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
                (proper#(plus(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
                (proper#(plus(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
                (proper#(plus(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X2))
                (proper#(plus(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
                (proper#(plus(X1, X2)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
                (proper#(plus(X1, X2)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
                (proper#(plus(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
                (proper#(plus(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X2))
                (proper#(plus(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
                (proper#(plus(X1, X2)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
                (proper#(plus(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
                (proper#(plus(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
                (proper#(x(X1, X2)) -> proper#(X2), proper#(and(X1, X2)) -> proper#(X2))
                (proper#(x(X1, X2)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X3))
                (proper#(x(X1, X2)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X2))
                (proper#(x(X1, X2)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X1))
                (proper#(x(X1, X2)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X2))
                (proper#(x(X1, X2)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X1))
                (proper#(x(X1, X2)) -> proper#(X2), proper#(U61(X)) -> proper#(X))
                (proper#(x(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X3))
                (proper#(x(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X2))
                (proper#(x(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X1))
                (proper#(x(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X2))
                (proper#(x(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X1))
                (proper#(x(X1, X2)) -> proper#(X2), proper#(s(X)) -> proper#(X))
                (proper#(x(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
                (proper#(x(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
                (proper#(x(X1, X2)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
                (proper#(x(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
                (proper#(x(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
                (proper#(x(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
                (proper#(x(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
                (proper#(x(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X2))
                (proper#(x(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
                (proper#(x(X1, X2)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
                (proper#(x(X1, X2)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
                (proper#(x(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
                (proper#(x(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X2))
                (proper#(x(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
                (proper#(x(X1, X2)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
                (proper#(x(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
                (proper#(x(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
                (proper#(and(X1, X2)) -> proper#(X2), proper#(and(X1, X2)) -> proper#(X2))
                (proper#(and(X1, X2)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X3))
                (proper#(and(X1, X2)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X2))
                (proper#(and(X1, X2)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X1))
                (proper#(and(X1, X2)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X2))
                (proper#(and(X1, X2)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X1))
                (proper#(and(X1, X2)) -> proper#(X2), proper#(U61(X)) -> proper#(X))
                (proper#(and(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X3))
                (proper#(and(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X2))
                (proper#(and(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X1))
                (proper#(and(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X2))
                (proper#(and(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X1))
                (proper#(and(X1, X2)) -> proper#(X2), proper#(s(X)) -> proper#(X))
                (proper#(and(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
                (proper#(and(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
                (proper#(and(X1, X2)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
                (proper#(and(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
                (proper#(and(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
                (proper#(and(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
                (proper#(and(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
                (proper#(and(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X2))
                (proper#(and(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
                (proper#(and(X1, X2)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
                (proper#(and(X1, X2)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
                (proper#(and(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
                (proper#(and(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X2))
                (proper#(and(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
                (proper#(and(X1, X2)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
                (proper#(and(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
                (proper#(and(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
                (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
                (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
                (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
                (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
                (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X2))
                (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
                (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
                (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
                (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
                (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X2))
                (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
                (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
                (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
                (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
                (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
                (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
                (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
                (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(s(X)) -> proper#(X))
                (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X1))
                (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X2))
                (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X1))
                (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X2))
                (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X3))
                (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U61(X)) -> proper#(X))
                (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X1))
                (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X2))
                (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X1))
                (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X2))
                (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X3))
                (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(and(X1, X2)) -> proper#(X2))
                (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
                (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
                (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
                (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
                (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X2))
                (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
                (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
                (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
                (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
                (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X2))
                (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
                (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
                (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
                (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
                (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
                (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
                (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
                (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(s(X)) -> proper#(X))
                (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X1))
                (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X2))
                (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X1))
                (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X2))
                (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X3))
                (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U61(X)) -> proper#(X))
                (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X1))
                (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X2))
                (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X1))
                (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X2))
                (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X3))
                (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(and(X1, X2)) -> proper#(X2))
                (proper#(U41(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
                (proper#(U41(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
                (proper#(U41(X1, X2)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
                (proper#(U41(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
                (proper#(U41(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X2))
                (proper#(U41(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
                (proper#(U41(X1, X2)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
                (proper#(U41(X1, X2)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
                (proper#(U41(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
                (proper#(U41(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X2))
                (proper#(U41(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
                (proper#(U41(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
                (proper#(U41(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
                (proper#(U41(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
                (proper#(U41(X1, X2)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
                (proper#(U41(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
                (proper#(U41(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
                (proper#(U41(X1, X2)) -> proper#(X2), proper#(s(X)) -> proper#(X))
                (proper#(U41(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X1))
                (proper#(U41(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X2))
                (proper#(U41(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X1))
                (proper#(U41(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X2))
                (proper#(U41(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X3))
                (proper#(U41(X1, X2)) -> proper#(X2), proper#(U61(X)) -> proper#(X))
                (proper#(U41(X1, X2)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X1))
                (proper#(U41(X1, X2)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X2))
                (proper#(U41(X1, X2)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X1))
                (proper#(U41(X1, X2)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X2))
                (proper#(U41(X1, X2)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X3))
                (proper#(U41(X1, X2)) -> proper#(X2), proper#(and(X1, X2)) -> proper#(X2))
                (proper#(U32(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
                (proper#(U32(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
                (proper#(U32(X1, X2)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
                (proper#(U32(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
                (proper#(U32(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X2))
                (proper#(U32(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
                (proper#(U32(X1, X2)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
                (proper#(U32(X1, X2)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
                (proper#(U32(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
                (proper#(U32(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X2))
                (proper#(U32(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
                (proper#(U32(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
                (proper#(U32(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
                (proper#(U32(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
                (proper#(U32(X1, X2)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
                (proper#(U32(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
                (proper#(U32(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
                (proper#(U32(X1, X2)) -> proper#(X2), proper#(s(X)) -> proper#(X))
                (proper#(U32(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X1))
                (proper#(U32(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X2))
                (proper#(U32(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X1))
                (proper#(U32(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X2))
                (proper#(U32(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X3))
                (proper#(U32(X1, X2)) -> proper#(X2), proper#(U61(X)) -> proper#(X))
                (proper#(U32(X1, X2)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X1))
                (proper#(U32(X1, X2)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X2))
                (proper#(U32(X1, X2)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X1))
                (proper#(U32(X1, X2)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X2))
                (proper#(U32(X1, X2)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X3))
                (proper#(U32(X1, X2)) -> proper#(X2), proper#(and(X1, X2)) -> proper#(X2))
                (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
                (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
                (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
                (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
                (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X2))
                (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
                (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
                (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
                (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
                (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X2))
                (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
                (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
                (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
                (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
                (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
                (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
                (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
                (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(s(X)) -> proper#(X))
                (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X1))
                (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X2))
                (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X1))
                (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X2))
                (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X3))
                (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U61(X)) -> proper#(X))
                (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X1))
                (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X2))
                (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X1))
                (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X2))
                (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X3))
                (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(and(X1, X2)) -> proper#(X2))
                (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U12(X1, X2)) -> proper#(X1))
                (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U12(X1, X2)) -> proper#(X2))
                (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(isNat(X)) -> proper#(X))
                (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U11(X1, X2, X3)) -> proper#(X1))
                (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U11(X1, X2, X3)) -> proper#(X2))
                (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U11(X1, X2, X3)) -> proper#(X3))
                (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U13(X)) -> proper#(X))
                (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U22(X)) -> proper#(X))
                (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U21(X1, X2)) -> proper#(X1))
                (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U21(X1, X2)) -> proper#(X2))
                (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U32(X1, X2)) -> proper#(X1))
                (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U32(X1, X2)) -> proper#(X2))
                (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U31(X1, X2, X3)) -> proper#(X1))
                (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U31(X1, X2, X3)) -> proper#(X2))
                (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U33(X)) -> proper#(X))
                (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U41(X1, X2)) -> proper#(X1))
                (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U41(X1, X2)) -> proper#(X2))
                (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(s(X)) -> proper#(X))
                (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(plus(X1, X2)) -> proper#(X1))
                (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(plus(X1, X2)) -> proper#(X2))
                (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U51(X1, X2, X3)) -> proper#(X1))
                (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U51(X1, X2, X3)) -> proper#(X2))
                (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U51(X1, X2, X3)) -> proper#(X3))
                (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U61(X)) -> proper#(X))
                (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(x(X1, X2)) -> proper#(X1))
                (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(x(X1, X2)) -> proper#(X2))
                (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U71(X1, X2, X3)) -> proper#(X1))
                (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U71(X1, X2, X3)) -> proper#(X2))
                (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U71(X1, X2, X3)) -> proper#(X3))
                (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(and(X1, X2)) -> proper#(X2))
                (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U12(X1, X2)) -> proper#(X1))
                (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U12(X1, X2)) -> proper#(X2))
                (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(isNat(X)) -> proper#(X))
                (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U11(X1, X2, X3)) -> proper#(X1))
                (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U11(X1, X2, X3)) -> proper#(X2))
                (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U11(X1, X2, X3)) -> proper#(X3))
                (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U13(X)) -> proper#(X))
                (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U22(X)) -> proper#(X))
                (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U21(X1, X2)) -> proper#(X1))
                (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U21(X1, X2)) -> proper#(X2))
                (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U32(X1, X2)) -> proper#(X1))
                (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U32(X1, X2)) -> proper#(X2))
                (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U31(X1, X2, X3)) -> proper#(X1))
                (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U31(X1, X2, X3)) -> proper#(X2))
                (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U33(X)) -> proper#(X))
                (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U41(X1, X2)) -> proper#(X1))
                (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U41(X1, X2)) -> proper#(X2))
                (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(s(X)) -> proper#(X))
                (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(plus(X1, X2)) -> proper#(X1))
                (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(plus(X1, X2)) -> proper#(X2))
                (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U51(X1, X2, X3)) -> proper#(X1))
                (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U51(X1, X2, X3)) -> proper#(X2))
                (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U51(X1, X2, X3)) -> proper#(X3))
                (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U61(X)) -> proper#(X))
                (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(x(X1, X2)) -> proper#(X1))
                (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(x(X1, X2)) -> proper#(X2))
                (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U71(X1, X2, X3)) -> proper#(X1))
                (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U71(X1, X2, X3)) -> proper#(X2))
                (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U71(X1, X2, X3)) -> proper#(X3))
                (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(and(X1, X2)) -> proper#(X2))
                (proper#(s(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X1))
                (proper#(s(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X2))
                (proper#(s(X)) -> proper#(X), proper#(isNat(X)) -> proper#(X))
                (proper#(s(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X1))
                (proper#(s(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X2))
                (proper#(s(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X3))
                (proper#(s(X)) -> proper#(X), proper#(U13(X)) -> proper#(X))
                (proper#(s(X)) -> proper#(X), proper#(U22(X)) -> proper#(X))
                (proper#(s(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X1))
                (proper#(s(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X2))
                (proper#(s(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X1))
                (proper#(s(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X2))
                (proper#(s(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X1))
                (proper#(s(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X2))
                (proper#(s(X)) -> proper#(X), proper#(U33(X)) -> proper#(X))
                (proper#(s(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X1))
                (proper#(s(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X2))
                (proper#(s(X)) -> proper#(X), proper#(s(X)) -> proper#(X))
                (proper#(s(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X1))
                (proper#(s(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X2))
                (proper#(s(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X1))
                (proper#(s(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X2))
                (proper#(s(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X3))
                (proper#(s(X)) -> proper#(X), proper#(U61(X)) -> proper#(X))
                (proper#(s(X)) -> proper#(X), proper#(x(X1, X2)) -> proper#(X1))
                (proper#(s(X)) -> proper#(X), proper#(x(X1, X2)) -> proper#(X2))
                (proper#(s(X)) -> proper#(X), proper#(U71(X1, X2, X3)) -> proper#(X1))
                (proper#(s(X)) -> proper#(X), proper#(U71(X1, X2, X3)) -> proper#(X2))
                (proper#(s(X)) -> proper#(X), proper#(U71(X1, X2, X3)) -> proper#(X3))
                (proper#(s(X)) -> proper#(X), proper#(and(X1, X2)) -> proper#(X2))
                (proper#(U22(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X1))
                (proper#(U22(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X2))
                (proper#(U22(X)) -> proper#(X), proper#(isNat(X)) -> proper#(X))
                (proper#(U22(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X1))
                (proper#(U22(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X2))
                (proper#(U22(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X3))
                (proper#(U22(X)) -> proper#(X), proper#(U13(X)) -> proper#(X))
                (proper#(U22(X)) -> proper#(X), proper#(U22(X)) -> proper#(X))
                (proper#(U22(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X1))
                (proper#(U22(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X2))
                (proper#(U22(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X1))
                (proper#(U22(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X2))
                (proper#(U22(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X1))
                (proper#(U22(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X2))
                (proper#(U22(X)) -> proper#(X), proper#(U33(X)) -> proper#(X))
                (proper#(U22(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X1))
                (proper#(U22(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X2))
                (proper#(U22(X)) -> proper#(X), proper#(s(X)) -> proper#(X))
                (proper#(U22(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X1))
                (proper#(U22(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X2))
                (proper#(U22(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X1))
                (proper#(U22(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X2))
                (proper#(U22(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X3))
                (proper#(U22(X)) -> proper#(X), proper#(U61(X)) -> proper#(X))
                (proper#(U22(X)) -> proper#(X), proper#(x(X1, X2)) -> proper#(X1))
                (proper#(U22(X)) -> proper#(X), proper#(x(X1, X2)) -> proper#(X2))
                (proper#(U22(X)) -> proper#(X), proper#(U71(X1, X2, X3)) -> proper#(X1))
                (proper#(U22(X)) -> proper#(X), proper#(U71(X1, X2, X3)) -> proper#(X2))
                (proper#(U22(X)) -> proper#(X), proper#(U71(X1, X2, X3)) -> proper#(X3))
                (proper#(U22(X)) -> proper#(X), proper#(and(X1, X2)) -> proper#(X2))
                (proper#(isNat(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X1))
                (proper#(isNat(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X2))
                (proper#(isNat(X)) -> proper#(X), proper#(isNat(X)) -> proper#(X))
                (proper#(isNat(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X1))
                (proper#(isNat(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X2))
                (proper#(isNat(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X3))
                (proper#(isNat(X)) -> proper#(X), proper#(U13(X)) -> proper#(X))
                (proper#(isNat(X)) -> proper#(X), proper#(U22(X)) -> proper#(X))
                (proper#(isNat(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X1))
                (proper#(isNat(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X2))
                (proper#(isNat(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X1))
                (proper#(isNat(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X2))
                (proper#(isNat(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X1))
                (proper#(isNat(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X2))
                (proper#(isNat(X)) -> proper#(X), proper#(U33(X)) -> proper#(X))
                (proper#(isNat(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X1))
                (proper#(isNat(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X2))
                (proper#(isNat(X)) -> proper#(X), proper#(s(X)) -> proper#(X))
                (proper#(isNat(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X1))
                (proper#(isNat(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X2))
                (proper#(isNat(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X1))
                (proper#(isNat(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X2))
                (proper#(isNat(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X3))
                (proper#(isNat(X)) -> proper#(X), proper#(U61(X)) -> proper#(X))
                (proper#(isNat(X)) -> proper#(X), proper#(x(X1, X2)) -> proper#(X1))
                (proper#(isNat(X)) -> proper#(X), proper#(x(X1, X2)) -> proper#(X2))
                (proper#(isNat(X)) -> proper#(X), proper#(U71(X1, X2, X3)) -> proper#(X1))
                (proper#(isNat(X)) -> proper#(X), proper#(U71(X1, X2, X3)) -> proper#(X2))
                (proper#(isNat(X)) -> proper#(X), proper#(U71(X1, X2, X3)) -> proper#(X3))
                (proper#(isNat(X)) -> proper#(X), proper#(and(X1, X2)) -> proper#(X2))
                (proper#(x(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                (proper#(x(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                (proper#(x(X1, X2)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                (proper#(x(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                (proper#(x(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X2))
                (proper#(x(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
                (proper#(x(X1, X2)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
                (proper#(x(X1, X2)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
                (proper#(x(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                (proper#(x(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X2))
                (proper#(x(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                (proper#(x(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                (proper#(x(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
                (proper#(x(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                (proper#(x(X1, X2)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                (proper#(x(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
                (proper#(x(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
                (proper#(x(X1, X2)) -> proper#(X1), proper#(s(X)) -> proper#(X))
                (proper#(x(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X1))
                (proper#(x(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X2))
                (proper#(x(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X1))
                (proper#(x(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X2))
                (proper#(x(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X3))
                (proper#(x(X1, X2)) -> proper#(X1), proper#(U61(X)) -> proper#(X))
                (proper#(x(X1, X2)) -> proper#(X1), proper#(x(X1, X2)) -> proper#(X1))
                (proper#(x(X1, X2)) -> proper#(X1), proper#(x(X1, X2)) -> proper#(X2))
                (proper#(x(X1, X2)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X1))
                (proper#(x(X1, X2)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X2))
                (proper#(x(X1, X2)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X3))
                (proper#(x(X1, X2)) -> proper#(X1), proper#(and(X1, X2)) -> proper#(X2))
                (proper#(plus(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                (proper#(plus(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                (proper#(plus(X1, X2)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                (proper#(plus(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                (proper#(plus(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X2))
                (proper#(plus(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
                (proper#(plus(X1, X2)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
                (proper#(plus(X1, X2)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
                (proper#(plus(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                (proper#(plus(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X2))
                (proper#(plus(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                (proper#(plus(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                (proper#(plus(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
                (proper#(plus(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                (proper#(plus(X1, X2)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                (proper#(plus(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
                (proper#(plus(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
                (proper#(plus(X1, X2)) -> proper#(X1), proper#(s(X)) -> proper#(X))
                (proper#(plus(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X1))
                (proper#(plus(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X2))
                (proper#(plus(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X1))
                (proper#(plus(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X2))
                (proper#(plus(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X3))
                (proper#(plus(X1, X2)) -> proper#(X1), proper#(U61(X)) -> proper#(X))
                (proper#(plus(X1, X2)) -> proper#(X1), proper#(x(X1, X2)) -> proper#(X1))
                (proper#(plus(X1, X2)) -> proper#(X1), proper#(x(X1, X2)) -> proper#(X2))
                (proper#(plus(X1, X2)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X1))
                (proper#(plus(X1, X2)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X2))
                (proper#(plus(X1, X2)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X3))
                (proper#(plus(X1, X2)) -> proper#(X1), proper#(and(X1, X2)) -> proper#(X2))
                (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X2))
                (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
                (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
                (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
                (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X2))
                (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
                (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
                (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
                (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(s(X)) -> proper#(X))
                (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X1))
                (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X2))
                (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X1))
                (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X2))
                (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X3))
                (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U61(X)) -> proper#(X))
                (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(x(X1, X2)) -> proper#(X1))
                (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(x(X1, X2)) -> proper#(X2))
                (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X1))
                (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X2))
                (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X3))
                (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(and(X1, X2)) -> proper#(X2))
                (proper#(U21(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                (proper#(U21(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                (proper#(U21(X1, X2)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                (proper#(U21(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                (proper#(U21(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X2))
                (proper#(U21(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
                (proper#(U21(X1, X2)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
                (proper#(U21(X1, X2)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
                (proper#(U21(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                (proper#(U21(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X2))
                (proper#(U21(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                (proper#(U21(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                (proper#(U21(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
                (proper#(U21(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                (proper#(U21(X1, X2)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                (proper#(U21(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
                (proper#(U21(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
                (proper#(U21(X1, X2)) -> proper#(X1), proper#(s(X)) -> proper#(X))
                (proper#(U21(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X1))
                (proper#(U21(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X2))
                (proper#(U21(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X1))
                (proper#(U21(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X2))
                (proper#(U21(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X3))
                (proper#(U21(X1, X2)) -> proper#(X1), proper#(U61(X)) -> proper#(X))
                (proper#(U21(X1, X2)) -> proper#(X1), proper#(x(X1, X2)) -> proper#(X1))
                (proper#(U21(X1, X2)) -> proper#(X1), proper#(x(X1, X2)) -> proper#(X2))
                (proper#(U21(X1, X2)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X1))
                (proper#(U21(X1, X2)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X2))
                (proper#(U21(X1, X2)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X3))
                (proper#(U21(X1, X2)) -> proper#(X1), proper#(and(X1, X2)) -> proper#(X2))
                (proper#(U12(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                (proper#(U12(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                (proper#(U12(X1, X2)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                (proper#(U12(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                (proper#(U12(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X2))
                (proper#(U12(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
                (proper#(U12(X1, X2)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
                (proper#(U12(X1, X2)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
                (proper#(U12(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                (proper#(U12(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X2))
                (proper#(U12(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                (proper#(U12(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                (proper#(U12(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
                (proper#(U12(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                (proper#(U12(X1, X2)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                (proper#(U12(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
                (proper#(U12(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
                (proper#(U12(X1, X2)) -> proper#(X1), proper#(s(X)) -> proper#(X))
                (proper#(U12(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X1))
                (proper#(U12(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X2))
                (proper#(U12(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X1))
                (proper#(U12(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X2))
                (proper#(U12(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X3))
                (proper#(U12(X1, X2)) -> proper#(X1), proper#(U61(X)) -> proper#(X))
                (proper#(U12(X1, X2)) -> proper#(X1), proper#(x(X1, X2)) -> proper#(X1))
                (proper#(U12(X1, X2)) -> proper#(X1), proper#(x(X1, X2)) -> proper#(X2))
                (proper#(U12(X1, X2)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X1))
                (proper#(U12(X1, X2)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X2))
                (proper#(U12(X1, X2)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X3))
                (proper#(U12(X1, X2)) -> proper#(X1), proper#(and(X1, X2)) -> proper#(X2))
               }
               SCCS:
                Scc:
                 {    proper#(U12(X1, X2)) -> proper#(X1),
                      proper#(U12(X1, X2)) -> proper#(X2),
                         proper#(isNat(X)) -> proper#(X),
                  proper#(U11(X1, X2, X3)) -> proper#(X1),
                  proper#(U11(X1, X2, X3)) -> proper#(X2),
                  proper#(U11(X1, X2, X3)) -> proper#(X3),
                           proper#(U13(X)) -> proper#(X),
                           proper#(U22(X)) -> proper#(X),
                      proper#(U21(X1, X2)) -> proper#(X1),
                      proper#(U21(X1, X2)) -> proper#(X2),
                      proper#(U32(X1, X2)) -> proper#(X1),
                      proper#(U32(X1, X2)) -> proper#(X2),
                  proper#(U31(X1, X2, X3)) -> proper#(X1),
                  proper#(U31(X1, X2, X3)) -> proper#(X2),
                           proper#(U33(X)) -> proper#(X),
                      proper#(U41(X1, X2)) -> proper#(X1),
                      proper#(U41(X1, X2)) -> proper#(X2),
                             proper#(s(X)) -> proper#(X),
                     proper#(plus(X1, X2)) -> proper#(X1),
                     proper#(plus(X1, X2)) -> proper#(X2),
                  proper#(U51(X1, X2, X3)) -> proper#(X1),
                  proper#(U51(X1, X2, X3)) -> proper#(X2),
                  proper#(U51(X1, X2, X3)) -> proper#(X3),
                           proper#(U61(X)) -> proper#(X),
                        proper#(x(X1, X2)) -> proper#(X1),
                        proper#(x(X1, X2)) -> proper#(X2),
                  proper#(U71(X1, X2, X3)) -> proper#(X1),
                  proper#(U71(X1, X2, X3)) -> proper#(X2),
                  proper#(U71(X1, X2, X3)) -> proper#(X3),
                      proper#(and(X1, X2)) -> proper#(X2)}
                SCC:
                 Strict:
                  {    proper#(U12(X1, X2)) -> proper#(X1),
                       proper#(U12(X1, X2)) -> proper#(X2),
                          proper#(isNat(X)) -> proper#(X),
                   proper#(U11(X1, X2, X3)) -> proper#(X1),
                   proper#(U11(X1, X2, X3)) -> proper#(X2),
                   proper#(U11(X1, X2, X3)) -> proper#(X3),
                            proper#(U13(X)) -> proper#(X),
                            proper#(U22(X)) -> proper#(X),
                       proper#(U21(X1, X2)) -> proper#(X1),
                       proper#(U21(X1, X2)) -> proper#(X2),
                       proper#(U32(X1, X2)) -> proper#(X1),
                       proper#(U32(X1, X2)) -> proper#(X2),
                   proper#(U31(X1, X2, X3)) -> proper#(X1),
                   proper#(U31(X1, X2, X3)) -> proper#(X2),
                            proper#(U33(X)) -> proper#(X),
                       proper#(U41(X1, X2)) -> proper#(X1),
                       proper#(U41(X1, X2)) -> proper#(X2),
                              proper#(s(X)) -> proper#(X),
                      proper#(plus(X1, X2)) -> proper#(X1),
                      proper#(plus(X1, X2)) -> proper#(X2),
                   proper#(U51(X1, X2, X3)) -> proper#(X1),
                   proper#(U51(X1, X2, X3)) -> proper#(X2),
                   proper#(U51(X1, X2, X3)) -> proper#(X3),
                            proper#(U61(X)) -> proper#(X),
                         proper#(x(X1, X2)) -> proper#(X1),
                         proper#(x(X1, X2)) -> proper#(X2),
                   proper#(U71(X1, X2, X3)) -> proper#(X1),
                   proper#(U71(X1, X2, X3)) -> proper#(X2),
                   proper#(U71(X1, X2, X3)) -> proper#(X3),
                       proper#(and(X1, X2)) -> proper#(X2)}
                 Weak:
                 {              U12(mark(X1), X2) -> mark(U12(X1, X2)),
                              U12(ok(X1), ok(X2)) -> ok(U12(X1, X2)),
                                     isNat(ok(X)) -> ok(isNat(X)),
                              active(U12(X1, X2)) -> U12(active(X1), X2),
                            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(X1, X2, X3)) -> U11(active(X1), X2, X3),
                        active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                                   active(U13(X)) -> U13(active(X)),
                                active(U13(tt())) -> mark(tt()),
                                   active(U22(X)) -> U22(active(X)),
                                active(U22(tt())) -> mark(tt()),
                              active(U21(X1, X2)) -> U21(active(X1), X2),
                            active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                              active(U32(X1, X2)) -> U32(active(X1), X2),
                            active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
                          active(U31(X1, X2, X3)) -> U31(active(X1), X2, X3),
                        active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                                   active(U33(X)) -> U33(active(X)),
                                active(U33(tt())) -> mark(tt()),
                              active(U41(X1, X2)) -> U41(active(X1), X2),
                             active(U41(tt(), N)) -> mark(N),
                                     active(s(X)) -> s(active(X)),
                            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(plus(X1, X2)) -> plus(X1, active(X2)),
                             active(plus(X1, X2)) -> plus(active(X1), X2),
                          active(U51(X1, X2, X3)) -> U51(active(X1), X2, X3),
                          active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                                   active(U61(X)) -> U61(active(X)),
                                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(x(X1, X2)) -> x(X1, active(X2)),
                                active(x(X1, X2)) -> x(active(X1), X2),
                          active(U71(X1, X2, X3)) -> U71(active(X1), X2, X3),
                          active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                              active(and(X1, X2)) -> and(active(X1), X2),
                             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(mark(X1), X2, X3) -> mark(U11(X1, X2, X3)),
                      U11(ok(X1), ok(X2), ok(X3)) -> ok(U11(X1, X2, X3)),
                                     U13(mark(X)) -> mark(U13(X)),
                                       U13(ok(X)) -> ok(U13(X)),
                                     U22(mark(X)) -> mark(U22(X)),
                                       U22(ok(X)) -> ok(U22(X)),
                                U21(mark(X1), X2) -> mark(U21(X1, X2)),
                              U21(ok(X1), ok(X2)) -> ok(U21(X1, X2)),
                                U32(mark(X1), X2) -> mark(U32(X1, X2)),
                              U32(ok(X1), ok(X2)) -> ok(U32(X1, X2)),
                            U31(mark(X1), X2, X3) -> mark(U31(X1, X2, X3)),
                      U31(ok(X1), ok(X2), ok(X3)) -> ok(U31(X1, X2, X3)),
                                     U33(mark(X)) -> mark(U33(X)),
                                       U33(ok(X)) -> ok(U33(X)),
                                U41(mark(X1), X2) -> mark(U41(X1, X2)),
                              U41(ok(X1), ok(X2)) -> ok(U41(X1, X2)),
                                       s(mark(X)) -> mark(s(X)),
                                         s(ok(X)) -> ok(s(X)),
                               plus(X1, mark(X2)) -> mark(plus(X1, X2)),
                               plus(mark(X1), X2) -> mark(plus(X1, X2)),
                             plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)),
                            U51(mark(X1), X2, X3) -> mark(U51(X1, X2, X3)),
                      U51(ok(X1), ok(X2), ok(X3)) -> ok(U51(X1, X2, X3)),
                                     U61(mark(X)) -> mark(U61(X)),
                                       U61(ok(X)) -> ok(U61(X)),
                                  x(X1, mark(X2)) -> mark(x(X1, X2)),
                                  x(mark(X1), X2) -> mark(x(X1, X2)),
                                x(ok(X1), ok(X2)) -> ok(x(X1, X2)),
                            U71(mark(X1), X2, X3) -> mark(U71(X1, X2, X3)),
                      U71(ok(X1), ok(X2), ok(X3)) -> ok(U71(X1, X2, X3)),
                                and(mark(X1), X2) -> mark(and(X1, X2)),
                              and(ok(X1), ok(X2)) -> ok(and(X1, X2)),
                                 isNatKind(ok(X)) -> ok(isNatKind(X)),
                              proper(U12(X1, X2)) -> U12(proper(X1), proper(X2)),
                                 proper(isNat(X)) -> isNat(proper(X)),
                          proper(U11(X1, X2, X3)) -> U11(proper(X1), proper(X2), proper(X3)),
                                     proper(tt()) -> ok(tt()),
                                   proper(U13(X)) -> U13(proper(X)),
                                   proper(U22(X)) -> U22(proper(X)),
                              proper(U21(X1, X2)) -> U21(proper(X1), proper(X2)),
                              proper(U32(X1, X2)) -> U32(proper(X1), proper(X2)),
                          proper(U31(X1, X2, X3)) -> U31(proper(X1), proper(X2), proper(X3)),
                                   proper(U33(X)) -> U33(proper(X)),
                              proper(U41(X1, X2)) -> U41(proper(X1), proper(X2)),
                                     proper(s(X)) -> s(proper(X)),
                             proper(plus(X1, X2)) -> plus(proper(X1), proper(X2)),
                          proper(U51(X1, X2, X3)) -> U51(proper(X1), proper(X2), proper(X3)),
                                      proper(0()) -> ok(0()),
                                   proper(U61(X)) -> U61(proper(X)),
                                proper(x(X1, X2)) -> x(proper(X1), proper(X2)),
                          proper(U71(X1, X2, X3)) -> U71(proper(X1), proper(X2), proper(X3)),
                              proper(and(X1, X2)) -> and(proper(X1), proper(X2)),
                             proper(isNatKind(X)) -> isNatKind(proper(X)),
                                     top(mark(X)) -> top(proper(X)),
                                       top(ok(X)) -> top(active(X))}
                 SPSC:
                  Simple Projection:
                   pi(proper#) = 0
                  Strict:
                   {    proper#(U12(X1, X2)) -> proper#(X1),
                        proper#(U12(X1, X2)) -> proper#(X2),
                           proper#(isNat(X)) -> proper#(X),
                    proper#(U11(X1, X2, X3)) -> proper#(X1),
                    proper#(U11(X1, X2, X3)) -> proper#(X2),
                    proper#(U11(X1, X2, X3)) -> proper#(X3),
                             proper#(U13(X)) -> proper#(X),
                             proper#(U22(X)) -> proper#(X),
                        proper#(U21(X1, X2)) -> proper#(X1),
                        proper#(U21(X1, X2)) -> proper#(X2),
                        proper#(U32(X1, X2)) -> proper#(X1),
                        proper#(U32(X1, X2)) -> proper#(X2),
                    proper#(U31(X1, X2, X3)) -> proper#(X1),
                    proper#(U31(X1, X2, X3)) -> proper#(X2),
                             proper#(U33(X)) -> proper#(X),
                        proper#(U41(X1, X2)) -> proper#(X1),
                        proper#(U41(X1, X2)) -> proper#(X2),
                               proper#(s(X)) -> proper#(X),
                       proper#(plus(X1, X2)) -> proper#(X1),
                       proper#(plus(X1, X2)) -> proper#(X2),
                    proper#(U51(X1, X2, X3)) -> proper#(X1),
                    proper#(U51(X1, X2, X3)) -> proper#(X2),
                    proper#(U51(X1, X2, X3)) -> proper#(X3),
                             proper#(U61(X)) -> proper#(X),
                          proper#(x(X1, X2)) -> proper#(X1),
                          proper#(x(X1, X2)) -> proper#(X2),
                    proper#(U71(X1, X2, X3)) -> proper#(X2),
                    proper#(U71(X1, X2, X3)) -> proper#(X3),
                        proper#(and(X1, X2)) -> proper#(X2)}
                  EDG:
                   {
                    (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(and(X1, X2)) -> proper#(X2))
                    (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X3))
                    (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X2))
                    (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X2))
                    (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X1))
                    (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U61(X)) -> proper#(X))
                    (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X3))
                    (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X2))
                    (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X1))
                    (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X2))
                    (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X1))
                    (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(s(X)) -> proper#(X))
                    (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
                    (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
                    (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
                    (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
                    (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
                    (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
                    (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
                    (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X2))
                    (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
                    (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
                    (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
                    (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
                    (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X2))
                    (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
                    (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
                    (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
                    (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(and(X1, X2)) -> proper#(X2))
                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X3))
                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X2))
                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X2))
                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X1))
                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U61(X)) -> proper#(X))
                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X3))
                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X2))
                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X1))
                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X2))
                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X1))
                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(s(X)) -> proper#(X))
                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X2))
                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X2))
                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
                    (proper#(U41(X1, X2)) -> proper#(X2), proper#(and(X1, X2)) -> proper#(X2))
                    (proper#(U41(X1, X2)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X3))
                    (proper#(U41(X1, X2)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X2))
                    (proper#(U41(X1, X2)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X2))
                    (proper#(U41(X1, X2)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X1))
                    (proper#(U41(X1, X2)) -> proper#(X2), proper#(U61(X)) -> proper#(X))
                    (proper#(U41(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X3))
                    (proper#(U41(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X2))
                    (proper#(U41(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X1))
                    (proper#(U41(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X2))
                    (proper#(U41(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X1))
                    (proper#(U41(X1, X2)) -> proper#(X2), proper#(s(X)) -> proper#(X))
                    (proper#(U41(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
                    (proper#(U41(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
                    (proper#(U41(X1, X2)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
                    (proper#(U41(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
                    (proper#(U41(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
                    (proper#(U41(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
                    (proper#(U41(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
                    (proper#(U41(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X2))
                    (proper#(U41(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
                    (proper#(U41(X1, X2)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
                    (proper#(U41(X1, X2)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
                    (proper#(U41(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
                    (proper#(U41(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X2))
                    (proper#(U41(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
                    (proper#(U41(X1, X2)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
                    (proper#(U41(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
                    (proper#(U41(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
                    (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(and(X1, X2)) -> proper#(X2))
                    (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X3))
                    (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X2))
                    (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X2))
                    (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X1))
                    (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U61(X)) -> proper#(X))
                    (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X3))
                    (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X2))
                    (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X1))
                    (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X2))
                    (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X1))
                    (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(s(X)) -> proper#(X))
                    (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
                    (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
                    (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
                    (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
                    (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
                    (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
                    (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
                    (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X2))
                    (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
                    (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
                    (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
                    (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
                    (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X2))
                    (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
                    (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
                    (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
                    (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
                    (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(and(X1, X2)) -> proper#(X2))
                    (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X3))
                    (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X2))
                    (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X2))
                    (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X1))
                    (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U61(X)) -> proper#(X))
                    (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X3))
                    (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X2))
                    (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X1))
                    (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X2))
                    (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X1))
                    (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(s(X)) -> proper#(X))
                    (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
                    (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
                    (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
                    (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
                    (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
                    (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
                    (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
                    (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X2))
                    (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
                    (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
                    (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
                    (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
                    (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X2))
                    (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
                    (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
                    (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
                    (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(and(X1, X2)) -> proper#(X2))
                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X3))
                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X2))
                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(x(X1, X2)) -> proper#(X2))
                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(x(X1, X2)) -> proper#(X1))
                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U61(X)) -> proper#(X))
                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X3))
                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X2))
                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X1))
                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X2))
                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X1))
                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(s(X)) -> proper#(X))
                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X2))
                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X2))
                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(and(X1, X2)) -> proper#(X2))
                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X3))
                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X2))
                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(x(X1, X2)) -> proper#(X2))
                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(x(X1, X2)) -> proper#(X1))
                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U61(X)) -> proper#(X))
                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X3))
                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X2))
                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X1))
                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X2))
                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X1))
                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(s(X)) -> proper#(X))
                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X2))
                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X2))
                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(and(X1, X2)) -> proper#(X2))
                    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X3))
                    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X2))
                    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(x(X1, X2)) -> proper#(X2))
                    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(x(X1, X2)) -> proper#(X1))
                    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U61(X)) -> proper#(X))
                    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X3))
                    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X2))
                    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X1))
                    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X2))
                    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X1))
                    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(s(X)) -> proper#(X))
                    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
                    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
                    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
                    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X2))
                    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
                    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
                    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
                    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X2))
                    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                    (proper#(plus(X1, X2)) -> proper#(X1), proper#(and(X1, X2)) -> proper#(X2))
                    (proper#(plus(X1, X2)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X3))
                    (proper#(plus(X1, X2)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X2))
                    (proper#(plus(X1, X2)) -> proper#(X1), proper#(x(X1, X2)) -> proper#(X2))
                    (proper#(plus(X1, X2)) -> proper#(X1), proper#(x(X1, X2)) -> proper#(X1))
                    (proper#(plus(X1, X2)) -> proper#(X1), proper#(U61(X)) -> proper#(X))
                    (proper#(plus(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X3))
                    (proper#(plus(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X2))
                    (proper#(plus(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X1))
                    (proper#(plus(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X2))
                    (proper#(plus(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X1))
                    (proper#(plus(X1, X2)) -> proper#(X1), proper#(s(X)) -> proper#(X))
                    (proper#(plus(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
                    (proper#(plus(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
                    (proper#(plus(X1, X2)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                    (proper#(plus(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                    (proper#(plus(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
                    (proper#(plus(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                    (proper#(plus(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                    (proper#(plus(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X2))
                    (proper#(plus(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                    (proper#(plus(X1, X2)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
                    (proper#(plus(X1, X2)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
                    (proper#(plus(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
                    (proper#(plus(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X2))
                    (proper#(plus(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                    (proper#(plus(X1, X2)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                    (proper#(plus(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                    (proper#(plus(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                    (proper#(x(X1, X2)) -> proper#(X1), proper#(and(X1, X2)) -> proper#(X2))
                    (proper#(x(X1, X2)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X3))
                    (proper#(x(X1, X2)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X2))
                    (proper#(x(X1, X2)) -> proper#(X1), proper#(x(X1, X2)) -> proper#(X2))
                    (proper#(x(X1, X2)) -> proper#(X1), proper#(x(X1, X2)) -> proper#(X1))
                    (proper#(x(X1, X2)) -> proper#(X1), proper#(U61(X)) -> proper#(X))
                    (proper#(x(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X3))
                    (proper#(x(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X2))
                    (proper#(x(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X1))
                    (proper#(x(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X2))
                    (proper#(x(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X1))
                    (proper#(x(X1, X2)) -> proper#(X1), proper#(s(X)) -> proper#(X))
                    (proper#(x(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
                    (proper#(x(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
                    (proper#(x(X1, X2)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                    (proper#(x(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                    (proper#(x(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
                    (proper#(x(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                    (proper#(x(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                    (proper#(x(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X2))
                    (proper#(x(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                    (proper#(x(X1, X2)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
                    (proper#(x(X1, X2)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
                    (proper#(x(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
                    (proper#(x(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X2))
                    (proper#(x(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                    (proper#(x(X1, X2)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                    (proper#(x(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                    (proper#(x(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                    (proper#(U13(X)) -> proper#(X), proper#(and(X1, X2)) -> proper#(X2))
                    (proper#(U13(X)) -> proper#(X), proper#(U71(X1, X2, X3)) -> proper#(X3))
                    (proper#(U13(X)) -> proper#(X), proper#(U71(X1, X2, X3)) -> proper#(X2))
                    (proper#(U13(X)) -> proper#(X), proper#(x(X1, X2)) -> proper#(X2))
                    (proper#(U13(X)) -> proper#(X), proper#(x(X1, X2)) -> proper#(X1))
                    (proper#(U13(X)) -> proper#(X), proper#(U61(X)) -> proper#(X))
                    (proper#(U13(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X3))
                    (proper#(U13(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X2))
                    (proper#(U13(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X1))
                    (proper#(U13(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X2))
                    (proper#(U13(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X1))
                    (proper#(U13(X)) -> proper#(X), proper#(s(X)) -> proper#(X))
                    (proper#(U13(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X2))
                    (proper#(U13(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X1))
                    (proper#(U13(X)) -> proper#(X), proper#(U33(X)) -> proper#(X))
                    (proper#(U13(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X2))
                    (proper#(U13(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X1))
                    (proper#(U13(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X2))
                    (proper#(U13(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X1))
                    (proper#(U13(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X2))
                    (proper#(U13(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X1))
                    (proper#(U13(X)) -> proper#(X), proper#(U22(X)) -> proper#(X))
                    (proper#(U13(X)) -> proper#(X), proper#(U13(X)) -> proper#(X))
                    (proper#(U13(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X3))
                    (proper#(U13(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X2))
                    (proper#(U13(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X1))
                    (proper#(U13(X)) -> proper#(X), proper#(isNat(X)) -> proper#(X))
                    (proper#(U13(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X2))
                    (proper#(U13(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X1))
                    (proper#(U33(X)) -> proper#(X), proper#(and(X1, X2)) -> proper#(X2))
                    (proper#(U33(X)) -> proper#(X), proper#(U71(X1, X2, X3)) -> proper#(X3))
                    (proper#(U33(X)) -> proper#(X), proper#(U71(X1, X2, X3)) -> proper#(X2))
                    (proper#(U33(X)) -> proper#(X), proper#(x(X1, X2)) -> proper#(X2))
                    (proper#(U33(X)) -> proper#(X), proper#(x(X1, X2)) -> proper#(X1))
                    (proper#(U33(X)) -> proper#(X), proper#(U61(X)) -> proper#(X))
                    (proper#(U33(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X3))
                    (proper#(U33(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X2))
                    (proper#(U33(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X1))
                    (proper#(U33(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X2))
                    (proper#(U33(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X1))
                    (proper#(U33(X)) -> proper#(X), proper#(s(X)) -> proper#(X))
                    (proper#(U33(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X2))
                    (proper#(U33(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X1))
                    (proper#(U33(X)) -> proper#(X), proper#(U33(X)) -> proper#(X))
                    (proper#(U33(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X2))
                    (proper#(U33(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X1))
                    (proper#(U33(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X2))
                    (proper#(U33(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X1))
                    (proper#(U33(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X2))
                    (proper#(U33(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X1))
                    (proper#(U33(X)) -> proper#(X), proper#(U22(X)) -> proper#(X))
                    (proper#(U33(X)) -> proper#(X), proper#(U13(X)) -> proper#(X))
                    (proper#(U33(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X3))
                    (proper#(U33(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X2))
                    (proper#(U33(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X1))
                    (proper#(U33(X)) -> proper#(X), proper#(isNat(X)) -> proper#(X))
                    (proper#(U33(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X2))
                    (proper#(U33(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X1))
                    (proper#(U61(X)) -> proper#(X), proper#(and(X1, X2)) -> proper#(X2))
                    (proper#(U61(X)) -> proper#(X), proper#(U71(X1, X2, X3)) -> proper#(X3))
                    (proper#(U61(X)) -> proper#(X), proper#(U71(X1, X2, X3)) -> proper#(X2))
                    (proper#(U61(X)) -> proper#(X), proper#(x(X1, X2)) -> proper#(X2))
                    (proper#(U61(X)) -> proper#(X), proper#(x(X1, X2)) -> proper#(X1))
                    (proper#(U61(X)) -> proper#(X), proper#(U61(X)) -> proper#(X))
                    (proper#(U61(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X3))
                    (proper#(U61(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X2))
                    (proper#(U61(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X1))
                    (proper#(U61(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X2))
                    (proper#(U61(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X1))
                    (proper#(U61(X)) -> proper#(X), proper#(s(X)) -> proper#(X))
                    (proper#(U61(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X2))
                    (proper#(U61(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X1))
                    (proper#(U61(X)) -> proper#(X), proper#(U33(X)) -> proper#(X))
                    (proper#(U61(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X2))
                    (proper#(U61(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X1))
                    (proper#(U61(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X2))
                    (proper#(U61(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X1))
                    (proper#(U61(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X2))
                    (proper#(U61(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X1))
                    (proper#(U61(X)) -> proper#(X), proper#(U22(X)) -> proper#(X))
                    (proper#(U61(X)) -> proper#(X), proper#(U13(X)) -> proper#(X))
                    (proper#(U61(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X3))
                    (proper#(U61(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X2))
                    (proper#(U61(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X1))
                    (proper#(U61(X)) -> proper#(X), proper#(isNat(X)) -> proper#(X))
                    (proper#(U61(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X2))
                    (proper#(U61(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X1))
                    (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(and(X1, X2)) -> proper#(X2))
                    (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U71(X1, X2, X3)) -> proper#(X3))
                    (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U71(X1, X2, X3)) -> proper#(X2))
                    (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(x(X1, X2)) -> proper#(X2))
                    (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(x(X1, X2)) -> proper#(X1))
                    (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U61(X)) -> proper#(X))
                    (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U51(X1, X2, X3)) -> proper#(X3))
                    (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U51(X1, X2, X3)) -> proper#(X2))
                    (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U51(X1, X2, X3)) -> proper#(X1))
                    (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(plus(X1, X2)) -> proper#(X2))
                    (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(plus(X1, X2)) -> proper#(X1))
                    (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(s(X)) -> proper#(X))
                    (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U41(X1, X2)) -> proper#(X2))
                    (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U41(X1, X2)) -> proper#(X1))
                    (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U33(X)) -> proper#(X))
                    (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U31(X1, X2, X3)) -> proper#(X2))
                    (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U31(X1, X2, X3)) -> proper#(X1))
                    (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U32(X1, X2)) -> proper#(X2))
                    (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U32(X1, X2)) -> proper#(X1))
                    (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U21(X1, X2)) -> proper#(X2))
                    (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U21(X1, X2)) -> proper#(X1))
                    (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U22(X)) -> proper#(X))
                    (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U13(X)) -> proper#(X))
                    (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U11(X1, X2, X3)) -> proper#(X3))
                    (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U11(X1, X2, X3)) -> proper#(X2))
                    (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U11(X1, X2, X3)) -> proper#(X1))
                    (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(isNat(X)) -> proper#(X))
                    (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U12(X1, X2)) -> proper#(X2))
                    (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U12(X1, X2)) -> proper#(X1))
                    (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U12(X1, X2)) -> proper#(X1))
                    (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U12(X1, X2)) -> proper#(X2))
                    (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(isNat(X)) -> proper#(X))
                    (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U11(X1, X2, X3)) -> proper#(X1))
                    (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U11(X1, X2, X3)) -> proper#(X2))
                    (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U11(X1, X2, X3)) -> proper#(X3))
                    (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U13(X)) -> proper#(X))
                    (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U22(X)) -> proper#(X))
                    (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U21(X1, X2)) -> proper#(X1))
                    (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U21(X1, X2)) -> proper#(X2))
                    (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U32(X1, X2)) -> proper#(X1))
                    (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U32(X1, X2)) -> proper#(X2))
                    (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U31(X1, X2, X3)) -> proper#(X1))
                    (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U31(X1, X2, X3)) -> proper#(X2))
                    (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U33(X)) -> proper#(X))
                    (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U41(X1, X2)) -> proper#(X1))
                    (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U41(X1, X2)) -> proper#(X2))
                    (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(s(X)) -> proper#(X))
                    (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(plus(X1, X2)) -> proper#(X1))
                    (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(plus(X1, X2)) -> proper#(X2))
                    (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U51(X1, X2, X3)) -> proper#(X1))
                    (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U51(X1, X2, X3)) -> proper#(X2))
                    (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U51(X1, X2, X3)) -> proper#(X3))
                    (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U61(X)) -> proper#(X))
                    (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(x(X1, X2)) -> proper#(X1))
                    (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(x(X1, X2)) -> proper#(X2))
                    (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U71(X1, X2, X3)) -> proper#(X2))
                    (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U71(X1, X2, X3)) -> proper#(X3))
                    (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(and(X1, X2)) -> proper#(X2))
                    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U12(X1, X2)) -> proper#(X1))
                    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U12(X1, X2)) -> proper#(X2))
                    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(isNat(X)) -> proper#(X))
                    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U11(X1, X2, X3)) -> proper#(X1))
                    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U11(X1, X2, X3)) -> proper#(X2))
                    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U11(X1, X2, X3)) -> proper#(X3))
                    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U13(X)) -> proper#(X))
                    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U22(X)) -> proper#(X))
                    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U21(X1, X2)) -> proper#(X1))
                    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U21(X1, X2)) -> proper#(X2))
                    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U32(X1, X2)) -> proper#(X1))
                    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U32(X1, X2)) -> proper#(X2))
                    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U31(X1, X2, X3)) -> proper#(X1))
                    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U31(X1, X2, X3)) -> proper#(X2))
                    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U33(X)) -> proper#(X))
                    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U41(X1, X2)) -> proper#(X1))
                    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U41(X1, X2)) -> proper#(X2))
                    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(s(X)) -> proper#(X))
                    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(plus(X1, X2)) -> proper#(X1))
                    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(plus(X1, X2)) -> proper#(X2))
                    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U51(X1, X2, X3)) -> proper#(X1))
                    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U51(X1, X2, X3)) -> proper#(X2))
                    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U51(X1, X2, X3)) -> proper#(X3))
                    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U61(X)) -> proper#(X))
                    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(x(X1, X2)) -> proper#(X1))
                    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(x(X1, X2)) -> proper#(X2))
                    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U71(X1, X2, X3)) -> proper#(X2))
                    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U71(X1, X2, X3)) -> proper#(X3))
                    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(and(X1, X2)) -> proper#(X2))
                    (proper#(s(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X1))
                    (proper#(s(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X2))
                    (proper#(s(X)) -> proper#(X), proper#(isNat(X)) -> proper#(X))
                    (proper#(s(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X1))
                    (proper#(s(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X2))
                    (proper#(s(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X3))
                    (proper#(s(X)) -> proper#(X), proper#(U13(X)) -> proper#(X))
                    (proper#(s(X)) -> proper#(X), proper#(U22(X)) -> proper#(X))
                    (proper#(s(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X1))
                    (proper#(s(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X2))
                    (proper#(s(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X1))
                    (proper#(s(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X2))
                    (proper#(s(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X1))
                    (proper#(s(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X2))
                    (proper#(s(X)) -> proper#(X), proper#(U33(X)) -> proper#(X))
                    (proper#(s(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X1))
                    (proper#(s(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X2))
                    (proper#(s(X)) -> proper#(X), proper#(s(X)) -> proper#(X))
                    (proper#(s(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X1))
                    (proper#(s(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X2))
                    (proper#(s(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X1))
                    (proper#(s(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X2))
                    (proper#(s(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X3))
                    (proper#(s(X)) -> proper#(X), proper#(U61(X)) -> proper#(X))
                    (proper#(s(X)) -> proper#(X), proper#(x(X1, X2)) -> proper#(X1))
                    (proper#(s(X)) -> proper#(X), proper#(x(X1, X2)) -> proper#(X2))
                    (proper#(s(X)) -> proper#(X), proper#(U71(X1, X2, X3)) -> proper#(X2))
                    (proper#(s(X)) -> proper#(X), proper#(U71(X1, X2, X3)) -> proper#(X3))
                    (proper#(s(X)) -> proper#(X), proper#(and(X1, X2)) -> proper#(X2))
                    (proper#(U22(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X1))
                    (proper#(U22(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X2))
                    (proper#(U22(X)) -> proper#(X), proper#(isNat(X)) -> proper#(X))
                    (proper#(U22(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X1))
                    (proper#(U22(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X2))
                    (proper#(U22(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X3))
                    (proper#(U22(X)) -> proper#(X), proper#(U13(X)) -> proper#(X))
                    (proper#(U22(X)) -> proper#(X), proper#(U22(X)) -> proper#(X))
                    (proper#(U22(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X1))
                    (proper#(U22(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X2))
                    (proper#(U22(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X1))
                    (proper#(U22(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X2))
                    (proper#(U22(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X1))
                    (proper#(U22(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X2))
                    (proper#(U22(X)) -> proper#(X), proper#(U33(X)) -> proper#(X))
                    (proper#(U22(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X1))
                    (proper#(U22(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X2))
                    (proper#(U22(X)) -> proper#(X), proper#(s(X)) -> proper#(X))
                    (proper#(U22(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X1))
                    (proper#(U22(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X2))
                    (proper#(U22(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X1))
                    (proper#(U22(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X2))
                    (proper#(U22(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X3))
                    (proper#(U22(X)) -> proper#(X), proper#(U61(X)) -> proper#(X))
                    (proper#(U22(X)) -> proper#(X), proper#(x(X1, X2)) -> proper#(X1))
                    (proper#(U22(X)) -> proper#(X), proper#(x(X1, X2)) -> proper#(X2))
                    (proper#(U22(X)) -> proper#(X), proper#(U71(X1, X2, X3)) -> proper#(X2))
                    (proper#(U22(X)) -> proper#(X), proper#(U71(X1, X2, X3)) -> proper#(X3))
                    (proper#(U22(X)) -> proper#(X), proper#(and(X1, X2)) -> proper#(X2))
                    (proper#(isNat(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X1))
                    (proper#(isNat(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X2))
                    (proper#(isNat(X)) -> proper#(X), proper#(isNat(X)) -> proper#(X))
                    (proper#(isNat(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X1))
                    (proper#(isNat(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X2))
                    (proper#(isNat(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X3))
                    (proper#(isNat(X)) -> proper#(X), proper#(U13(X)) -> proper#(X))
                    (proper#(isNat(X)) -> proper#(X), proper#(U22(X)) -> proper#(X))
                    (proper#(isNat(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X1))
                    (proper#(isNat(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X2))
                    (proper#(isNat(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X1))
                    (proper#(isNat(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X2))
                    (proper#(isNat(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X1))
                    (proper#(isNat(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X2))
                    (proper#(isNat(X)) -> proper#(X), proper#(U33(X)) -> proper#(X))
                    (proper#(isNat(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X1))
                    (proper#(isNat(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X2))
                    (proper#(isNat(X)) -> proper#(X), proper#(s(X)) -> proper#(X))
                    (proper#(isNat(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X1))
                    (proper#(isNat(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X2))
                    (proper#(isNat(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X1))
                    (proper#(isNat(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X2))
                    (proper#(isNat(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X3))
                    (proper#(isNat(X)) -> proper#(X), proper#(U61(X)) -> proper#(X))
                    (proper#(isNat(X)) -> proper#(X), proper#(x(X1, X2)) -> proper#(X1))
                    (proper#(isNat(X)) -> proper#(X), proper#(x(X1, X2)) -> proper#(X2))
                    (proper#(isNat(X)) -> proper#(X), proper#(U71(X1, X2, X3)) -> proper#(X2))
                    (proper#(isNat(X)) -> proper#(X), proper#(U71(X1, X2, X3)) -> proper#(X3))
                    (proper#(isNat(X)) -> proper#(X), proper#(and(X1, X2)) -> proper#(X2))
                    (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                    (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                    (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                    (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                    (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X2))
                    (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
                    (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
                    (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
                    (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                    (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X2))
                    (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                    (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                    (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
                    (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                    (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                    (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
                    (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
                    (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(s(X)) -> proper#(X))
                    (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X1))
                    (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X2))
                    (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X1))
                    (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X2))
                    (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X3))
                    (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U61(X)) -> proper#(X))
                    (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(x(X1, X2)) -> proper#(X1))
                    (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(x(X1, X2)) -> proper#(X2))
                    (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X2))
                    (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X3))
                    (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(and(X1, X2)) -> proper#(X2))
                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X2))
                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X2))
                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(s(X)) -> proper#(X))
                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X1))
                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X2))
                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X1))
                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X2))
                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X3))
                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U61(X)) -> proper#(X))
                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(x(X1, X2)) -> proper#(X1))
                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(x(X1, X2)) -> proper#(X2))
                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X2))
                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X3))
                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(and(X1, X2)) -> proper#(X2))
                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X2))
                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X2))
                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(s(X)) -> proper#(X))
                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X1))
                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X2))
                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X1))
                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X2))
                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X3))
                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U61(X)) -> proper#(X))
                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(x(X1, X2)) -> proper#(X1))
                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(x(X1, X2)) -> proper#(X2))
                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X2))
                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X3))
                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(and(X1, X2)) -> proper#(X2))
                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X2))
                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X2))
                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(s(X)) -> proper#(X))
                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X1))
                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X2))
                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X1))
                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X2))
                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X3))
                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U61(X)) -> proper#(X))
                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(x(X1, X2)) -> proper#(X1))
                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(x(X1, X2)) -> proper#(X2))
                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X2))
                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X3))
                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(and(X1, X2)) -> proper#(X2))
                    (proper#(and(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
                    (proper#(and(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
                    (proper#(and(X1, X2)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
                    (proper#(and(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
                    (proper#(and(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X2))
                    (proper#(and(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
                    (proper#(and(X1, X2)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
                    (proper#(and(X1, X2)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
                    (proper#(and(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
                    (proper#(and(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X2))
                    (proper#(and(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
                    (proper#(and(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
                    (proper#(and(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
                    (proper#(and(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
                    (proper#(and(X1, X2)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
                    (proper#(and(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
                    (proper#(and(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
                    (proper#(and(X1, X2)) -> proper#(X2), proper#(s(X)) -> proper#(X))
                    (proper#(and(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X1))
                    (proper#(and(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X2))
                    (proper#(and(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X1))
                    (proper#(and(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X2))
                    (proper#(and(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X3))
                    (proper#(and(X1, X2)) -> proper#(X2), proper#(U61(X)) -> proper#(X))
                    (proper#(and(X1, X2)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X1))
                    (proper#(and(X1, X2)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X2))
                    (proper#(and(X1, X2)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X2))
                    (proper#(and(X1, X2)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X3))
                    (proper#(and(X1, X2)) -> proper#(X2), proper#(and(X1, X2)) -> proper#(X2))
                    (proper#(x(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
                    (proper#(x(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
                    (proper#(x(X1, X2)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
                    (proper#(x(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
                    (proper#(x(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X2))
                    (proper#(x(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
                    (proper#(x(X1, X2)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
                    (proper#(x(X1, X2)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
                    (proper#(x(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
                    (proper#(x(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X2))
                    (proper#(x(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
                    (proper#(x(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
                    (proper#(x(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
                    (proper#(x(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
                    (proper#(x(X1, X2)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
                    (proper#(x(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
                    (proper#(x(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
                    (proper#(x(X1, X2)) -> proper#(X2), proper#(s(X)) -> proper#(X))
                    (proper#(x(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X1))
                    (proper#(x(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X2))
                    (proper#(x(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X1))
                    (proper#(x(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X2))
                    (proper#(x(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X3))
                    (proper#(x(X1, X2)) -> proper#(X2), proper#(U61(X)) -> proper#(X))
                    (proper#(x(X1, X2)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X1))
                    (proper#(x(X1, X2)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X2))
                    (proper#(x(X1, X2)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X2))
                    (proper#(x(X1, X2)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X3))
                    (proper#(x(X1, X2)) -> proper#(X2), proper#(and(X1, X2)) -> proper#(X2))
                    (proper#(plus(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
                    (proper#(plus(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
                    (proper#(plus(X1, X2)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
                    (proper#(plus(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
                    (proper#(plus(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X2))
                    (proper#(plus(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
                    (proper#(plus(X1, X2)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
                    (proper#(plus(X1, X2)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
                    (proper#(plus(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
                    (proper#(plus(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X2))
                    (proper#(plus(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
                    (proper#(plus(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
                    (proper#(plus(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
                    (proper#(plus(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
                    (proper#(plus(X1, X2)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
                    (proper#(plus(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
                    (proper#(plus(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
                    (proper#(plus(X1, X2)) -> proper#(X2), proper#(s(X)) -> proper#(X))
                    (proper#(plus(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X1))
                    (proper#(plus(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X2))
                    (proper#(plus(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X1))
                    (proper#(plus(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X2))
                    (proper#(plus(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X3))
                    (proper#(plus(X1, X2)) -> proper#(X2), proper#(U61(X)) -> proper#(X))
                    (proper#(plus(X1, X2)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X1))
                    (proper#(plus(X1, X2)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X2))
                    (proper#(plus(X1, X2)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X2))
                    (proper#(plus(X1, X2)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X3))
                    (proper#(plus(X1, X2)) -> proper#(X2), proper#(and(X1, X2)) -> proper#(X2))
                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X2))
                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X2))
                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(s(X)) -> proper#(X))
                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X1))
                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X2))
                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X1))
                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X2))
                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X3))
                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U61(X)) -> proper#(X))
                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X1))
                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X2))
                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X2))
                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X3))
                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(and(X1, X2)) -> proper#(X2))
                    (proper#(U21(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
                    (proper#(U21(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
                    (proper#(U21(X1, X2)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
                    (proper#(U21(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
                    (proper#(U21(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X2))
                    (proper#(U21(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
                    (proper#(U21(X1, X2)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
                    (proper#(U21(X1, X2)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
                    (proper#(U21(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
                    (proper#(U21(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X2))
                    (proper#(U21(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
                    (proper#(U21(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
                    (proper#(U21(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
                    (proper#(U21(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
                    (proper#(U21(X1, X2)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
                    (proper#(U21(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
                    (proper#(U21(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
                    (proper#(U21(X1, X2)) -> proper#(X2), proper#(s(X)) -> proper#(X))
                    (proper#(U21(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X1))
                    (proper#(U21(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X2))
                    (proper#(U21(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X1))
                    (proper#(U21(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X2))
                    (proper#(U21(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X3))
                    (proper#(U21(X1, X2)) -> proper#(X2), proper#(U61(X)) -> proper#(X))
                    (proper#(U21(X1, X2)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X1))
                    (proper#(U21(X1, X2)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X2))
                    (proper#(U21(X1, X2)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X2))
                    (proper#(U21(X1, X2)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X3))
                    (proper#(U21(X1, X2)) -> proper#(X2), proper#(and(X1, X2)) -> proper#(X2))
                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X2))
                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X2))
                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(s(X)) -> proper#(X))
                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X1))
                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X2))
                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X1))
                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X2))
                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X3))
                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U61(X)) -> proper#(X))
                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X1))
                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X2))
                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X2))
                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X3))
                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(and(X1, X2)) -> proper#(X2))
                   }
                   SCCS:
                    Scc:
                     {    proper#(U12(X1, X2)) -> proper#(X1),
                          proper#(U12(X1, X2)) -> proper#(X2),
                             proper#(isNat(X)) -> proper#(X),
                      proper#(U11(X1, X2, X3)) -> proper#(X1),
                      proper#(U11(X1, X2, X3)) -> proper#(X2),
                      proper#(U11(X1, X2, X3)) -> proper#(X3),
                               proper#(U13(X)) -> proper#(X),
                               proper#(U22(X)) -> proper#(X),
                          proper#(U21(X1, X2)) -> proper#(X1),
                          proper#(U21(X1, X2)) -> proper#(X2),
                          proper#(U32(X1, X2)) -> proper#(X1),
                          proper#(U32(X1, X2)) -> proper#(X2),
                      proper#(U31(X1, X2, X3)) -> proper#(X1),
                      proper#(U31(X1, X2, X3)) -> proper#(X2),
                               proper#(U33(X)) -> proper#(X),
                          proper#(U41(X1, X2)) -> proper#(X1),
                          proper#(U41(X1, X2)) -> proper#(X2),
                                 proper#(s(X)) -> proper#(X),
                         proper#(plus(X1, X2)) -> proper#(X1),
                         proper#(plus(X1, X2)) -> proper#(X2),
                      proper#(U51(X1, X2, X3)) -> proper#(X1),
                      proper#(U51(X1, X2, X3)) -> proper#(X2),
                      proper#(U51(X1, X2, X3)) -> proper#(X3),
                               proper#(U61(X)) -> proper#(X),
                            proper#(x(X1, X2)) -> proper#(X1),
                            proper#(x(X1, X2)) -> proper#(X2),
                      proper#(U71(X1, X2, X3)) -> proper#(X2),
                      proper#(U71(X1, X2, X3)) -> proper#(X3),
                          proper#(and(X1, X2)) -> proper#(X2)}
                    SCC:
                     Strict:
                      {    proper#(U12(X1, X2)) -> proper#(X1),
                           proper#(U12(X1, X2)) -> proper#(X2),
                              proper#(isNat(X)) -> proper#(X),
                       proper#(U11(X1, X2, X3)) -> proper#(X1),
                       proper#(U11(X1, X2, X3)) -> proper#(X2),
                       proper#(U11(X1, X2, X3)) -> proper#(X3),
                                proper#(U13(X)) -> proper#(X),
                                proper#(U22(X)) -> proper#(X),
                           proper#(U21(X1, X2)) -> proper#(X1),
                           proper#(U21(X1, X2)) -> proper#(X2),
                           proper#(U32(X1, X2)) -> proper#(X1),
                           proper#(U32(X1, X2)) -> proper#(X2),
                       proper#(U31(X1, X2, X3)) -> proper#(X1),
                       proper#(U31(X1, X2, X3)) -> proper#(X2),
                                proper#(U33(X)) -> proper#(X),
                           proper#(U41(X1, X2)) -> proper#(X1),
                           proper#(U41(X1, X2)) -> proper#(X2),
                                  proper#(s(X)) -> proper#(X),
                          proper#(plus(X1, X2)) -> proper#(X1),
                          proper#(plus(X1, X2)) -> proper#(X2),
                       proper#(U51(X1, X2, X3)) -> proper#(X1),
                       proper#(U51(X1, X2, X3)) -> proper#(X2),
                       proper#(U51(X1, X2, X3)) -> proper#(X3),
                                proper#(U61(X)) -> proper#(X),
                             proper#(x(X1, X2)) -> proper#(X1),
                             proper#(x(X1, X2)) -> proper#(X2),
                       proper#(U71(X1, X2, X3)) -> proper#(X2),
                       proper#(U71(X1, X2, X3)) -> proper#(X3),
                           proper#(and(X1, X2)) -> proper#(X2)}
                     Weak:
                     {              U12(mark(X1), X2) -> mark(U12(X1, X2)),
                                  U12(ok(X1), ok(X2)) -> ok(U12(X1, X2)),
                                         isNat(ok(X)) -> ok(isNat(X)),
                                  active(U12(X1, X2)) -> U12(active(X1), X2),
                                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(X1, X2, X3)) -> U11(active(X1), X2, X3),
                            active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                                       active(U13(X)) -> U13(active(X)),
                                    active(U13(tt())) -> mark(tt()),
                                       active(U22(X)) -> U22(active(X)),
                                    active(U22(tt())) -> mark(tt()),
                                  active(U21(X1, X2)) -> U21(active(X1), X2),
                                active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                                  active(U32(X1, X2)) -> U32(active(X1), X2),
                                active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
                              active(U31(X1, X2, X3)) -> U31(active(X1), X2, X3),
                            active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                                       active(U33(X)) -> U33(active(X)),
                                    active(U33(tt())) -> mark(tt()),
                                  active(U41(X1, X2)) -> U41(active(X1), X2),
                                 active(U41(tt(), N)) -> mark(N),
                                         active(s(X)) -> s(active(X)),
                                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(plus(X1, X2)) -> plus(X1, active(X2)),
                                 active(plus(X1, X2)) -> plus(active(X1), X2),
                              active(U51(X1, X2, X3)) -> U51(active(X1), X2, X3),
                              active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                                       active(U61(X)) -> U61(active(X)),
                                    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(x(X1, X2)) -> x(X1, active(X2)),
                                    active(x(X1, X2)) -> x(active(X1), X2),
                              active(U71(X1, X2, X3)) -> U71(active(X1), X2, X3),
                              active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                                  active(and(X1, X2)) -> and(active(X1), X2),
                                 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(mark(X1), X2, X3) -> mark(U11(X1, X2, X3)),
                          U11(ok(X1), ok(X2), ok(X3)) -> ok(U11(X1, X2, X3)),
                                         U13(mark(X)) -> mark(U13(X)),
                                           U13(ok(X)) -> ok(U13(X)),
                                         U22(mark(X)) -> mark(U22(X)),
                                           U22(ok(X)) -> ok(U22(X)),
                                    U21(mark(X1), X2) -> mark(U21(X1, X2)),
                                  U21(ok(X1), ok(X2)) -> ok(U21(X1, X2)),
                                    U32(mark(X1), X2) -> mark(U32(X1, X2)),
                                  U32(ok(X1), ok(X2)) -> ok(U32(X1, X2)),
                                U31(mark(X1), X2, X3) -> mark(U31(X1, X2, X3)),
                          U31(ok(X1), ok(X2), ok(X3)) -> ok(U31(X1, X2, X3)),
                                         U33(mark(X)) -> mark(U33(X)),
                                           U33(ok(X)) -> ok(U33(X)),
                                    U41(mark(X1), X2) -> mark(U41(X1, X2)),
                                  U41(ok(X1), ok(X2)) -> ok(U41(X1, X2)),
                                           s(mark(X)) -> mark(s(X)),
                                             s(ok(X)) -> ok(s(X)),
                                   plus(X1, mark(X2)) -> mark(plus(X1, X2)),
                                   plus(mark(X1), X2) -> mark(plus(X1, X2)),
                                 plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)),
                                U51(mark(X1), X2, X3) -> mark(U51(X1, X2, X3)),
                          U51(ok(X1), ok(X2), ok(X3)) -> ok(U51(X1, X2, X3)),
                                         U61(mark(X)) -> mark(U61(X)),
                                           U61(ok(X)) -> ok(U61(X)),
                                      x(X1, mark(X2)) -> mark(x(X1, X2)),
                                      x(mark(X1), X2) -> mark(x(X1, X2)),
                                    x(ok(X1), ok(X2)) -> ok(x(X1, X2)),
                                U71(mark(X1), X2, X3) -> mark(U71(X1, X2, X3)),
                          U71(ok(X1), ok(X2), ok(X3)) -> ok(U71(X1, X2, X3)),
                                    and(mark(X1), X2) -> mark(and(X1, X2)),
                                  and(ok(X1), ok(X2)) -> ok(and(X1, X2)),
                                     isNatKind(ok(X)) -> ok(isNatKind(X)),
                                  proper(U12(X1, X2)) -> U12(proper(X1), proper(X2)),
                                     proper(isNat(X)) -> isNat(proper(X)),
                              proper(U11(X1, X2, X3)) -> U11(proper(X1), proper(X2), proper(X3)),
                                         proper(tt()) -> ok(tt()),
                                       proper(U13(X)) -> U13(proper(X)),
                                       proper(U22(X)) -> U22(proper(X)),
                                  proper(U21(X1, X2)) -> U21(proper(X1), proper(X2)),
                                  proper(U32(X1, X2)) -> U32(proper(X1), proper(X2)),
                              proper(U31(X1, X2, X3)) -> U31(proper(X1), proper(X2), proper(X3)),
                                       proper(U33(X)) -> U33(proper(X)),
                                  proper(U41(X1, X2)) -> U41(proper(X1), proper(X2)),
                                         proper(s(X)) -> s(proper(X)),
                                 proper(plus(X1, X2)) -> plus(proper(X1), proper(X2)),
                              proper(U51(X1, X2, X3)) -> U51(proper(X1), proper(X2), proper(X3)),
                                          proper(0()) -> ok(0()),
                                       proper(U61(X)) -> U61(proper(X)),
                                    proper(x(X1, X2)) -> x(proper(X1), proper(X2)),
                              proper(U71(X1, X2, X3)) -> U71(proper(X1), proper(X2), proper(X3)),
                                  proper(and(X1, X2)) -> and(proper(X1), proper(X2)),
                                 proper(isNatKind(X)) -> isNatKind(proper(X)),
                                         top(mark(X)) -> top(proper(X)),
                                           top(ok(X)) -> top(active(X))}
                     SPSC:
                      Simple Projection:
                       pi(proper#) = 0
                      Strict:
                       {    proper#(U12(X1, X2)) -> proper#(X1),
                            proper#(U12(X1, X2)) -> proper#(X2),
                               proper#(isNat(X)) -> proper#(X),
                        proper#(U11(X1, X2, X3)) -> proper#(X1),
                        proper#(U11(X1, X2, X3)) -> proper#(X2),
                        proper#(U11(X1, X2, X3)) -> proper#(X3),
                                 proper#(U13(X)) -> proper#(X),
                                 proper#(U22(X)) -> proper#(X),
                            proper#(U21(X1, X2)) -> proper#(X1),
                            proper#(U21(X1, X2)) -> proper#(X2),
                            proper#(U32(X1, X2)) -> proper#(X1),
                            proper#(U32(X1, X2)) -> proper#(X2),
                        proper#(U31(X1, X2, X3)) -> proper#(X1),
                        proper#(U31(X1, X2, X3)) -> proper#(X2),
                                 proper#(U33(X)) -> proper#(X),
                            proper#(U41(X1, X2)) -> proper#(X1),
                            proper#(U41(X1, X2)) -> proper#(X2),
                                   proper#(s(X)) -> proper#(X),
                           proper#(plus(X1, X2)) -> proper#(X1),
                           proper#(plus(X1, X2)) -> proper#(X2),
                        proper#(U51(X1, X2, X3)) -> proper#(X1),
                        proper#(U51(X1, X2, X3)) -> proper#(X2),
                        proper#(U51(X1, X2, X3)) -> proper#(X3),
                                 proper#(U61(X)) -> proper#(X),
                              proper#(x(X1, X2)) -> proper#(X2),
                        proper#(U71(X1, X2, X3)) -> proper#(X2),
                        proper#(U71(X1, X2, X3)) -> proper#(X3),
                            proper#(and(X1, X2)) -> proper#(X2)}
                      EDG:
                       {
                        (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(and(X1, X2)) -> proper#(X2))
                        (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X3))
                        (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X2))
                        (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X2))
                        (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U61(X)) -> proper#(X))
                        (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X3))
                        (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X2))
                        (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X1))
                        (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X2))
                        (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X1))
                        (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(s(X)) -> proper#(X))
                        (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
                        (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
                        (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
                        (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
                        (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
                        (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
                        (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
                        (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X2))
                        (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
                        (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
                        (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
                        (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
                        (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X2))
                        (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
                        (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
                        (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
                        (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
                        (proper#(U32(X1, X2)) -> proper#(X2), proper#(and(X1, X2)) -> proper#(X2))
                        (proper#(U32(X1, X2)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X3))
                        (proper#(U32(X1, X2)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X2))
                        (proper#(U32(X1, X2)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X2))
                        (proper#(U32(X1, X2)) -> proper#(X2), proper#(U61(X)) -> proper#(X))
                        (proper#(U32(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X3))
                        (proper#(U32(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X2))
                        (proper#(U32(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X1))
                        (proper#(U32(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X2))
                        (proper#(U32(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X1))
                        (proper#(U32(X1, X2)) -> proper#(X2), proper#(s(X)) -> proper#(X))
                        (proper#(U32(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
                        (proper#(U32(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
                        (proper#(U32(X1, X2)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
                        (proper#(U32(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
                        (proper#(U32(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
                        (proper#(U32(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
                        (proper#(U32(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
                        (proper#(U32(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X2))
                        (proper#(U32(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
                        (proper#(U32(X1, X2)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
                        (proper#(U32(X1, X2)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
                        (proper#(U32(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
                        (proper#(U32(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X2))
                        (proper#(U32(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
                        (proper#(U32(X1, X2)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
                        (proper#(U32(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
                        (proper#(U32(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
                        (proper#(U41(X1, X2)) -> proper#(X2), proper#(and(X1, X2)) -> proper#(X2))
                        (proper#(U41(X1, X2)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X3))
                        (proper#(U41(X1, X2)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X2))
                        (proper#(U41(X1, X2)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X2))
                        (proper#(U41(X1, X2)) -> proper#(X2), proper#(U61(X)) -> proper#(X))
                        (proper#(U41(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X3))
                        (proper#(U41(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X2))
                        (proper#(U41(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X1))
                        (proper#(U41(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X2))
                        (proper#(U41(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X1))
                        (proper#(U41(X1, X2)) -> proper#(X2), proper#(s(X)) -> proper#(X))
                        (proper#(U41(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
                        (proper#(U41(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
                        (proper#(U41(X1, X2)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
                        (proper#(U41(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
                        (proper#(U41(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
                        (proper#(U41(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
                        (proper#(U41(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
                        (proper#(U41(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X2))
                        (proper#(U41(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
                        (proper#(U41(X1, X2)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
                        (proper#(U41(X1, X2)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
                        (proper#(U41(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
                        (proper#(U41(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X2))
                        (proper#(U41(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
                        (proper#(U41(X1, X2)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
                        (proper#(U41(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
                        (proper#(U41(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
                        (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(and(X1, X2)) -> proper#(X2))
                        (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X3))
                        (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X2))
                        (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X2))
                        (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U61(X)) -> proper#(X))
                        (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X3))
                        (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X2))
                        (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X1))
                        (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X2))
                        (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X1))
                        (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(s(X)) -> proper#(X))
                        (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
                        (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
                        (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
                        (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
                        (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
                        (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
                        (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
                        (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X2))
                        (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
                        (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
                        (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
                        (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
                        (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X2))
                        (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
                        (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
                        (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
                        (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
                        (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(and(X1, X2)) -> proper#(X2))
                        (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X3))
                        (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X2))
                        (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X2))
                        (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U61(X)) -> proper#(X))
                        (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X3))
                        (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X2))
                        (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X1))
                        (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X2))
                        (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X1))
                        (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(s(X)) -> proper#(X))
                        (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
                        (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
                        (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
                        (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
                        (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
                        (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
                        (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
                        (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X2))
                        (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
                        (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
                        (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
                        (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
                        (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X2))
                        (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
                        (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
                        (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
                        (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
                        (proper#(U12(X1, X2)) -> proper#(X1), proper#(and(X1, X2)) -> proper#(X2))
                        (proper#(U12(X1, X2)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X3))
                        (proper#(U12(X1, X2)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X2))
                        (proper#(U12(X1, X2)) -> proper#(X1), proper#(x(X1, X2)) -> proper#(X2))
                        (proper#(U12(X1, X2)) -> proper#(X1), proper#(U61(X)) -> proper#(X))
                        (proper#(U12(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X3))
                        (proper#(U12(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X2))
                        (proper#(U12(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X1))
                        (proper#(U12(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X2))
                        (proper#(U12(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X1))
                        (proper#(U12(X1, X2)) -> proper#(X1), proper#(s(X)) -> proper#(X))
                        (proper#(U12(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
                        (proper#(U12(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
                        (proper#(U12(X1, X2)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                        (proper#(U12(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                        (proper#(U12(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
                        (proper#(U12(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                        (proper#(U12(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                        (proper#(U12(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X2))
                        (proper#(U12(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                        (proper#(U12(X1, X2)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
                        (proper#(U12(X1, X2)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
                        (proper#(U12(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
                        (proper#(U12(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X2))
                        (proper#(U12(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                        (proper#(U12(X1, X2)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                        (proper#(U12(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                        (proper#(U12(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                        (proper#(U21(X1, X2)) -> proper#(X1), proper#(and(X1, X2)) -> proper#(X2))
                        (proper#(U21(X1, X2)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X3))
                        (proper#(U21(X1, X2)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X2))
                        (proper#(U21(X1, X2)) -> proper#(X1), proper#(x(X1, X2)) -> proper#(X2))
                        (proper#(U21(X1, X2)) -> proper#(X1), proper#(U61(X)) -> proper#(X))
                        (proper#(U21(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X3))
                        (proper#(U21(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X2))
                        (proper#(U21(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X1))
                        (proper#(U21(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X2))
                        (proper#(U21(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X1))
                        (proper#(U21(X1, X2)) -> proper#(X1), proper#(s(X)) -> proper#(X))
                        (proper#(U21(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
                        (proper#(U21(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
                        (proper#(U21(X1, X2)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                        (proper#(U21(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                        (proper#(U21(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
                        (proper#(U21(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                        (proper#(U21(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                        (proper#(U21(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X2))
                        (proper#(U21(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                        (proper#(U21(X1, X2)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
                        (proper#(U21(X1, X2)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
                        (proper#(U21(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
                        (proper#(U21(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X2))
                        (proper#(U21(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                        (proper#(U21(X1, X2)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                        (proper#(U21(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                        (proper#(U21(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                        (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(and(X1, X2)) -> proper#(X2))
                        (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X3))
                        (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X2))
                        (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(x(X1, X2)) -> proper#(X2))
                        (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U61(X)) -> proper#(X))
                        (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X3))
                        (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X2))
                        (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X1))
                        (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X2))
                        (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X1))
                        (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(s(X)) -> proper#(X))
                        (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
                        (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
                        (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                        (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                        (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
                        (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                        (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                        (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X2))
                        (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                        (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
                        (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
                        (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
                        (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X2))
                        (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                        (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                        (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                        (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                        (proper#(plus(X1, X2)) -> proper#(X1), proper#(and(X1, X2)) -> proper#(X2))
                        (proper#(plus(X1, X2)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X3))
                        (proper#(plus(X1, X2)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X2))
                        (proper#(plus(X1, X2)) -> proper#(X1), proper#(x(X1, X2)) -> proper#(X2))
                        (proper#(plus(X1, X2)) -> proper#(X1), proper#(U61(X)) -> proper#(X))
                        (proper#(plus(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X3))
                        (proper#(plus(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X2))
                        (proper#(plus(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X1))
                        (proper#(plus(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X2))
                        (proper#(plus(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X1))
                        (proper#(plus(X1, X2)) -> proper#(X1), proper#(s(X)) -> proper#(X))
                        (proper#(plus(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
                        (proper#(plus(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
                        (proper#(plus(X1, X2)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                        (proper#(plus(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                        (proper#(plus(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
                        (proper#(plus(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                        (proper#(plus(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                        (proper#(plus(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X2))
                        (proper#(plus(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                        (proper#(plus(X1, X2)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
                        (proper#(plus(X1, X2)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
                        (proper#(plus(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
                        (proper#(plus(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X2))
                        (proper#(plus(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                        (proper#(plus(X1, X2)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                        (proper#(plus(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                        (proper#(plus(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                        (proper#(isNat(X)) -> proper#(X), proper#(and(X1, X2)) -> proper#(X2))
                        (proper#(isNat(X)) -> proper#(X), proper#(U71(X1, X2, X3)) -> proper#(X3))
                        (proper#(isNat(X)) -> proper#(X), proper#(U71(X1, X2, X3)) -> proper#(X2))
                        (proper#(isNat(X)) -> proper#(X), proper#(x(X1, X2)) -> proper#(X2))
                        (proper#(isNat(X)) -> proper#(X), proper#(U61(X)) -> proper#(X))
                        (proper#(isNat(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X3))
                        (proper#(isNat(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X2))
                        (proper#(isNat(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X1))
                        (proper#(isNat(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X2))
                        (proper#(isNat(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X1))
                        (proper#(isNat(X)) -> proper#(X), proper#(s(X)) -> proper#(X))
                        (proper#(isNat(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X2))
                        (proper#(isNat(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X1))
                        (proper#(isNat(X)) -> proper#(X), proper#(U33(X)) -> proper#(X))
                        (proper#(isNat(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X2))
                        (proper#(isNat(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X1))
                        (proper#(isNat(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X2))
                        (proper#(isNat(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X1))
                        (proper#(isNat(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X2))
                        (proper#(isNat(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X1))
                        (proper#(isNat(X)) -> proper#(X), proper#(U22(X)) -> proper#(X))
                        (proper#(isNat(X)) -> proper#(X), proper#(U13(X)) -> proper#(X))
                        (proper#(isNat(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X3))
                        (proper#(isNat(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X2))
                        (proper#(isNat(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X1))
                        (proper#(isNat(X)) -> proper#(X), proper#(isNat(X)) -> proper#(X))
                        (proper#(isNat(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X2))
                        (proper#(isNat(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X1))
                        (proper#(U22(X)) -> proper#(X), proper#(and(X1, X2)) -> proper#(X2))
                        (proper#(U22(X)) -> proper#(X), proper#(U71(X1, X2, X3)) -> proper#(X3))
                        (proper#(U22(X)) -> proper#(X), proper#(U71(X1, X2, X3)) -> proper#(X2))
                        (proper#(U22(X)) -> proper#(X), proper#(x(X1, X2)) -> proper#(X2))
                        (proper#(U22(X)) -> proper#(X), proper#(U61(X)) -> proper#(X))
                        (proper#(U22(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X3))
                        (proper#(U22(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X2))
                        (proper#(U22(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X1))
                        (proper#(U22(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X2))
                        (proper#(U22(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X1))
                        (proper#(U22(X)) -> proper#(X), proper#(s(X)) -> proper#(X))
                        (proper#(U22(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X2))
                        (proper#(U22(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X1))
                        (proper#(U22(X)) -> proper#(X), proper#(U33(X)) -> proper#(X))
                        (proper#(U22(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X2))
                        (proper#(U22(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X1))
                        (proper#(U22(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X2))
                        (proper#(U22(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X1))
                        (proper#(U22(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X2))
                        (proper#(U22(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X1))
                        (proper#(U22(X)) -> proper#(X), proper#(U22(X)) -> proper#(X))
                        (proper#(U22(X)) -> proper#(X), proper#(U13(X)) -> proper#(X))
                        (proper#(U22(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X3))
                        (proper#(U22(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X2))
                        (proper#(U22(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X1))
                        (proper#(U22(X)) -> proper#(X), proper#(isNat(X)) -> proper#(X))
                        (proper#(U22(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X2))
                        (proper#(U22(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X1))
                        (proper#(s(X)) -> proper#(X), proper#(and(X1, X2)) -> proper#(X2))
                        (proper#(s(X)) -> proper#(X), proper#(U71(X1, X2, X3)) -> proper#(X3))
                        (proper#(s(X)) -> proper#(X), proper#(U71(X1, X2, X3)) -> proper#(X2))
                        (proper#(s(X)) -> proper#(X), proper#(x(X1, X2)) -> proper#(X2))
                        (proper#(s(X)) -> proper#(X), proper#(U61(X)) -> proper#(X))
                        (proper#(s(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X3))
                        (proper#(s(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X2))
                        (proper#(s(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X1))
                        (proper#(s(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X2))
                        (proper#(s(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X1))
                        (proper#(s(X)) -> proper#(X), proper#(s(X)) -> proper#(X))
                        (proper#(s(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X2))
                        (proper#(s(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X1))
                        (proper#(s(X)) -> proper#(X), proper#(U33(X)) -> proper#(X))
                        (proper#(s(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X2))
                        (proper#(s(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X1))
                        (proper#(s(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X2))
                        (proper#(s(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X1))
                        (proper#(s(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X2))
                        (proper#(s(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X1))
                        (proper#(s(X)) -> proper#(X), proper#(U22(X)) -> proper#(X))
                        (proper#(s(X)) -> proper#(X), proper#(U13(X)) -> proper#(X))
                        (proper#(s(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X3))
                        (proper#(s(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X2))
                        (proper#(s(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X1))
                        (proper#(s(X)) -> proper#(X), proper#(isNat(X)) -> proper#(X))
                        (proper#(s(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X2))
                        (proper#(s(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X1))
                        (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(and(X1, X2)) -> proper#(X2))
                        (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U71(X1, X2, X3)) -> proper#(X3))
                        (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U71(X1, X2, X3)) -> proper#(X2))
                        (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(x(X1, X2)) -> proper#(X2))
                        (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U61(X)) -> proper#(X))
                        (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U51(X1, X2, X3)) -> proper#(X3))
                        (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U51(X1, X2, X3)) -> proper#(X2))
                        (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U51(X1, X2, X3)) -> proper#(X1))
                        (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(plus(X1, X2)) -> proper#(X2))
                        (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(plus(X1, X2)) -> proper#(X1))
                        (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(s(X)) -> proper#(X))
                        (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U41(X1, X2)) -> proper#(X2))
                        (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U41(X1, X2)) -> proper#(X1))
                        (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U33(X)) -> proper#(X))
                        (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U31(X1, X2, X3)) -> proper#(X2))
                        (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U31(X1, X2, X3)) -> proper#(X1))
                        (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U32(X1, X2)) -> proper#(X2))
                        (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U32(X1, X2)) -> proper#(X1))
                        (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U21(X1, X2)) -> proper#(X2))
                        (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U21(X1, X2)) -> proper#(X1))
                        (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U22(X)) -> proper#(X))
                        (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U13(X)) -> proper#(X))
                        (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U11(X1, X2, X3)) -> proper#(X3))
                        (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U11(X1, X2, X3)) -> proper#(X2))
                        (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U11(X1, X2, X3)) -> proper#(X1))
                        (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(isNat(X)) -> proper#(X))
                        (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U12(X1, X2)) -> proper#(X2))
                        (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U12(X1, X2)) -> proper#(X1))
                        (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(and(X1, X2)) -> proper#(X2))
                        (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U71(X1, X2, X3)) -> proper#(X3))
                        (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U71(X1, X2, X3)) -> proper#(X2))
                        (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(x(X1, X2)) -> proper#(X2))
                        (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U61(X)) -> proper#(X))
                        (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U51(X1, X2, X3)) -> proper#(X3))
                        (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U51(X1, X2, X3)) -> proper#(X2))
                        (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U51(X1, X2, X3)) -> proper#(X1))
                        (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(plus(X1, X2)) -> proper#(X2))
                        (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(plus(X1, X2)) -> proper#(X1))
                        (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(s(X)) -> proper#(X))
                        (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U41(X1, X2)) -> proper#(X2))
                        (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U41(X1, X2)) -> proper#(X1))
                        (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U33(X)) -> proper#(X))
                        (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U31(X1, X2, X3)) -> proper#(X2))
                        (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U31(X1, X2, X3)) -> proper#(X1))
                        (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U32(X1, X2)) -> proper#(X2))
                        (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U32(X1, X2)) -> proper#(X1))
                        (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U21(X1, X2)) -> proper#(X2))
                        (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U21(X1, X2)) -> proper#(X1))
                        (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U22(X)) -> proper#(X))
                        (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U13(X)) -> proper#(X))
                        (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U11(X1, X2, X3)) -> proper#(X3))
                        (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U11(X1, X2, X3)) -> proper#(X2))
                        (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U11(X1, X2, X3)) -> proper#(X1))
                        (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(isNat(X)) -> proper#(X))
                        (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U12(X1, X2)) -> proper#(X2))
                        (proper#(U71(X1, X2, X3)) -> proper#(X3), proper#(U12(X1, X2)) -> proper#(X1))
                        (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U12(X1, X2)) -> proper#(X1))
                        (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U12(X1, X2)) -> proper#(X2))
                        (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(isNat(X)) -> proper#(X))
                        (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U11(X1, X2, X3)) -> proper#(X1))
                        (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U11(X1, X2, X3)) -> proper#(X2))
                        (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U11(X1, X2, X3)) -> proper#(X3))
                        (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U13(X)) -> proper#(X))
                        (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U22(X)) -> proper#(X))
                        (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U21(X1, X2)) -> proper#(X1))
                        (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U21(X1, X2)) -> proper#(X2))
                        (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U32(X1, X2)) -> proper#(X1))
                        (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U32(X1, X2)) -> proper#(X2))
                        (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U31(X1, X2, X3)) -> proper#(X1))
                        (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U31(X1, X2, X3)) -> proper#(X2))
                        (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U33(X)) -> proper#(X))
                        (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U41(X1, X2)) -> proper#(X1))
                        (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U41(X1, X2)) -> proper#(X2))
                        (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(s(X)) -> proper#(X))
                        (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(plus(X1, X2)) -> proper#(X1))
                        (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(plus(X1, X2)) -> proper#(X2))
                        (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U51(X1, X2, X3)) -> proper#(X1))
                        (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U51(X1, X2, X3)) -> proper#(X2))
                        (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U51(X1, X2, X3)) -> proper#(X3))
                        (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U61(X)) -> proper#(X))
                        (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(x(X1, X2)) -> proper#(X2))
                        (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U71(X1, X2, X3)) -> proper#(X2))
                        (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U71(X1, X2, X3)) -> proper#(X3))
                        (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(and(X1, X2)) -> proper#(X2))
                        (proper#(U61(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X1))
                        (proper#(U61(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X2))
                        (proper#(U61(X)) -> proper#(X), proper#(isNat(X)) -> proper#(X))
                        (proper#(U61(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X1))
                        (proper#(U61(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X2))
                        (proper#(U61(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X3))
                        (proper#(U61(X)) -> proper#(X), proper#(U13(X)) -> proper#(X))
                        (proper#(U61(X)) -> proper#(X), proper#(U22(X)) -> proper#(X))
                        (proper#(U61(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X1))
                        (proper#(U61(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X2))
                        (proper#(U61(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X1))
                        (proper#(U61(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X2))
                        (proper#(U61(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X1))
                        (proper#(U61(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X2))
                        (proper#(U61(X)) -> proper#(X), proper#(U33(X)) -> proper#(X))
                        (proper#(U61(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X1))
                        (proper#(U61(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X2))
                        (proper#(U61(X)) -> proper#(X), proper#(s(X)) -> proper#(X))
                        (proper#(U61(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X1))
                        (proper#(U61(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X2))
                        (proper#(U61(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X1))
                        (proper#(U61(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X2))
                        (proper#(U61(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X3))
                        (proper#(U61(X)) -> proper#(X), proper#(U61(X)) -> proper#(X))
                        (proper#(U61(X)) -> proper#(X), proper#(x(X1, X2)) -> proper#(X2))
                        (proper#(U61(X)) -> proper#(X), proper#(U71(X1, X2, X3)) -> proper#(X2))
                        (proper#(U61(X)) -> proper#(X), proper#(U71(X1, X2, X3)) -> proper#(X3))
                        (proper#(U61(X)) -> proper#(X), proper#(and(X1, X2)) -> proper#(X2))
                        (proper#(U33(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X1))
                        (proper#(U33(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X2))
                        (proper#(U33(X)) -> proper#(X), proper#(isNat(X)) -> proper#(X))
                        (proper#(U33(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X1))
                        (proper#(U33(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X2))
                        (proper#(U33(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X3))
                        (proper#(U33(X)) -> proper#(X), proper#(U13(X)) -> proper#(X))
                        (proper#(U33(X)) -> proper#(X), proper#(U22(X)) -> proper#(X))
                        (proper#(U33(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X1))
                        (proper#(U33(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X2))
                        (proper#(U33(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X1))
                        (proper#(U33(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X2))
                        (proper#(U33(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X1))
                        (proper#(U33(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X2))
                        (proper#(U33(X)) -> proper#(X), proper#(U33(X)) -> proper#(X))
                        (proper#(U33(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X1))
                        (proper#(U33(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X2))
                        (proper#(U33(X)) -> proper#(X), proper#(s(X)) -> proper#(X))
                        (proper#(U33(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X1))
                        (proper#(U33(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X2))
                        (proper#(U33(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X1))
                        (proper#(U33(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X2))
                        (proper#(U33(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X3))
                        (proper#(U33(X)) -> proper#(X), proper#(U61(X)) -> proper#(X))
                        (proper#(U33(X)) -> proper#(X), proper#(x(X1, X2)) -> proper#(X2))
                        (proper#(U33(X)) -> proper#(X), proper#(U71(X1, X2, X3)) -> proper#(X2))
                        (proper#(U33(X)) -> proper#(X), proper#(U71(X1, X2, X3)) -> proper#(X3))
                        (proper#(U33(X)) -> proper#(X), proper#(and(X1, X2)) -> proper#(X2))
                        (proper#(U13(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X1))
                        (proper#(U13(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X2))
                        (proper#(U13(X)) -> proper#(X), proper#(isNat(X)) -> proper#(X))
                        (proper#(U13(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X1))
                        (proper#(U13(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X2))
                        (proper#(U13(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X3))
                        (proper#(U13(X)) -> proper#(X), proper#(U13(X)) -> proper#(X))
                        (proper#(U13(X)) -> proper#(X), proper#(U22(X)) -> proper#(X))
                        (proper#(U13(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X1))
                        (proper#(U13(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X2))
                        (proper#(U13(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X1))
                        (proper#(U13(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X2))
                        (proper#(U13(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X1))
                        (proper#(U13(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X2))
                        (proper#(U13(X)) -> proper#(X), proper#(U33(X)) -> proper#(X))
                        (proper#(U13(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X1))
                        (proper#(U13(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X2))
                        (proper#(U13(X)) -> proper#(X), proper#(s(X)) -> proper#(X))
                        (proper#(U13(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X1))
                        (proper#(U13(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X2))
                        (proper#(U13(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X1))
                        (proper#(U13(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X2))
                        (proper#(U13(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X3))
                        (proper#(U13(X)) -> proper#(X), proper#(U61(X)) -> proper#(X))
                        (proper#(U13(X)) -> proper#(X), proper#(x(X1, X2)) -> proper#(X2))
                        (proper#(U13(X)) -> proper#(X), proper#(U71(X1, X2, X3)) -> proper#(X2))
                        (proper#(U13(X)) -> proper#(X), proper#(U71(X1, X2, X3)) -> proper#(X3))
                        (proper#(U13(X)) -> proper#(X), proper#(and(X1, X2)) -> proper#(X2))
                        (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                        (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                        (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                        (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                        (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X2))
                        (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
                        (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
                        (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
                        (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                        (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X2))
                        (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                        (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                        (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
                        (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                        (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                        (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
                        (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
                        (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(s(X)) -> proper#(X))
                        (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X1))
                        (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X2))
                        (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X1))
                        (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X2))
                        (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X3))
                        (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U61(X)) -> proper#(X))
                        (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(x(X1, X2)) -> proper#(X2))
                        (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X2))
                        (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X3))
                        (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(and(X1, X2)) -> proper#(X2))
                        (proper#(U41(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                        (proper#(U41(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                        (proper#(U41(X1, X2)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                        (proper#(U41(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                        (proper#(U41(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X2))
                        (proper#(U41(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
                        (proper#(U41(X1, X2)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
                        (proper#(U41(X1, X2)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
                        (proper#(U41(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                        (proper#(U41(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X2))
                        (proper#(U41(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                        (proper#(U41(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                        (proper#(U41(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
                        (proper#(U41(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                        (proper#(U41(X1, X2)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                        (proper#(U41(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
                        (proper#(U41(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
                        (proper#(U41(X1, X2)) -> proper#(X1), proper#(s(X)) -> proper#(X))
                        (proper#(U41(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X1))
                        (proper#(U41(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X2))
                        (proper#(U41(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X1))
                        (proper#(U41(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X2))
                        (proper#(U41(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X3))
                        (proper#(U41(X1, X2)) -> proper#(X1), proper#(U61(X)) -> proper#(X))
                        (proper#(U41(X1, X2)) -> proper#(X1), proper#(x(X1, X2)) -> proper#(X2))
                        (proper#(U41(X1, X2)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X2))
                        (proper#(U41(X1, X2)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X3))
                        (proper#(U41(X1, X2)) -> proper#(X1), proper#(and(X1, X2)) -> proper#(X2))
                        (proper#(U32(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                        (proper#(U32(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                        (proper#(U32(X1, X2)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                        (proper#(U32(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                        (proper#(U32(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X2))
                        (proper#(U32(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
                        (proper#(U32(X1, X2)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
                        (proper#(U32(X1, X2)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
                        (proper#(U32(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                        (proper#(U32(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X2))
                        (proper#(U32(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                        (proper#(U32(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                        (proper#(U32(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
                        (proper#(U32(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                        (proper#(U32(X1, X2)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                        (proper#(U32(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
                        (proper#(U32(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
                        (proper#(U32(X1, X2)) -> proper#(X1), proper#(s(X)) -> proper#(X))
                        (proper#(U32(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X1))
                        (proper#(U32(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X2))
                        (proper#(U32(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X1))
                        (proper#(U32(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X2))
                        (proper#(U32(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X3))
                        (proper#(U32(X1, X2)) -> proper#(X1), proper#(U61(X)) -> proper#(X))
                        (proper#(U32(X1, X2)) -> proper#(X1), proper#(x(X1, X2)) -> proper#(X2))
                        (proper#(U32(X1, X2)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X2))
                        (proper#(U32(X1, X2)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X3))
                        (proper#(U32(X1, X2)) -> proper#(X1), proper#(and(X1, X2)) -> proper#(X2))
                        (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                        (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                        (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                        (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                        (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X2))
                        (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
                        (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
                        (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
                        (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                        (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X2))
                        (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                        (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                        (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
                        (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                        (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                        (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
                        (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
                        (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(s(X)) -> proper#(X))
                        (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X1))
                        (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X2))
                        (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X1))
                        (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X2))
                        (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X3))
                        (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U61(X)) -> proper#(X))
                        (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(x(X1, X2)) -> proper#(X2))
                        (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X2))
                        (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X3))
                        (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(and(X1, X2)) -> proper#(X2))
                        (proper#(and(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
                        (proper#(and(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
                        (proper#(and(X1, X2)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
                        (proper#(and(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
                        (proper#(and(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X2))
                        (proper#(and(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
                        (proper#(and(X1, X2)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
                        (proper#(and(X1, X2)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
                        (proper#(and(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
                        (proper#(and(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X2))
                        (proper#(and(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
                        (proper#(and(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
                        (proper#(and(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
                        (proper#(and(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
                        (proper#(and(X1, X2)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
                        (proper#(and(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
                        (proper#(and(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
                        (proper#(and(X1, X2)) -> proper#(X2), proper#(s(X)) -> proper#(X))
                        (proper#(and(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X1))
                        (proper#(and(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X2))
                        (proper#(and(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X1))
                        (proper#(and(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X2))
                        (proper#(and(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X3))
                        (proper#(and(X1, X2)) -> proper#(X2), proper#(U61(X)) -> proper#(X))
                        (proper#(and(X1, X2)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X2))
                        (proper#(and(X1, X2)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X2))
                        (proper#(and(X1, X2)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X3))
                        (proper#(and(X1, X2)) -> proper#(X2), proper#(and(X1, X2)) -> proper#(X2))
                        (proper#(x(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
                        (proper#(x(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
                        (proper#(x(X1, X2)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
                        (proper#(x(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
                        (proper#(x(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X2))
                        (proper#(x(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
                        (proper#(x(X1, X2)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
                        (proper#(x(X1, X2)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
                        (proper#(x(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
                        (proper#(x(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X2))
                        (proper#(x(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
                        (proper#(x(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
                        (proper#(x(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
                        (proper#(x(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
                        (proper#(x(X1, X2)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
                        (proper#(x(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
                        (proper#(x(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
                        (proper#(x(X1, X2)) -> proper#(X2), proper#(s(X)) -> proper#(X))
                        (proper#(x(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X1))
                        (proper#(x(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X2))
                        (proper#(x(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X1))
                        (proper#(x(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X2))
                        (proper#(x(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X3))
                        (proper#(x(X1, X2)) -> proper#(X2), proper#(U61(X)) -> proper#(X))
                        (proper#(x(X1, X2)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X2))
                        (proper#(x(X1, X2)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X2))
                        (proper#(x(X1, X2)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X3))
                        (proper#(x(X1, X2)) -> proper#(X2), proper#(and(X1, X2)) -> proper#(X2))
                        (proper#(plus(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
                        (proper#(plus(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
                        (proper#(plus(X1, X2)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
                        (proper#(plus(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
                        (proper#(plus(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X2))
                        (proper#(plus(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
                        (proper#(plus(X1, X2)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
                        (proper#(plus(X1, X2)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
                        (proper#(plus(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
                        (proper#(plus(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X2))
                        (proper#(plus(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
                        (proper#(plus(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
                        (proper#(plus(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
                        (proper#(plus(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
                        (proper#(plus(X1, X2)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
                        (proper#(plus(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
                        (proper#(plus(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
                        (proper#(plus(X1, X2)) -> proper#(X2), proper#(s(X)) -> proper#(X))
                        (proper#(plus(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X1))
                        (proper#(plus(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X2))
                        (proper#(plus(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X1))
                        (proper#(plus(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X2))
                        (proper#(plus(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X3))
                        (proper#(plus(X1, X2)) -> proper#(X2), proper#(U61(X)) -> proper#(X))
                        (proper#(plus(X1, X2)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X2))
                        (proper#(plus(X1, X2)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X2))
                        (proper#(plus(X1, X2)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X3))
                        (proper#(plus(X1, X2)) -> proper#(X2), proper#(and(X1, X2)) -> proper#(X2))
                        (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
                        (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
                        (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
                        (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
                        (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X2))
                        (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
                        (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
                        (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
                        (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
                        (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X2))
                        (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
                        (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
                        (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
                        (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
                        (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
                        (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
                        (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
                        (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(s(X)) -> proper#(X))
                        (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X1))
                        (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X2))
                        (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X1))
                        (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X2))
                        (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X3))
                        (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U61(X)) -> proper#(X))
                        (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X2))
                        (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X2))
                        (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X3))
                        (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(and(X1, X2)) -> proper#(X2))
                        (proper#(U21(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
                        (proper#(U21(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
                        (proper#(U21(X1, X2)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
                        (proper#(U21(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
                        (proper#(U21(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X2))
                        (proper#(U21(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
                        (proper#(U21(X1, X2)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
                        (proper#(U21(X1, X2)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
                        (proper#(U21(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
                        (proper#(U21(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X2))
                        (proper#(U21(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
                        (proper#(U21(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
                        (proper#(U21(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
                        (proper#(U21(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
                        (proper#(U21(X1, X2)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
                        (proper#(U21(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
                        (proper#(U21(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
                        (proper#(U21(X1, X2)) -> proper#(X2), proper#(s(X)) -> proper#(X))
                        (proper#(U21(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X1))
                        (proper#(U21(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X2))
                        (proper#(U21(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X1))
                        (proper#(U21(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X2))
                        (proper#(U21(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X3))
                        (proper#(U21(X1, X2)) -> proper#(X2), proper#(U61(X)) -> proper#(X))
                        (proper#(U21(X1, X2)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X2))
                        (proper#(U21(X1, X2)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X2))
                        (proper#(U21(X1, X2)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X3))
                        (proper#(U21(X1, X2)) -> proper#(X2), proper#(and(X1, X2)) -> proper#(X2))
                        (proper#(U12(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
                        (proper#(U12(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
                        (proper#(U12(X1, X2)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
                        (proper#(U12(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
                        (proper#(U12(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X2))
                        (proper#(U12(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
                        (proper#(U12(X1, X2)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
                        (proper#(U12(X1, X2)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
                        (proper#(U12(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
                        (proper#(U12(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X2))
                        (proper#(U12(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
                        (proper#(U12(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
                        (proper#(U12(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
                        (proper#(U12(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
                        (proper#(U12(X1, X2)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
                        (proper#(U12(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
                        (proper#(U12(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
                        (proper#(U12(X1, X2)) -> proper#(X2), proper#(s(X)) -> proper#(X))
                        (proper#(U12(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X1))
                        (proper#(U12(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X2))
                        (proper#(U12(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X1))
                        (proper#(U12(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X2))
                        (proper#(U12(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X3))
                        (proper#(U12(X1, X2)) -> proper#(X2), proper#(U61(X)) -> proper#(X))
                        (proper#(U12(X1, X2)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X2))
                        (proper#(U12(X1, X2)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X2))
                        (proper#(U12(X1, X2)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X3))
                        (proper#(U12(X1, X2)) -> proper#(X2), proper#(and(X1, X2)) -> proper#(X2))
                       }
                       SCCS:
                        Scc:
                         {    proper#(U12(X1, X2)) -> proper#(X1),
                              proper#(U12(X1, X2)) -> proper#(X2),
                                 proper#(isNat(X)) -> proper#(X),
                          proper#(U11(X1, X2, X3)) -> proper#(X1),
                          proper#(U11(X1, X2, X3)) -> proper#(X2),
                          proper#(U11(X1, X2, X3)) -> proper#(X3),
                                   proper#(U13(X)) -> proper#(X),
                                   proper#(U22(X)) -> proper#(X),
                              proper#(U21(X1, X2)) -> proper#(X1),
                              proper#(U21(X1, X2)) -> proper#(X2),
                              proper#(U32(X1, X2)) -> proper#(X1),
                              proper#(U32(X1, X2)) -> proper#(X2),
                          proper#(U31(X1, X2, X3)) -> proper#(X1),
                          proper#(U31(X1, X2, X3)) -> proper#(X2),
                                   proper#(U33(X)) -> proper#(X),
                              proper#(U41(X1, X2)) -> proper#(X1),
                              proper#(U41(X1, X2)) -> proper#(X2),
                                     proper#(s(X)) -> proper#(X),
                             proper#(plus(X1, X2)) -> proper#(X1),
                             proper#(plus(X1, X2)) -> proper#(X2),
                          proper#(U51(X1, X2, X3)) -> proper#(X1),
                          proper#(U51(X1, X2, X3)) -> proper#(X2),
                          proper#(U51(X1, X2, X3)) -> proper#(X3),
                                   proper#(U61(X)) -> proper#(X),
                                proper#(x(X1, X2)) -> proper#(X2),
                          proper#(U71(X1, X2, X3)) -> proper#(X2),
                          proper#(U71(X1, X2, X3)) -> proper#(X3),
                              proper#(and(X1, X2)) -> proper#(X2)}
                        SCC:
                         Strict:
                          {    proper#(U12(X1, X2)) -> proper#(X1),
                               proper#(U12(X1, X2)) -> proper#(X2),
                                  proper#(isNat(X)) -> proper#(X),
                           proper#(U11(X1, X2, X3)) -> proper#(X1),
                           proper#(U11(X1, X2, X3)) -> proper#(X2),
                           proper#(U11(X1, X2, X3)) -> proper#(X3),
                                    proper#(U13(X)) -> proper#(X),
                                    proper#(U22(X)) -> proper#(X),
                               proper#(U21(X1, X2)) -> proper#(X1),
                               proper#(U21(X1, X2)) -> proper#(X2),
                               proper#(U32(X1, X2)) -> proper#(X1),
                               proper#(U32(X1, X2)) -> proper#(X2),
                           proper#(U31(X1, X2, X3)) -> proper#(X1),
                           proper#(U31(X1, X2, X3)) -> proper#(X2),
                                    proper#(U33(X)) -> proper#(X),
                               proper#(U41(X1, X2)) -> proper#(X1),
                               proper#(U41(X1, X2)) -> proper#(X2),
                                      proper#(s(X)) -> proper#(X),
                              proper#(plus(X1, X2)) -> proper#(X1),
                              proper#(plus(X1, X2)) -> proper#(X2),
                           proper#(U51(X1, X2, X3)) -> proper#(X1),
                           proper#(U51(X1, X2, X3)) -> proper#(X2),
                           proper#(U51(X1, X2, X3)) -> proper#(X3),
                                    proper#(U61(X)) -> proper#(X),
                                 proper#(x(X1, X2)) -> proper#(X2),
                           proper#(U71(X1, X2, X3)) -> proper#(X2),
                           proper#(U71(X1, X2, X3)) -> proper#(X3),
                               proper#(and(X1, X2)) -> proper#(X2)}
                         Weak:
                         {              U12(mark(X1), X2) -> mark(U12(X1, X2)),
                                      U12(ok(X1), ok(X2)) -> ok(U12(X1, X2)),
                                             isNat(ok(X)) -> ok(isNat(X)),
                                      active(U12(X1, X2)) -> U12(active(X1), X2),
                                    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(X1, X2, X3)) -> U11(active(X1), X2, X3),
                                active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                                           active(U13(X)) -> U13(active(X)),
                                        active(U13(tt())) -> mark(tt()),
                                           active(U22(X)) -> U22(active(X)),
                                        active(U22(tt())) -> mark(tt()),
                                      active(U21(X1, X2)) -> U21(active(X1), X2),
                                    active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                                      active(U32(X1, X2)) -> U32(active(X1), X2),
                                    active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
                                  active(U31(X1, X2, X3)) -> U31(active(X1), X2, X3),
                                active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                                           active(U33(X)) -> U33(active(X)),
                                        active(U33(tt())) -> mark(tt()),
                                      active(U41(X1, X2)) -> U41(active(X1), X2),
                                     active(U41(tt(), N)) -> mark(N),
                                             active(s(X)) -> s(active(X)),
                                    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(plus(X1, X2)) -> plus(X1, active(X2)),
                                     active(plus(X1, X2)) -> plus(active(X1), X2),
                                  active(U51(X1, X2, X3)) -> U51(active(X1), X2, X3),
                                  active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                                           active(U61(X)) -> U61(active(X)),
                                        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(x(X1, X2)) -> x(X1, active(X2)),
                                        active(x(X1, X2)) -> x(active(X1), X2),
                                  active(U71(X1, X2, X3)) -> U71(active(X1), X2, X3),
                                  active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                                      active(and(X1, X2)) -> and(active(X1), X2),
                                     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(mark(X1), X2, X3) -> mark(U11(X1, X2, X3)),
                              U11(ok(X1), ok(X2), ok(X3)) -> ok(U11(X1, X2, X3)),
                                             U13(mark(X)) -> mark(U13(X)),
                                               U13(ok(X)) -> ok(U13(X)),
                                             U22(mark(X)) -> mark(U22(X)),
                                               U22(ok(X)) -> ok(U22(X)),
                                        U21(mark(X1), X2) -> mark(U21(X1, X2)),
                                      U21(ok(X1), ok(X2)) -> ok(U21(X1, X2)),
                                        U32(mark(X1), X2) -> mark(U32(X1, X2)),
                                      U32(ok(X1), ok(X2)) -> ok(U32(X1, X2)),
                                    U31(mark(X1), X2, X3) -> mark(U31(X1, X2, X3)),
                              U31(ok(X1), ok(X2), ok(X3)) -> ok(U31(X1, X2, X3)),
                                             U33(mark(X)) -> mark(U33(X)),
                                               U33(ok(X)) -> ok(U33(X)),
                                        U41(mark(X1), X2) -> mark(U41(X1, X2)),
                                      U41(ok(X1), ok(X2)) -> ok(U41(X1, X2)),
                                               s(mark(X)) -> mark(s(X)),
                                                 s(ok(X)) -> ok(s(X)),
                                       plus(X1, mark(X2)) -> mark(plus(X1, X2)),
                                       plus(mark(X1), X2) -> mark(plus(X1, X2)),
                                     plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)),
                                    U51(mark(X1), X2, X3) -> mark(U51(X1, X2, X3)),
                              U51(ok(X1), ok(X2), ok(X3)) -> ok(U51(X1, X2, X3)),
                                             U61(mark(X)) -> mark(U61(X)),
                                               U61(ok(X)) -> ok(U61(X)),
                                          x(X1, mark(X2)) -> mark(x(X1, X2)),
                                          x(mark(X1), X2) -> mark(x(X1, X2)),
                                        x(ok(X1), ok(X2)) -> ok(x(X1, X2)),
                                    U71(mark(X1), X2, X3) -> mark(U71(X1, X2, X3)),
                              U71(ok(X1), ok(X2), ok(X3)) -> ok(U71(X1, X2, X3)),
                                        and(mark(X1), X2) -> mark(and(X1, X2)),
                                      and(ok(X1), ok(X2)) -> ok(and(X1, X2)),
                                         isNatKind(ok(X)) -> ok(isNatKind(X)),
                                      proper(U12(X1, X2)) -> U12(proper(X1), proper(X2)),
                                         proper(isNat(X)) -> isNat(proper(X)),
                                  proper(U11(X1, X2, X3)) -> U11(proper(X1), proper(X2), proper(X3)),
                                             proper(tt()) -> ok(tt()),
                                           proper(U13(X)) -> U13(proper(X)),
                                           proper(U22(X)) -> U22(proper(X)),
                                      proper(U21(X1, X2)) -> U21(proper(X1), proper(X2)),
                                      proper(U32(X1, X2)) -> U32(proper(X1), proper(X2)),
                                  proper(U31(X1, X2, X3)) -> U31(proper(X1), proper(X2), proper(X3)),
                                           proper(U33(X)) -> U33(proper(X)),
                                      proper(U41(X1, X2)) -> U41(proper(X1), proper(X2)),
                                             proper(s(X)) -> s(proper(X)),
                                     proper(plus(X1, X2)) -> plus(proper(X1), proper(X2)),
                                  proper(U51(X1, X2, X3)) -> U51(proper(X1), proper(X2), proper(X3)),
                                              proper(0()) -> ok(0()),
                                           proper(U61(X)) -> U61(proper(X)),
                                        proper(x(X1, X2)) -> x(proper(X1), proper(X2)),
                                  proper(U71(X1, X2, X3)) -> U71(proper(X1), proper(X2), proper(X3)),
                                      proper(and(X1, X2)) -> and(proper(X1), proper(X2)),
                                     proper(isNatKind(X)) -> isNatKind(proper(X)),
                                             top(mark(X)) -> top(proper(X)),
                                               top(ok(X)) -> top(active(X))}
                         SPSC:
                          Simple Projection:
                           pi(proper#) = 0
                          Strict:
                           {    proper#(U12(X1, X2)) -> proper#(X1),
                                proper#(U12(X1, X2)) -> proper#(X2),
                                   proper#(isNat(X)) -> proper#(X),
                            proper#(U11(X1, X2, X3)) -> proper#(X1),
                            proper#(U11(X1, X2, X3)) -> proper#(X2),
                            proper#(U11(X1, X2, X3)) -> proper#(X3),
                                     proper#(U13(X)) -> proper#(X),
                                     proper#(U22(X)) -> proper#(X),
                                proper#(U21(X1, X2)) -> proper#(X1),
                                proper#(U21(X1, X2)) -> proper#(X2),
                                proper#(U32(X1, X2)) -> proper#(X1),
                                proper#(U32(X1, X2)) -> proper#(X2),
                            proper#(U31(X1, X2, X3)) -> proper#(X1),
                            proper#(U31(X1, X2, X3)) -> proper#(X2),
                                     proper#(U33(X)) -> proper#(X),
                                proper#(U41(X1, X2)) -> proper#(X1),
                                proper#(U41(X1, X2)) -> proper#(X2),
                                       proper#(s(X)) -> proper#(X),
                               proper#(plus(X1, X2)) -> proper#(X1),
                               proper#(plus(X1, X2)) -> proper#(X2),
                            proper#(U51(X1, X2, X3)) -> proper#(X1),
                            proper#(U51(X1, X2, X3)) -> proper#(X2),
                            proper#(U51(X1, X2, X3)) -> proper#(X3),
                                     proper#(U61(X)) -> proper#(X),
                                  proper#(x(X1, X2)) -> proper#(X2),
                            proper#(U71(X1, X2, X3)) -> proper#(X2),
                                proper#(and(X1, X2)) -> proper#(X2)}
                          EDG:
                           {
                            (proper#(U13(X)) -> proper#(X), proper#(and(X1, X2)) -> proper#(X2))
                            (proper#(U13(X)) -> proper#(X), proper#(U71(X1, X2, X3)) -> proper#(X2))
                            (proper#(U13(X)) -> proper#(X), proper#(x(X1, X2)) -> proper#(X2))
                            (proper#(U13(X)) -> proper#(X), proper#(U61(X)) -> proper#(X))
                            (proper#(U13(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X3))
                            (proper#(U13(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X2))
                            (proper#(U13(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X1))
                            (proper#(U13(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X2))
                            (proper#(U13(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X1))
                            (proper#(U13(X)) -> proper#(X), proper#(s(X)) -> proper#(X))
                            (proper#(U13(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X2))
                            (proper#(U13(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X1))
                            (proper#(U13(X)) -> proper#(X), proper#(U33(X)) -> proper#(X))
                            (proper#(U13(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X2))
                            (proper#(U13(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X1))
                            (proper#(U13(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X2))
                            (proper#(U13(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X1))
                            (proper#(U13(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X2))
                            (proper#(U13(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X1))
                            (proper#(U13(X)) -> proper#(X), proper#(U22(X)) -> proper#(X))
                            (proper#(U13(X)) -> proper#(X), proper#(U13(X)) -> proper#(X))
                            (proper#(U13(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X3))
                            (proper#(U13(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X2))
                            (proper#(U13(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X1))
                            (proper#(U13(X)) -> proper#(X), proper#(isNat(X)) -> proper#(X))
                            (proper#(U13(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X2))
                            (proper#(U13(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X1))
                            (proper#(U33(X)) -> proper#(X), proper#(and(X1, X2)) -> proper#(X2))
                            (proper#(U33(X)) -> proper#(X), proper#(U71(X1, X2, X3)) -> proper#(X2))
                            (proper#(U33(X)) -> proper#(X), proper#(x(X1, X2)) -> proper#(X2))
                            (proper#(U33(X)) -> proper#(X), proper#(U61(X)) -> proper#(X))
                            (proper#(U33(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X3))
                            (proper#(U33(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X2))
                            (proper#(U33(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X1))
                            (proper#(U33(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X2))
                            (proper#(U33(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X1))
                            (proper#(U33(X)) -> proper#(X), proper#(s(X)) -> proper#(X))
                            (proper#(U33(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X2))
                            (proper#(U33(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X1))
                            (proper#(U33(X)) -> proper#(X), proper#(U33(X)) -> proper#(X))
                            (proper#(U33(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X2))
                            (proper#(U33(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X1))
                            (proper#(U33(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X2))
                            (proper#(U33(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X1))
                            (proper#(U33(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X2))
                            (proper#(U33(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X1))
                            (proper#(U33(X)) -> proper#(X), proper#(U22(X)) -> proper#(X))
                            (proper#(U33(X)) -> proper#(X), proper#(U13(X)) -> proper#(X))
                            (proper#(U33(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X3))
                            (proper#(U33(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X2))
                            (proper#(U33(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X1))
                            (proper#(U33(X)) -> proper#(X), proper#(isNat(X)) -> proper#(X))
                            (proper#(U33(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X2))
                            (proper#(U33(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X1))
                            (proper#(U61(X)) -> proper#(X), proper#(and(X1, X2)) -> proper#(X2))
                            (proper#(U61(X)) -> proper#(X), proper#(U71(X1, X2, X3)) -> proper#(X2))
                            (proper#(U61(X)) -> proper#(X), proper#(x(X1, X2)) -> proper#(X2))
                            (proper#(U61(X)) -> proper#(X), proper#(U61(X)) -> proper#(X))
                            (proper#(U61(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X3))
                            (proper#(U61(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X2))
                            (proper#(U61(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X1))
                            (proper#(U61(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X2))
                            (proper#(U61(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X1))
                            (proper#(U61(X)) -> proper#(X), proper#(s(X)) -> proper#(X))
                            (proper#(U61(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X2))
                            (proper#(U61(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X1))
                            (proper#(U61(X)) -> proper#(X), proper#(U33(X)) -> proper#(X))
                            (proper#(U61(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X2))
                            (proper#(U61(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X1))
                            (proper#(U61(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X2))
                            (proper#(U61(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X1))
                            (proper#(U61(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X2))
                            (proper#(U61(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X1))
                            (proper#(U61(X)) -> proper#(X), proper#(U22(X)) -> proper#(X))
                            (proper#(U61(X)) -> proper#(X), proper#(U13(X)) -> proper#(X))
                            (proper#(U61(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X3))
                            (proper#(U61(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X2))
                            (proper#(U61(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X1))
                            (proper#(U61(X)) -> proper#(X), proper#(isNat(X)) -> proper#(X))
                            (proper#(U61(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X2))
                            (proper#(U61(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X1))
                            (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(and(X1, X2)) -> proper#(X2))
                            (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X2))
                            (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X2))
                            (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U61(X)) -> proper#(X))
                            (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X3))
                            (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X2))
                            (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X1))
                            (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X2))
                            (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X1))
                            (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(s(X)) -> proper#(X))
                            (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
                            (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
                            (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
                            (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
                            (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
                            (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
                            (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
                            (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X2))
                            (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
                            (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
                            (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
                            (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
                            (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X2))
                            (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
                            (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
                            (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
                            (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
                            (proper#(U32(X1, X2)) -> proper#(X2), proper#(and(X1, X2)) -> proper#(X2))
                            (proper#(U32(X1, X2)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X2))
                            (proper#(U32(X1, X2)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X2))
                            (proper#(U32(X1, X2)) -> proper#(X2), proper#(U61(X)) -> proper#(X))
                            (proper#(U32(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X3))
                            (proper#(U32(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X2))
                            (proper#(U32(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X1))
                            (proper#(U32(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X2))
                            (proper#(U32(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X1))
                            (proper#(U32(X1, X2)) -> proper#(X2), proper#(s(X)) -> proper#(X))
                            (proper#(U32(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
                            (proper#(U32(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
                            (proper#(U32(X1, X2)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
                            (proper#(U32(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
                            (proper#(U32(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
                            (proper#(U32(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
                            (proper#(U32(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
                            (proper#(U32(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X2))
                            (proper#(U32(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
                            (proper#(U32(X1, X2)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
                            (proper#(U32(X1, X2)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
                            (proper#(U32(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
                            (proper#(U32(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X2))
                            (proper#(U32(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
                            (proper#(U32(X1, X2)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
                            (proper#(U32(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
                            (proper#(U32(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
                            (proper#(U41(X1, X2)) -> proper#(X2), proper#(and(X1, X2)) -> proper#(X2))
                            (proper#(U41(X1, X2)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X2))
                            (proper#(U41(X1, X2)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X2))
                            (proper#(U41(X1, X2)) -> proper#(X2), proper#(U61(X)) -> proper#(X))
                            (proper#(U41(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X3))
                            (proper#(U41(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X2))
                            (proper#(U41(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X1))
                            (proper#(U41(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X2))
                            (proper#(U41(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X1))
                            (proper#(U41(X1, X2)) -> proper#(X2), proper#(s(X)) -> proper#(X))
                            (proper#(U41(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
                            (proper#(U41(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
                            (proper#(U41(X1, X2)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
                            (proper#(U41(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
                            (proper#(U41(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
                            (proper#(U41(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
                            (proper#(U41(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
                            (proper#(U41(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X2))
                            (proper#(U41(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
                            (proper#(U41(X1, X2)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
                            (proper#(U41(X1, X2)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
                            (proper#(U41(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
                            (proper#(U41(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X2))
                            (proper#(U41(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
                            (proper#(U41(X1, X2)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
                            (proper#(U41(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
                            (proper#(U41(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
                            (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(and(X1, X2)) -> proper#(X2))
                            (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X2))
                            (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X2))
                            (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U61(X)) -> proper#(X))
                            (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X3))
                            (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X2))
                            (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X1))
                            (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X2))
                            (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X1))
                            (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(s(X)) -> proper#(X))
                            (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
                            (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
                            (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
                            (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
                            (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
                            (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
                            (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
                            (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X2))
                            (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
                            (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
                            (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
                            (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
                            (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X2))
                            (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
                            (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
                            (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
                            (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
                            (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(and(X1, X2)) -> proper#(X2))
                            (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X2))
                            (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X2))
                            (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U61(X)) -> proper#(X))
                            (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X3))
                            (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X2))
                            (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X1))
                            (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X2))
                            (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X1))
                            (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(s(X)) -> proper#(X))
                            (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
                            (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
                            (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
                            (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
                            (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
                            (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
                            (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
                            (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X2))
                            (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
                            (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
                            (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
                            (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
                            (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X2))
                            (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
                            (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
                            (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
                            (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
                            (proper#(U12(X1, X2)) -> proper#(X1), proper#(and(X1, X2)) -> proper#(X2))
                            (proper#(U12(X1, X2)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X2))
                            (proper#(U12(X1, X2)) -> proper#(X1), proper#(x(X1, X2)) -> proper#(X2))
                            (proper#(U12(X1, X2)) -> proper#(X1), proper#(U61(X)) -> proper#(X))
                            (proper#(U12(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X3))
                            (proper#(U12(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X2))
                            (proper#(U12(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X1))
                            (proper#(U12(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X2))
                            (proper#(U12(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X1))
                            (proper#(U12(X1, X2)) -> proper#(X1), proper#(s(X)) -> proper#(X))
                            (proper#(U12(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
                            (proper#(U12(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
                            (proper#(U12(X1, X2)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                            (proper#(U12(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                            (proper#(U12(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
                            (proper#(U12(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                            (proper#(U12(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                            (proper#(U12(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X2))
                            (proper#(U12(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                            (proper#(U12(X1, X2)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
                            (proper#(U12(X1, X2)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
                            (proper#(U12(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
                            (proper#(U12(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X2))
                            (proper#(U12(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                            (proper#(U12(X1, X2)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                            (proper#(U12(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                            (proper#(U12(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                            (proper#(U21(X1, X2)) -> proper#(X1), proper#(and(X1, X2)) -> proper#(X2))
                            (proper#(U21(X1, X2)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X2))
                            (proper#(U21(X1, X2)) -> proper#(X1), proper#(x(X1, X2)) -> proper#(X2))
                            (proper#(U21(X1, X2)) -> proper#(X1), proper#(U61(X)) -> proper#(X))
                            (proper#(U21(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X3))
                            (proper#(U21(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X2))
                            (proper#(U21(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X1))
                            (proper#(U21(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X2))
                            (proper#(U21(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X1))
                            (proper#(U21(X1, X2)) -> proper#(X1), proper#(s(X)) -> proper#(X))
                            (proper#(U21(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
                            (proper#(U21(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
                            (proper#(U21(X1, X2)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                            (proper#(U21(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                            (proper#(U21(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
                            (proper#(U21(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                            (proper#(U21(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                            (proper#(U21(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X2))
                            (proper#(U21(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                            (proper#(U21(X1, X2)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
                            (proper#(U21(X1, X2)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
                            (proper#(U21(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
                            (proper#(U21(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X2))
                            (proper#(U21(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                            (proper#(U21(X1, X2)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                            (proper#(U21(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                            (proper#(U21(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                            (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(and(X1, X2)) -> proper#(X2))
                            (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X2))
                            (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(x(X1, X2)) -> proper#(X2))
                            (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U61(X)) -> proper#(X))
                            (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X3))
                            (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X2))
                            (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X1))
                            (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X2))
                            (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X1))
                            (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(s(X)) -> proper#(X))
                            (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
                            (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
                            (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                            (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                            (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
                            (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                            (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                            (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X2))
                            (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                            (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
                            (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
                            (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
                            (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X2))
                            (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                            (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                            (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                            (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                            (proper#(plus(X1, X2)) -> proper#(X1), proper#(and(X1, X2)) -> proper#(X2))
                            (proper#(plus(X1, X2)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X2))
                            (proper#(plus(X1, X2)) -> proper#(X1), proper#(x(X1, X2)) -> proper#(X2))
                            (proper#(plus(X1, X2)) -> proper#(X1), proper#(U61(X)) -> proper#(X))
                            (proper#(plus(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X3))
                            (proper#(plus(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X2))
                            (proper#(plus(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X1))
                            (proper#(plus(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X2))
                            (proper#(plus(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X1))
                            (proper#(plus(X1, X2)) -> proper#(X1), proper#(s(X)) -> proper#(X))
                            (proper#(plus(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
                            (proper#(plus(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
                            (proper#(plus(X1, X2)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                            (proper#(plus(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                            (proper#(plus(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
                            (proper#(plus(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                            (proper#(plus(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                            (proper#(plus(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X2))
                            (proper#(plus(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                            (proper#(plus(X1, X2)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
                            (proper#(plus(X1, X2)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
                            (proper#(plus(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
                            (proper#(plus(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X2))
                            (proper#(plus(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                            (proper#(plus(X1, X2)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                            (proper#(plus(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                            (proper#(plus(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                            (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(and(X1, X2)) -> proper#(X2))
                            (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U71(X1, X2, X3)) -> proper#(X2))
                            (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(x(X1, X2)) -> proper#(X2))
                            (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U61(X)) -> proper#(X))
                            (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U51(X1, X2, X3)) -> proper#(X3))
                            (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U51(X1, X2, X3)) -> proper#(X2))
                            (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U51(X1, X2, X3)) -> proper#(X1))
                            (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(plus(X1, X2)) -> proper#(X2))
                            (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(plus(X1, X2)) -> proper#(X1))
                            (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(s(X)) -> proper#(X))
                            (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U41(X1, X2)) -> proper#(X2))
                            (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U41(X1, X2)) -> proper#(X1))
                            (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U33(X)) -> proper#(X))
                            (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U31(X1, X2, X3)) -> proper#(X2))
                            (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U31(X1, X2, X3)) -> proper#(X1))
                            (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U32(X1, X2)) -> proper#(X2))
                            (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U32(X1, X2)) -> proper#(X1))
                            (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U21(X1, X2)) -> proper#(X2))
                            (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U21(X1, X2)) -> proper#(X1))
                            (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U22(X)) -> proper#(X))
                            (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U13(X)) -> proper#(X))
                            (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U11(X1, X2, X3)) -> proper#(X3))
                            (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U11(X1, X2, X3)) -> proper#(X2))
                            (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U11(X1, X2, X3)) -> proper#(X1))
                            (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(isNat(X)) -> proper#(X))
                            (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U12(X1, X2)) -> proper#(X2))
                            (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U12(X1, X2)) -> proper#(X1))
                            (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U12(X1, X2)) -> proper#(X1))
                            (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U12(X1, X2)) -> proper#(X2))
                            (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(isNat(X)) -> proper#(X))
                            (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U11(X1, X2, X3)) -> proper#(X1))
                            (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U11(X1, X2, X3)) -> proper#(X2))
                            (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U11(X1, X2, X3)) -> proper#(X3))
                            (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U13(X)) -> proper#(X))
                            (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U22(X)) -> proper#(X))
                            (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U21(X1, X2)) -> proper#(X1))
                            (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U21(X1, X2)) -> proper#(X2))
                            (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U32(X1, X2)) -> proper#(X1))
                            (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U32(X1, X2)) -> proper#(X2))
                            (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U31(X1, X2, X3)) -> proper#(X1))
                            (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U31(X1, X2, X3)) -> proper#(X2))
                            (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U33(X)) -> proper#(X))
                            (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U41(X1, X2)) -> proper#(X1))
                            (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U41(X1, X2)) -> proper#(X2))
                            (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(s(X)) -> proper#(X))
                            (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(plus(X1, X2)) -> proper#(X1))
                            (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(plus(X1, X2)) -> proper#(X2))
                            (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U51(X1, X2, X3)) -> proper#(X1))
                            (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U51(X1, X2, X3)) -> proper#(X2))
                            (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U51(X1, X2, X3)) -> proper#(X3))
                            (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U61(X)) -> proper#(X))
                            (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(x(X1, X2)) -> proper#(X2))
                            (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U71(X1, X2, X3)) -> proper#(X2))
                            (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(and(X1, X2)) -> proper#(X2))
                            (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                            (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                            (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                            (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                            (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X2))
                            (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
                            (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
                            (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
                            (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                            (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X2))
                            (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                            (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                            (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
                            (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                            (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                            (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
                            (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
                            (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(s(X)) -> proper#(X))
                            (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X1))
                            (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X2))
                            (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X1))
                            (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X2))
                            (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X3))
                            (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U61(X)) -> proper#(X))
                            (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(x(X1, X2)) -> proper#(X2))
                            (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X2))
                            (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(and(X1, X2)) -> proper#(X2))
                            (proper#(U41(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                            (proper#(U41(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                            (proper#(U41(X1, X2)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                            (proper#(U41(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                            (proper#(U41(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X2))
                            (proper#(U41(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
                            (proper#(U41(X1, X2)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
                            (proper#(U41(X1, X2)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
                            (proper#(U41(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                            (proper#(U41(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X2))
                            (proper#(U41(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                            (proper#(U41(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                            (proper#(U41(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
                            (proper#(U41(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                            (proper#(U41(X1, X2)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                            (proper#(U41(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
                            (proper#(U41(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
                            (proper#(U41(X1, X2)) -> proper#(X1), proper#(s(X)) -> proper#(X))
                            (proper#(U41(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X1))
                            (proper#(U41(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X2))
                            (proper#(U41(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X1))
                            (proper#(U41(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X2))
                            (proper#(U41(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X3))
                            (proper#(U41(X1, X2)) -> proper#(X1), proper#(U61(X)) -> proper#(X))
                            (proper#(U41(X1, X2)) -> proper#(X1), proper#(x(X1, X2)) -> proper#(X2))
                            (proper#(U41(X1, X2)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X2))
                            (proper#(U41(X1, X2)) -> proper#(X1), proper#(and(X1, X2)) -> proper#(X2))
                            (proper#(U32(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                            (proper#(U32(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                            (proper#(U32(X1, X2)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                            (proper#(U32(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                            (proper#(U32(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X2))
                            (proper#(U32(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
                            (proper#(U32(X1, X2)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
                            (proper#(U32(X1, X2)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
                            (proper#(U32(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                            (proper#(U32(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X2))
                            (proper#(U32(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                            (proper#(U32(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                            (proper#(U32(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
                            (proper#(U32(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                            (proper#(U32(X1, X2)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                            (proper#(U32(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
                            (proper#(U32(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
                            (proper#(U32(X1, X2)) -> proper#(X1), proper#(s(X)) -> proper#(X))
                            (proper#(U32(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X1))
                            (proper#(U32(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X2))
                            (proper#(U32(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X1))
                            (proper#(U32(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X2))
                            (proper#(U32(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X3))
                            (proper#(U32(X1, X2)) -> proper#(X1), proper#(U61(X)) -> proper#(X))
                            (proper#(U32(X1, X2)) -> proper#(X1), proper#(x(X1, X2)) -> proper#(X2))
                            (proper#(U32(X1, X2)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X2))
                            (proper#(U32(X1, X2)) -> proper#(X1), proper#(and(X1, X2)) -> proper#(X2))
                            (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                            (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                            (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                            (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                            (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X2))
                            (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
                            (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
                            (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
                            (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                            (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X2))
                            (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                            (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                            (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
                            (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                            (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                            (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
                            (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
                            (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(s(X)) -> proper#(X))
                            (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X1))
                            (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X2))
                            (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X1))
                            (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X2))
                            (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X3))
                            (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U61(X)) -> proper#(X))
                            (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(x(X1, X2)) -> proper#(X2))
                            (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X2))
                            (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(and(X1, X2)) -> proper#(X2))
                            (proper#(and(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
                            (proper#(and(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
                            (proper#(and(X1, X2)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
                            (proper#(and(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
                            (proper#(and(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X2))
                            (proper#(and(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
                            (proper#(and(X1, X2)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
                            (proper#(and(X1, X2)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
                            (proper#(and(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
                            (proper#(and(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X2))
                            (proper#(and(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
                            (proper#(and(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
                            (proper#(and(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
                            (proper#(and(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
                            (proper#(and(X1, X2)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
                            (proper#(and(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
                            (proper#(and(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
                            (proper#(and(X1, X2)) -> proper#(X2), proper#(s(X)) -> proper#(X))
                            (proper#(and(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X1))
                            (proper#(and(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X2))
                            (proper#(and(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X1))
                            (proper#(and(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X2))
                            (proper#(and(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X3))
                            (proper#(and(X1, X2)) -> proper#(X2), proper#(U61(X)) -> proper#(X))
                            (proper#(and(X1, X2)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X2))
                            (proper#(and(X1, X2)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X2))
                            (proper#(and(X1, X2)) -> proper#(X2), proper#(and(X1, X2)) -> proper#(X2))
                            (proper#(x(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
                            (proper#(x(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
                            (proper#(x(X1, X2)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
                            (proper#(x(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
                            (proper#(x(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X2))
                            (proper#(x(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
                            (proper#(x(X1, X2)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
                            (proper#(x(X1, X2)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
                            (proper#(x(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
                            (proper#(x(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X2))
                            (proper#(x(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
                            (proper#(x(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
                            (proper#(x(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
                            (proper#(x(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
                            (proper#(x(X1, X2)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
                            (proper#(x(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
                            (proper#(x(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
                            (proper#(x(X1, X2)) -> proper#(X2), proper#(s(X)) -> proper#(X))
                            (proper#(x(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X1))
                            (proper#(x(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X2))
                            (proper#(x(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X1))
                            (proper#(x(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X2))
                            (proper#(x(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X3))
                            (proper#(x(X1, X2)) -> proper#(X2), proper#(U61(X)) -> proper#(X))
                            (proper#(x(X1, X2)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X2))
                            (proper#(x(X1, X2)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X2))
                            (proper#(x(X1, X2)) -> proper#(X2), proper#(and(X1, X2)) -> proper#(X2))
                            (proper#(plus(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
                            (proper#(plus(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
                            (proper#(plus(X1, X2)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
                            (proper#(plus(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
                            (proper#(plus(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X2))
                            (proper#(plus(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
                            (proper#(plus(X1, X2)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
                            (proper#(plus(X1, X2)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
                            (proper#(plus(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
                            (proper#(plus(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X2))
                            (proper#(plus(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
                            (proper#(plus(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
                            (proper#(plus(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
                            (proper#(plus(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
                            (proper#(plus(X1, X2)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
                            (proper#(plus(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
                            (proper#(plus(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
                            (proper#(plus(X1, X2)) -> proper#(X2), proper#(s(X)) -> proper#(X))
                            (proper#(plus(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X1))
                            (proper#(plus(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X2))
                            (proper#(plus(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X1))
                            (proper#(plus(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X2))
                            (proper#(plus(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X3))
                            (proper#(plus(X1, X2)) -> proper#(X2), proper#(U61(X)) -> proper#(X))
                            (proper#(plus(X1, X2)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X2))
                            (proper#(plus(X1, X2)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X2))
                            (proper#(plus(X1, X2)) -> proper#(X2), proper#(and(X1, X2)) -> proper#(X2))
                            (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
                            (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
                            (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
                            (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
                            (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X2))
                            (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
                            (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
                            (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
                            (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
                            (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X2))
                            (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
                            (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
                            (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
                            (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
                            (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
                            (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
                            (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
                            (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(s(X)) -> proper#(X))
                            (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X1))
                            (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X2))
                            (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X1))
                            (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X2))
                            (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X3))
                            (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U61(X)) -> proper#(X))
                            (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X2))
                            (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X2))
                            (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(and(X1, X2)) -> proper#(X2))
                            (proper#(U21(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
                            (proper#(U21(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
                            (proper#(U21(X1, X2)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
                            (proper#(U21(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
                            (proper#(U21(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X2))
                            (proper#(U21(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
                            (proper#(U21(X1, X2)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
                            (proper#(U21(X1, X2)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
                            (proper#(U21(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
                            (proper#(U21(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X2))
                            (proper#(U21(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
                            (proper#(U21(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
                            (proper#(U21(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
                            (proper#(U21(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
                            (proper#(U21(X1, X2)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
                            (proper#(U21(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
                            (proper#(U21(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
                            (proper#(U21(X1, X2)) -> proper#(X2), proper#(s(X)) -> proper#(X))
                            (proper#(U21(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X1))
                            (proper#(U21(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X2))
                            (proper#(U21(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X1))
                            (proper#(U21(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X2))
                            (proper#(U21(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X3))
                            (proper#(U21(X1, X2)) -> proper#(X2), proper#(U61(X)) -> proper#(X))
                            (proper#(U21(X1, X2)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X2))
                            (proper#(U21(X1, X2)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X2))
                            (proper#(U21(X1, X2)) -> proper#(X2), proper#(and(X1, X2)) -> proper#(X2))
                            (proper#(U12(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
                            (proper#(U12(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
                            (proper#(U12(X1, X2)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
                            (proper#(U12(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
                            (proper#(U12(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X2))
                            (proper#(U12(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
                            (proper#(U12(X1, X2)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
                            (proper#(U12(X1, X2)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
                            (proper#(U12(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
                            (proper#(U12(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X2))
                            (proper#(U12(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
                            (proper#(U12(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
                            (proper#(U12(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
                            (proper#(U12(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
                            (proper#(U12(X1, X2)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
                            (proper#(U12(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
                            (proper#(U12(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
                            (proper#(U12(X1, X2)) -> proper#(X2), proper#(s(X)) -> proper#(X))
                            (proper#(U12(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X1))
                            (proper#(U12(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X2))
                            (proper#(U12(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X1))
                            (proper#(U12(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X2))
                            (proper#(U12(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X3))
                            (proper#(U12(X1, X2)) -> proper#(X2), proper#(U61(X)) -> proper#(X))
                            (proper#(U12(X1, X2)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X2))
                            (proper#(U12(X1, X2)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X2))
                            (proper#(U12(X1, X2)) -> proper#(X2), proper#(and(X1, X2)) -> proper#(X2))
                            (proper#(s(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X1))
                            (proper#(s(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X2))
                            (proper#(s(X)) -> proper#(X), proper#(isNat(X)) -> proper#(X))
                            (proper#(s(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X1))
                            (proper#(s(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X2))
                            (proper#(s(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X3))
                            (proper#(s(X)) -> proper#(X), proper#(U13(X)) -> proper#(X))
                            (proper#(s(X)) -> proper#(X), proper#(U22(X)) -> proper#(X))
                            (proper#(s(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X1))
                            (proper#(s(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X2))
                            (proper#(s(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X1))
                            (proper#(s(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X2))
                            (proper#(s(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X1))
                            (proper#(s(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X2))
                            (proper#(s(X)) -> proper#(X), proper#(U33(X)) -> proper#(X))
                            (proper#(s(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X1))
                            (proper#(s(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X2))
                            (proper#(s(X)) -> proper#(X), proper#(s(X)) -> proper#(X))
                            (proper#(s(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X1))
                            (proper#(s(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X2))
                            (proper#(s(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X1))
                            (proper#(s(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X2))
                            (proper#(s(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X3))
                            (proper#(s(X)) -> proper#(X), proper#(U61(X)) -> proper#(X))
                            (proper#(s(X)) -> proper#(X), proper#(x(X1, X2)) -> proper#(X2))
                            (proper#(s(X)) -> proper#(X), proper#(U71(X1, X2, X3)) -> proper#(X2))
                            (proper#(s(X)) -> proper#(X), proper#(and(X1, X2)) -> proper#(X2))
                            (proper#(U22(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X1))
                            (proper#(U22(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X2))
                            (proper#(U22(X)) -> proper#(X), proper#(isNat(X)) -> proper#(X))
                            (proper#(U22(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X1))
                            (proper#(U22(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X2))
                            (proper#(U22(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X3))
                            (proper#(U22(X)) -> proper#(X), proper#(U13(X)) -> proper#(X))
                            (proper#(U22(X)) -> proper#(X), proper#(U22(X)) -> proper#(X))
                            (proper#(U22(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X1))
                            (proper#(U22(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X2))
                            (proper#(U22(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X1))
                            (proper#(U22(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X2))
                            (proper#(U22(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X1))
                            (proper#(U22(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X2))
                            (proper#(U22(X)) -> proper#(X), proper#(U33(X)) -> proper#(X))
                            (proper#(U22(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X1))
                            (proper#(U22(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X2))
                            (proper#(U22(X)) -> proper#(X), proper#(s(X)) -> proper#(X))
                            (proper#(U22(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X1))
                            (proper#(U22(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X2))
                            (proper#(U22(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X1))
                            (proper#(U22(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X2))
                            (proper#(U22(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X3))
                            (proper#(U22(X)) -> proper#(X), proper#(U61(X)) -> proper#(X))
                            (proper#(U22(X)) -> proper#(X), proper#(x(X1, X2)) -> proper#(X2))
                            (proper#(U22(X)) -> proper#(X), proper#(U71(X1, X2, X3)) -> proper#(X2))
                            (proper#(U22(X)) -> proper#(X), proper#(and(X1, X2)) -> proper#(X2))
                            (proper#(isNat(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X1))
                            (proper#(isNat(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X2))
                            (proper#(isNat(X)) -> proper#(X), proper#(isNat(X)) -> proper#(X))
                            (proper#(isNat(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X1))
                            (proper#(isNat(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X2))
                            (proper#(isNat(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X3))
                            (proper#(isNat(X)) -> proper#(X), proper#(U13(X)) -> proper#(X))
                            (proper#(isNat(X)) -> proper#(X), proper#(U22(X)) -> proper#(X))
                            (proper#(isNat(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X1))
                            (proper#(isNat(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X2))
                            (proper#(isNat(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X1))
                            (proper#(isNat(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X2))
                            (proper#(isNat(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X1))
                            (proper#(isNat(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X2))
                            (proper#(isNat(X)) -> proper#(X), proper#(U33(X)) -> proper#(X))
                            (proper#(isNat(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X1))
                            (proper#(isNat(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X2))
                            (proper#(isNat(X)) -> proper#(X), proper#(s(X)) -> proper#(X))
                            (proper#(isNat(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X1))
                            (proper#(isNat(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X2))
                            (proper#(isNat(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X1))
                            (proper#(isNat(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X2))
                            (proper#(isNat(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X3))
                            (proper#(isNat(X)) -> proper#(X), proper#(U61(X)) -> proper#(X))
                            (proper#(isNat(X)) -> proper#(X), proper#(x(X1, X2)) -> proper#(X2))
                            (proper#(isNat(X)) -> proper#(X), proper#(U71(X1, X2, X3)) -> proper#(X2))
                            (proper#(isNat(X)) -> proper#(X), proper#(and(X1, X2)) -> proper#(X2))
                           }
                           SCCS:
                            Scc:
                             {    proper#(U12(X1, X2)) -> proper#(X1),
                                  proper#(U12(X1, X2)) -> proper#(X2),
                                     proper#(isNat(X)) -> proper#(X),
                              proper#(U11(X1, X2, X3)) -> proper#(X1),
                              proper#(U11(X1, X2, X3)) -> proper#(X2),
                              proper#(U11(X1, X2, X3)) -> proper#(X3),
                                       proper#(U13(X)) -> proper#(X),
                                       proper#(U22(X)) -> proper#(X),
                                  proper#(U21(X1, X2)) -> proper#(X1),
                                  proper#(U21(X1, X2)) -> proper#(X2),
                                  proper#(U32(X1, X2)) -> proper#(X1),
                                  proper#(U32(X1, X2)) -> proper#(X2),
                              proper#(U31(X1, X2, X3)) -> proper#(X1),
                              proper#(U31(X1, X2, X3)) -> proper#(X2),
                                       proper#(U33(X)) -> proper#(X),
                                  proper#(U41(X1, X2)) -> proper#(X1),
                                  proper#(U41(X1, X2)) -> proper#(X2),
                                         proper#(s(X)) -> proper#(X),
                                 proper#(plus(X1, X2)) -> proper#(X1),
                                 proper#(plus(X1, X2)) -> proper#(X2),
                              proper#(U51(X1, X2, X3)) -> proper#(X1),
                              proper#(U51(X1, X2, X3)) -> proper#(X2),
                              proper#(U51(X1, X2, X3)) -> proper#(X3),
                                       proper#(U61(X)) -> proper#(X),
                                    proper#(x(X1, X2)) -> proper#(X2),
                              proper#(U71(X1, X2, X3)) -> proper#(X2),
                                  proper#(and(X1, X2)) -> proper#(X2)}
                            SCC:
                             Strict:
                              {    proper#(U12(X1, X2)) -> proper#(X1),
                                   proper#(U12(X1, X2)) -> proper#(X2),
                                      proper#(isNat(X)) -> proper#(X),
                               proper#(U11(X1, X2, X3)) -> proper#(X1),
                               proper#(U11(X1, X2, X3)) -> proper#(X2),
                               proper#(U11(X1, X2, X3)) -> proper#(X3),
                                        proper#(U13(X)) -> proper#(X),
                                        proper#(U22(X)) -> proper#(X),
                                   proper#(U21(X1, X2)) -> proper#(X1),
                                   proper#(U21(X1, X2)) -> proper#(X2),
                                   proper#(U32(X1, X2)) -> proper#(X1),
                                   proper#(U32(X1, X2)) -> proper#(X2),
                               proper#(U31(X1, X2, X3)) -> proper#(X1),
                               proper#(U31(X1, X2, X3)) -> proper#(X2),
                                        proper#(U33(X)) -> proper#(X),
                                   proper#(U41(X1, X2)) -> proper#(X1),
                                   proper#(U41(X1, X2)) -> proper#(X2),
                                          proper#(s(X)) -> proper#(X),
                                  proper#(plus(X1, X2)) -> proper#(X1),
                                  proper#(plus(X1, X2)) -> proper#(X2),
                               proper#(U51(X1, X2, X3)) -> proper#(X1),
                               proper#(U51(X1, X2, X3)) -> proper#(X2),
                               proper#(U51(X1, X2, X3)) -> proper#(X3),
                                        proper#(U61(X)) -> proper#(X),
                                     proper#(x(X1, X2)) -> proper#(X2),
                               proper#(U71(X1, X2, X3)) -> proper#(X2),
                                   proper#(and(X1, X2)) -> proper#(X2)}
                             Weak:
                             {              U12(mark(X1), X2) -> mark(U12(X1, X2)),
                                          U12(ok(X1), ok(X2)) -> ok(U12(X1, X2)),
                                                 isNat(ok(X)) -> ok(isNat(X)),
                                          active(U12(X1, X2)) -> U12(active(X1), X2),
                                        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(X1, X2, X3)) -> U11(active(X1), X2, X3),
                                    active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                                               active(U13(X)) -> U13(active(X)),
                                            active(U13(tt())) -> mark(tt()),
                                               active(U22(X)) -> U22(active(X)),
                                            active(U22(tt())) -> mark(tt()),
                                          active(U21(X1, X2)) -> U21(active(X1), X2),
                                        active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                                          active(U32(X1, X2)) -> U32(active(X1), X2),
                                        active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
                                      active(U31(X1, X2, X3)) -> U31(active(X1), X2, X3),
                                    active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                                               active(U33(X)) -> U33(active(X)),
                                            active(U33(tt())) -> mark(tt()),
                                          active(U41(X1, X2)) -> U41(active(X1), X2),
                                         active(U41(tt(), N)) -> mark(N),
                                                 active(s(X)) -> s(active(X)),
                                        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(plus(X1, X2)) -> plus(X1, active(X2)),
                                         active(plus(X1, X2)) -> plus(active(X1), X2),
                                      active(U51(X1, X2, X3)) -> U51(active(X1), X2, X3),
                                      active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                                               active(U61(X)) -> U61(active(X)),
                                            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(x(X1, X2)) -> x(X1, active(X2)),
                                            active(x(X1, X2)) -> x(active(X1), X2),
                                      active(U71(X1, X2, X3)) -> U71(active(X1), X2, X3),
                                      active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                                          active(and(X1, X2)) -> and(active(X1), X2),
                                         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(mark(X1), X2, X3) -> mark(U11(X1, X2, X3)),
                                  U11(ok(X1), ok(X2), ok(X3)) -> ok(U11(X1, X2, X3)),
                                                 U13(mark(X)) -> mark(U13(X)),
                                                   U13(ok(X)) -> ok(U13(X)),
                                                 U22(mark(X)) -> mark(U22(X)),
                                                   U22(ok(X)) -> ok(U22(X)),
                                            U21(mark(X1), X2) -> mark(U21(X1, X2)),
                                          U21(ok(X1), ok(X2)) -> ok(U21(X1, X2)),
                                            U32(mark(X1), X2) -> mark(U32(X1, X2)),
                                          U32(ok(X1), ok(X2)) -> ok(U32(X1, X2)),
                                        U31(mark(X1), X2, X3) -> mark(U31(X1, X2, X3)),
                                  U31(ok(X1), ok(X2), ok(X3)) -> ok(U31(X1, X2, X3)),
                                                 U33(mark(X)) -> mark(U33(X)),
                                                   U33(ok(X)) -> ok(U33(X)),
                                            U41(mark(X1), X2) -> mark(U41(X1, X2)),
                                          U41(ok(X1), ok(X2)) -> ok(U41(X1, X2)),
                                                   s(mark(X)) -> mark(s(X)),
                                                     s(ok(X)) -> ok(s(X)),
                                           plus(X1, mark(X2)) -> mark(plus(X1, X2)),
                                           plus(mark(X1), X2) -> mark(plus(X1, X2)),
                                         plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)),
                                        U51(mark(X1), X2, X3) -> mark(U51(X1, X2, X3)),
                                  U51(ok(X1), ok(X2), ok(X3)) -> ok(U51(X1, X2, X3)),
                                                 U61(mark(X)) -> mark(U61(X)),
                                                   U61(ok(X)) -> ok(U61(X)),
                                              x(X1, mark(X2)) -> mark(x(X1, X2)),
                                              x(mark(X1), X2) -> mark(x(X1, X2)),
                                            x(ok(X1), ok(X2)) -> ok(x(X1, X2)),
                                        U71(mark(X1), X2, X3) -> mark(U71(X1, X2, X3)),
                                  U71(ok(X1), ok(X2), ok(X3)) -> ok(U71(X1, X2, X3)),
                                            and(mark(X1), X2) -> mark(and(X1, X2)),
                                          and(ok(X1), ok(X2)) -> ok(and(X1, X2)),
                                             isNatKind(ok(X)) -> ok(isNatKind(X)),
                                          proper(U12(X1, X2)) -> U12(proper(X1), proper(X2)),
                                             proper(isNat(X)) -> isNat(proper(X)),
                                      proper(U11(X1, X2, X3)) -> U11(proper(X1), proper(X2), proper(X3)),
                                                 proper(tt()) -> ok(tt()),
                                               proper(U13(X)) -> U13(proper(X)),
                                               proper(U22(X)) -> U22(proper(X)),
                                          proper(U21(X1, X2)) -> U21(proper(X1), proper(X2)),
                                          proper(U32(X1, X2)) -> U32(proper(X1), proper(X2)),
                                      proper(U31(X1, X2, X3)) -> U31(proper(X1), proper(X2), proper(X3)),
                                               proper(U33(X)) -> U33(proper(X)),
                                          proper(U41(X1, X2)) -> U41(proper(X1), proper(X2)),
                                                 proper(s(X)) -> s(proper(X)),
                                         proper(plus(X1, X2)) -> plus(proper(X1), proper(X2)),
                                      proper(U51(X1, X2, X3)) -> U51(proper(X1), proper(X2), proper(X3)),
                                                  proper(0()) -> ok(0()),
                                               proper(U61(X)) -> U61(proper(X)),
                                            proper(x(X1, X2)) -> x(proper(X1), proper(X2)),
                                      proper(U71(X1, X2, X3)) -> U71(proper(X1), proper(X2), proper(X3)),
                                          proper(and(X1, X2)) -> and(proper(X1), proper(X2)),
                                         proper(isNatKind(X)) -> isNatKind(proper(X)),
                                                 top(mark(X)) -> top(proper(X)),
                                                   top(ok(X)) -> top(active(X))}
                             SPSC:
                              Simple Projection:
                               pi(proper#) = 0
                              Strict:
                               {    proper#(U12(X1, X2)) -> proper#(X1),
                                    proper#(U12(X1, X2)) -> proper#(X2),
                                       proper#(isNat(X)) -> proper#(X),
                                proper#(U11(X1, X2, X3)) -> proper#(X1),
                                proper#(U11(X1, X2, X3)) -> proper#(X2),
                                proper#(U11(X1, X2, X3)) -> proper#(X3),
                                         proper#(U13(X)) -> proper#(X),
                                         proper#(U22(X)) -> proper#(X),
                                    proper#(U21(X1, X2)) -> proper#(X1),
                                    proper#(U21(X1, X2)) -> proper#(X2),
                                    proper#(U32(X1, X2)) -> proper#(X1),
                                    proper#(U32(X1, X2)) -> proper#(X2),
                                proper#(U31(X1, X2, X3)) -> proper#(X1),
                                proper#(U31(X1, X2, X3)) -> proper#(X2),
                                         proper#(U33(X)) -> proper#(X),
                                    proper#(U41(X1, X2)) -> proper#(X1),
                                    proper#(U41(X1, X2)) -> proper#(X2),
                                           proper#(s(X)) -> proper#(X),
                                   proper#(plus(X1, X2)) -> proper#(X1),
                                   proper#(plus(X1, X2)) -> proper#(X2),
                                proper#(U51(X1, X2, X3)) -> proper#(X1),
                                proper#(U51(X1, X2, X3)) -> proper#(X2),
                                proper#(U51(X1, X2, X3)) -> proper#(X3),
                                         proper#(U61(X)) -> proper#(X),
                                      proper#(x(X1, X2)) -> proper#(X2),
                                proper#(U71(X1, X2, X3)) -> proper#(X2)}
                              EDG:
                               {
                                (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X2))
                                (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X2))
                                (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U61(X)) -> proper#(X))
                                (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X3))
                                (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X2))
                                (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X2))
                                (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X1))
                                (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(s(X)) -> proper#(X))
                                (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
                                (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
                                (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
                                (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
                                (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
                                (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X2))
                                (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
                                (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
                                (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
                                (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
                                (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
                                (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
                                (proper#(U32(X1, X2)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X2))
                                (proper#(U32(X1, X2)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X2))
                                (proper#(U32(X1, X2)) -> proper#(X2), proper#(U61(X)) -> proper#(X))
                                (proper#(U32(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X3))
                                (proper#(U32(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X2))
                                (proper#(U32(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                (proper#(U32(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X2))
                                (proper#(U32(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X1))
                                (proper#(U32(X1, X2)) -> proper#(X2), proper#(s(X)) -> proper#(X))
                                (proper#(U32(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
                                (proper#(U32(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
                                (proper#(U32(X1, X2)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
                                (proper#(U32(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                (proper#(U32(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                (proper#(U32(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
                                (proper#(U32(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
                                (proper#(U32(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X2))
                                (proper#(U32(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
                                (proper#(U32(X1, X2)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
                                (proper#(U32(X1, X2)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
                                (proper#(U32(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                (proper#(U32(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                (proper#(U32(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                (proper#(U32(X1, X2)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
                                (proper#(U32(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
                                (proper#(U32(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
                                (proper#(U41(X1, X2)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X2))
                                (proper#(U41(X1, X2)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X2))
                                (proper#(U41(X1, X2)) -> proper#(X2), proper#(U61(X)) -> proper#(X))
                                (proper#(U41(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X3))
                                (proper#(U41(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X2))
                                (proper#(U41(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                (proper#(U41(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X2))
                                (proper#(U41(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X1))
                                (proper#(U41(X1, X2)) -> proper#(X2), proper#(s(X)) -> proper#(X))
                                (proper#(U41(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
                                (proper#(U41(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
                                (proper#(U41(X1, X2)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
                                (proper#(U41(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                (proper#(U41(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                (proper#(U41(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
                                (proper#(U41(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
                                (proper#(U41(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X2))
                                (proper#(U41(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
                                (proper#(U41(X1, X2)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
                                (proper#(U41(X1, X2)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
                                (proper#(U41(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                (proper#(U41(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                (proper#(U41(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                (proper#(U41(X1, X2)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
                                (proper#(U41(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
                                (proper#(U41(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
                                (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X2))
                                (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X2))
                                (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U61(X)) -> proper#(X))
                                (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X3))
                                (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X2))
                                (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X2))
                                (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X1))
                                (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(s(X)) -> proper#(X))
                                (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
                                (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
                                (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
                                (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
                                (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
                                (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X2))
                                (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
                                (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
                                (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
                                (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
                                (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
                                (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
                                (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X2))
                                (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X2))
                                (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U61(X)) -> proper#(X))
                                (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X3))
                                (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X2))
                                (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X2))
                                (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X1))
                                (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(s(X)) -> proper#(X))
                                (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
                                (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
                                (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
                                (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
                                (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
                                (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X2))
                                (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
                                (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
                                (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
                                (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
                                (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
                                (proper#(U71(X1, X2, X3)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
                                (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X2))
                                (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(x(X1, X2)) -> proper#(X2))
                                (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U61(X)) -> proper#(X))
                                (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X3))
                                (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X2))
                                (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X2))
                                (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X1))
                                (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(s(X)) -> proper#(X))
                                (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
                                (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
                                (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                                (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                                (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                                (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X2))
                                (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                                (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
                                (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
                                (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                                (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                                (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                                (proper#(U32(X1, X2)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X2))
                                (proper#(U32(X1, X2)) -> proper#(X1), proper#(x(X1, X2)) -> proper#(X2))
                                (proper#(U32(X1, X2)) -> proper#(X1), proper#(U61(X)) -> proper#(X))
                                (proper#(U32(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X3))
                                (proper#(U32(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X2))
                                (proper#(U32(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                (proper#(U32(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X2))
                                (proper#(U32(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X1))
                                (proper#(U32(X1, X2)) -> proper#(X1), proper#(s(X)) -> proper#(X))
                                (proper#(U32(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
                                (proper#(U32(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
                                (proper#(U32(X1, X2)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                                (proper#(U32(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                (proper#(U32(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                (proper#(U32(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                                (proper#(U32(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                                (proper#(U32(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X2))
                                (proper#(U32(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                                (proper#(U32(X1, X2)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
                                (proper#(U32(X1, X2)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
                                (proper#(U32(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                (proper#(U32(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                (proper#(U32(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                (proper#(U32(X1, X2)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                                (proper#(U32(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                                (proper#(U32(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                                (proper#(U41(X1, X2)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X2))
                                (proper#(U41(X1, X2)) -> proper#(X1), proper#(x(X1, X2)) -> proper#(X2))
                                (proper#(U41(X1, X2)) -> proper#(X1), proper#(U61(X)) -> proper#(X))
                                (proper#(U41(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X3))
                                (proper#(U41(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X2))
                                (proper#(U41(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                (proper#(U41(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X2))
                                (proper#(U41(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X1))
                                (proper#(U41(X1, X2)) -> proper#(X1), proper#(s(X)) -> proper#(X))
                                (proper#(U41(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
                                (proper#(U41(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
                                (proper#(U41(X1, X2)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                                (proper#(U41(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                (proper#(U41(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                (proper#(U41(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                                (proper#(U41(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                                (proper#(U41(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X2))
                                (proper#(U41(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                                (proper#(U41(X1, X2)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
                                (proper#(U41(X1, X2)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
                                (proper#(U41(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                (proper#(U41(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                (proper#(U41(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                (proper#(U41(X1, X2)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                                (proper#(U41(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                                (proper#(U41(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                                (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X2))
                                (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(x(X1, X2)) -> proper#(X2))
                                (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U61(X)) -> proper#(X))
                                (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X3))
                                (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X2))
                                (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X2))
                                (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X1))
                                (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(s(X)) -> proper#(X))
                                (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
                                (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
                                (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                                (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                                (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                                (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X2))
                                (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                                (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
                                (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
                                (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                                (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                                (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                                (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U71(X1, X2, X3)) -> proper#(X2))
                                (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(x(X1, X2)) -> proper#(X2))
                                (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U61(X)) -> proper#(X))
                                (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U51(X1, X2, X3)) -> proper#(X3))
                                (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U51(X1, X2, X3)) -> proper#(X2))
                                (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(plus(X1, X2)) -> proper#(X2))
                                (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(plus(X1, X2)) -> proper#(X1))
                                (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(s(X)) -> proper#(X))
                                (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U41(X1, X2)) -> proper#(X2))
                                (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U41(X1, X2)) -> proper#(X1))
                                (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U33(X)) -> proper#(X))
                                (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U32(X1, X2)) -> proper#(X2))
                                (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U32(X1, X2)) -> proper#(X1))
                                (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U21(X1, X2)) -> proper#(X2))
                                (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U21(X1, X2)) -> proper#(X1))
                                (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U22(X)) -> proper#(X))
                                (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U13(X)) -> proper#(X))
                                (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(isNat(X)) -> proper#(X))
                                (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U12(X1, X2)) -> proper#(X2))
                                (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U12(X1, X2)) -> proper#(X1))
                                (proper#(U13(X)) -> proper#(X), proper#(U71(X1, X2, X3)) -> proper#(X2))
                                (proper#(U13(X)) -> proper#(X), proper#(x(X1, X2)) -> proper#(X2))
                                (proper#(U13(X)) -> proper#(X), proper#(U61(X)) -> proper#(X))
                                (proper#(U13(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X3))
                                (proper#(U13(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X2))
                                (proper#(U13(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                (proper#(U13(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X2))
                                (proper#(U13(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X1))
                                (proper#(U13(X)) -> proper#(X), proper#(s(X)) -> proper#(X))
                                (proper#(U13(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X2))
                                (proper#(U13(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X1))
                                (proper#(U13(X)) -> proper#(X), proper#(U33(X)) -> proper#(X))
                                (proper#(U13(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                (proper#(U13(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                (proper#(U13(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X2))
                                (proper#(U13(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X1))
                                (proper#(U13(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X2))
                                (proper#(U13(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X1))
                                (proper#(U13(X)) -> proper#(X), proper#(U22(X)) -> proper#(X))
                                (proper#(U13(X)) -> proper#(X), proper#(U13(X)) -> proper#(X))
                                (proper#(U13(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                (proper#(U13(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                (proper#(U13(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                (proper#(U13(X)) -> proper#(X), proper#(isNat(X)) -> proper#(X))
                                (proper#(U13(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X2))
                                (proper#(U13(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X1))
                                (proper#(U33(X)) -> proper#(X), proper#(U71(X1, X2, X3)) -> proper#(X2))
                                (proper#(U33(X)) -> proper#(X), proper#(x(X1, X2)) -> proper#(X2))
                                (proper#(U33(X)) -> proper#(X), proper#(U61(X)) -> proper#(X))
                                (proper#(U33(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X3))
                                (proper#(U33(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X2))
                                (proper#(U33(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                (proper#(U33(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X2))
                                (proper#(U33(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X1))
                                (proper#(U33(X)) -> proper#(X), proper#(s(X)) -> proper#(X))
                                (proper#(U33(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X2))
                                (proper#(U33(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X1))
                                (proper#(U33(X)) -> proper#(X), proper#(U33(X)) -> proper#(X))
                                (proper#(U33(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                (proper#(U33(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                (proper#(U33(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X2))
                                (proper#(U33(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X1))
                                (proper#(U33(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X2))
                                (proper#(U33(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X1))
                                (proper#(U33(X)) -> proper#(X), proper#(U22(X)) -> proper#(X))
                                (proper#(U33(X)) -> proper#(X), proper#(U13(X)) -> proper#(X))
                                (proper#(U33(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                (proper#(U33(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                (proper#(U33(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                (proper#(U33(X)) -> proper#(X), proper#(isNat(X)) -> proper#(X))
                                (proper#(U33(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X2))
                                (proper#(U33(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X1))
                                (proper#(U61(X)) -> proper#(X), proper#(U71(X1, X2, X3)) -> proper#(X2))
                                (proper#(U61(X)) -> proper#(X), proper#(x(X1, X2)) -> proper#(X2))
                                (proper#(U61(X)) -> proper#(X), proper#(U61(X)) -> proper#(X))
                                (proper#(U61(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X3))
                                (proper#(U61(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X2))
                                (proper#(U61(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                (proper#(U61(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X2))
                                (proper#(U61(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X1))
                                (proper#(U61(X)) -> proper#(X), proper#(s(X)) -> proper#(X))
                                (proper#(U61(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X2))
                                (proper#(U61(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X1))
                                (proper#(U61(X)) -> proper#(X), proper#(U33(X)) -> proper#(X))
                                (proper#(U61(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                (proper#(U61(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                (proper#(U61(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X2))
                                (proper#(U61(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X1))
                                (proper#(U61(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X2))
                                (proper#(U61(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X1))
                                (proper#(U61(X)) -> proper#(X), proper#(U22(X)) -> proper#(X))
                                (proper#(U61(X)) -> proper#(X), proper#(U13(X)) -> proper#(X))
                                (proper#(U61(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                (proper#(U61(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                (proper#(U61(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                (proper#(U61(X)) -> proper#(X), proper#(isNat(X)) -> proper#(X))
                                (proper#(U61(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X2))
                                (proper#(U61(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X1))
                                (proper#(s(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X1))
                                (proper#(s(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X2))
                                (proper#(s(X)) -> proper#(X), proper#(isNat(X)) -> proper#(X))
                                (proper#(s(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                (proper#(s(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                (proper#(s(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                (proper#(s(X)) -> proper#(X), proper#(U13(X)) -> proper#(X))
                                (proper#(s(X)) -> proper#(X), proper#(U22(X)) -> proper#(X))
                                (proper#(s(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X1))
                                (proper#(s(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X2))
                                (proper#(s(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X1))
                                (proper#(s(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X2))
                                (proper#(s(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                (proper#(s(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                (proper#(s(X)) -> proper#(X), proper#(U33(X)) -> proper#(X))
                                (proper#(s(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X1))
                                (proper#(s(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X2))
                                (proper#(s(X)) -> proper#(X), proper#(s(X)) -> proper#(X))
                                (proper#(s(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X1))
                                (proper#(s(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X2))
                                (proper#(s(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                (proper#(s(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X2))
                                (proper#(s(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X3))
                                (proper#(s(X)) -> proper#(X), proper#(U61(X)) -> proper#(X))
                                (proper#(s(X)) -> proper#(X), proper#(x(X1, X2)) -> proper#(X2))
                                (proper#(s(X)) -> proper#(X), proper#(U71(X1, X2, X3)) -> proper#(X2))
                                (proper#(U22(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X1))
                                (proper#(U22(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X2))
                                (proper#(U22(X)) -> proper#(X), proper#(isNat(X)) -> proper#(X))
                                (proper#(U22(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                (proper#(U22(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                (proper#(U22(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                (proper#(U22(X)) -> proper#(X), proper#(U13(X)) -> proper#(X))
                                (proper#(U22(X)) -> proper#(X), proper#(U22(X)) -> proper#(X))
                                (proper#(U22(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X1))
                                (proper#(U22(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X2))
                                (proper#(U22(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X1))
                                (proper#(U22(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X2))
                                (proper#(U22(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                (proper#(U22(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                (proper#(U22(X)) -> proper#(X), proper#(U33(X)) -> proper#(X))
                                (proper#(U22(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X1))
                                (proper#(U22(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X2))
                                (proper#(U22(X)) -> proper#(X), proper#(s(X)) -> proper#(X))
                                (proper#(U22(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X1))
                                (proper#(U22(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X2))
                                (proper#(U22(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                (proper#(U22(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X2))
                                (proper#(U22(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X3))
                                (proper#(U22(X)) -> proper#(X), proper#(U61(X)) -> proper#(X))
                                (proper#(U22(X)) -> proper#(X), proper#(x(X1, X2)) -> proper#(X2))
                                (proper#(U22(X)) -> proper#(X), proper#(U71(X1, X2, X3)) -> proper#(X2))
                                (proper#(isNat(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X1))
                                (proper#(isNat(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X2))
                                (proper#(isNat(X)) -> proper#(X), proper#(isNat(X)) -> proper#(X))
                                (proper#(isNat(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                (proper#(isNat(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                (proper#(isNat(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                (proper#(isNat(X)) -> proper#(X), proper#(U13(X)) -> proper#(X))
                                (proper#(isNat(X)) -> proper#(X), proper#(U22(X)) -> proper#(X))
                                (proper#(isNat(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X1))
                                (proper#(isNat(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X2))
                                (proper#(isNat(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X1))
                                (proper#(isNat(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X2))
                                (proper#(isNat(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                (proper#(isNat(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                (proper#(isNat(X)) -> proper#(X), proper#(U33(X)) -> proper#(X))
                                (proper#(isNat(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X1))
                                (proper#(isNat(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X2))
                                (proper#(isNat(X)) -> proper#(X), proper#(s(X)) -> proper#(X))
                                (proper#(isNat(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X1))
                                (proper#(isNat(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X2))
                                (proper#(isNat(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                (proper#(isNat(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X2))
                                (proper#(isNat(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X3))
                                (proper#(isNat(X)) -> proper#(X), proper#(U61(X)) -> proper#(X))
                                (proper#(isNat(X)) -> proper#(X), proper#(x(X1, X2)) -> proper#(X2))
                                (proper#(isNat(X)) -> proper#(X), proper#(U71(X1, X2, X3)) -> proper#(X2))
                                (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U12(X1, X2)) -> proper#(X1))
                                (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U12(X1, X2)) -> proper#(X2))
                                (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(isNat(X)) -> proper#(X))
                                (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U13(X)) -> proper#(X))
                                (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U22(X)) -> proper#(X))
                                (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U21(X1, X2)) -> proper#(X1))
                                (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U21(X1, X2)) -> proper#(X2))
                                (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U32(X1, X2)) -> proper#(X1))
                                (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U32(X1, X2)) -> proper#(X2))
                                (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U33(X)) -> proper#(X))
                                (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U41(X1, X2)) -> proper#(X1))
                                (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U41(X1, X2)) -> proper#(X2))
                                (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(s(X)) -> proper#(X))
                                (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(plus(X1, X2)) -> proper#(X1))
                                (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(plus(X1, X2)) -> proper#(X2))
                                (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U51(X1, X2, X3)) -> proper#(X2))
                                (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U51(X1, X2, X3)) -> proper#(X3))
                                (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U61(X)) -> proper#(X))
                                (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(x(X1, X2)) -> proper#(X2))
                                (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U71(X1, X2, X3)) -> proper#(X2))
                                (proper#(plus(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                                (proper#(plus(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                                (proper#(plus(X1, X2)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                                (proper#(plus(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                (proper#(plus(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                (proper#(plus(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                (proper#(plus(X1, X2)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
                                (proper#(plus(X1, X2)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
                                (proper#(plus(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                                (proper#(plus(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X2))
                                (proper#(plus(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                                (proper#(plus(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                                (proper#(plus(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                (proper#(plus(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                (proper#(plus(X1, X2)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                                (proper#(plus(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
                                (proper#(plus(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
                                (proper#(plus(X1, X2)) -> proper#(X1), proper#(s(X)) -> proper#(X))
                                (proper#(plus(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X1))
                                (proper#(plus(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X2))
                                (proper#(plus(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                (proper#(plus(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X2))
                                (proper#(plus(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X3))
                                (proper#(plus(X1, X2)) -> proper#(X1), proper#(U61(X)) -> proper#(X))
                                (proper#(plus(X1, X2)) -> proper#(X1), proper#(x(X1, X2)) -> proper#(X2))
                                (proper#(plus(X1, X2)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X2))
                                (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                                (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                                (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                                (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
                                (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
                                (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                                (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X2))
                                (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                                (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                                (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                                (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
                                (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
                                (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(s(X)) -> proper#(X))
                                (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X1))
                                (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X2))
                                (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X2))
                                (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X3))
                                (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U61(X)) -> proper#(X))
                                (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(x(X1, X2)) -> proper#(X2))
                                (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X2))
                                (proper#(U21(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                                (proper#(U21(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                                (proper#(U21(X1, X2)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                                (proper#(U21(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                (proper#(U21(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                (proper#(U21(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                (proper#(U21(X1, X2)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
                                (proper#(U21(X1, X2)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
                                (proper#(U21(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                                (proper#(U21(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X2))
                                (proper#(U21(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                                (proper#(U21(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                                (proper#(U21(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                (proper#(U21(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                (proper#(U21(X1, X2)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                                (proper#(U21(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
                                (proper#(U21(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
                                (proper#(U21(X1, X2)) -> proper#(X1), proper#(s(X)) -> proper#(X))
                                (proper#(U21(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X1))
                                (proper#(U21(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X2))
                                (proper#(U21(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                (proper#(U21(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X2))
                                (proper#(U21(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X3))
                                (proper#(U21(X1, X2)) -> proper#(X1), proper#(U61(X)) -> proper#(X))
                                (proper#(U21(X1, X2)) -> proper#(X1), proper#(x(X1, X2)) -> proper#(X2))
                                (proper#(U21(X1, X2)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X2))
                                (proper#(U12(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                                (proper#(U12(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                                (proper#(U12(X1, X2)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                                (proper#(U12(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                (proper#(U12(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                (proper#(U12(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                (proper#(U12(X1, X2)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
                                (proper#(U12(X1, X2)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
                                (proper#(U12(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                                (proper#(U12(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X2))
                                (proper#(U12(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                                (proper#(U12(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                                (proper#(U12(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                (proper#(U12(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                (proper#(U12(X1, X2)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                                (proper#(U12(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
                                (proper#(U12(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
                                (proper#(U12(X1, X2)) -> proper#(X1), proper#(s(X)) -> proper#(X))
                                (proper#(U12(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X1))
                                (proper#(U12(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X2))
                                (proper#(U12(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                (proper#(U12(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X2))
                                (proper#(U12(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X3))
                                (proper#(U12(X1, X2)) -> proper#(X1), proper#(U61(X)) -> proper#(X))
                                (proper#(U12(X1, X2)) -> proper#(X1), proper#(x(X1, X2)) -> proper#(X2))
                                (proper#(U12(X1, X2)) -> proper#(X1), proper#(U71(X1, X2, X3)) -> proper#(X2))
                                (proper#(x(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
                                (proper#(x(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
                                (proper#(x(X1, X2)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
                                (proper#(x(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                (proper#(x(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                (proper#(x(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                (proper#(x(X1, X2)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
                                (proper#(x(X1, X2)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
                                (proper#(x(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
                                (proper#(x(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X2))
                                (proper#(x(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
                                (proper#(x(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
                                (proper#(x(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                (proper#(x(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                (proper#(x(X1, X2)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
                                (proper#(x(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
                                (proper#(x(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
                                (proper#(x(X1, X2)) -> proper#(X2), proper#(s(X)) -> proper#(X))
                                (proper#(x(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X1))
                                (proper#(x(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X2))
                                (proper#(x(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                (proper#(x(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X2))
                                (proper#(x(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X3))
                                (proper#(x(X1, X2)) -> proper#(X2), proper#(U61(X)) -> proper#(X))
                                (proper#(x(X1, X2)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X2))
                                (proper#(x(X1, X2)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X2))
                                (proper#(plus(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
                                (proper#(plus(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
                                (proper#(plus(X1, X2)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
                                (proper#(plus(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                (proper#(plus(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                (proper#(plus(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                (proper#(plus(X1, X2)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
                                (proper#(plus(X1, X2)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
                                (proper#(plus(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
                                (proper#(plus(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X2))
                                (proper#(plus(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
                                (proper#(plus(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
                                (proper#(plus(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                (proper#(plus(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                (proper#(plus(X1, X2)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
                                (proper#(plus(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
                                (proper#(plus(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
                                (proper#(plus(X1, X2)) -> proper#(X2), proper#(s(X)) -> proper#(X))
                                (proper#(plus(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X1))
                                (proper#(plus(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X2))
                                (proper#(plus(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                (proper#(plus(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X2))
                                (proper#(plus(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X3))
                                (proper#(plus(X1, X2)) -> proper#(X2), proper#(U61(X)) -> proper#(X))
                                (proper#(plus(X1, X2)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X2))
                                (proper#(plus(X1, X2)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X2))
                                (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
                                (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
                                (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
                                (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
                                (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
                                (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
                                (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X2))
                                (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
                                (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
                                (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
                                (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
                                (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
                                (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(s(X)) -> proper#(X))
                                (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X1))
                                (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X2))
                                (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X2))
                                (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X3))
                                (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U61(X)) -> proper#(X))
                                (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X2))
                                (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X2))
                                (proper#(U21(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
                                (proper#(U21(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
                                (proper#(U21(X1, X2)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
                                (proper#(U21(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                (proper#(U21(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                (proper#(U21(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                (proper#(U21(X1, X2)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
                                (proper#(U21(X1, X2)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
                                (proper#(U21(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
                                (proper#(U21(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X2))
                                (proper#(U21(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
                                (proper#(U21(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
                                (proper#(U21(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                (proper#(U21(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                (proper#(U21(X1, X2)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
                                (proper#(U21(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
                                (proper#(U21(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
                                (proper#(U21(X1, X2)) -> proper#(X2), proper#(s(X)) -> proper#(X))
                                (proper#(U21(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X1))
                                (proper#(U21(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X2))
                                (proper#(U21(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                (proper#(U21(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X2))
                                (proper#(U21(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X3))
                                (proper#(U21(X1, X2)) -> proper#(X2), proper#(U61(X)) -> proper#(X))
                                (proper#(U21(X1, X2)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X2))
                                (proper#(U21(X1, X2)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X2))
                                (proper#(U12(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
                                (proper#(U12(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
                                (proper#(U12(X1, X2)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
                                (proper#(U12(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                (proper#(U12(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                (proper#(U12(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                (proper#(U12(X1, X2)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
                                (proper#(U12(X1, X2)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
                                (proper#(U12(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
                                (proper#(U12(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X2))
                                (proper#(U12(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
                                (proper#(U12(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
                                (proper#(U12(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                (proper#(U12(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                (proper#(U12(X1, X2)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
                                (proper#(U12(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
                                (proper#(U12(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
                                (proper#(U12(X1, X2)) -> proper#(X2), proper#(s(X)) -> proper#(X))
                                (proper#(U12(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X1))
                                (proper#(U12(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X2))
                                (proper#(U12(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                (proper#(U12(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X2))
                                (proper#(U12(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X3))
                                (proper#(U12(X1, X2)) -> proper#(X2), proper#(U61(X)) -> proper#(X))
                                (proper#(U12(X1, X2)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X2))
                                (proper#(U12(X1, X2)) -> proper#(X2), proper#(U71(X1, X2, X3)) -> proper#(X2))
                               }
                               SCCS:
                                Scc:
                                 {    proper#(U12(X1, X2)) -> proper#(X1),
                                      proper#(U12(X1, X2)) -> proper#(X2),
                                         proper#(isNat(X)) -> proper#(X),
                                  proper#(U11(X1, X2, X3)) -> proper#(X1),
                                  proper#(U11(X1, X2, X3)) -> proper#(X2),
                                  proper#(U11(X1, X2, X3)) -> proper#(X3),
                                           proper#(U13(X)) -> proper#(X),
                                           proper#(U22(X)) -> proper#(X),
                                      proper#(U21(X1, X2)) -> proper#(X1),
                                      proper#(U21(X1, X2)) -> proper#(X2),
                                      proper#(U32(X1, X2)) -> proper#(X1),
                                      proper#(U32(X1, X2)) -> proper#(X2),
                                  proper#(U31(X1, X2, X3)) -> proper#(X1),
                                  proper#(U31(X1, X2, X3)) -> proper#(X2),
                                           proper#(U33(X)) -> proper#(X),
                                      proper#(U41(X1, X2)) -> proper#(X1),
                                      proper#(U41(X1, X2)) -> proper#(X2),
                                             proper#(s(X)) -> proper#(X),
                                     proper#(plus(X1, X2)) -> proper#(X1),
                                     proper#(plus(X1, X2)) -> proper#(X2),
                                  proper#(U51(X1, X2, X3)) -> proper#(X1),
                                  proper#(U51(X1, X2, X3)) -> proper#(X2),
                                  proper#(U51(X1, X2, X3)) -> proper#(X3),
                                           proper#(U61(X)) -> proper#(X),
                                        proper#(x(X1, X2)) -> proper#(X2),
                                  proper#(U71(X1, X2, X3)) -> proper#(X2)}
                                SCC:
                                 Strict:
                                  {    proper#(U12(X1, X2)) -> proper#(X1),
                                       proper#(U12(X1, X2)) -> proper#(X2),
                                          proper#(isNat(X)) -> proper#(X),
                                   proper#(U11(X1, X2, X3)) -> proper#(X1),
                                   proper#(U11(X1, X2, X3)) -> proper#(X2),
                                   proper#(U11(X1, X2, X3)) -> proper#(X3),
                                            proper#(U13(X)) -> proper#(X),
                                            proper#(U22(X)) -> proper#(X),
                                       proper#(U21(X1, X2)) -> proper#(X1),
                                       proper#(U21(X1, X2)) -> proper#(X2),
                                       proper#(U32(X1, X2)) -> proper#(X1),
                                       proper#(U32(X1, X2)) -> proper#(X2),
                                   proper#(U31(X1, X2, X3)) -> proper#(X1),
                                   proper#(U31(X1, X2, X3)) -> proper#(X2),
                                            proper#(U33(X)) -> proper#(X),
                                       proper#(U41(X1, X2)) -> proper#(X1),
                                       proper#(U41(X1, X2)) -> proper#(X2),
                                              proper#(s(X)) -> proper#(X),
                                      proper#(plus(X1, X2)) -> proper#(X1),
                                      proper#(plus(X1, X2)) -> proper#(X2),
                                   proper#(U51(X1, X2, X3)) -> proper#(X1),
                                   proper#(U51(X1, X2, X3)) -> proper#(X2),
                                   proper#(U51(X1, X2, X3)) -> proper#(X3),
                                            proper#(U61(X)) -> proper#(X),
                                         proper#(x(X1, X2)) -> proper#(X2),
                                   proper#(U71(X1, X2, X3)) -> proper#(X2)}
                                 Weak:
                                 {              U12(mark(X1), X2) -> mark(U12(X1, X2)),
                                              U12(ok(X1), ok(X2)) -> ok(U12(X1, X2)),
                                                     isNat(ok(X)) -> ok(isNat(X)),
                                              active(U12(X1, X2)) -> U12(active(X1), X2),
                                            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(X1, X2, X3)) -> U11(active(X1), X2, X3),
                                        active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                                                   active(U13(X)) -> U13(active(X)),
                                                active(U13(tt())) -> mark(tt()),
                                                   active(U22(X)) -> U22(active(X)),
                                                active(U22(tt())) -> mark(tt()),
                                              active(U21(X1, X2)) -> U21(active(X1), X2),
                                            active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                                              active(U32(X1, X2)) -> U32(active(X1), X2),
                                            active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
                                          active(U31(X1, X2, X3)) -> U31(active(X1), X2, X3),
                                        active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                                                   active(U33(X)) -> U33(active(X)),
                                                active(U33(tt())) -> mark(tt()),
                                              active(U41(X1, X2)) -> U41(active(X1), X2),
                                             active(U41(tt(), N)) -> mark(N),
                                                     active(s(X)) -> s(active(X)),
                                            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(plus(X1, X2)) -> plus(X1, active(X2)),
                                             active(plus(X1, X2)) -> plus(active(X1), X2),
                                          active(U51(X1, X2, X3)) -> U51(active(X1), X2, X3),
                                          active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                                                   active(U61(X)) -> U61(active(X)),
                                                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(x(X1, X2)) -> x(X1, active(X2)),
                                                active(x(X1, X2)) -> x(active(X1), X2),
                                          active(U71(X1, X2, X3)) -> U71(active(X1), X2, X3),
                                          active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                                              active(and(X1, X2)) -> and(active(X1), X2),
                                             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(mark(X1), X2, X3) -> mark(U11(X1, X2, X3)),
                                      U11(ok(X1), ok(X2), ok(X3)) -> ok(U11(X1, X2, X3)),
                                                     U13(mark(X)) -> mark(U13(X)),
                                                       U13(ok(X)) -> ok(U13(X)),
                                                     U22(mark(X)) -> mark(U22(X)),
                                                       U22(ok(X)) -> ok(U22(X)),
                                                U21(mark(X1), X2) -> mark(U21(X1, X2)),
                                              U21(ok(X1), ok(X2)) -> ok(U21(X1, X2)),
                                                U32(mark(X1), X2) -> mark(U32(X1, X2)),
                                              U32(ok(X1), ok(X2)) -> ok(U32(X1, X2)),
                                            U31(mark(X1), X2, X3) -> mark(U31(X1, X2, X3)),
                                      U31(ok(X1), ok(X2), ok(X3)) -> ok(U31(X1, X2, X3)),
                                                     U33(mark(X)) -> mark(U33(X)),
                                                       U33(ok(X)) -> ok(U33(X)),
                                                U41(mark(X1), X2) -> mark(U41(X1, X2)),
                                              U41(ok(X1), ok(X2)) -> ok(U41(X1, X2)),
                                                       s(mark(X)) -> mark(s(X)),
                                                         s(ok(X)) -> ok(s(X)),
                                               plus(X1, mark(X2)) -> mark(plus(X1, X2)),
                                               plus(mark(X1), X2) -> mark(plus(X1, X2)),
                                             plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)),
                                            U51(mark(X1), X2, X3) -> mark(U51(X1, X2, X3)),
                                      U51(ok(X1), ok(X2), ok(X3)) -> ok(U51(X1, X2, X3)),
                                                     U61(mark(X)) -> mark(U61(X)),
                                                       U61(ok(X)) -> ok(U61(X)),
                                                  x(X1, mark(X2)) -> mark(x(X1, X2)),
                                                  x(mark(X1), X2) -> mark(x(X1, X2)),
                                                x(ok(X1), ok(X2)) -> ok(x(X1, X2)),
                                            U71(mark(X1), X2, X3) -> mark(U71(X1, X2, X3)),
                                      U71(ok(X1), ok(X2), ok(X3)) -> ok(U71(X1, X2, X3)),
                                                and(mark(X1), X2) -> mark(and(X1, X2)),
                                              and(ok(X1), ok(X2)) -> ok(and(X1, X2)),
                                                 isNatKind(ok(X)) -> ok(isNatKind(X)),
                                              proper(U12(X1, X2)) -> U12(proper(X1), proper(X2)),
                                                 proper(isNat(X)) -> isNat(proper(X)),
                                          proper(U11(X1, X2, X3)) -> U11(proper(X1), proper(X2), proper(X3)),
                                                     proper(tt()) -> ok(tt()),
                                                   proper(U13(X)) -> U13(proper(X)),
                                                   proper(U22(X)) -> U22(proper(X)),
                                              proper(U21(X1, X2)) -> U21(proper(X1), proper(X2)),
                                              proper(U32(X1, X2)) -> U32(proper(X1), proper(X2)),
                                          proper(U31(X1, X2, X3)) -> U31(proper(X1), proper(X2), proper(X3)),
                                                   proper(U33(X)) -> U33(proper(X)),
                                              proper(U41(X1, X2)) -> U41(proper(X1), proper(X2)),
                                                     proper(s(X)) -> s(proper(X)),
                                             proper(plus(X1, X2)) -> plus(proper(X1), proper(X2)),
                                          proper(U51(X1, X2, X3)) -> U51(proper(X1), proper(X2), proper(X3)),
                                                      proper(0()) -> ok(0()),
                                                   proper(U61(X)) -> U61(proper(X)),
                                                proper(x(X1, X2)) -> x(proper(X1), proper(X2)),
                                          proper(U71(X1, X2, X3)) -> U71(proper(X1), proper(X2), proper(X3)),
                                              proper(and(X1, X2)) -> and(proper(X1), proper(X2)),
                                             proper(isNatKind(X)) -> isNatKind(proper(X)),
                                                     top(mark(X)) -> top(proper(X)),
                                                       top(ok(X)) -> top(active(X))}
                                 SPSC:
                                  Simple Projection:
                                   pi(proper#) = 0
                                  Strict:
                                   {    proper#(U12(X1, X2)) -> proper#(X1),
                                        proper#(U12(X1, X2)) -> proper#(X2),
                                           proper#(isNat(X)) -> proper#(X),
                                    proper#(U11(X1, X2, X3)) -> proper#(X1),
                                    proper#(U11(X1, X2, X3)) -> proper#(X2),
                                    proper#(U11(X1, X2, X3)) -> proper#(X3),
                                             proper#(U13(X)) -> proper#(X),
                                             proper#(U22(X)) -> proper#(X),
                                        proper#(U21(X1, X2)) -> proper#(X1),
                                        proper#(U21(X1, X2)) -> proper#(X2),
                                        proper#(U32(X1, X2)) -> proper#(X1),
                                        proper#(U32(X1, X2)) -> proper#(X2),
                                    proper#(U31(X1, X2, X3)) -> proper#(X1),
                                    proper#(U31(X1, X2, X3)) -> proper#(X2),
                                             proper#(U33(X)) -> proper#(X),
                                        proper#(U41(X1, X2)) -> proper#(X1),
                                        proper#(U41(X1, X2)) -> proper#(X2),
                                               proper#(s(X)) -> proper#(X),
                                       proper#(plus(X1, X2)) -> proper#(X1),
                                       proper#(plus(X1, X2)) -> proper#(X2),
                                    proper#(U51(X1, X2, X3)) -> proper#(X1),
                                    proper#(U51(X1, X2, X3)) -> proper#(X2),
                                    proper#(U51(X1, X2, X3)) -> proper#(X3),
                                             proper#(U61(X)) -> proper#(X),
                                          proper#(x(X1, X2)) -> proper#(X2)}
                                  EDG:
                                   {
                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(x(X1, X2)) -> proper#(X2))
                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U61(X)) -> proper#(X))
                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X3))
                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X2))
                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X2))
                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X1))
                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(s(X)) -> proper#(X))
                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X2))
                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(x(X1, X2)) -> proper#(X2))
                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U61(X)) -> proper#(X))
                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X3))
                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X2))
                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X2))
                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X1))
                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(s(X)) -> proper#(X))
                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X2))
                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(x(X1, X2)) -> proper#(X2))
                                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U61(X)) -> proper#(X))
                                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X3))
                                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X2))
                                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X2))
                                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X1))
                                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(s(X)) -> proper#(X))
                                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
                                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
                                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X2))
                                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
                                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
                                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                                    (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(x(X1, X2)) -> proper#(X2))
                                    (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U61(X)) -> proper#(X))
                                    (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X3))
                                    (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X2))
                                    (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                    (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X2))
                                    (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X1))
                                    (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(s(X)) -> proper#(X))
                                    (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
                                    (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
                                    (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                                    (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                    (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                    (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                                    (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                                    (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X2))
                                    (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                                    (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
                                    (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
                                    (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                    (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                    (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                    (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                                    (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                                    (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                                    (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X2))
                                    (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U61(X)) -> proper#(X))
                                    (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X3))
                                    (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X2))
                                    (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                    (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X2))
                                    (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X1))
                                    (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(s(X)) -> proper#(X))
                                    (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
                                    (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
                                    (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
                                    (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                    (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                    (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
                                    (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
                                    (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X2))
                                    (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
                                    (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
                                    (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
                                    (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                    (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                    (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                    (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
                                    (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
                                    (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X2))
                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U61(X)) -> proper#(X))
                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X3))
                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X2))
                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X2))
                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X1))
                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(s(X)) -> proper#(X))
                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X2))
                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
                                    (proper#(U41(X1, X2)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X2))
                                    (proper#(U41(X1, X2)) -> proper#(X2), proper#(U61(X)) -> proper#(X))
                                    (proper#(U41(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X3))
                                    (proper#(U41(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X2))
                                    (proper#(U41(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                    (proper#(U41(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X2))
                                    (proper#(U41(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X1))
                                    (proper#(U41(X1, X2)) -> proper#(X2), proper#(s(X)) -> proper#(X))
                                    (proper#(U41(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
                                    (proper#(U41(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
                                    (proper#(U41(X1, X2)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
                                    (proper#(U41(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                    (proper#(U41(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                    (proper#(U41(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
                                    (proper#(U41(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
                                    (proper#(U41(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X2))
                                    (proper#(U41(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
                                    (proper#(U41(X1, X2)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
                                    (proper#(U41(X1, X2)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
                                    (proper#(U41(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                    (proper#(U41(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                    (proper#(U41(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                    (proper#(U41(X1, X2)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
                                    (proper#(U41(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
                                    (proper#(U41(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
                                    (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X2))
                                    (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U61(X)) -> proper#(X))
                                    (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X3))
                                    (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X2))
                                    (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                    (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X2))
                                    (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X1))
                                    (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(s(X)) -> proper#(X))
                                    (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
                                    (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
                                    (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
                                    (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                    (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                    (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
                                    (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
                                    (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X2))
                                    (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
                                    (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
                                    (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
                                    (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                    (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                    (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                    (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
                                    (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
                                    (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
                                    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(x(X1, X2)) -> proper#(X2))
                                    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U61(X)) -> proper#(X))
                                    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U51(X1, X2, X3)) -> proper#(X3))
                                    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U51(X1, X2, X3)) -> proper#(X2))
                                    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(plus(X1, X2)) -> proper#(X2))
                                    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(plus(X1, X2)) -> proper#(X1))
                                    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(s(X)) -> proper#(X))
                                    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U41(X1, X2)) -> proper#(X2))
                                    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U41(X1, X2)) -> proper#(X1))
                                    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U33(X)) -> proper#(X))
                                    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U32(X1, X2)) -> proper#(X2))
                                    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U32(X1, X2)) -> proper#(X1))
                                    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U21(X1, X2)) -> proper#(X2))
                                    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U21(X1, X2)) -> proper#(X1))
                                    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U22(X)) -> proper#(X))
                                    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U13(X)) -> proper#(X))
                                    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(isNat(X)) -> proper#(X))
                                    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U12(X1, X2)) -> proper#(X2))
                                    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U12(X1, X2)) -> proper#(X1))
                                    (proper#(isNat(X)) -> proper#(X), proper#(x(X1, X2)) -> proper#(X2))
                                    (proper#(isNat(X)) -> proper#(X), proper#(U61(X)) -> proper#(X))
                                    (proper#(isNat(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X3))
                                    (proper#(isNat(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X2))
                                    (proper#(isNat(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                    (proper#(isNat(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X2))
                                    (proper#(isNat(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X1))
                                    (proper#(isNat(X)) -> proper#(X), proper#(s(X)) -> proper#(X))
                                    (proper#(isNat(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X2))
                                    (proper#(isNat(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X1))
                                    (proper#(isNat(X)) -> proper#(X), proper#(U33(X)) -> proper#(X))
                                    (proper#(isNat(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                    (proper#(isNat(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                    (proper#(isNat(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X2))
                                    (proper#(isNat(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X1))
                                    (proper#(isNat(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X2))
                                    (proper#(isNat(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X1))
                                    (proper#(isNat(X)) -> proper#(X), proper#(U22(X)) -> proper#(X))
                                    (proper#(isNat(X)) -> proper#(X), proper#(U13(X)) -> proper#(X))
                                    (proper#(isNat(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                    (proper#(isNat(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                    (proper#(isNat(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                    (proper#(isNat(X)) -> proper#(X), proper#(isNat(X)) -> proper#(X))
                                    (proper#(isNat(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X2))
                                    (proper#(isNat(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X1))
                                    (proper#(U22(X)) -> proper#(X), proper#(x(X1, X2)) -> proper#(X2))
                                    (proper#(U22(X)) -> proper#(X), proper#(U61(X)) -> proper#(X))
                                    (proper#(U22(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X3))
                                    (proper#(U22(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X2))
                                    (proper#(U22(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                    (proper#(U22(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X2))
                                    (proper#(U22(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X1))
                                    (proper#(U22(X)) -> proper#(X), proper#(s(X)) -> proper#(X))
                                    (proper#(U22(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X2))
                                    (proper#(U22(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X1))
                                    (proper#(U22(X)) -> proper#(X), proper#(U33(X)) -> proper#(X))
                                    (proper#(U22(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                    (proper#(U22(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                    (proper#(U22(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X2))
                                    (proper#(U22(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X1))
                                    (proper#(U22(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X2))
                                    (proper#(U22(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X1))
                                    (proper#(U22(X)) -> proper#(X), proper#(U22(X)) -> proper#(X))
                                    (proper#(U22(X)) -> proper#(X), proper#(U13(X)) -> proper#(X))
                                    (proper#(U22(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                    (proper#(U22(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                    (proper#(U22(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                    (proper#(U22(X)) -> proper#(X), proper#(isNat(X)) -> proper#(X))
                                    (proper#(U22(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X2))
                                    (proper#(U22(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X1))
                                    (proper#(s(X)) -> proper#(X), proper#(x(X1, X2)) -> proper#(X2))
                                    (proper#(s(X)) -> proper#(X), proper#(U61(X)) -> proper#(X))
                                    (proper#(s(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X3))
                                    (proper#(s(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X2))
                                    (proper#(s(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                    (proper#(s(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X2))
                                    (proper#(s(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X1))
                                    (proper#(s(X)) -> proper#(X), proper#(s(X)) -> proper#(X))
                                    (proper#(s(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X2))
                                    (proper#(s(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X1))
                                    (proper#(s(X)) -> proper#(X), proper#(U33(X)) -> proper#(X))
                                    (proper#(s(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                    (proper#(s(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                    (proper#(s(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X2))
                                    (proper#(s(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X1))
                                    (proper#(s(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X2))
                                    (proper#(s(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X1))
                                    (proper#(s(X)) -> proper#(X), proper#(U22(X)) -> proper#(X))
                                    (proper#(s(X)) -> proper#(X), proper#(U13(X)) -> proper#(X))
                                    (proper#(s(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                    (proper#(s(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                    (proper#(s(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                    (proper#(s(X)) -> proper#(X), proper#(isNat(X)) -> proper#(X))
                                    (proper#(s(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X2))
                                    (proper#(s(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X1))
                                    (proper#(U61(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X1))
                                    (proper#(U61(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X2))
                                    (proper#(U61(X)) -> proper#(X), proper#(isNat(X)) -> proper#(X))
                                    (proper#(U61(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                    (proper#(U61(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                    (proper#(U61(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                    (proper#(U61(X)) -> proper#(X), proper#(U13(X)) -> proper#(X))
                                    (proper#(U61(X)) -> proper#(X), proper#(U22(X)) -> proper#(X))
                                    (proper#(U61(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X1))
                                    (proper#(U61(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X2))
                                    (proper#(U61(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X1))
                                    (proper#(U61(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X2))
                                    (proper#(U61(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                    (proper#(U61(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                    (proper#(U61(X)) -> proper#(X), proper#(U33(X)) -> proper#(X))
                                    (proper#(U61(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X1))
                                    (proper#(U61(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X2))
                                    (proper#(U61(X)) -> proper#(X), proper#(s(X)) -> proper#(X))
                                    (proper#(U61(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X1))
                                    (proper#(U61(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X2))
                                    (proper#(U61(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                    (proper#(U61(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X2))
                                    (proper#(U61(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X3))
                                    (proper#(U61(X)) -> proper#(X), proper#(U61(X)) -> proper#(X))
                                    (proper#(U61(X)) -> proper#(X), proper#(x(X1, X2)) -> proper#(X2))
                                    (proper#(U33(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X1))
                                    (proper#(U33(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X2))
                                    (proper#(U33(X)) -> proper#(X), proper#(isNat(X)) -> proper#(X))
                                    (proper#(U33(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                    (proper#(U33(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                    (proper#(U33(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                    (proper#(U33(X)) -> proper#(X), proper#(U13(X)) -> proper#(X))
                                    (proper#(U33(X)) -> proper#(X), proper#(U22(X)) -> proper#(X))
                                    (proper#(U33(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X1))
                                    (proper#(U33(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X2))
                                    (proper#(U33(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X1))
                                    (proper#(U33(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X2))
                                    (proper#(U33(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                    (proper#(U33(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                    (proper#(U33(X)) -> proper#(X), proper#(U33(X)) -> proper#(X))
                                    (proper#(U33(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X1))
                                    (proper#(U33(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X2))
                                    (proper#(U33(X)) -> proper#(X), proper#(s(X)) -> proper#(X))
                                    (proper#(U33(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X1))
                                    (proper#(U33(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X2))
                                    (proper#(U33(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                    (proper#(U33(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X2))
                                    (proper#(U33(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X3))
                                    (proper#(U33(X)) -> proper#(X), proper#(U61(X)) -> proper#(X))
                                    (proper#(U33(X)) -> proper#(X), proper#(x(X1, X2)) -> proper#(X2))
                                    (proper#(U13(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X1))
                                    (proper#(U13(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X2))
                                    (proper#(U13(X)) -> proper#(X), proper#(isNat(X)) -> proper#(X))
                                    (proper#(U13(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                    (proper#(U13(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                    (proper#(U13(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                    (proper#(U13(X)) -> proper#(X), proper#(U13(X)) -> proper#(X))
                                    (proper#(U13(X)) -> proper#(X), proper#(U22(X)) -> proper#(X))
                                    (proper#(U13(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X1))
                                    (proper#(U13(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X2))
                                    (proper#(U13(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X1))
                                    (proper#(U13(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X2))
                                    (proper#(U13(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                    (proper#(U13(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                    (proper#(U13(X)) -> proper#(X), proper#(U33(X)) -> proper#(X))
                                    (proper#(U13(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X1))
                                    (proper#(U13(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X2))
                                    (proper#(U13(X)) -> proper#(X), proper#(s(X)) -> proper#(X))
                                    (proper#(U13(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X1))
                                    (proper#(U13(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X2))
                                    (proper#(U13(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                    (proper#(U13(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X2))
                                    (proper#(U13(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X3))
                                    (proper#(U13(X)) -> proper#(X), proper#(U61(X)) -> proper#(X))
                                    (proper#(U13(X)) -> proper#(X), proper#(x(X1, X2)) -> proper#(X2))
                                    (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U12(X1, X2)) -> proper#(X1))
                                    (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U12(X1, X2)) -> proper#(X2))
                                    (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(isNat(X)) -> proper#(X))
                                    (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                    (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                    (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                    (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U13(X)) -> proper#(X))
                                    (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U22(X)) -> proper#(X))
                                    (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U21(X1, X2)) -> proper#(X1))
                                    (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U21(X1, X2)) -> proper#(X2))
                                    (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U32(X1, X2)) -> proper#(X1))
                                    (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U32(X1, X2)) -> proper#(X2))
                                    (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                    (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                    (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U33(X)) -> proper#(X))
                                    (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U41(X1, X2)) -> proper#(X1))
                                    (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U41(X1, X2)) -> proper#(X2))
                                    (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(s(X)) -> proper#(X))
                                    (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(plus(X1, X2)) -> proper#(X1))
                                    (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(plus(X1, X2)) -> proper#(X2))
                                    (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                    (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U51(X1, X2, X3)) -> proper#(X2))
                                    (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U51(X1, X2, X3)) -> proper#(X3))
                                    (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U61(X)) -> proper#(X))
                                    (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(x(X1, X2)) -> proper#(X2))
                                    (proper#(x(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
                                    (proper#(x(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
                                    (proper#(x(X1, X2)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
                                    (proper#(x(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                    (proper#(x(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                    (proper#(x(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                    (proper#(x(X1, X2)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
                                    (proper#(x(X1, X2)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
                                    (proper#(x(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
                                    (proper#(x(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X2))
                                    (proper#(x(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
                                    (proper#(x(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
                                    (proper#(x(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                    (proper#(x(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                    (proper#(x(X1, X2)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
                                    (proper#(x(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
                                    (proper#(x(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
                                    (proper#(x(X1, X2)) -> proper#(X2), proper#(s(X)) -> proper#(X))
                                    (proper#(x(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X1))
                                    (proper#(x(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X2))
                                    (proper#(x(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                    (proper#(x(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X2))
                                    (proper#(x(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X3))
                                    (proper#(x(X1, X2)) -> proper#(X2), proper#(U61(X)) -> proper#(X))
                                    (proper#(x(X1, X2)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X2))
                                    (proper#(plus(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
                                    (proper#(plus(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
                                    (proper#(plus(X1, X2)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
                                    (proper#(plus(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                    (proper#(plus(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                    (proper#(plus(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                    (proper#(plus(X1, X2)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
                                    (proper#(plus(X1, X2)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
                                    (proper#(plus(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
                                    (proper#(plus(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X2))
                                    (proper#(plus(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
                                    (proper#(plus(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
                                    (proper#(plus(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                    (proper#(plus(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                    (proper#(plus(X1, X2)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
                                    (proper#(plus(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
                                    (proper#(plus(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
                                    (proper#(plus(X1, X2)) -> proper#(X2), proper#(s(X)) -> proper#(X))
                                    (proper#(plus(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X1))
                                    (proper#(plus(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X2))
                                    (proper#(plus(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                    (proper#(plus(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X2))
                                    (proper#(plus(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X3))
                                    (proper#(plus(X1, X2)) -> proper#(X2), proper#(U61(X)) -> proper#(X))
                                    (proper#(plus(X1, X2)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X2))
                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X2))
                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(s(X)) -> proper#(X))
                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X1))
                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X2))
                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X2))
                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X3))
                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U61(X)) -> proper#(X))
                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X2))
                                    (proper#(U21(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
                                    (proper#(U21(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
                                    (proper#(U21(X1, X2)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
                                    (proper#(U21(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                    (proper#(U21(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                    (proper#(U21(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                    (proper#(U21(X1, X2)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
                                    (proper#(U21(X1, X2)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
                                    (proper#(U21(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
                                    (proper#(U21(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X2))
                                    (proper#(U21(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
                                    (proper#(U21(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
                                    (proper#(U21(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                    (proper#(U21(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                    (proper#(U21(X1, X2)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
                                    (proper#(U21(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
                                    (proper#(U21(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
                                    (proper#(U21(X1, X2)) -> proper#(X2), proper#(s(X)) -> proper#(X))
                                    (proper#(U21(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X1))
                                    (proper#(U21(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X2))
                                    (proper#(U21(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                    (proper#(U21(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X2))
                                    (proper#(U21(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X3))
                                    (proper#(U21(X1, X2)) -> proper#(X2), proper#(U61(X)) -> proper#(X))
                                    (proper#(U21(X1, X2)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X2))
                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X2))
                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(s(X)) -> proper#(X))
                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X1))
                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X2))
                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X2))
                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X3))
                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U61(X)) -> proper#(X))
                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(x(X1, X2)) -> proper#(X2))
                                    (proper#(plus(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                                    (proper#(plus(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                                    (proper#(plus(X1, X2)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                                    (proper#(plus(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                    (proper#(plus(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                    (proper#(plus(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                    (proper#(plus(X1, X2)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
                                    (proper#(plus(X1, X2)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
                                    (proper#(plus(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                                    (proper#(plus(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X2))
                                    (proper#(plus(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                                    (proper#(plus(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                                    (proper#(plus(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                    (proper#(plus(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                    (proper#(plus(X1, X2)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                                    (proper#(plus(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
                                    (proper#(plus(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
                                    (proper#(plus(X1, X2)) -> proper#(X1), proper#(s(X)) -> proper#(X))
                                    (proper#(plus(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X1))
                                    (proper#(plus(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X2))
                                    (proper#(plus(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                    (proper#(plus(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X2))
                                    (proper#(plus(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X3))
                                    (proper#(plus(X1, X2)) -> proper#(X1), proper#(U61(X)) -> proper#(X))
                                    (proper#(plus(X1, X2)) -> proper#(X1), proper#(x(X1, X2)) -> proper#(X2))
                                    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                                    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                                    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                                    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
                                    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
                                    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                                    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X2))
                                    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                                    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                                    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                                    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
                                    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
                                    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(s(X)) -> proper#(X))
                                    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X1))
                                    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X2))
                                    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X2))
                                    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X3))
                                    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U61(X)) -> proper#(X))
                                    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(x(X1, X2)) -> proper#(X2))
                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X2))
                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(s(X)) -> proper#(X))
                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X1))
                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X2))
                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X2))
                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X3))
                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U61(X)) -> proper#(X))
                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(x(X1, X2)) -> proper#(X2))
                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X2))
                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(s(X)) -> proper#(X))
                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X1))
                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X2))
                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X2))
                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X3))
                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U61(X)) -> proper#(X))
                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(x(X1, X2)) -> proper#(X2))
                                   }
                                   SCCS:
                                    Scc:
                                     {    proper#(U12(X1, X2)) -> proper#(X1),
                                          proper#(U12(X1, X2)) -> proper#(X2),
                                             proper#(isNat(X)) -> proper#(X),
                                      proper#(U11(X1, X2, X3)) -> proper#(X1),
                                      proper#(U11(X1, X2, X3)) -> proper#(X2),
                                      proper#(U11(X1, X2, X3)) -> proper#(X3),
                                               proper#(U13(X)) -> proper#(X),
                                               proper#(U22(X)) -> proper#(X),
                                          proper#(U21(X1, X2)) -> proper#(X1),
                                          proper#(U21(X1, X2)) -> proper#(X2),
                                          proper#(U32(X1, X2)) -> proper#(X1),
                                          proper#(U32(X1, X2)) -> proper#(X2),
                                      proper#(U31(X1, X2, X3)) -> proper#(X1),
                                      proper#(U31(X1, X2, X3)) -> proper#(X2),
                                               proper#(U33(X)) -> proper#(X),
                                          proper#(U41(X1, X2)) -> proper#(X1),
                                          proper#(U41(X1, X2)) -> proper#(X2),
                                                 proper#(s(X)) -> proper#(X),
                                         proper#(plus(X1, X2)) -> proper#(X1),
                                         proper#(plus(X1, X2)) -> proper#(X2),
                                      proper#(U51(X1, X2, X3)) -> proper#(X1),
                                      proper#(U51(X1, X2, X3)) -> proper#(X2),
                                      proper#(U51(X1, X2, X3)) -> proper#(X3),
                                               proper#(U61(X)) -> proper#(X),
                                            proper#(x(X1, X2)) -> proper#(X2)}
                                    SCC:
                                     Strict:
                                      {    proper#(U12(X1, X2)) -> proper#(X1),
                                           proper#(U12(X1, X2)) -> proper#(X2),
                                              proper#(isNat(X)) -> proper#(X),
                                       proper#(U11(X1, X2, X3)) -> proper#(X1),
                                       proper#(U11(X1, X2, X3)) -> proper#(X2),
                                       proper#(U11(X1, X2, X3)) -> proper#(X3),
                                                proper#(U13(X)) -> proper#(X),
                                                proper#(U22(X)) -> proper#(X),
                                           proper#(U21(X1, X2)) -> proper#(X1),
                                           proper#(U21(X1, X2)) -> proper#(X2),
                                           proper#(U32(X1, X2)) -> proper#(X1),
                                           proper#(U32(X1, X2)) -> proper#(X2),
                                       proper#(U31(X1, X2, X3)) -> proper#(X1),
                                       proper#(U31(X1, X2, X3)) -> proper#(X2),
                                                proper#(U33(X)) -> proper#(X),
                                           proper#(U41(X1, X2)) -> proper#(X1),
                                           proper#(U41(X1, X2)) -> proper#(X2),
                                                  proper#(s(X)) -> proper#(X),
                                          proper#(plus(X1, X2)) -> proper#(X1),
                                          proper#(plus(X1, X2)) -> proper#(X2),
                                       proper#(U51(X1, X2, X3)) -> proper#(X1),
                                       proper#(U51(X1, X2, X3)) -> proper#(X2),
                                       proper#(U51(X1, X2, X3)) -> proper#(X3),
                                                proper#(U61(X)) -> proper#(X),
                                             proper#(x(X1, X2)) -> proper#(X2)}
                                     Weak:
                                     {              U12(mark(X1), X2) -> mark(U12(X1, X2)),
                                                  U12(ok(X1), ok(X2)) -> ok(U12(X1, X2)),
                                                         isNat(ok(X)) -> ok(isNat(X)),
                                                  active(U12(X1, X2)) -> U12(active(X1), X2),
                                                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(X1, X2, X3)) -> U11(active(X1), X2, X3),
                                            active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                                                       active(U13(X)) -> U13(active(X)),
                                                    active(U13(tt())) -> mark(tt()),
                                                       active(U22(X)) -> U22(active(X)),
                                                    active(U22(tt())) -> mark(tt()),
                                                  active(U21(X1, X2)) -> U21(active(X1), X2),
                                                active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                                                  active(U32(X1, X2)) -> U32(active(X1), X2),
                                                active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
                                              active(U31(X1, X2, X3)) -> U31(active(X1), X2, X3),
                                            active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                                                       active(U33(X)) -> U33(active(X)),
                                                    active(U33(tt())) -> mark(tt()),
                                                  active(U41(X1, X2)) -> U41(active(X1), X2),
                                                 active(U41(tt(), N)) -> mark(N),
                                                         active(s(X)) -> s(active(X)),
                                                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(plus(X1, X2)) -> plus(X1, active(X2)),
                                                 active(plus(X1, X2)) -> plus(active(X1), X2),
                                              active(U51(X1, X2, X3)) -> U51(active(X1), X2, X3),
                                              active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                                                       active(U61(X)) -> U61(active(X)),
                                                    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(x(X1, X2)) -> x(X1, active(X2)),
                                                    active(x(X1, X2)) -> x(active(X1), X2),
                                              active(U71(X1, X2, X3)) -> U71(active(X1), X2, X3),
                                              active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                                                  active(and(X1, X2)) -> and(active(X1), X2),
                                                 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(mark(X1), X2, X3) -> mark(U11(X1, X2, X3)),
                                          U11(ok(X1), ok(X2), ok(X3)) -> ok(U11(X1, X2, X3)),
                                                         U13(mark(X)) -> mark(U13(X)),
                                                           U13(ok(X)) -> ok(U13(X)),
                                                         U22(mark(X)) -> mark(U22(X)),
                                                           U22(ok(X)) -> ok(U22(X)),
                                                    U21(mark(X1), X2) -> mark(U21(X1, X2)),
                                                  U21(ok(X1), ok(X2)) -> ok(U21(X1, X2)),
                                                    U32(mark(X1), X2) -> mark(U32(X1, X2)),
                                                  U32(ok(X1), ok(X2)) -> ok(U32(X1, X2)),
                                                U31(mark(X1), X2, X3) -> mark(U31(X1, X2, X3)),
                                          U31(ok(X1), ok(X2), ok(X3)) -> ok(U31(X1, X2, X3)),
                                                         U33(mark(X)) -> mark(U33(X)),
                                                           U33(ok(X)) -> ok(U33(X)),
                                                    U41(mark(X1), X2) -> mark(U41(X1, X2)),
                                                  U41(ok(X1), ok(X2)) -> ok(U41(X1, X2)),
                                                           s(mark(X)) -> mark(s(X)),
                                                             s(ok(X)) -> ok(s(X)),
                                                   plus(X1, mark(X2)) -> mark(plus(X1, X2)),
                                                   plus(mark(X1), X2) -> mark(plus(X1, X2)),
                                                 plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)),
                                                U51(mark(X1), X2, X3) -> mark(U51(X1, X2, X3)),
                                          U51(ok(X1), ok(X2), ok(X3)) -> ok(U51(X1, X2, X3)),
                                                         U61(mark(X)) -> mark(U61(X)),
                                                           U61(ok(X)) -> ok(U61(X)),
                                                      x(X1, mark(X2)) -> mark(x(X1, X2)),
                                                      x(mark(X1), X2) -> mark(x(X1, X2)),
                                                    x(ok(X1), ok(X2)) -> ok(x(X1, X2)),
                                                U71(mark(X1), X2, X3) -> mark(U71(X1, X2, X3)),
                                          U71(ok(X1), ok(X2), ok(X3)) -> ok(U71(X1, X2, X3)),
                                                    and(mark(X1), X2) -> mark(and(X1, X2)),
                                                  and(ok(X1), ok(X2)) -> ok(and(X1, X2)),
                                                     isNatKind(ok(X)) -> ok(isNatKind(X)),
                                                  proper(U12(X1, X2)) -> U12(proper(X1), proper(X2)),
                                                     proper(isNat(X)) -> isNat(proper(X)),
                                              proper(U11(X1, X2, X3)) -> U11(proper(X1), proper(X2), proper(X3)),
                                                         proper(tt()) -> ok(tt()),
                                                       proper(U13(X)) -> U13(proper(X)),
                                                       proper(U22(X)) -> U22(proper(X)),
                                                  proper(U21(X1, X2)) -> U21(proper(X1), proper(X2)),
                                                  proper(U32(X1, X2)) -> U32(proper(X1), proper(X2)),
                                              proper(U31(X1, X2, X3)) -> U31(proper(X1), proper(X2), proper(X3)),
                                                       proper(U33(X)) -> U33(proper(X)),
                                                  proper(U41(X1, X2)) -> U41(proper(X1), proper(X2)),
                                                         proper(s(X)) -> s(proper(X)),
                                                 proper(plus(X1, X2)) -> plus(proper(X1), proper(X2)),
                                              proper(U51(X1, X2, X3)) -> U51(proper(X1), proper(X2), proper(X3)),
                                                          proper(0()) -> ok(0()),
                                                       proper(U61(X)) -> U61(proper(X)),
                                                    proper(x(X1, X2)) -> x(proper(X1), proper(X2)),
                                              proper(U71(X1, X2, X3)) -> U71(proper(X1), proper(X2), proper(X3)),
                                                  proper(and(X1, X2)) -> and(proper(X1), proper(X2)),
                                                 proper(isNatKind(X)) -> isNatKind(proper(X)),
                                                         top(mark(X)) -> top(proper(X)),
                                                           top(ok(X)) -> top(active(X))}
                                     SPSC:
                                      Simple Projection:
                                       pi(proper#) = 0
                                      Strict:
                                       {    proper#(U12(X1, X2)) -> proper#(X1),
                                            proper#(U12(X1, X2)) -> proper#(X2),
                                               proper#(isNat(X)) -> proper#(X),
                                        proper#(U11(X1, X2, X3)) -> proper#(X1),
                                        proper#(U11(X1, X2, X3)) -> proper#(X2),
                                        proper#(U11(X1, X2, X3)) -> proper#(X3),
                                                 proper#(U13(X)) -> proper#(X),
                                                 proper#(U22(X)) -> proper#(X),
                                            proper#(U21(X1, X2)) -> proper#(X1),
                                            proper#(U21(X1, X2)) -> proper#(X2),
                                            proper#(U32(X1, X2)) -> proper#(X1),
                                            proper#(U32(X1, X2)) -> proper#(X2),
                                        proper#(U31(X1, X2, X3)) -> proper#(X1),
                                        proper#(U31(X1, X2, X3)) -> proper#(X2),
                                                 proper#(U33(X)) -> proper#(X),
                                            proper#(U41(X1, X2)) -> proper#(X1),
                                            proper#(U41(X1, X2)) -> proper#(X2),
                                                   proper#(s(X)) -> proper#(X),
                                           proper#(plus(X1, X2)) -> proper#(X1),
                                           proper#(plus(X1, X2)) -> proper#(X2),
                                        proper#(U51(X1, X2, X3)) -> proper#(X1),
                                        proper#(U51(X1, X2, X3)) -> proper#(X2),
                                        proper#(U51(X1, X2, X3)) -> proper#(X3),
                                                 proper#(U61(X)) -> proper#(X)}
                                      EDG:
                                       {
                                        (proper#(U13(X)) -> proper#(X), proper#(U61(X)) -> proper#(X))
                                        (proper#(U13(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X3))
                                        (proper#(U13(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X2))
                                        (proper#(U13(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                        (proper#(U13(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X2))
                                        (proper#(U13(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X1))
                                        (proper#(U13(X)) -> proper#(X), proper#(s(X)) -> proper#(X))
                                        (proper#(U13(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X2))
                                        (proper#(U13(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X1))
                                        (proper#(U13(X)) -> proper#(X), proper#(U33(X)) -> proper#(X))
                                        (proper#(U13(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                        (proper#(U13(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                        (proper#(U13(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X2))
                                        (proper#(U13(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X1))
                                        (proper#(U13(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X2))
                                        (proper#(U13(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X1))
                                        (proper#(U13(X)) -> proper#(X), proper#(U22(X)) -> proper#(X))
                                        (proper#(U13(X)) -> proper#(X), proper#(U13(X)) -> proper#(X))
                                        (proper#(U13(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                        (proper#(U13(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                        (proper#(U13(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                        (proper#(U13(X)) -> proper#(X), proper#(isNat(X)) -> proper#(X))
                                        (proper#(U13(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X2))
                                        (proper#(U13(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X1))
                                        (proper#(U33(X)) -> proper#(X), proper#(U61(X)) -> proper#(X))
                                        (proper#(U33(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X3))
                                        (proper#(U33(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X2))
                                        (proper#(U33(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                        (proper#(U33(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X2))
                                        (proper#(U33(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X1))
                                        (proper#(U33(X)) -> proper#(X), proper#(s(X)) -> proper#(X))
                                        (proper#(U33(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X2))
                                        (proper#(U33(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X1))
                                        (proper#(U33(X)) -> proper#(X), proper#(U33(X)) -> proper#(X))
                                        (proper#(U33(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                        (proper#(U33(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                        (proper#(U33(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X2))
                                        (proper#(U33(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X1))
                                        (proper#(U33(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X2))
                                        (proper#(U33(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X1))
                                        (proper#(U33(X)) -> proper#(X), proper#(U22(X)) -> proper#(X))
                                        (proper#(U33(X)) -> proper#(X), proper#(U13(X)) -> proper#(X))
                                        (proper#(U33(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                        (proper#(U33(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                        (proper#(U33(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                        (proper#(U33(X)) -> proper#(X), proper#(isNat(X)) -> proper#(X))
                                        (proper#(U33(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X2))
                                        (proper#(U33(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X1))
                                        (proper#(U61(X)) -> proper#(X), proper#(U61(X)) -> proper#(X))
                                        (proper#(U61(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X3))
                                        (proper#(U61(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X2))
                                        (proper#(U61(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                        (proper#(U61(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X2))
                                        (proper#(U61(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X1))
                                        (proper#(U61(X)) -> proper#(X), proper#(s(X)) -> proper#(X))
                                        (proper#(U61(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X2))
                                        (proper#(U61(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X1))
                                        (proper#(U61(X)) -> proper#(X), proper#(U33(X)) -> proper#(X))
                                        (proper#(U61(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                        (proper#(U61(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                        (proper#(U61(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X2))
                                        (proper#(U61(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X1))
                                        (proper#(U61(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X2))
                                        (proper#(U61(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X1))
                                        (proper#(U61(X)) -> proper#(X), proper#(U22(X)) -> proper#(X))
                                        (proper#(U61(X)) -> proper#(X), proper#(U13(X)) -> proper#(X))
                                        (proper#(U61(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                        (proper#(U61(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                        (proper#(U61(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                        (proper#(U61(X)) -> proper#(X), proper#(isNat(X)) -> proper#(X))
                                        (proper#(U61(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X2))
                                        (proper#(U61(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X1))
                                        (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U61(X)) -> proper#(X))
                                        (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U51(X1, X2, X3)) -> proper#(X3))
                                        (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U51(X1, X2, X3)) -> proper#(X2))
                                        (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                        (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(plus(X1, X2)) -> proper#(X2))
                                        (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(plus(X1, X2)) -> proper#(X1))
                                        (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(s(X)) -> proper#(X))
                                        (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U41(X1, X2)) -> proper#(X2))
                                        (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U41(X1, X2)) -> proper#(X1))
                                        (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U33(X)) -> proper#(X))
                                        (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                        (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                        (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U32(X1, X2)) -> proper#(X2))
                                        (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U32(X1, X2)) -> proper#(X1))
                                        (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U21(X1, X2)) -> proper#(X2))
                                        (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U21(X1, X2)) -> proper#(X1))
                                        (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U22(X)) -> proper#(X))
                                        (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U13(X)) -> proper#(X))
                                        (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                        (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                        (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                        (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(isNat(X)) -> proper#(X))
                                        (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U12(X1, X2)) -> proper#(X2))
                                        (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U12(X1, X2)) -> proper#(X1))
                                        (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U61(X)) -> proper#(X))
                                        (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X3))
                                        (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X2))
                                        (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                        (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X2))
                                        (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X1))
                                        (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(s(X)) -> proper#(X))
                                        (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
                                        (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
                                        (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
                                        (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                        (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                        (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
                                        (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
                                        (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X2))
                                        (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
                                        (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
                                        (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
                                        (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                        (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                        (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                        (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
                                        (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
                                        (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
                                        (proper#(U32(X1, X2)) -> proper#(X2), proper#(U61(X)) -> proper#(X))
                                        (proper#(U32(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X3))
                                        (proper#(U32(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X2))
                                        (proper#(U32(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                        (proper#(U32(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X2))
                                        (proper#(U32(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X1))
                                        (proper#(U32(X1, X2)) -> proper#(X2), proper#(s(X)) -> proper#(X))
                                        (proper#(U32(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
                                        (proper#(U32(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
                                        (proper#(U32(X1, X2)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
                                        (proper#(U32(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                        (proper#(U32(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                        (proper#(U32(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
                                        (proper#(U32(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
                                        (proper#(U32(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X2))
                                        (proper#(U32(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
                                        (proper#(U32(X1, X2)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
                                        (proper#(U32(X1, X2)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
                                        (proper#(U32(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                        (proper#(U32(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                        (proper#(U32(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                        (proper#(U32(X1, X2)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
                                        (proper#(U32(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
                                        (proper#(U32(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
                                        (proper#(U41(X1, X2)) -> proper#(X2), proper#(U61(X)) -> proper#(X))
                                        (proper#(U41(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X3))
                                        (proper#(U41(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X2))
                                        (proper#(U41(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                        (proper#(U41(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X2))
                                        (proper#(U41(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X1))
                                        (proper#(U41(X1, X2)) -> proper#(X2), proper#(s(X)) -> proper#(X))
                                        (proper#(U41(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
                                        (proper#(U41(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
                                        (proper#(U41(X1, X2)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
                                        (proper#(U41(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                        (proper#(U41(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                        (proper#(U41(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
                                        (proper#(U41(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
                                        (proper#(U41(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X2))
                                        (proper#(U41(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
                                        (proper#(U41(X1, X2)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
                                        (proper#(U41(X1, X2)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
                                        (proper#(U41(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                        (proper#(U41(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                        (proper#(U41(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                        (proper#(U41(X1, X2)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
                                        (proper#(U41(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
                                        (proper#(U41(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
                                        (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U61(X)) -> proper#(X))
                                        (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X3))
                                        (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X2))
                                        (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                        (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X2))
                                        (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X1))
                                        (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(s(X)) -> proper#(X))
                                        (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
                                        (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
                                        (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
                                        (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                        (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                        (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
                                        (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
                                        (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X2))
                                        (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
                                        (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
                                        (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
                                        (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                        (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                        (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                        (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
                                        (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
                                        (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
                                        (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U61(X)) -> proper#(X))
                                        (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X3))
                                        (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X2))
                                        (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                        (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X2))
                                        (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X1))
                                        (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(s(X)) -> proper#(X))
                                        (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
                                        (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
                                        (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                                        (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                        (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                        (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                                        (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                                        (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X2))
                                        (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                                        (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
                                        (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
                                        (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                        (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                        (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                        (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                                        (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                                        (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                                        (proper#(U32(X1, X2)) -> proper#(X1), proper#(U61(X)) -> proper#(X))
                                        (proper#(U32(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X3))
                                        (proper#(U32(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X2))
                                        (proper#(U32(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                        (proper#(U32(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X2))
                                        (proper#(U32(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X1))
                                        (proper#(U32(X1, X2)) -> proper#(X1), proper#(s(X)) -> proper#(X))
                                        (proper#(U32(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
                                        (proper#(U32(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
                                        (proper#(U32(X1, X2)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                                        (proper#(U32(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                        (proper#(U32(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                        (proper#(U32(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                                        (proper#(U32(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                                        (proper#(U32(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X2))
                                        (proper#(U32(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                                        (proper#(U32(X1, X2)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
                                        (proper#(U32(X1, X2)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
                                        (proper#(U32(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                        (proper#(U32(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                        (proper#(U32(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                        (proper#(U32(X1, X2)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                                        (proper#(U32(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                                        (proper#(U32(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                                        (proper#(U41(X1, X2)) -> proper#(X1), proper#(U61(X)) -> proper#(X))
                                        (proper#(U41(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X3))
                                        (proper#(U41(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X2))
                                        (proper#(U41(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                        (proper#(U41(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X2))
                                        (proper#(U41(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X1))
                                        (proper#(U41(X1, X2)) -> proper#(X1), proper#(s(X)) -> proper#(X))
                                        (proper#(U41(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
                                        (proper#(U41(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
                                        (proper#(U41(X1, X2)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                                        (proper#(U41(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                        (proper#(U41(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                        (proper#(U41(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                                        (proper#(U41(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                                        (proper#(U41(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X2))
                                        (proper#(U41(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                                        (proper#(U41(X1, X2)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
                                        (proper#(U41(X1, X2)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
                                        (proper#(U41(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                        (proper#(U41(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                        (proper#(U41(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                        (proper#(U41(X1, X2)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                                        (proper#(U41(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                                        (proper#(U41(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                                        (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U61(X)) -> proper#(X))
                                        (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X3))
                                        (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X2))
                                        (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                        (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X2))
                                        (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X1))
                                        (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(s(X)) -> proper#(X))
                                        (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
                                        (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
                                        (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                                        (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                        (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                        (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                                        (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                                        (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X2))
                                        (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                                        (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
                                        (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
                                        (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                        (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                        (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                        (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                                        (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                                        (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                                        (proper#(plus(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                                        (proper#(plus(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                                        (proper#(plus(X1, X2)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                                        (proper#(plus(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                        (proper#(plus(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                        (proper#(plus(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                        (proper#(plus(X1, X2)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
                                        (proper#(plus(X1, X2)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
                                        (proper#(plus(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                                        (proper#(plus(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X2))
                                        (proper#(plus(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                                        (proper#(plus(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                                        (proper#(plus(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                        (proper#(plus(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                        (proper#(plus(X1, X2)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                                        (proper#(plus(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
                                        (proper#(plus(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
                                        (proper#(plus(X1, X2)) -> proper#(X1), proper#(s(X)) -> proper#(X))
                                        (proper#(plus(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X1))
                                        (proper#(plus(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X2))
                                        (proper#(plus(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                        (proper#(plus(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X2))
                                        (proper#(plus(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X3))
                                        (proper#(plus(X1, X2)) -> proper#(X1), proper#(U61(X)) -> proper#(X))
                                        (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                                        (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                                        (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                                        (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                        (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                        (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                        (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
                                        (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
                                        (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                                        (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X2))
                                        (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                                        (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                                        (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                        (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                        (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                                        (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
                                        (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
                                        (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(s(X)) -> proper#(X))
                                        (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X1))
                                        (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X2))
                                        (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                        (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X2))
                                        (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X3))
                                        (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U61(X)) -> proper#(X))
                                        (proper#(U21(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                                        (proper#(U21(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                                        (proper#(U21(X1, X2)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                                        (proper#(U21(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                        (proper#(U21(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                        (proper#(U21(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                        (proper#(U21(X1, X2)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
                                        (proper#(U21(X1, X2)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
                                        (proper#(U21(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                                        (proper#(U21(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X2))
                                        (proper#(U21(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                                        (proper#(U21(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                                        (proper#(U21(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                        (proper#(U21(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                        (proper#(U21(X1, X2)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                                        (proper#(U21(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
                                        (proper#(U21(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
                                        (proper#(U21(X1, X2)) -> proper#(X1), proper#(s(X)) -> proper#(X))
                                        (proper#(U21(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X1))
                                        (proper#(U21(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X2))
                                        (proper#(U21(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                        (proper#(U21(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X2))
                                        (proper#(U21(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X3))
                                        (proper#(U21(X1, X2)) -> proper#(X1), proper#(U61(X)) -> proper#(X))
                                        (proper#(U12(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                                        (proper#(U12(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                                        (proper#(U12(X1, X2)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                                        (proper#(U12(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                        (proper#(U12(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                        (proper#(U12(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                        (proper#(U12(X1, X2)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
                                        (proper#(U12(X1, X2)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
                                        (proper#(U12(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                                        (proper#(U12(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X2))
                                        (proper#(U12(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                                        (proper#(U12(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                                        (proper#(U12(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                        (proper#(U12(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                        (proper#(U12(X1, X2)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                                        (proper#(U12(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
                                        (proper#(U12(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
                                        (proper#(U12(X1, X2)) -> proper#(X1), proper#(s(X)) -> proper#(X))
                                        (proper#(U12(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X1))
                                        (proper#(U12(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X2))
                                        (proper#(U12(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                        (proper#(U12(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X2))
                                        (proper#(U12(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X3))
                                        (proper#(U12(X1, X2)) -> proper#(X1), proper#(U61(X)) -> proper#(X))
                                        (proper#(plus(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
                                        (proper#(plus(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
                                        (proper#(plus(X1, X2)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
                                        (proper#(plus(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                        (proper#(plus(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                        (proper#(plus(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                        (proper#(plus(X1, X2)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
                                        (proper#(plus(X1, X2)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
                                        (proper#(plus(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
                                        (proper#(plus(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X2))
                                        (proper#(plus(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
                                        (proper#(plus(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
                                        (proper#(plus(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                        (proper#(plus(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                        (proper#(plus(X1, X2)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
                                        (proper#(plus(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
                                        (proper#(plus(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
                                        (proper#(plus(X1, X2)) -> proper#(X2), proper#(s(X)) -> proper#(X))
                                        (proper#(plus(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X1))
                                        (proper#(plus(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X2))
                                        (proper#(plus(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                        (proper#(plus(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X2))
                                        (proper#(plus(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X3))
                                        (proper#(plus(X1, X2)) -> proper#(X2), proper#(U61(X)) -> proper#(X))
                                        (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
                                        (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
                                        (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
                                        (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                        (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                        (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                        (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
                                        (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
                                        (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
                                        (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X2))
                                        (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
                                        (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
                                        (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                        (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                        (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
                                        (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
                                        (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
                                        (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(s(X)) -> proper#(X))
                                        (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X1))
                                        (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X2))
                                        (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                        (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X2))
                                        (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X3))
                                        (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U61(X)) -> proper#(X))
                                        (proper#(U21(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
                                        (proper#(U21(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
                                        (proper#(U21(X1, X2)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
                                        (proper#(U21(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                        (proper#(U21(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                        (proper#(U21(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                        (proper#(U21(X1, X2)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
                                        (proper#(U21(X1, X2)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
                                        (proper#(U21(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
                                        (proper#(U21(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X2))
                                        (proper#(U21(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
                                        (proper#(U21(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
                                        (proper#(U21(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                        (proper#(U21(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                        (proper#(U21(X1, X2)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
                                        (proper#(U21(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
                                        (proper#(U21(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
                                        (proper#(U21(X1, X2)) -> proper#(X2), proper#(s(X)) -> proper#(X))
                                        (proper#(U21(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X1))
                                        (proper#(U21(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X2))
                                        (proper#(U21(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                        (proper#(U21(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X2))
                                        (proper#(U21(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X3))
                                        (proper#(U21(X1, X2)) -> proper#(X2), proper#(U61(X)) -> proper#(X))
                                        (proper#(U12(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
                                        (proper#(U12(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
                                        (proper#(U12(X1, X2)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
                                        (proper#(U12(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                        (proper#(U12(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                        (proper#(U12(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                        (proper#(U12(X1, X2)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
                                        (proper#(U12(X1, X2)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
                                        (proper#(U12(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
                                        (proper#(U12(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X2))
                                        (proper#(U12(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
                                        (proper#(U12(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
                                        (proper#(U12(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                        (proper#(U12(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                        (proper#(U12(X1, X2)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
                                        (proper#(U12(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
                                        (proper#(U12(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
                                        (proper#(U12(X1, X2)) -> proper#(X2), proper#(s(X)) -> proper#(X))
                                        (proper#(U12(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X1))
                                        (proper#(U12(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X2))
                                        (proper#(U12(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                        (proper#(U12(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X2))
                                        (proper#(U12(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X3))
                                        (proper#(U12(X1, X2)) -> proper#(X2), proper#(U61(X)) -> proper#(X))
                                        (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U12(X1, X2)) -> proper#(X1))
                                        (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U12(X1, X2)) -> proper#(X2))
                                        (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(isNat(X)) -> proper#(X))
                                        (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                        (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                        (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                        (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U13(X)) -> proper#(X))
                                        (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U22(X)) -> proper#(X))
                                        (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U21(X1, X2)) -> proper#(X1))
                                        (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U21(X1, X2)) -> proper#(X2))
                                        (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U32(X1, X2)) -> proper#(X1))
                                        (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U32(X1, X2)) -> proper#(X2))
                                        (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                        (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                        (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U33(X)) -> proper#(X))
                                        (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U41(X1, X2)) -> proper#(X1))
                                        (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U41(X1, X2)) -> proper#(X2))
                                        (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(s(X)) -> proper#(X))
                                        (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(plus(X1, X2)) -> proper#(X1))
                                        (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(plus(X1, X2)) -> proper#(X2))
                                        (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                        (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U51(X1, X2, X3)) -> proper#(X2))
                                        (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U51(X1, X2, X3)) -> proper#(X3))
                                        (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U61(X)) -> proper#(X))
                                        (proper#(s(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X1))
                                        (proper#(s(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X2))
                                        (proper#(s(X)) -> proper#(X), proper#(isNat(X)) -> proper#(X))
                                        (proper#(s(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                        (proper#(s(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                        (proper#(s(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                        (proper#(s(X)) -> proper#(X), proper#(U13(X)) -> proper#(X))
                                        (proper#(s(X)) -> proper#(X), proper#(U22(X)) -> proper#(X))
                                        (proper#(s(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X1))
                                        (proper#(s(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X2))
                                        (proper#(s(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X1))
                                        (proper#(s(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X2))
                                        (proper#(s(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                        (proper#(s(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                        (proper#(s(X)) -> proper#(X), proper#(U33(X)) -> proper#(X))
                                        (proper#(s(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X1))
                                        (proper#(s(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X2))
                                        (proper#(s(X)) -> proper#(X), proper#(s(X)) -> proper#(X))
                                        (proper#(s(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X1))
                                        (proper#(s(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X2))
                                        (proper#(s(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                        (proper#(s(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X2))
                                        (proper#(s(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X3))
                                        (proper#(s(X)) -> proper#(X), proper#(U61(X)) -> proper#(X))
                                        (proper#(U22(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X1))
                                        (proper#(U22(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X2))
                                        (proper#(U22(X)) -> proper#(X), proper#(isNat(X)) -> proper#(X))
                                        (proper#(U22(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                        (proper#(U22(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                        (proper#(U22(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                        (proper#(U22(X)) -> proper#(X), proper#(U13(X)) -> proper#(X))
                                        (proper#(U22(X)) -> proper#(X), proper#(U22(X)) -> proper#(X))
                                        (proper#(U22(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X1))
                                        (proper#(U22(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X2))
                                        (proper#(U22(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X1))
                                        (proper#(U22(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X2))
                                        (proper#(U22(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                        (proper#(U22(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                        (proper#(U22(X)) -> proper#(X), proper#(U33(X)) -> proper#(X))
                                        (proper#(U22(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X1))
                                        (proper#(U22(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X2))
                                        (proper#(U22(X)) -> proper#(X), proper#(s(X)) -> proper#(X))
                                        (proper#(U22(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X1))
                                        (proper#(U22(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X2))
                                        (proper#(U22(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                        (proper#(U22(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X2))
                                        (proper#(U22(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X3))
                                        (proper#(U22(X)) -> proper#(X), proper#(U61(X)) -> proper#(X))
                                        (proper#(isNat(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X1))
                                        (proper#(isNat(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X2))
                                        (proper#(isNat(X)) -> proper#(X), proper#(isNat(X)) -> proper#(X))
                                        (proper#(isNat(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                        (proper#(isNat(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                        (proper#(isNat(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                        (proper#(isNat(X)) -> proper#(X), proper#(U13(X)) -> proper#(X))
                                        (proper#(isNat(X)) -> proper#(X), proper#(U22(X)) -> proper#(X))
                                        (proper#(isNat(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X1))
                                        (proper#(isNat(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X2))
                                        (proper#(isNat(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X1))
                                        (proper#(isNat(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X2))
                                        (proper#(isNat(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                        (proper#(isNat(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                        (proper#(isNat(X)) -> proper#(X), proper#(U33(X)) -> proper#(X))
                                        (proper#(isNat(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X1))
                                        (proper#(isNat(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X2))
                                        (proper#(isNat(X)) -> proper#(X), proper#(s(X)) -> proper#(X))
                                        (proper#(isNat(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X1))
                                        (proper#(isNat(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X2))
                                        (proper#(isNat(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                        (proper#(isNat(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X2))
                                        (proper#(isNat(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X3))
                                        (proper#(isNat(X)) -> proper#(X), proper#(U61(X)) -> proper#(X))
                                       }
                                       SCCS:
                                        Scc:
                                         {    proper#(U12(X1, X2)) -> proper#(X1),
                                              proper#(U12(X1, X2)) -> proper#(X2),
                                                 proper#(isNat(X)) -> proper#(X),
                                          proper#(U11(X1, X2, X3)) -> proper#(X1),
                                          proper#(U11(X1, X2, X3)) -> proper#(X2),
                                          proper#(U11(X1, X2, X3)) -> proper#(X3),
                                                   proper#(U13(X)) -> proper#(X),
                                                   proper#(U22(X)) -> proper#(X),
                                              proper#(U21(X1, X2)) -> proper#(X1),
                                              proper#(U21(X1, X2)) -> proper#(X2),
                                              proper#(U32(X1, X2)) -> proper#(X1),
                                              proper#(U32(X1, X2)) -> proper#(X2),
                                          proper#(U31(X1, X2, X3)) -> proper#(X1),
                                          proper#(U31(X1, X2, X3)) -> proper#(X2),
                                                   proper#(U33(X)) -> proper#(X),
                                              proper#(U41(X1, X2)) -> proper#(X1),
                                              proper#(U41(X1, X2)) -> proper#(X2),
                                                     proper#(s(X)) -> proper#(X),
                                             proper#(plus(X1, X2)) -> proper#(X1),
                                             proper#(plus(X1, X2)) -> proper#(X2),
                                          proper#(U51(X1, X2, X3)) -> proper#(X1),
                                          proper#(U51(X1, X2, X3)) -> proper#(X2),
                                          proper#(U51(X1, X2, X3)) -> proper#(X3),
                                                   proper#(U61(X)) -> proper#(X)}
                                        SCC:
                                         Strict:
                                          {    proper#(U12(X1, X2)) -> proper#(X1),
                                               proper#(U12(X1, X2)) -> proper#(X2),
                                                  proper#(isNat(X)) -> proper#(X),
                                           proper#(U11(X1, X2, X3)) -> proper#(X1),
                                           proper#(U11(X1, X2, X3)) -> proper#(X2),
                                           proper#(U11(X1, X2, X3)) -> proper#(X3),
                                                    proper#(U13(X)) -> proper#(X),
                                                    proper#(U22(X)) -> proper#(X),
                                               proper#(U21(X1, X2)) -> proper#(X1),
                                               proper#(U21(X1, X2)) -> proper#(X2),
                                               proper#(U32(X1, X2)) -> proper#(X1),
                                               proper#(U32(X1, X2)) -> proper#(X2),
                                           proper#(U31(X1, X2, X3)) -> proper#(X1),
                                           proper#(U31(X1, X2, X3)) -> proper#(X2),
                                                    proper#(U33(X)) -> proper#(X),
                                               proper#(U41(X1, X2)) -> proper#(X1),
                                               proper#(U41(X1, X2)) -> proper#(X2),
                                                      proper#(s(X)) -> proper#(X),
                                              proper#(plus(X1, X2)) -> proper#(X1),
                                              proper#(plus(X1, X2)) -> proper#(X2),
                                           proper#(U51(X1, X2, X3)) -> proper#(X1),
                                           proper#(U51(X1, X2, X3)) -> proper#(X2),
                                           proper#(U51(X1, X2, X3)) -> proper#(X3),
                                                    proper#(U61(X)) -> proper#(X)}
                                         Weak:
                                         {              U12(mark(X1), X2) -> mark(U12(X1, X2)),
                                                      U12(ok(X1), ok(X2)) -> ok(U12(X1, X2)),
                                                             isNat(ok(X)) -> ok(isNat(X)),
                                                      active(U12(X1, X2)) -> U12(active(X1), X2),
                                                    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(X1, X2, X3)) -> U11(active(X1), X2, X3),
                                                active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                                                           active(U13(X)) -> U13(active(X)),
                                                        active(U13(tt())) -> mark(tt()),
                                                           active(U22(X)) -> U22(active(X)),
                                                        active(U22(tt())) -> mark(tt()),
                                                      active(U21(X1, X2)) -> U21(active(X1), X2),
                                                    active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                                                      active(U32(X1, X2)) -> U32(active(X1), X2),
                                                    active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
                                                  active(U31(X1, X2, X3)) -> U31(active(X1), X2, X3),
                                                active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                                                           active(U33(X)) -> U33(active(X)),
                                                        active(U33(tt())) -> mark(tt()),
                                                      active(U41(X1, X2)) -> U41(active(X1), X2),
                                                     active(U41(tt(), N)) -> mark(N),
                                                             active(s(X)) -> s(active(X)),
                                                    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(plus(X1, X2)) -> plus(X1, active(X2)),
                                                     active(plus(X1, X2)) -> plus(active(X1), X2),
                                                  active(U51(X1, X2, X3)) -> U51(active(X1), X2, X3),
                                                  active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                                                           active(U61(X)) -> U61(active(X)),
                                                        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(x(X1, X2)) -> x(X1, active(X2)),
                                                        active(x(X1, X2)) -> x(active(X1), X2),
                                                  active(U71(X1, X2, X3)) -> U71(active(X1), X2, X3),
                                                  active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                                                      active(and(X1, X2)) -> and(active(X1), X2),
                                                     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(mark(X1), X2, X3) -> mark(U11(X1, X2, X3)),
                                              U11(ok(X1), ok(X2), ok(X3)) -> ok(U11(X1, X2, X3)),
                                                             U13(mark(X)) -> mark(U13(X)),
                                                               U13(ok(X)) -> ok(U13(X)),
                                                             U22(mark(X)) -> mark(U22(X)),
                                                               U22(ok(X)) -> ok(U22(X)),
                                                        U21(mark(X1), X2) -> mark(U21(X1, X2)),
                                                      U21(ok(X1), ok(X2)) -> ok(U21(X1, X2)),
                                                        U32(mark(X1), X2) -> mark(U32(X1, X2)),
                                                      U32(ok(X1), ok(X2)) -> ok(U32(X1, X2)),
                                                    U31(mark(X1), X2, X3) -> mark(U31(X1, X2, X3)),
                                              U31(ok(X1), ok(X2), ok(X3)) -> ok(U31(X1, X2, X3)),
                                                             U33(mark(X)) -> mark(U33(X)),
                                                               U33(ok(X)) -> ok(U33(X)),
                                                        U41(mark(X1), X2) -> mark(U41(X1, X2)),
                                                      U41(ok(X1), ok(X2)) -> ok(U41(X1, X2)),
                                                               s(mark(X)) -> mark(s(X)),
                                                                 s(ok(X)) -> ok(s(X)),
                                                       plus(X1, mark(X2)) -> mark(plus(X1, X2)),
                                                       plus(mark(X1), X2) -> mark(plus(X1, X2)),
                                                     plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)),
                                                    U51(mark(X1), X2, X3) -> mark(U51(X1, X2, X3)),
                                              U51(ok(X1), ok(X2), ok(X3)) -> ok(U51(X1, X2, X3)),
                                                             U61(mark(X)) -> mark(U61(X)),
                                                               U61(ok(X)) -> ok(U61(X)),
                                                          x(X1, mark(X2)) -> mark(x(X1, X2)),
                                                          x(mark(X1), X2) -> mark(x(X1, X2)),
                                                        x(ok(X1), ok(X2)) -> ok(x(X1, X2)),
                                                    U71(mark(X1), X2, X3) -> mark(U71(X1, X2, X3)),
                                              U71(ok(X1), ok(X2), ok(X3)) -> ok(U71(X1, X2, X3)),
                                                        and(mark(X1), X2) -> mark(and(X1, X2)),
                                                      and(ok(X1), ok(X2)) -> ok(and(X1, X2)),
                                                         isNatKind(ok(X)) -> ok(isNatKind(X)),
                                                      proper(U12(X1, X2)) -> U12(proper(X1), proper(X2)),
                                                         proper(isNat(X)) -> isNat(proper(X)),
                                                  proper(U11(X1, X2, X3)) -> U11(proper(X1), proper(X2), proper(X3)),
                                                             proper(tt()) -> ok(tt()),
                                                           proper(U13(X)) -> U13(proper(X)),
                                                           proper(U22(X)) -> U22(proper(X)),
                                                      proper(U21(X1, X2)) -> U21(proper(X1), proper(X2)),
                                                      proper(U32(X1, X2)) -> U32(proper(X1), proper(X2)),
                                                  proper(U31(X1, X2, X3)) -> U31(proper(X1), proper(X2), proper(X3)),
                                                           proper(U33(X)) -> U33(proper(X)),
                                                      proper(U41(X1, X2)) -> U41(proper(X1), proper(X2)),
                                                             proper(s(X)) -> s(proper(X)),
                                                     proper(plus(X1, X2)) -> plus(proper(X1), proper(X2)),
                                                  proper(U51(X1, X2, X3)) -> U51(proper(X1), proper(X2), proper(X3)),
                                                              proper(0()) -> ok(0()),
                                                           proper(U61(X)) -> U61(proper(X)),
                                                        proper(x(X1, X2)) -> x(proper(X1), proper(X2)),
                                                  proper(U71(X1, X2, X3)) -> U71(proper(X1), proper(X2), proper(X3)),
                                                      proper(and(X1, X2)) -> and(proper(X1), proper(X2)),
                                                     proper(isNatKind(X)) -> isNatKind(proper(X)),
                                                             top(mark(X)) -> top(proper(X)),
                                                               top(ok(X)) -> top(active(X))}
                                         SPSC:
                                          Simple Projection:
                                           pi(proper#) = 0
                                          Strict:
                                           {    proper#(U12(X1, X2)) -> proper#(X1),
                                                proper#(U12(X1, X2)) -> proper#(X2),
                                                   proper#(isNat(X)) -> proper#(X),
                                            proper#(U11(X1, X2, X3)) -> proper#(X1),
                                            proper#(U11(X1, X2, X3)) -> proper#(X2),
                                            proper#(U11(X1, X2, X3)) -> proper#(X3),
                                                     proper#(U13(X)) -> proper#(X),
                                                     proper#(U22(X)) -> proper#(X),
                                                proper#(U21(X1, X2)) -> proper#(X1),
                                                proper#(U21(X1, X2)) -> proper#(X2),
                                                proper#(U32(X1, X2)) -> proper#(X1),
                                                proper#(U32(X1, X2)) -> proper#(X2),
                                            proper#(U31(X1, X2, X3)) -> proper#(X1),
                                            proper#(U31(X1, X2, X3)) -> proper#(X2),
                                                     proper#(U33(X)) -> proper#(X),
                                                proper#(U41(X1, X2)) -> proper#(X1),
                                                proper#(U41(X1, X2)) -> proper#(X2),
                                                       proper#(s(X)) -> proper#(X),
                                               proper#(plus(X1, X2)) -> proper#(X1),
                                               proper#(plus(X1, X2)) -> proper#(X2),
                                            proper#(U51(X1, X2, X3)) -> proper#(X1),
                                            proper#(U51(X1, X2, X3)) -> proper#(X2),
                                            proper#(U51(X1, X2, X3)) -> proper#(X3)}
                                          EDG:
                                           {
                                            (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U51(X1, X2, X3)) -> proper#(X3))
                                            (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U51(X1, X2, X3)) -> proper#(X2))
                                            (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                            (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(plus(X1, X2)) -> proper#(X2))
                                            (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(plus(X1, X2)) -> proper#(X1))
                                            (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(s(X)) -> proper#(X))
                                            (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U41(X1, X2)) -> proper#(X2))
                                            (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U41(X1, X2)) -> proper#(X1))
                                            (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U33(X)) -> proper#(X))
                                            (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                            (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                            (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U32(X1, X2)) -> proper#(X2))
                                            (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U32(X1, X2)) -> proper#(X1))
                                            (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U21(X1, X2)) -> proper#(X2))
                                            (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U21(X1, X2)) -> proper#(X1))
                                            (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U22(X)) -> proper#(X))
                                            (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U13(X)) -> proper#(X))
                                            (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                            (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                            (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                            (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(isNat(X)) -> proper#(X))
                                            (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U12(X1, X2)) -> proper#(X2))
                                            (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U12(X1, X2)) -> proper#(X1))
                                            (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X3))
                                            (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X2))
                                            (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                            (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X2))
                                            (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X1))
                                            (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(s(X)) -> proper#(X))
                                            (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
                                            (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
                                            (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                                            (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                            (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                            (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                                            (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                                            (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X2))
                                            (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                                            (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
                                            (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
                                            (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                            (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                            (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                            (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                                            (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                                            (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                                            (proper#(U32(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X3))
                                            (proper#(U32(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X2))
                                            (proper#(U32(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                            (proper#(U32(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X2))
                                            (proper#(U32(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X1))
                                            (proper#(U32(X1, X2)) -> proper#(X1), proper#(s(X)) -> proper#(X))
                                            (proper#(U32(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
                                            (proper#(U32(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
                                            (proper#(U32(X1, X2)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                                            (proper#(U32(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                            (proper#(U32(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                            (proper#(U32(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                                            (proper#(U32(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                                            (proper#(U32(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X2))
                                            (proper#(U32(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                                            (proper#(U32(X1, X2)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
                                            (proper#(U32(X1, X2)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
                                            (proper#(U32(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                            (proper#(U32(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                            (proper#(U32(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                            (proper#(U32(X1, X2)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                                            (proper#(U32(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                                            (proper#(U32(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                                            (proper#(U41(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X3))
                                            (proper#(U41(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X2))
                                            (proper#(U41(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                            (proper#(U41(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X2))
                                            (proper#(U41(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X1))
                                            (proper#(U41(X1, X2)) -> proper#(X1), proper#(s(X)) -> proper#(X))
                                            (proper#(U41(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
                                            (proper#(U41(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
                                            (proper#(U41(X1, X2)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                                            (proper#(U41(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                            (proper#(U41(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                            (proper#(U41(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                                            (proper#(U41(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                                            (proper#(U41(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X2))
                                            (proper#(U41(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                                            (proper#(U41(X1, X2)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
                                            (proper#(U41(X1, X2)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
                                            (proper#(U41(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                            (proper#(U41(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                            (proper#(U41(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                            (proper#(U41(X1, X2)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                                            (proper#(U41(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                                            (proper#(U41(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                                            (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X3))
                                            (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X2))
                                            (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                            (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X2))
                                            (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X1))
                                            (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(s(X)) -> proper#(X))
                                            (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
                                            (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
                                            (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                                            (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                            (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                            (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                                            (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                                            (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X2))
                                            (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                                            (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
                                            (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
                                            (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                            (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                            (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                            (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                                            (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                                            (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                                            (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X3))
                                            (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X2))
                                            (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                            (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X2))
                                            (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X1))
                                            (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(s(X)) -> proper#(X))
                                            (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
                                            (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
                                            (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
                                            (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                            (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                            (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
                                            (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
                                            (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X2))
                                            (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
                                            (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
                                            (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
                                            (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                            (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                            (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                            (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
                                            (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
                                            (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
                                            (proper#(U32(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X3))
                                            (proper#(U32(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X2))
                                            (proper#(U32(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                            (proper#(U32(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X2))
                                            (proper#(U32(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X1))
                                            (proper#(U32(X1, X2)) -> proper#(X2), proper#(s(X)) -> proper#(X))
                                            (proper#(U32(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
                                            (proper#(U32(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
                                            (proper#(U32(X1, X2)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
                                            (proper#(U32(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                            (proper#(U32(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                            (proper#(U32(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
                                            (proper#(U32(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
                                            (proper#(U32(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X2))
                                            (proper#(U32(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
                                            (proper#(U32(X1, X2)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
                                            (proper#(U32(X1, X2)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
                                            (proper#(U32(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                            (proper#(U32(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                            (proper#(U32(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                            (proper#(U32(X1, X2)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
                                            (proper#(U32(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
                                            (proper#(U32(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
                                            (proper#(U41(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X3))
                                            (proper#(U41(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X2))
                                            (proper#(U41(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                            (proper#(U41(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X2))
                                            (proper#(U41(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X1))
                                            (proper#(U41(X1, X2)) -> proper#(X2), proper#(s(X)) -> proper#(X))
                                            (proper#(U41(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
                                            (proper#(U41(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
                                            (proper#(U41(X1, X2)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
                                            (proper#(U41(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                            (proper#(U41(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                            (proper#(U41(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
                                            (proper#(U41(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
                                            (proper#(U41(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X2))
                                            (proper#(U41(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
                                            (proper#(U41(X1, X2)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
                                            (proper#(U41(X1, X2)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
                                            (proper#(U41(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                            (proper#(U41(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                            (proper#(U41(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                            (proper#(U41(X1, X2)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
                                            (proper#(U41(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
                                            (proper#(U41(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
                                            (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X3))
                                            (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X2))
                                            (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                            (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X2))
                                            (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X1))
                                            (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(s(X)) -> proper#(X))
                                            (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
                                            (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
                                            (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
                                            (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                            (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                            (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
                                            (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
                                            (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X2))
                                            (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
                                            (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
                                            (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
                                            (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                            (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                            (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                            (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
                                            (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
                                            (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
                                            (proper#(U13(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X3))
                                            (proper#(U13(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X2))
                                            (proper#(U13(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                            (proper#(U13(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X2))
                                            (proper#(U13(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X1))
                                            (proper#(U13(X)) -> proper#(X), proper#(s(X)) -> proper#(X))
                                            (proper#(U13(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X2))
                                            (proper#(U13(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X1))
                                            (proper#(U13(X)) -> proper#(X), proper#(U33(X)) -> proper#(X))
                                            (proper#(U13(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                            (proper#(U13(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                            (proper#(U13(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X2))
                                            (proper#(U13(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X1))
                                            (proper#(U13(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X2))
                                            (proper#(U13(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X1))
                                            (proper#(U13(X)) -> proper#(X), proper#(U22(X)) -> proper#(X))
                                            (proper#(U13(X)) -> proper#(X), proper#(U13(X)) -> proper#(X))
                                            (proper#(U13(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                            (proper#(U13(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                            (proper#(U13(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                            (proper#(U13(X)) -> proper#(X), proper#(isNat(X)) -> proper#(X))
                                            (proper#(U13(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X2))
                                            (proper#(U13(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X1))
                                            (proper#(U33(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X3))
                                            (proper#(U33(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X2))
                                            (proper#(U33(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                            (proper#(U33(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X2))
                                            (proper#(U33(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X1))
                                            (proper#(U33(X)) -> proper#(X), proper#(s(X)) -> proper#(X))
                                            (proper#(U33(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X2))
                                            (proper#(U33(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X1))
                                            (proper#(U33(X)) -> proper#(X), proper#(U33(X)) -> proper#(X))
                                            (proper#(U33(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                            (proper#(U33(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                            (proper#(U33(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X2))
                                            (proper#(U33(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X1))
                                            (proper#(U33(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X2))
                                            (proper#(U33(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X1))
                                            (proper#(U33(X)) -> proper#(X), proper#(U22(X)) -> proper#(X))
                                            (proper#(U33(X)) -> proper#(X), proper#(U13(X)) -> proper#(X))
                                            (proper#(U33(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                            (proper#(U33(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                            (proper#(U33(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                            (proper#(U33(X)) -> proper#(X), proper#(isNat(X)) -> proper#(X))
                                            (proper#(U33(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X2))
                                            (proper#(U33(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X1))
                                            (proper#(s(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X1))
                                            (proper#(s(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X2))
                                            (proper#(s(X)) -> proper#(X), proper#(isNat(X)) -> proper#(X))
                                            (proper#(s(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                            (proper#(s(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                            (proper#(s(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                            (proper#(s(X)) -> proper#(X), proper#(U13(X)) -> proper#(X))
                                            (proper#(s(X)) -> proper#(X), proper#(U22(X)) -> proper#(X))
                                            (proper#(s(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X1))
                                            (proper#(s(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X2))
                                            (proper#(s(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X1))
                                            (proper#(s(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X2))
                                            (proper#(s(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                            (proper#(s(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                            (proper#(s(X)) -> proper#(X), proper#(U33(X)) -> proper#(X))
                                            (proper#(s(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X1))
                                            (proper#(s(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X2))
                                            (proper#(s(X)) -> proper#(X), proper#(s(X)) -> proper#(X))
                                            (proper#(s(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X1))
                                            (proper#(s(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X2))
                                            (proper#(s(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                            (proper#(s(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X2))
                                            (proper#(s(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X3))
                                            (proper#(U22(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X1))
                                            (proper#(U22(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X2))
                                            (proper#(U22(X)) -> proper#(X), proper#(isNat(X)) -> proper#(X))
                                            (proper#(U22(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                            (proper#(U22(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                            (proper#(U22(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                            (proper#(U22(X)) -> proper#(X), proper#(U13(X)) -> proper#(X))
                                            (proper#(U22(X)) -> proper#(X), proper#(U22(X)) -> proper#(X))
                                            (proper#(U22(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X1))
                                            (proper#(U22(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X2))
                                            (proper#(U22(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X1))
                                            (proper#(U22(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X2))
                                            (proper#(U22(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                            (proper#(U22(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                            (proper#(U22(X)) -> proper#(X), proper#(U33(X)) -> proper#(X))
                                            (proper#(U22(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X1))
                                            (proper#(U22(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X2))
                                            (proper#(U22(X)) -> proper#(X), proper#(s(X)) -> proper#(X))
                                            (proper#(U22(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X1))
                                            (proper#(U22(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X2))
                                            (proper#(U22(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                            (proper#(U22(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X2))
                                            (proper#(U22(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X3))
                                            (proper#(isNat(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X1))
                                            (proper#(isNat(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X2))
                                            (proper#(isNat(X)) -> proper#(X), proper#(isNat(X)) -> proper#(X))
                                            (proper#(isNat(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                            (proper#(isNat(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                            (proper#(isNat(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                            (proper#(isNat(X)) -> proper#(X), proper#(U13(X)) -> proper#(X))
                                            (proper#(isNat(X)) -> proper#(X), proper#(U22(X)) -> proper#(X))
                                            (proper#(isNat(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X1))
                                            (proper#(isNat(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X2))
                                            (proper#(isNat(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X1))
                                            (proper#(isNat(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X2))
                                            (proper#(isNat(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                            (proper#(isNat(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                            (proper#(isNat(X)) -> proper#(X), proper#(U33(X)) -> proper#(X))
                                            (proper#(isNat(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X1))
                                            (proper#(isNat(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X2))
                                            (proper#(isNat(X)) -> proper#(X), proper#(s(X)) -> proper#(X))
                                            (proper#(isNat(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X1))
                                            (proper#(isNat(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X2))
                                            (proper#(isNat(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                            (proper#(isNat(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X2))
                                            (proper#(isNat(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X3))
                                            (proper#(plus(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
                                            (proper#(plus(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
                                            (proper#(plus(X1, X2)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
                                            (proper#(plus(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                            (proper#(plus(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                            (proper#(plus(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                            (proper#(plus(X1, X2)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
                                            (proper#(plus(X1, X2)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
                                            (proper#(plus(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
                                            (proper#(plus(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X2))
                                            (proper#(plus(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
                                            (proper#(plus(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
                                            (proper#(plus(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                            (proper#(plus(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                            (proper#(plus(X1, X2)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
                                            (proper#(plus(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
                                            (proper#(plus(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
                                            (proper#(plus(X1, X2)) -> proper#(X2), proper#(s(X)) -> proper#(X))
                                            (proper#(plus(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X1))
                                            (proper#(plus(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X2))
                                            (proper#(plus(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                            (proper#(plus(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X2))
                                            (proper#(plus(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X3))
                                            (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
                                            (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
                                            (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
                                            (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                            (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                            (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                            (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
                                            (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
                                            (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
                                            (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X2))
                                            (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
                                            (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
                                            (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                            (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                            (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
                                            (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
                                            (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
                                            (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(s(X)) -> proper#(X))
                                            (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X1))
                                            (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X2))
                                            (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                            (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X2))
                                            (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X3))
                                            (proper#(U21(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
                                            (proper#(U21(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
                                            (proper#(U21(X1, X2)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
                                            (proper#(U21(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                            (proper#(U21(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                            (proper#(U21(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                            (proper#(U21(X1, X2)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
                                            (proper#(U21(X1, X2)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
                                            (proper#(U21(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
                                            (proper#(U21(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X2))
                                            (proper#(U21(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
                                            (proper#(U21(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
                                            (proper#(U21(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                            (proper#(U21(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                            (proper#(U21(X1, X2)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
                                            (proper#(U21(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
                                            (proper#(U21(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
                                            (proper#(U21(X1, X2)) -> proper#(X2), proper#(s(X)) -> proper#(X))
                                            (proper#(U21(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X1))
                                            (proper#(U21(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X2))
                                            (proper#(U21(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                            (proper#(U21(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X2))
                                            (proper#(U21(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X3))
                                            (proper#(U12(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
                                            (proper#(U12(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
                                            (proper#(U12(X1, X2)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
                                            (proper#(U12(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                            (proper#(U12(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                            (proper#(U12(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                            (proper#(U12(X1, X2)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
                                            (proper#(U12(X1, X2)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
                                            (proper#(U12(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
                                            (proper#(U12(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X2))
                                            (proper#(U12(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
                                            (proper#(U12(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
                                            (proper#(U12(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                            (proper#(U12(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                            (proper#(U12(X1, X2)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
                                            (proper#(U12(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
                                            (proper#(U12(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
                                            (proper#(U12(X1, X2)) -> proper#(X2), proper#(s(X)) -> proper#(X))
                                            (proper#(U12(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X1))
                                            (proper#(U12(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X2))
                                            (proper#(U12(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                            (proper#(U12(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X2))
                                            (proper#(U12(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X3))
                                            (proper#(plus(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                                            (proper#(plus(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                                            (proper#(plus(X1, X2)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                                            (proper#(plus(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                            (proper#(plus(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                            (proper#(plus(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                            (proper#(plus(X1, X2)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
                                            (proper#(plus(X1, X2)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
                                            (proper#(plus(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                                            (proper#(plus(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X2))
                                            (proper#(plus(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                                            (proper#(plus(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                                            (proper#(plus(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                            (proper#(plus(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                            (proper#(plus(X1, X2)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                                            (proper#(plus(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
                                            (proper#(plus(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
                                            (proper#(plus(X1, X2)) -> proper#(X1), proper#(s(X)) -> proper#(X))
                                            (proper#(plus(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X1))
                                            (proper#(plus(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X2))
                                            (proper#(plus(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                            (proper#(plus(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X2))
                                            (proper#(plus(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X3))
                                            (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                                            (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                                            (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                                            (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                            (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                            (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                            (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
                                            (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
                                            (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                                            (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X2))
                                            (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                                            (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                                            (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                            (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                            (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                                            (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
                                            (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
                                            (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(s(X)) -> proper#(X))
                                            (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X1))
                                            (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X2))
                                            (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                            (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X2))
                                            (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X3))
                                            (proper#(U21(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                                            (proper#(U21(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                                            (proper#(U21(X1, X2)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                                            (proper#(U21(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                            (proper#(U21(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                            (proper#(U21(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                            (proper#(U21(X1, X2)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
                                            (proper#(U21(X1, X2)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
                                            (proper#(U21(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                                            (proper#(U21(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X2))
                                            (proper#(U21(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                                            (proper#(U21(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                                            (proper#(U21(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                            (proper#(U21(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                            (proper#(U21(X1, X2)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                                            (proper#(U21(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
                                            (proper#(U21(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
                                            (proper#(U21(X1, X2)) -> proper#(X1), proper#(s(X)) -> proper#(X))
                                            (proper#(U21(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X1))
                                            (proper#(U21(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X2))
                                            (proper#(U21(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                            (proper#(U21(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X2))
                                            (proper#(U21(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X3))
                                            (proper#(U12(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                                            (proper#(U12(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                                            (proper#(U12(X1, X2)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                                            (proper#(U12(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                            (proper#(U12(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                            (proper#(U12(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                            (proper#(U12(X1, X2)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
                                            (proper#(U12(X1, X2)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
                                            (proper#(U12(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                                            (proper#(U12(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X2))
                                            (proper#(U12(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                                            (proper#(U12(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                                            (proper#(U12(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                            (proper#(U12(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                            (proper#(U12(X1, X2)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                                            (proper#(U12(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
                                            (proper#(U12(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
                                            (proper#(U12(X1, X2)) -> proper#(X1), proper#(s(X)) -> proper#(X))
                                            (proper#(U12(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X1))
                                            (proper#(U12(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X2))
                                            (proper#(U12(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                            (proper#(U12(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X2))
                                            (proper#(U12(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X3))
                                            (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U12(X1, X2)) -> proper#(X1))
                                            (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U12(X1, X2)) -> proper#(X2))
                                            (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(isNat(X)) -> proper#(X))
                                            (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                            (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                            (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                            (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U13(X)) -> proper#(X))
                                            (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U22(X)) -> proper#(X))
                                            (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U21(X1, X2)) -> proper#(X1))
                                            (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U21(X1, X2)) -> proper#(X2))
                                            (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U32(X1, X2)) -> proper#(X1))
                                            (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U32(X1, X2)) -> proper#(X2))
                                            (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                            (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                            (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U33(X)) -> proper#(X))
                                            (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U41(X1, X2)) -> proper#(X1))
                                            (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U41(X1, X2)) -> proper#(X2))
                                            (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(s(X)) -> proper#(X))
                                            (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(plus(X1, X2)) -> proper#(X1))
                                            (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(plus(X1, X2)) -> proper#(X2))
                                            (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                            (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U51(X1, X2, X3)) -> proper#(X2))
                                            (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U51(X1, X2, X3)) -> proper#(X3))
                                           }
                                           SCCS:
                                            Scc:
                                             {    proper#(U12(X1, X2)) -> proper#(X1),
                                                  proper#(U12(X1, X2)) -> proper#(X2),
                                                     proper#(isNat(X)) -> proper#(X),
                                              proper#(U11(X1, X2, X3)) -> proper#(X1),
                                              proper#(U11(X1, X2, X3)) -> proper#(X2),
                                              proper#(U11(X1, X2, X3)) -> proper#(X3),
                                                       proper#(U13(X)) -> proper#(X),
                                                       proper#(U22(X)) -> proper#(X),
                                                  proper#(U21(X1, X2)) -> proper#(X1),
                                                  proper#(U21(X1, X2)) -> proper#(X2),
                                                  proper#(U32(X1, X2)) -> proper#(X1),
                                                  proper#(U32(X1, X2)) -> proper#(X2),
                                              proper#(U31(X1, X2, X3)) -> proper#(X1),
                                              proper#(U31(X1, X2, X3)) -> proper#(X2),
                                                       proper#(U33(X)) -> proper#(X),
                                                  proper#(U41(X1, X2)) -> proper#(X1),
                                                  proper#(U41(X1, X2)) -> proper#(X2),
                                                         proper#(s(X)) -> proper#(X),
                                                 proper#(plus(X1, X2)) -> proper#(X1),
                                                 proper#(plus(X1, X2)) -> proper#(X2),
                                              proper#(U51(X1, X2, X3)) -> proper#(X1),
                                              proper#(U51(X1, X2, X3)) -> proper#(X2),
                                              proper#(U51(X1, X2, X3)) -> proper#(X3)}
                                            SCC:
                                             Strict:
                                              {    proper#(U12(X1, X2)) -> proper#(X1),
                                                   proper#(U12(X1, X2)) -> proper#(X2),
                                                      proper#(isNat(X)) -> proper#(X),
                                               proper#(U11(X1, X2, X3)) -> proper#(X1),
                                               proper#(U11(X1, X2, X3)) -> proper#(X2),
                                               proper#(U11(X1, X2, X3)) -> proper#(X3),
                                                        proper#(U13(X)) -> proper#(X),
                                                        proper#(U22(X)) -> proper#(X),
                                                   proper#(U21(X1, X2)) -> proper#(X1),
                                                   proper#(U21(X1, X2)) -> proper#(X2),
                                                   proper#(U32(X1, X2)) -> proper#(X1),
                                                   proper#(U32(X1, X2)) -> proper#(X2),
                                               proper#(U31(X1, X2, X3)) -> proper#(X1),
                                               proper#(U31(X1, X2, X3)) -> proper#(X2),
                                                        proper#(U33(X)) -> proper#(X),
                                                   proper#(U41(X1, X2)) -> proper#(X1),
                                                   proper#(U41(X1, X2)) -> proper#(X2),
                                                          proper#(s(X)) -> proper#(X),
                                                  proper#(plus(X1, X2)) -> proper#(X1),
                                                  proper#(plus(X1, X2)) -> proper#(X2),
                                               proper#(U51(X1, X2, X3)) -> proper#(X1),
                                               proper#(U51(X1, X2, X3)) -> proper#(X2),
                                               proper#(U51(X1, X2, X3)) -> proper#(X3)}
                                             Weak:
                                             {              U12(mark(X1), X2) -> mark(U12(X1, X2)),
                                                          U12(ok(X1), ok(X2)) -> ok(U12(X1, X2)),
                                                                 isNat(ok(X)) -> ok(isNat(X)),
                                                          active(U12(X1, X2)) -> U12(active(X1), X2),
                                                        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(X1, X2, X3)) -> U11(active(X1), X2, X3),
                                                    active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                                                               active(U13(X)) -> U13(active(X)),
                                                            active(U13(tt())) -> mark(tt()),
                                                               active(U22(X)) -> U22(active(X)),
                                                            active(U22(tt())) -> mark(tt()),
                                                          active(U21(X1, X2)) -> U21(active(X1), X2),
                                                        active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                                                          active(U32(X1, X2)) -> U32(active(X1), X2),
                                                        active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
                                                      active(U31(X1, X2, X3)) -> U31(active(X1), X2, X3),
                                                    active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                                                               active(U33(X)) -> U33(active(X)),
                                                            active(U33(tt())) -> mark(tt()),
                                                          active(U41(X1, X2)) -> U41(active(X1), X2),
                                                         active(U41(tt(), N)) -> mark(N),
                                                                 active(s(X)) -> s(active(X)),
                                                        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(plus(X1, X2)) -> plus(X1, active(X2)),
                                                         active(plus(X1, X2)) -> plus(active(X1), X2),
                                                      active(U51(X1, X2, X3)) -> U51(active(X1), X2, X3),
                                                      active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                                                               active(U61(X)) -> U61(active(X)),
                                                            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(x(X1, X2)) -> x(X1, active(X2)),
                                                            active(x(X1, X2)) -> x(active(X1), X2),
                                                      active(U71(X1, X2, X3)) -> U71(active(X1), X2, X3),
                                                      active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                                                          active(and(X1, X2)) -> and(active(X1), X2),
                                                         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(mark(X1), X2, X3) -> mark(U11(X1, X2, X3)),
                                                  U11(ok(X1), ok(X2), ok(X3)) -> ok(U11(X1, X2, X3)),
                                                                 U13(mark(X)) -> mark(U13(X)),
                                                                   U13(ok(X)) -> ok(U13(X)),
                                                                 U22(mark(X)) -> mark(U22(X)),
                                                                   U22(ok(X)) -> ok(U22(X)),
                                                            U21(mark(X1), X2) -> mark(U21(X1, X2)),
                                                          U21(ok(X1), ok(X2)) -> ok(U21(X1, X2)),
                                                            U32(mark(X1), X2) -> mark(U32(X1, X2)),
                                                          U32(ok(X1), ok(X2)) -> ok(U32(X1, X2)),
                                                        U31(mark(X1), X2, X3) -> mark(U31(X1, X2, X3)),
                                                  U31(ok(X1), ok(X2), ok(X3)) -> ok(U31(X1, X2, X3)),
                                                                 U33(mark(X)) -> mark(U33(X)),
                                                                   U33(ok(X)) -> ok(U33(X)),
                                                            U41(mark(X1), X2) -> mark(U41(X1, X2)),
                                                          U41(ok(X1), ok(X2)) -> ok(U41(X1, X2)),
                                                                   s(mark(X)) -> mark(s(X)),
                                                                     s(ok(X)) -> ok(s(X)),
                                                           plus(X1, mark(X2)) -> mark(plus(X1, X2)),
                                                           plus(mark(X1), X2) -> mark(plus(X1, X2)),
                                                         plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)),
                                                        U51(mark(X1), X2, X3) -> mark(U51(X1, X2, X3)),
                                                  U51(ok(X1), ok(X2), ok(X3)) -> ok(U51(X1, X2, X3)),
                                                                 U61(mark(X)) -> mark(U61(X)),
                                                                   U61(ok(X)) -> ok(U61(X)),
                                                              x(X1, mark(X2)) -> mark(x(X1, X2)),
                                                              x(mark(X1), X2) -> mark(x(X1, X2)),
                                                            x(ok(X1), ok(X2)) -> ok(x(X1, X2)),
                                                        U71(mark(X1), X2, X3) -> mark(U71(X1, X2, X3)),
                                                  U71(ok(X1), ok(X2), ok(X3)) -> ok(U71(X1, X2, X3)),
                                                            and(mark(X1), X2) -> mark(and(X1, X2)),
                                                          and(ok(X1), ok(X2)) -> ok(and(X1, X2)),
                                                             isNatKind(ok(X)) -> ok(isNatKind(X)),
                                                          proper(U12(X1, X2)) -> U12(proper(X1), proper(X2)),
                                                             proper(isNat(X)) -> isNat(proper(X)),
                                                      proper(U11(X1, X2, X3)) -> U11(proper(X1), proper(X2), proper(X3)),
                                                                 proper(tt()) -> ok(tt()),
                                                               proper(U13(X)) -> U13(proper(X)),
                                                               proper(U22(X)) -> U22(proper(X)),
                                                          proper(U21(X1, X2)) -> U21(proper(X1), proper(X2)),
                                                          proper(U32(X1, X2)) -> U32(proper(X1), proper(X2)),
                                                      proper(U31(X1, X2, X3)) -> U31(proper(X1), proper(X2), proper(X3)),
                                                               proper(U33(X)) -> U33(proper(X)),
                                                          proper(U41(X1, X2)) -> U41(proper(X1), proper(X2)),
                                                                 proper(s(X)) -> s(proper(X)),
                                                         proper(plus(X1, X2)) -> plus(proper(X1), proper(X2)),
                                                      proper(U51(X1, X2, X3)) -> U51(proper(X1), proper(X2), proper(X3)),
                                                                  proper(0()) -> ok(0()),
                                                               proper(U61(X)) -> U61(proper(X)),
                                                            proper(x(X1, X2)) -> x(proper(X1), proper(X2)),
                                                      proper(U71(X1, X2, X3)) -> U71(proper(X1), proper(X2), proper(X3)),
                                                          proper(and(X1, X2)) -> and(proper(X1), proper(X2)),
                                                         proper(isNatKind(X)) -> isNatKind(proper(X)),
                                                                 top(mark(X)) -> top(proper(X)),
                                                                   top(ok(X)) -> top(active(X))}
                                             SPSC:
                                              Simple Projection:
                                               pi(proper#) = 0
                                              Strict:
                                               {    proper#(U12(X1, X2)) -> proper#(X1),
                                                    proper#(U12(X1, X2)) -> proper#(X2),
                                                       proper#(isNat(X)) -> proper#(X),
                                                proper#(U11(X1, X2, X3)) -> proper#(X1),
                                                proper#(U11(X1, X2, X3)) -> proper#(X2),
                                                proper#(U11(X1, X2, X3)) -> proper#(X3),
                                                         proper#(U13(X)) -> proper#(X),
                                                         proper#(U22(X)) -> proper#(X),
                                                    proper#(U21(X1, X2)) -> proper#(X1),
                                                    proper#(U32(X1, X2)) -> proper#(X1),
                                                    proper#(U32(X1, X2)) -> proper#(X2),
                                                proper#(U31(X1, X2, X3)) -> proper#(X1),
                                                proper#(U31(X1, X2, X3)) -> proper#(X2),
                                                         proper#(U33(X)) -> proper#(X),
                                                    proper#(U41(X1, X2)) -> proper#(X1),
                                                    proper#(U41(X1, X2)) -> proper#(X2),
                                                           proper#(s(X)) -> proper#(X),
                                                   proper#(plus(X1, X2)) -> proper#(X1),
                                                   proper#(plus(X1, X2)) -> proper#(X2),
                                                proper#(U51(X1, X2, X3)) -> proper#(X1),
                                                proper#(U51(X1, X2, X3)) -> proper#(X2),
                                                proper#(U51(X1, X2, X3)) -> proper#(X3)}
                                              EDG:
                                               {
                                                (proper#(U13(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X3))
                                                (proper#(U13(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X2))
                                                (proper#(U13(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                                (proper#(U13(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X2))
                                                (proper#(U13(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X1))
                                                (proper#(U13(X)) -> proper#(X), proper#(s(X)) -> proper#(X))
                                                (proper#(U13(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X2))
                                                (proper#(U13(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X1))
                                                (proper#(U13(X)) -> proper#(X), proper#(U33(X)) -> proper#(X))
                                                (proper#(U13(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                (proper#(U13(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                                (proper#(U13(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X2))
                                                (proper#(U13(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X1))
                                                (proper#(U13(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X1))
                                                (proper#(U13(X)) -> proper#(X), proper#(U22(X)) -> proper#(X))
                                                (proper#(U13(X)) -> proper#(X), proper#(U13(X)) -> proper#(X))
                                                (proper#(U13(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                (proper#(U13(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                                (proper#(U13(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                (proper#(U13(X)) -> proper#(X), proper#(isNat(X)) -> proper#(X))
                                                (proper#(U13(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X2))
                                                (proper#(U13(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X1))
                                                (proper#(U33(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X3))
                                                (proper#(U33(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X2))
                                                (proper#(U33(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                                (proper#(U33(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X2))
                                                (proper#(U33(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X1))
                                                (proper#(U33(X)) -> proper#(X), proper#(s(X)) -> proper#(X))
                                                (proper#(U33(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X2))
                                                (proper#(U33(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X1))
                                                (proper#(U33(X)) -> proper#(X), proper#(U33(X)) -> proper#(X))
                                                (proper#(U33(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                (proper#(U33(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                                (proper#(U33(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X2))
                                                (proper#(U33(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X1))
                                                (proper#(U33(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X1))
                                                (proper#(U33(X)) -> proper#(X), proper#(U22(X)) -> proper#(X))
                                                (proper#(U33(X)) -> proper#(X), proper#(U13(X)) -> proper#(X))
                                                (proper#(U33(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                (proper#(U33(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                                (proper#(U33(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                (proper#(U33(X)) -> proper#(X), proper#(isNat(X)) -> proper#(X))
                                                (proper#(U33(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X2))
                                                (proper#(U33(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X1))
                                                (proper#(U12(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X3))
                                                (proper#(U12(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X2))
                                                (proper#(U12(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                                (proper#(U12(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X2))
                                                (proper#(U12(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X1))
                                                (proper#(U12(X1, X2)) -> proper#(X1), proper#(s(X)) -> proper#(X))
                                                (proper#(U12(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
                                                (proper#(U12(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
                                                (proper#(U12(X1, X2)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                                                (proper#(U12(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                (proper#(U12(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                                (proper#(U12(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                                                (proper#(U12(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                                                (proper#(U12(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                                                (proper#(U12(X1, X2)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
                                                (proper#(U12(X1, X2)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
                                                (proper#(U12(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                (proper#(U12(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                                (proper#(U12(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                (proper#(U12(X1, X2)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                                                (proper#(U12(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                                                (proper#(U12(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                                                (proper#(U21(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X3))
                                                (proper#(U21(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X2))
                                                (proper#(U21(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                                (proper#(U21(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X2))
                                                (proper#(U21(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X1))
                                                (proper#(U21(X1, X2)) -> proper#(X1), proper#(s(X)) -> proper#(X))
                                                (proper#(U21(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
                                                (proper#(U21(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
                                                (proper#(U21(X1, X2)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                                                (proper#(U21(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                (proper#(U21(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                                (proper#(U21(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                                                (proper#(U21(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                                                (proper#(U21(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                                                (proper#(U21(X1, X2)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
                                                (proper#(U21(X1, X2)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
                                                (proper#(U21(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                (proper#(U21(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                                (proper#(U21(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                (proper#(U21(X1, X2)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                                                (proper#(U21(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                                                (proper#(U21(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                                                (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X3))
                                                (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X2))
                                                (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                                (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X2))
                                                (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X1))
                                                (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(s(X)) -> proper#(X))
                                                (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
                                                (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
                                                (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                                                (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                                (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                                                (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                                                (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                                                (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
                                                (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
                                                (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                                (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                                                (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                                                (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                                                (proper#(plus(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X3))
                                                (proper#(plus(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X2))
                                                (proper#(plus(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                                (proper#(plus(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X2))
                                                (proper#(plus(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X1))
                                                (proper#(plus(X1, X2)) -> proper#(X1), proper#(s(X)) -> proper#(X))
                                                (proper#(plus(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
                                                (proper#(plus(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
                                                (proper#(plus(X1, X2)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                                                (proper#(plus(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                (proper#(plus(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                                (proper#(plus(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                                                (proper#(plus(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                                                (proper#(plus(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                                                (proper#(plus(X1, X2)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
                                                (proper#(plus(X1, X2)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
                                                (proper#(plus(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                (proper#(plus(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                                (proper#(plus(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                (proper#(plus(X1, X2)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                                                (proper#(plus(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                                                (proper#(plus(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                                                (proper#(U12(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X3))
                                                (proper#(U12(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X2))
                                                (proper#(U12(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                                (proper#(U12(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X2))
                                                (proper#(U12(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X1))
                                                (proper#(U12(X1, X2)) -> proper#(X2), proper#(s(X)) -> proper#(X))
                                                (proper#(U12(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
                                                (proper#(U12(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
                                                (proper#(U12(X1, X2)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
                                                (proper#(U12(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                (proper#(U12(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                                (proper#(U12(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
                                                (proper#(U12(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
                                                (proper#(U12(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
                                                (proper#(U12(X1, X2)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
                                                (proper#(U12(X1, X2)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
                                                (proper#(U12(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                (proper#(U12(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                                (proper#(U12(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                (proper#(U12(X1, X2)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
                                                (proper#(U12(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
                                                (proper#(U12(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
                                                (proper#(U32(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X3))
                                                (proper#(U32(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X2))
                                                (proper#(U32(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                                (proper#(U32(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X2))
                                                (proper#(U32(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X1))
                                                (proper#(U32(X1, X2)) -> proper#(X2), proper#(s(X)) -> proper#(X))
                                                (proper#(U32(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
                                                (proper#(U32(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
                                                (proper#(U32(X1, X2)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
                                                (proper#(U32(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                (proper#(U32(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                                (proper#(U32(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
                                                (proper#(U32(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
                                                (proper#(U32(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
                                                (proper#(U32(X1, X2)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
                                                (proper#(U32(X1, X2)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
                                                (proper#(U32(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                (proper#(U32(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                                (proper#(U32(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                (proper#(U32(X1, X2)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
                                                (proper#(U32(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
                                                (proper#(U32(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
                                                (proper#(U41(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X3))
                                                (proper#(U41(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X2))
                                                (proper#(U41(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                                (proper#(U41(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X2))
                                                (proper#(U41(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X1))
                                                (proper#(U41(X1, X2)) -> proper#(X2), proper#(s(X)) -> proper#(X))
                                                (proper#(U41(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
                                                (proper#(U41(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
                                                (proper#(U41(X1, X2)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
                                                (proper#(U41(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                (proper#(U41(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                                (proper#(U41(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
                                                (proper#(U41(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
                                                (proper#(U41(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
                                                (proper#(U41(X1, X2)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
                                                (proper#(U41(X1, X2)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
                                                (proper#(U41(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                (proper#(U41(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                                (proper#(U41(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                (proper#(U41(X1, X2)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
                                                (proper#(U41(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
                                                (proper#(U41(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
                                                (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X3))
                                                (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X2))
                                                (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                                (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X2))
                                                (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X1))
                                                (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(s(X)) -> proper#(X))
                                                (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
                                                (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
                                                (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
                                                (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                                (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
                                                (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
                                                (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
                                                (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
                                                (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
                                                (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                                (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
                                                (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
                                                (proper#(U51(X1, X2, X3)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
                                                (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U51(X1, X2, X3)) -> proper#(X3))
                                                (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U51(X1, X2, X3)) -> proper#(X2))
                                                (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                                (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(plus(X1, X2)) -> proper#(X2))
                                                (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(plus(X1, X2)) -> proper#(X1))
                                                (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(s(X)) -> proper#(X))
                                                (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U41(X1, X2)) -> proper#(X2))
                                                (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U41(X1, X2)) -> proper#(X1))
                                                (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U33(X)) -> proper#(X))
                                                (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                                (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U32(X1, X2)) -> proper#(X2))
                                                (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U32(X1, X2)) -> proper#(X1))
                                                (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U21(X1, X2)) -> proper#(X1))
                                                (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U22(X)) -> proper#(X))
                                                (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U13(X)) -> proper#(X))
                                                (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                                (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(isNat(X)) -> proper#(X))
                                                (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U12(X1, X2)) -> proper#(X2))
                                                (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U12(X1, X2)) -> proper#(X1))
                                                (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U12(X1, X2)) -> proper#(X1))
                                                (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U12(X1, X2)) -> proper#(X2))
                                                (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(isNat(X)) -> proper#(X))
                                                (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                                (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U13(X)) -> proper#(X))
                                                (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U22(X)) -> proper#(X))
                                                (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U21(X1, X2)) -> proper#(X1))
                                                (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U32(X1, X2)) -> proper#(X1))
                                                (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U32(X1, X2)) -> proper#(X2))
                                                (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                                (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U33(X)) -> proper#(X))
                                                (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U41(X1, X2)) -> proper#(X1))
                                                (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U41(X1, X2)) -> proper#(X2))
                                                (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(s(X)) -> proper#(X))
                                                (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(plus(X1, X2)) -> proper#(X1))
                                                (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(plus(X1, X2)) -> proper#(X2))
                                                (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                                (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U51(X1, X2, X3)) -> proper#(X2))
                                                (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U51(X1, X2, X3)) -> proper#(X3))
                                                (proper#(plus(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
                                                (proper#(plus(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
                                                (proper#(plus(X1, X2)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
                                                (proper#(plus(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                (proper#(plus(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                                (proper#(plus(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                (proper#(plus(X1, X2)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
                                                (proper#(plus(X1, X2)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
                                                (proper#(plus(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
                                                (proper#(plus(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
                                                (proper#(plus(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
                                                (proper#(plus(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                                (proper#(plus(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                (proper#(plus(X1, X2)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
                                                (proper#(plus(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
                                                (proper#(plus(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
                                                (proper#(plus(X1, X2)) -> proper#(X2), proper#(s(X)) -> proper#(X))
                                                (proper#(plus(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X1))
                                                (proper#(plus(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X2))
                                                (proper#(plus(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                                (proper#(plus(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X2))
                                                (proper#(plus(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X3))
                                                (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
                                                (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
                                                (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
                                                (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                                (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
                                                (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
                                                (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
                                                (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
                                                (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
                                                (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                                (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
                                                (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
                                                (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
                                                (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(s(X)) -> proper#(X))
                                                (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X1))
                                                (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X2))
                                                (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                                (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X2))
                                                (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X3))
                                                (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
                                                (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
                                                (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
                                                (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                                (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
                                                (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
                                                (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
                                                (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
                                                (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
                                                (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                                (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
                                                (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
                                                (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
                                                (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(s(X)) -> proper#(X))
                                                (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X1))
                                                (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X2))
                                                (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                                (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X2))
                                                (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X3))
                                                (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                                                (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                                                (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                                                (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                                (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
                                                (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
                                                (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                                                (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                                                (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                                                (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                                (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                                                (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
                                                (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
                                                (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(s(X)) -> proper#(X))
                                                (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X1))
                                                (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X2))
                                                (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                                (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X2))
                                                (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X3))
                                                (proper#(U41(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                                                (proper#(U41(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                                                (proper#(U41(X1, X2)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                                                (proper#(U41(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                (proper#(U41(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                                (proper#(U41(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                (proper#(U41(X1, X2)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
                                                (proper#(U41(X1, X2)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
                                                (proper#(U41(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                                                (proper#(U41(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                                                (proper#(U41(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                                                (proper#(U41(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                                (proper#(U41(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                (proper#(U41(X1, X2)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                                                (proper#(U41(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
                                                (proper#(U41(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
                                                (proper#(U41(X1, X2)) -> proper#(X1), proper#(s(X)) -> proper#(X))
                                                (proper#(U41(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X1))
                                                (proper#(U41(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X2))
                                                (proper#(U41(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                                (proper#(U41(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X2))
                                                (proper#(U41(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X3))
                                                (proper#(U32(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                                                (proper#(U32(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                                                (proper#(U32(X1, X2)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                                                (proper#(U32(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                (proper#(U32(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                                (proper#(U32(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                (proper#(U32(X1, X2)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
                                                (proper#(U32(X1, X2)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
                                                (proper#(U32(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                                                (proper#(U32(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                                                (proper#(U32(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                                                (proper#(U32(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                                (proper#(U32(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                (proper#(U32(X1, X2)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                                                (proper#(U32(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
                                                (proper#(U32(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
                                                (proper#(U32(X1, X2)) -> proper#(X1), proper#(s(X)) -> proper#(X))
                                                (proper#(U32(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X1))
                                                (proper#(U32(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X2))
                                                (proper#(U32(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                                (proper#(U32(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X2))
                                                (proper#(U32(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X3))
                                                (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                                                (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                                                (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                                                (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                                (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
                                                (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
                                                (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                                                (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                                                (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                                                (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                                (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                                                (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
                                                (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
                                                (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(s(X)) -> proper#(X))
                                                (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X1))
                                                (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X2))
                                                (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                                (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X2))
                                                (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X3))
                                                (proper#(s(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X1))
                                                (proper#(s(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X2))
                                                (proper#(s(X)) -> proper#(X), proper#(isNat(X)) -> proper#(X))
                                                (proper#(s(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                (proper#(s(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                                (proper#(s(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                (proper#(s(X)) -> proper#(X), proper#(U13(X)) -> proper#(X))
                                                (proper#(s(X)) -> proper#(X), proper#(U22(X)) -> proper#(X))
                                                (proper#(s(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X1))
                                                (proper#(s(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X1))
                                                (proper#(s(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X2))
                                                (proper#(s(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                                (proper#(s(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                (proper#(s(X)) -> proper#(X), proper#(U33(X)) -> proper#(X))
                                                (proper#(s(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X1))
                                                (proper#(s(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X2))
                                                (proper#(s(X)) -> proper#(X), proper#(s(X)) -> proper#(X))
                                                (proper#(s(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X1))
                                                (proper#(s(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X2))
                                                (proper#(s(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                                (proper#(s(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X2))
                                                (proper#(s(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X3))
                                                (proper#(U22(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X1))
                                                (proper#(U22(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X2))
                                                (proper#(U22(X)) -> proper#(X), proper#(isNat(X)) -> proper#(X))
                                                (proper#(U22(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                (proper#(U22(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                                (proper#(U22(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                (proper#(U22(X)) -> proper#(X), proper#(U13(X)) -> proper#(X))
                                                (proper#(U22(X)) -> proper#(X), proper#(U22(X)) -> proper#(X))
                                                (proper#(U22(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X1))
                                                (proper#(U22(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X1))
                                                (proper#(U22(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X2))
                                                (proper#(U22(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                                (proper#(U22(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                (proper#(U22(X)) -> proper#(X), proper#(U33(X)) -> proper#(X))
                                                (proper#(U22(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X1))
                                                (proper#(U22(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X2))
                                                (proper#(U22(X)) -> proper#(X), proper#(s(X)) -> proper#(X))
                                                (proper#(U22(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X1))
                                                (proper#(U22(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X2))
                                                (proper#(U22(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                                (proper#(U22(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X2))
                                                (proper#(U22(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X3))
                                                (proper#(isNat(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X1))
                                                (proper#(isNat(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X2))
                                                (proper#(isNat(X)) -> proper#(X), proper#(isNat(X)) -> proper#(X))
                                                (proper#(isNat(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                (proper#(isNat(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                                (proper#(isNat(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                (proper#(isNat(X)) -> proper#(X), proper#(U13(X)) -> proper#(X))
                                                (proper#(isNat(X)) -> proper#(X), proper#(U22(X)) -> proper#(X))
                                                (proper#(isNat(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X1))
                                                (proper#(isNat(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X1))
                                                (proper#(isNat(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X2))
                                                (proper#(isNat(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                                (proper#(isNat(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                (proper#(isNat(X)) -> proper#(X), proper#(U33(X)) -> proper#(X))
                                                (proper#(isNat(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X1))
                                                (proper#(isNat(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X2))
                                                (proper#(isNat(X)) -> proper#(X), proper#(s(X)) -> proper#(X))
                                                (proper#(isNat(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X1))
                                                (proper#(isNat(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X2))
                                                (proper#(isNat(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                                (proper#(isNat(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X2))
                                                (proper#(isNat(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X3))
                                               }
                                               SCCS:
                                                Scc:
                                                 {    proper#(U12(X1, X2)) -> proper#(X1),
                                                      proper#(U12(X1, X2)) -> proper#(X2),
                                                         proper#(isNat(X)) -> proper#(X),
                                                  proper#(U11(X1, X2, X3)) -> proper#(X1),
                                                  proper#(U11(X1, X2, X3)) -> proper#(X2),
                                                  proper#(U11(X1, X2, X3)) -> proper#(X3),
                                                           proper#(U13(X)) -> proper#(X),
                                                           proper#(U22(X)) -> proper#(X),
                                                      proper#(U21(X1, X2)) -> proper#(X1),
                                                      proper#(U32(X1, X2)) -> proper#(X1),
                                                      proper#(U32(X1, X2)) -> proper#(X2),
                                                  proper#(U31(X1, X2, X3)) -> proper#(X1),
                                                  proper#(U31(X1, X2, X3)) -> proper#(X2),
                                                           proper#(U33(X)) -> proper#(X),
                                                      proper#(U41(X1, X2)) -> proper#(X1),
                                                      proper#(U41(X1, X2)) -> proper#(X2),
                                                             proper#(s(X)) -> proper#(X),
                                                     proper#(plus(X1, X2)) -> proper#(X1),
                                                     proper#(plus(X1, X2)) -> proper#(X2),
                                                  proper#(U51(X1, X2, X3)) -> proper#(X1),
                                                  proper#(U51(X1, X2, X3)) -> proper#(X2),
                                                  proper#(U51(X1, X2, X3)) -> proper#(X3)}
                                                SCC:
                                                 Strict:
                                                  {    proper#(U12(X1, X2)) -> proper#(X1),
                                                       proper#(U12(X1, X2)) -> proper#(X2),
                                                          proper#(isNat(X)) -> proper#(X),
                                                   proper#(U11(X1, X2, X3)) -> proper#(X1),
                                                   proper#(U11(X1, X2, X3)) -> proper#(X2),
                                                   proper#(U11(X1, X2, X3)) -> proper#(X3),
                                                            proper#(U13(X)) -> proper#(X),
                                                            proper#(U22(X)) -> proper#(X),
                                                       proper#(U21(X1, X2)) -> proper#(X1),
                                                       proper#(U32(X1, X2)) -> proper#(X1),
                                                       proper#(U32(X1, X2)) -> proper#(X2),
                                                   proper#(U31(X1, X2, X3)) -> proper#(X1),
                                                   proper#(U31(X1, X2, X3)) -> proper#(X2),
                                                            proper#(U33(X)) -> proper#(X),
                                                       proper#(U41(X1, X2)) -> proper#(X1),
                                                       proper#(U41(X1, X2)) -> proper#(X2),
                                                              proper#(s(X)) -> proper#(X),
                                                      proper#(plus(X1, X2)) -> proper#(X1),
                                                      proper#(plus(X1, X2)) -> proper#(X2),
                                                   proper#(U51(X1, X2, X3)) -> proper#(X1),
                                                   proper#(U51(X1, X2, X3)) -> proper#(X2),
                                                   proper#(U51(X1, X2, X3)) -> proper#(X3)}
                                                 Weak:
                                                 {              U12(mark(X1), X2) -> mark(U12(X1, X2)),
                                                              U12(ok(X1), ok(X2)) -> ok(U12(X1, X2)),
                                                                     isNat(ok(X)) -> ok(isNat(X)),
                                                              active(U12(X1, X2)) -> U12(active(X1), X2),
                                                            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(X1, X2, X3)) -> U11(active(X1), X2, X3),
                                                        active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                                                                   active(U13(X)) -> U13(active(X)),
                                                                active(U13(tt())) -> mark(tt()),
                                                                   active(U22(X)) -> U22(active(X)),
                                                                active(U22(tt())) -> mark(tt()),
                                                              active(U21(X1, X2)) -> U21(active(X1), X2),
                                                            active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                                                              active(U32(X1, X2)) -> U32(active(X1), X2),
                                                            active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
                                                          active(U31(X1, X2, X3)) -> U31(active(X1), X2, X3),
                                                        active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                                                                   active(U33(X)) -> U33(active(X)),
                                                                active(U33(tt())) -> mark(tt()),
                                                              active(U41(X1, X2)) -> U41(active(X1), X2),
                                                             active(U41(tt(), N)) -> mark(N),
                                                                     active(s(X)) -> s(active(X)),
                                                            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(plus(X1, X2)) -> plus(X1, active(X2)),
                                                             active(plus(X1, X2)) -> plus(active(X1), X2),
                                                          active(U51(X1, X2, X3)) -> U51(active(X1), X2, X3),
                                                          active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                                                                   active(U61(X)) -> U61(active(X)),
                                                                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(x(X1, X2)) -> x(X1, active(X2)),
                                                                active(x(X1, X2)) -> x(active(X1), X2),
                                                          active(U71(X1, X2, X3)) -> U71(active(X1), X2, X3),
                                                          active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                                                              active(and(X1, X2)) -> and(active(X1), X2),
                                                             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(mark(X1), X2, X3) -> mark(U11(X1, X2, X3)),
                                                      U11(ok(X1), ok(X2), ok(X3)) -> ok(U11(X1, X2, X3)),
                                                                     U13(mark(X)) -> mark(U13(X)),
                                                                       U13(ok(X)) -> ok(U13(X)),
                                                                     U22(mark(X)) -> mark(U22(X)),
                                                                       U22(ok(X)) -> ok(U22(X)),
                                                                U21(mark(X1), X2) -> mark(U21(X1, X2)),
                                                              U21(ok(X1), ok(X2)) -> ok(U21(X1, X2)),
                                                                U32(mark(X1), X2) -> mark(U32(X1, X2)),
                                                              U32(ok(X1), ok(X2)) -> ok(U32(X1, X2)),
                                                            U31(mark(X1), X2, X3) -> mark(U31(X1, X2, X3)),
                                                      U31(ok(X1), ok(X2), ok(X3)) -> ok(U31(X1, X2, X3)),
                                                                     U33(mark(X)) -> mark(U33(X)),
                                                                       U33(ok(X)) -> ok(U33(X)),
                                                                U41(mark(X1), X2) -> mark(U41(X1, X2)),
                                                              U41(ok(X1), ok(X2)) -> ok(U41(X1, X2)),
                                                                       s(mark(X)) -> mark(s(X)),
                                                                         s(ok(X)) -> ok(s(X)),
                                                               plus(X1, mark(X2)) -> mark(plus(X1, X2)),
                                                               plus(mark(X1), X2) -> mark(plus(X1, X2)),
                                                             plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)),
                                                            U51(mark(X1), X2, X3) -> mark(U51(X1, X2, X3)),
                                                      U51(ok(X1), ok(X2), ok(X3)) -> ok(U51(X1, X2, X3)),
                                                                     U61(mark(X)) -> mark(U61(X)),
                                                                       U61(ok(X)) -> ok(U61(X)),
                                                                  x(X1, mark(X2)) -> mark(x(X1, X2)),
                                                                  x(mark(X1), X2) -> mark(x(X1, X2)),
                                                                x(ok(X1), ok(X2)) -> ok(x(X1, X2)),
                                                            U71(mark(X1), X2, X3) -> mark(U71(X1, X2, X3)),
                                                      U71(ok(X1), ok(X2), ok(X3)) -> ok(U71(X1, X2, X3)),
                                                                and(mark(X1), X2) -> mark(and(X1, X2)),
                                                              and(ok(X1), ok(X2)) -> ok(and(X1, X2)),
                                                                 isNatKind(ok(X)) -> ok(isNatKind(X)),
                                                              proper(U12(X1, X2)) -> U12(proper(X1), proper(X2)),
                                                                 proper(isNat(X)) -> isNat(proper(X)),
                                                          proper(U11(X1, X2, X3)) -> U11(proper(X1), proper(X2), proper(X3)),
                                                                     proper(tt()) -> ok(tt()),
                                                                   proper(U13(X)) -> U13(proper(X)),
                                                                   proper(U22(X)) -> U22(proper(X)),
                                                              proper(U21(X1, X2)) -> U21(proper(X1), proper(X2)),
                                                              proper(U32(X1, X2)) -> U32(proper(X1), proper(X2)),
                                                          proper(U31(X1, X2, X3)) -> U31(proper(X1), proper(X2), proper(X3)),
                                                                   proper(U33(X)) -> U33(proper(X)),
                                                              proper(U41(X1, X2)) -> U41(proper(X1), proper(X2)),
                                                                     proper(s(X)) -> s(proper(X)),
                                                             proper(plus(X1, X2)) -> plus(proper(X1), proper(X2)),
                                                          proper(U51(X1, X2, X3)) -> U51(proper(X1), proper(X2), proper(X3)),
                                                                      proper(0()) -> ok(0()),
                                                                   proper(U61(X)) -> U61(proper(X)),
                                                                proper(x(X1, X2)) -> x(proper(X1), proper(X2)),
                                                          proper(U71(X1, X2, X3)) -> U71(proper(X1), proper(X2), proper(X3)),
                                                              proper(and(X1, X2)) -> and(proper(X1), proper(X2)),
                                                             proper(isNatKind(X)) -> isNatKind(proper(X)),
                                                                     top(mark(X)) -> top(proper(X)),
                                                                       top(ok(X)) -> top(active(X))}
                                                 SPSC:
                                                  Simple Projection:
                                                   pi(proper#) = 0
                                                  Strict:
                                                   {    proper#(U12(X1, X2)) -> proper#(X1),
                                                        proper#(U12(X1, X2)) -> proper#(X2),
                                                           proper#(isNat(X)) -> proper#(X),
                                                    proper#(U11(X1, X2, X3)) -> proper#(X1),
                                                    proper#(U11(X1, X2, X3)) -> proper#(X2),
                                                    proper#(U11(X1, X2, X3)) -> proper#(X3),
                                                             proper#(U13(X)) -> proper#(X),
                                                             proper#(U22(X)) -> proper#(X),
                                                        proper#(U21(X1, X2)) -> proper#(X1),
                                                        proper#(U32(X1, X2)) -> proper#(X1),
                                                        proper#(U32(X1, X2)) -> proper#(X2),
                                                    proper#(U31(X1, X2, X3)) -> proper#(X1),
                                                    proper#(U31(X1, X2, X3)) -> proper#(X2),
                                                             proper#(U33(X)) -> proper#(X),
                                                        proper#(U41(X1, X2)) -> proper#(X1),
                                                        proper#(U41(X1, X2)) -> proper#(X2),
                                                               proper#(s(X)) -> proper#(X),
                                                       proper#(plus(X1, X2)) -> proper#(X1),
                                                       proper#(plus(X1, X2)) -> proper#(X2),
                                                    proper#(U51(X1, X2, X3)) -> proper#(X1),
                                                    proper#(U51(X1, X2, X3)) -> proper#(X3)}
                                                  EDG:
                                                   {
                                                    (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U51(X1, X2, X3)) -> proper#(X3))
                                                    (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                                    (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(plus(X1, X2)) -> proper#(X2))
                                                    (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(plus(X1, X2)) -> proper#(X1))
                                                    (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(s(X)) -> proper#(X))
                                                    (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U41(X1, X2)) -> proper#(X2))
                                                    (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U41(X1, X2)) -> proper#(X1))
                                                    (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U33(X)) -> proper#(X))
                                                    (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                    (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                                    (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U32(X1, X2)) -> proper#(X2))
                                                    (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U32(X1, X2)) -> proper#(X1))
                                                    (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U21(X1, X2)) -> proper#(X1))
                                                    (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U22(X)) -> proper#(X))
                                                    (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U13(X)) -> proper#(X))
                                                    (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                    (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                                    (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                    (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(isNat(X)) -> proper#(X))
                                                    (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U12(X1, X2)) -> proper#(X2))
                                                    (proper#(U51(X1, X2, X3)) -> proper#(X3), proper#(U12(X1, X2)) -> proper#(X1))
                                                    (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X3))
                                                    (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                                    (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X2))
                                                    (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X1))
                                                    (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(s(X)) -> proper#(X))
                                                    (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
                                                    (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
                                                    (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
                                                    (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                    (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                                    (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
                                                    (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
                                                    (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
                                                    (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
                                                    (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
                                                    (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                    (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                                    (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                    (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
                                                    (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
                                                    (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
                                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X3))
                                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X2))
                                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X1))
                                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(s(X)) -> proper#(X))
                                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
                                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
                                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
                                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
                                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
                                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
                                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
                                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
                                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
                                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
                                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
                                                    (proper#(plus(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X3))
                                                    (proper#(plus(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                                    (proper#(plus(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X2))
                                                    (proper#(plus(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X1))
                                                    (proper#(plus(X1, X2)) -> proper#(X2), proper#(s(X)) -> proper#(X))
                                                    (proper#(plus(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
                                                    (proper#(plus(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
                                                    (proper#(plus(X1, X2)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
                                                    (proper#(plus(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                    (proper#(plus(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                                    (proper#(plus(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
                                                    (proper#(plus(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
                                                    (proper#(plus(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
                                                    (proper#(plus(X1, X2)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
                                                    (proper#(plus(X1, X2)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
                                                    (proper#(plus(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                    (proper#(plus(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                                    (proper#(plus(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                    (proper#(plus(X1, X2)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
                                                    (proper#(plus(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
                                                    (proper#(plus(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X3))
                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X2))
                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X1))
                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(s(X)) -> proper#(X))
                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X3))
                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X2))
                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X1))
                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(s(X)) -> proper#(X))
                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                                                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X3))
                                                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X2))
                                                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X1))
                                                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(s(X)) -> proper#(X))
                                                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
                                                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
                                                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                                                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                                                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                                                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                                                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
                                                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
                                                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                                                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                                                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                                                    (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X3))
                                                    (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                                    (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X2))
                                                    (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X1))
                                                    (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(s(X)) -> proper#(X))
                                                    (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
                                                    (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
                                                    (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                                                    (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                    (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                                    (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                                                    (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                                                    (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                                                    (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
                                                    (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
                                                    (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                    (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                                    (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                    (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                                                    (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                                                    (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                                                    (proper#(U13(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X3))
                                                    (proper#(U13(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                                    (proper#(U13(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X2))
                                                    (proper#(U13(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X1))
                                                    (proper#(U13(X)) -> proper#(X), proper#(s(X)) -> proper#(X))
                                                    (proper#(U13(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X2))
                                                    (proper#(U13(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X1))
                                                    (proper#(U13(X)) -> proper#(X), proper#(U33(X)) -> proper#(X))
                                                    (proper#(U13(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                    (proper#(U13(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                                    (proper#(U13(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X2))
                                                    (proper#(U13(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X1))
                                                    (proper#(U13(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X1))
                                                    (proper#(U13(X)) -> proper#(X), proper#(U22(X)) -> proper#(X))
                                                    (proper#(U13(X)) -> proper#(X), proper#(U13(X)) -> proper#(X))
                                                    (proper#(U13(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                    (proper#(U13(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                                    (proper#(U13(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                    (proper#(U13(X)) -> proper#(X), proper#(isNat(X)) -> proper#(X))
                                                    (proper#(U13(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X2))
                                                    (proper#(U13(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X1))
                                                    (proper#(U33(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X3))
                                                    (proper#(U33(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                                    (proper#(U33(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X2))
                                                    (proper#(U33(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X1))
                                                    (proper#(U33(X)) -> proper#(X), proper#(s(X)) -> proper#(X))
                                                    (proper#(U33(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X2))
                                                    (proper#(U33(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X1))
                                                    (proper#(U33(X)) -> proper#(X), proper#(U33(X)) -> proper#(X))
                                                    (proper#(U33(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                    (proper#(U33(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                                    (proper#(U33(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X2))
                                                    (proper#(U33(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X1))
                                                    (proper#(U33(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X1))
                                                    (proper#(U33(X)) -> proper#(X), proper#(U22(X)) -> proper#(X))
                                                    (proper#(U33(X)) -> proper#(X), proper#(U13(X)) -> proper#(X))
                                                    (proper#(U33(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                    (proper#(U33(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                                    (proper#(U33(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                    (proper#(U33(X)) -> proper#(X), proper#(isNat(X)) -> proper#(X))
                                                    (proper#(U33(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X2))
                                                    (proper#(U33(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X1))
                                                    (proper#(s(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X1))
                                                    (proper#(s(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X2))
                                                    (proper#(s(X)) -> proper#(X), proper#(isNat(X)) -> proper#(X))
                                                    (proper#(s(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                    (proper#(s(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                                    (proper#(s(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                    (proper#(s(X)) -> proper#(X), proper#(U13(X)) -> proper#(X))
                                                    (proper#(s(X)) -> proper#(X), proper#(U22(X)) -> proper#(X))
                                                    (proper#(s(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X1))
                                                    (proper#(s(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X1))
                                                    (proper#(s(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X2))
                                                    (proper#(s(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                                    (proper#(s(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                    (proper#(s(X)) -> proper#(X), proper#(U33(X)) -> proper#(X))
                                                    (proper#(s(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X1))
                                                    (proper#(s(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X2))
                                                    (proper#(s(X)) -> proper#(X), proper#(s(X)) -> proper#(X))
                                                    (proper#(s(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X1))
                                                    (proper#(s(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X2))
                                                    (proper#(s(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                                    (proper#(s(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X3))
                                                    (proper#(U22(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X1))
                                                    (proper#(U22(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X2))
                                                    (proper#(U22(X)) -> proper#(X), proper#(isNat(X)) -> proper#(X))
                                                    (proper#(U22(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                    (proper#(U22(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                                    (proper#(U22(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                    (proper#(U22(X)) -> proper#(X), proper#(U13(X)) -> proper#(X))
                                                    (proper#(U22(X)) -> proper#(X), proper#(U22(X)) -> proper#(X))
                                                    (proper#(U22(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X1))
                                                    (proper#(U22(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X1))
                                                    (proper#(U22(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X2))
                                                    (proper#(U22(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                                    (proper#(U22(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                    (proper#(U22(X)) -> proper#(X), proper#(U33(X)) -> proper#(X))
                                                    (proper#(U22(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X1))
                                                    (proper#(U22(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X2))
                                                    (proper#(U22(X)) -> proper#(X), proper#(s(X)) -> proper#(X))
                                                    (proper#(U22(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X1))
                                                    (proper#(U22(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X2))
                                                    (proper#(U22(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                                    (proper#(U22(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X3))
                                                    (proper#(isNat(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X1))
                                                    (proper#(isNat(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X2))
                                                    (proper#(isNat(X)) -> proper#(X), proper#(isNat(X)) -> proper#(X))
                                                    (proper#(isNat(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                    (proper#(isNat(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                                    (proper#(isNat(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                    (proper#(isNat(X)) -> proper#(X), proper#(U13(X)) -> proper#(X))
                                                    (proper#(isNat(X)) -> proper#(X), proper#(U22(X)) -> proper#(X))
                                                    (proper#(isNat(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X1))
                                                    (proper#(isNat(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X1))
                                                    (proper#(isNat(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X2))
                                                    (proper#(isNat(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                                    (proper#(isNat(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                    (proper#(isNat(X)) -> proper#(X), proper#(U33(X)) -> proper#(X))
                                                    (proper#(isNat(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X1))
                                                    (proper#(isNat(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X2))
                                                    (proper#(isNat(X)) -> proper#(X), proper#(s(X)) -> proper#(X))
                                                    (proper#(isNat(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X1))
                                                    (proper#(isNat(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X2))
                                                    (proper#(isNat(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                                    (proper#(isNat(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X3))
                                                    (proper#(plus(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                                                    (proper#(plus(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                                                    (proper#(plus(X1, X2)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                                                    (proper#(plus(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                    (proper#(plus(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                                    (proper#(plus(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                    (proper#(plus(X1, X2)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
                                                    (proper#(plus(X1, X2)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
                                                    (proper#(plus(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                                                    (proper#(plus(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                                                    (proper#(plus(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                                                    (proper#(plus(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                                    (proper#(plus(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                    (proper#(plus(X1, X2)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                                                    (proper#(plus(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
                                                    (proper#(plus(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
                                                    (proper#(plus(X1, X2)) -> proper#(X1), proper#(s(X)) -> proper#(X))
                                                    (proper#(plus(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X1))
                                                    (proper#(plus(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X2))
                                                    (proper#(plus(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                                    (proper#(plus(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X3))
                                                    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                                                    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                                                    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                                                    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                                    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
                                                    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
                                                    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                                                    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                                                    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                                                    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                                    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                                                    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
                                                    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
                                                    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(s(X)) -> proper#(X))
                                                    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X1))
                                                    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X2))
                                                    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                                    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X3))
                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(s(X)) -> proper#(X))
                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X1))
                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X2))
                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X3))
                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(s(X)) -> proper#(X))
                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X1))
                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X2))
                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X3))
                                                    (proper#(U41(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
                                                    (proper#(U41(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
                                                    (proper#(U41(X1, X2)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
                                                    (proper#(U41(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                    (proper#(U41(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                                    (proper#(U41(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                    (proper#(U41(X1, X2)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
                                                    (proper#(U41(X1, X2)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
                                                    (proper#(U41(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
                                                    (proper#(U41(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
                                                    (proper#(U41(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
                                                    (proper#(U41(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                                    (proper#(U41(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                    (proper#(U41(X1, X2)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
                                                    (proper#(U41(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
                                                    (proper#(U41(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
                                                    (proper#(U41(X1, X2)) -> proper#(X2), proper#(s(X)) -> proper#(X))
                                                    (proper#(U41(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X1))
                                                    (proper#(U41(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X2))
                                                    (proper#(U41(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                                    (proper#(U41(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X3))
                                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
                                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
                                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
                                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
                                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
                                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
                                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
                                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
                                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
                                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
                                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
                                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(s(X)) -> proper#(X))
                                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X1))
                                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X2))
                                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X3))
                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(s(X)) -> proper#(X))
                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X1))
                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X2))
                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X3))
                                                    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U12(X1, X2)) -> proper#(X1))
                                                    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U12(X1, X2)) -> proper#(X2))
                                                    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(isNat(X)) -> proper#(X))
                                                    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                                    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U13(X)) -> proper#(X))
                                                    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U22(X)) -> proper#(X))
                                                    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U21(X1, X2)) -> proper#(X1))
                                                    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U32(X1, X2)) -> proper#(X1))
                                                    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U32(X1, X2)) -> proper#(X2))
                                                    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                                    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U33(X)) -> proper#(X))
                                                    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U41(X1, X2)) -> proper#(X1))
                                                    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U41(X1, X2)) -> proper#(X2))
                                                    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(s(X)) -> proper#(X))
                                                    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(plus(X1, X2)) -> proper#(X1))
                                                    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(plus(X1, X2)) -> proper#(X2))
                                                    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                                    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U51(X1, X2, X3)) -> proper#(X3))
                                                   }
                                                   SCCS:
                                                    Scc:
                                                     {    proper#(U12(X1, X2)) -> proper#(X1),
                                                          proper#(U12(X1, X2)) -> proper#(X2),
                                                             proper#(isNat(X)) -> proper#(X),
                                                      proper#(U11(X1, X2, X3)) -> proper#(X1),
                                                      proper#(U11(X1, X2, X3)) -> proper#(X2),
                                                      proper#(U11(X1, X2, X3)) -> proper#(X3),
                                                               proper#(U13(X)) -> proper#(X),
                                                               proper#(U22(X)) -> proper#(X),
                                                          proper#(U21(X1, X2)) -> proper#(X1),
                                                          proper#(U32(X1, X2)) -> proper#(X1),
                                                          proper#(U32(X1, X2)) -> proper#(X2),
                                                      proper#(U31(X1, X2, X3)) -> proper#(X1),
                                                      proper#(U31(X1, X2, X3)) -> proper#(X2),
                                                               proper#(U33(X)) -> proper#(X),
                                                          proper#(U41(X1, X2)) -> proper#(X1),
                                                          proper#(U41(X1, X2)) -> proper#(X2),
                                                                 proper#(s(X)) -> proper#(X),
                                                         proper#(plus(X1, X2)) -> proper#(X1),
                                                         proper#(plus(X1, X2)) -> proper#(X2),
                                                      proper#(U51(X1, X2, X3)) -> proper#(X1),
                                                      proper#(U51(X1, X2, X3)) -> proper#(X3)}
                                                    SCC:
                                                     Strict:
                                                      {    proper#(U12(X1, X2)) -> proper#(X1),
                                                           proper#(U12(X1, X2)) -> proper#(X2),
                                                              proper#(isNat(X)) -> proper#(X),
                                                       proper#(U11(X1, X2, X3)) -> proper#(X1),
                                                       proper#(U11(X1, X2, X3)) -> proper#(X2),
                                                       proper#(U11(X1, X2, X3)) -> proper#(X3),
                                                                proper#(U13(X)) -> proper#(X),
                                                                proper#(U22(X)) -> proper#(X),
                                                           proper#(U21(X1, X2)) -> proper#(X1),
                                                           proper#(U32(X1, X2)) -> proper#(X1),
                                                           proper#(U32(X1, X2)) -> proper#(X2),
                                                       proper#(U31(X1, X2, X3)) -> proper#(X1),
                                                       proper#(U31(X1, X2, X3)) -> proper#(X2),
                                                                proper#(U33(X)) -> proper#(X),
                                                           proper#(U41(X1, X2)) -> proper#(X1),
                                                           proper#(U41(X1, X2)) -> proper#(X2),
                                                                  proper#(s(X)) -> proper#(X),
                                                          proper#(plus(X1, X2)) -> proper#(X1),
                                                          proper#(plus(X1, X2)) -> proper#(X2),
                                                       proper#(U51(X1, X2, X3)) -> proper#(X1),
                                                       proper#(U51(X1, X2, X3)) -> proper#(X3)}
                                                     Weak:
                                                     {              U12(mark(X1), X2) -> mark(U12(X1, X2)),
                                                                  U12(ok(X1), ok(X2)) -> ok(U12(X1, X2)),
                                                                         isNat(ok(X)) -> ok(isNat(X)),
                                                                  active(U12(X1, X2)) -> U12(active(X1), X2),
                                                                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(X1, X2, X3)) -> U11(active(X1), X2, X3),
                                                            active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                                                                       active(U13(X)) -> U13(active(X)),
                                                                    active(U13(tt())) -> mark(tt()),
                                                                       active(U22(X)) -> U22(active(X)),
                                                                    active(U22(tt())) -> mark(tt()),
                                                                  active(U21(X1, X2)) -> U21(active(X1), X2),
                                                                active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                                                                  active(U32(X1, X2)) -> U32(active(X1), X2),
                                                                active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
                                                              active(U31(X1, X2, X3)) -> U31(active(X1), X2, X3),
                                                            active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                                                                       active(U33(X)) -> U33(active(X)),
                                                                    active(U33(tt())) -> mark(tt()),
                                                                  active(U41(X1, X2)) -> U41(active(X1), X2),
                                                                 active(U41(tt(), N)) -> mark(N),
                                                                         active(s(X)) -> s(active(X)),
                                                                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(plus(X1, X2)) -> plus(X1, active(X2)),
                                                                 active(plus(X1, X2)) -> plus(active(X1), X2),
                                                              active(U51(X1, X2, X3)) -> U51(active(X1), X2, X3),
                                                              active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                                                                       active(U61(X)) -> U61(active(X)),
                                                                    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(x(X1, X2)) -> x(X1, active(X2)),
                                                                    active(x(X1, X2)) -> x(active(X1), X2),
                                                              active(U71(X1, X2, X3)) -> U71(active(X1), X2, X3),
                                                              active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                                                                  active(and(X1, X2)) -> and(active(X1), X2),
                                                                 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(mark(X1), X2, X3) -> mark(U11(X1, X2, X3)),
                                                          U11(ok(X1), ok(X2), ok(X3)) -> ok(U11(X1, X2, X3)),
                                                                         U13(mark(X)) -> mark(U13(X)),
                                                                           U13(ok(X)) -> ok(U13(X)),
                                                                         U22(mark(X)) -> mark(U22(X)),
                                                                           U22(ok(X)) -> ok(U22(X)),
                                                                    U21(mark(X1), X2) -> mark(U21(X1, X2)),
                                                                  U21(ok(X1), ok(X2)) -> ok(U21(X1, X2)),
                                                                    U32(mark(X1), X2) -> mark(U32(X1, X2)),
                                                                  U32(ok(X1), ok(X2)) -> ok(U32(X1, X2)),
                                                                U31(mark(X1), X2, X3) -> mark(U31(X1, X2, X3)),
                                                          U31(ok(X1), ok(X2), ok(X3)) -> ok(U31(X1, X2, X3)),
                                                                         U33(mark(X)) -> mark(U33(X)),
                                                                           U33(ok(X)) -> ok(U33(X)),
                                                                    U41(mark(X1), X2) -> mark(U41(X1, X2)),
                                                                  U41(ok(X1), ok(X2)) -> ok(U41(X1, X2)),
                                                                           s(mark(X)) -> mark(s(X)),
                                                                             s(ok(X)) -> ok(s(X)),
                                                                   plus(X1, mark(X2)) -> mark(plus(X1, X2)),
                                                                   plus(mark(X1), X2) -> mark(plus(X1, X2)),
                                                                 plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)),
                                                                U51(mark(X1), X2, X3) -> mark(U51(X1, X2, X3)),
                                                          U51(ok(X1), ok(X2), ok(X3)) -> ok(U51(X1, X2, X3)),
                                                                         U61(mark(X)) -> mark(U61(X)),
                                                                           U61(ok(X)) -> ok(U61(X)),
                                                                      x(X1, mark(X2)) -> mark(x(X1, X2)),
                                                                      x(mark(X1), X2) -> mark(x(X1, X2)),
                                                                    x(ok(X1), ok(X2)) -> ok(x(X1, X2)),
                                                                U71(mark(X1), X2, X3) -> mark(U71(X1, X2, X3)),
                                                          U71(ok(X1), ok(X2), ok(X3)) -> ok(U71(X1, X2, X3)),
                                                                    and(mark(X1), X2) -> mark(and(X1, X2)),
                                                                  and(ok(X1), ok(X2)) -> ok(and(X1, X2)),
                                                                     isNatKind(ok(X)) -> ok(isNatKind(X)),
                                                                  proper(U12(X1, X2)) -> U12(proper(X1), proper(X2)),
                                                                     proper(isNat(X)) -> isNat(proper(X)),
                                                              proper(U11(X1, X2, X3)) -> U11(proper(X1), proper(X2), proper(X3)),
                                                                         proper(tt()) -> ok(tt()),
                                                                       proper(U13(X)) -> U13(proper(X)),
                                                                       proper(U22(X)) -> U22(proper(X)),
                                                                  proper(U21(X1, X2)) -> U21(proper(X1), proper(X2)),
                                                                  proper(U32(X1, X2)) -> U32(proper(X1), proper(X2)),
                                                              proper(U31(X1, X2, X3)) -> U31(proper(X1), proper(X2), proper(X3)),
                                                                       proper(U33(X)) -> U33(proper(X)),
                                                                  proper(U41(X1, X2)) -> U41(proper(X1), proper(X2)),
                                                                         proper(s(X)) -> s(proper(X)),
                                                                 proper(plus(X1, X2)) -> plus(proper(X1), proper(X2)),
                                                              proper(U51(X1, X2, X3)) -> U51(proper(X1), proper(X2), proper(X3)),
                                                                          proper(0()) -> ok(0()),
                                                                       proper(U61(X)) -> U61(proper(X)),
                                                                    proper(x(X1, X2)) -> x(proper(X1), proper(X2)),
                                                              proper(U71(X1, X2, X3)) -> U71(proper(X1), proper(X2), proper(X3)),
                                                                  proper(and(X1, X2)) -> and(proper(X1), proper(X2)),
                                                                 proper(isNatKind(X)) -> isNatKind(proper(X)),
                                                                         top(mark(X)) -> top(proper(X)),
                                                                           top(ok(X)) -> top(active(X))}
                                                     SPSC:
                                                      Simple Projection:
                                                       pi(proper#) = 0
                                                      Strict:
                                                       {    proper#(U12(X1, X2)) -> proper#(X1),
                                                            proper#(U12(X1, X2)) -> proper#(X2),
                                                               proper#(isNat(X)) -> proper#(X),
                                                        proper#(U11(X1, X2, X3)) -> proper#(X1),
                                                        proper#(U11(X1, X2, X3)) -> proper#(X2),
                                                        proper#(U11(X1, X2, X3)) -> proper#(X3),
                                                                 proper#(U13(X)) -> proper#(X),
                                                                 proper#(U22(X)) -> proper#(X),
                                                            proper#(U21(X1, X2)) -> proper#(X1),
                                                            proper#(U32(X1, X2)) -> proper#(X1),
                                                            proper#(U32(X1, X2)) -> proper#(X2),
                                                        proper#(U31(X1, X2, X3)) -> proper#(X1),
                                                        proper#(U31(X1, X2, X3)) -> proper#(X2),
                                                                 proper#(U33(X)) -> proper#(X),
                                                            proper#(U41(X1, X2)) -> proper#(X1),
                                                            proper#(U41(X1, X2)) -> proper#(X2),
                                                                   proper#(s(X)) -> proper#(X),
                                                           proper#(plus(X1, X2)) -> proper#(X1),
                                                           proper#(plus(X1, X2)) -> proper#(X2),
                                                        proper#(U51(X1, X2, X3)) -> proper#(X1)}
                                                      EDG:
                                                       {
                                                        (proper#(U13(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                                        (proper#(U13(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X2))
                                                        (proper#(U13(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X1))
                                                        (proper#(U13(X)) -> proper#(X), proper#(s(X)) -> proper#(X))
                                                        (proper#(U13(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X2))
                                                        (proper#(U13(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X1))
                                                        (proper#(U13(X)) -> proper#(X), proper#(U33(X)) -> proper#(X))
                                                        (proper#(U13(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                        (proper#(U13(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                                        (proper#(U13(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X2))
                                                        (proper#(U13(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X1))
                                                        (proper#(U13(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X1))
                                                        (proper#(U13(X)) -> proper#(X), proper#(U22(X)) -> proper#(X))
                                                        (proper#(U13(X)) -> proper#(X), proper#(U13(X)) -> proper#(X))
                                                        (proper#(U13(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                        (proper#(U13(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                                        (proper#(U13(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                        (proper#(U13(X)) -> proper#(X), proper#(isNat(X)) -> proper#(X))
                                                        (proper#(U13(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X2))
                                                        (proper#(U13(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X1))
                                                        (proper#(U33(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                                        (proper#(U33(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X2))
                                                        (proper#(U33(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X1))
                                                        (proper#(U33(X)) -> proper#(X), proper#(s(X)) -> proper#(X))
                                                        (proper#(U33(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X2))
                                                        (proper#(U33(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X1))
                                                        (proper#(U33(X)) -> proper#(X), proper#(U33(X)) -> proper#(X))
                                                        (proper#(U33(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                        (proper#(U33(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                                        (proper#(U33(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X2))
                                                        (proper#(U33(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X1))
                                                        (proper#(U33(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X1))
                                                        (proper#(U33(X)) -> proper#(X), proper#(U22(X)) -> proper#(X))
                                                        (proper#(U33(X)) -> proper#(X), proper#(U13(X)) -> proper#(X))
                                                        (proper#(U33(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                        (proper#(U33(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                                        (proper#(U33(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                        (proper#(U33(X)) -> proper#(X), proper#(isNat(X)) -> proper#(X))
                                                        (proper#(U33(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X2))
                                                        (proper#(U33(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X1))
                                                        (proper#(U12(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                                        (proper#(U12(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X2))
                                                        (proper#(U12(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X1))
                                                        (proper#(U12(X1, X2)) -> proper#(X1), proper#(s(X)) -> proper#(X))
                                                        (proper#(U12(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
                                                        (proper#(U12(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
                                                        (proper#(U12(X1, X2)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                                                        (proper#(U12(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                        (proper#(U12(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                                        (proper#(U12(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                                                        (proper#(U12(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                                                        (proper#(U12(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                                                        (proper#(U12(X1, X2)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
                                                        (proper#(U12(X1, X2)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
                                                        (proper#(U12(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                        (proper#(U12(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                                        (proper#(U12(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                        (proper#(U12(X1, X2)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                                                        (proper#(U12(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                                                        (proper#(U12(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                                                        (proper#(U21(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                                        (proper#(U21(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X2))
                                                        (proper#(U21(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X1))
                                                        (proper#(U21(X1, X2)) -> proper#(X1), proper#(s(X)) -> proper#(X))
                                                        (proper#(U21(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
                                                        (proper#(U21(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
                                                        (proper#(U21(X1, X2)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                                                        (proper#(U21(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                        (proper#(U21(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                                        (proper#(U21(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                                                        (proper#(U21(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                                                        (proper#(U21(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                                                        (proper#(U21(X1, X2)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
                                                        (proper#(U21(X1, X2)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
                                                        (proper#(U21(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                        (proper#(U21(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                                        (proper#(U21(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                        (proper#(U21(X1, X2)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                                                        (proper#(U21(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                                                        (proper#(U21(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                                                        (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                                        (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X2))
                                                        (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X1))
                                                        (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(s(X)) -> proper#(X))
                                                        (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
                                                        (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
                                                        (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                                                        (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                        (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                                        (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                                                        (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                                                        (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                                                        (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
                                                        (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
                                                        (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                        (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                                        (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                        (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                                                        (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                                                        (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                                                        (proper#(plus(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                                        (proper#(plus(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X2))
                                                        (proper#(plus(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X1))
                                                        (proper#(plus(X1, X2)) -> proper#(X1), proper#(s(X)) -> proper#(X))
                                                        (proper#(plus(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
                                                        (proper#(plus(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
                                                        (proper#(plus(X1, X2)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                                                        (proper#(plus(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                        (proper#(plus(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                                        (proper#(plus(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                                                        (proper#(plus(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                                                        (proper#(plus(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                                                        (proper#(plus(X1, X2)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
                                                        (proper#(plus(X1, X2)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
                                                        (proper#(plus(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                        (proper#(plus(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                                        (proper#(plus(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                        (proper#(plus(X1, X2)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                                                        (proper#(plus(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                                                        (proper#(plus(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                                                        (proper#(U12(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                                        (proper#(U12(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X2))
                                                        (proper#(U12(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X1))
                                                        (proper#(U12(X1, X2)) -> proper#(X2), proper#(s(X)) -> proper#(X))
                                                        (proper#(U12(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
                                                        (proper#(U12(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
                                                        (proper#(U12(X1, X2)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
                                                        (proper#(U12(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                        (proper#(U12(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                                        (proper#(U12(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
                                                        (proper#(U12(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
                                                        (proper#(U12(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
                                                        (proper#(U12(X1, X2)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
                                                        (proper#(U12(X1, X2)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
                                                        (proper#(U12(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                        (proper#(U12(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                                        (proper#(U12(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                        (proper#(U12(X1, X2)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
                                                        (proper#(U12(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
                                                        (proper#(U12(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
                                                        (proper#(U32(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                                        (proper#(U32(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X2))
                                                        (proper#(U32(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X1))
                                                        (proper#(U32(X1, X2)) -> proper#(X2), proper#(s(X)) -> proper#(X))
                                                        (proper#(U32(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
                                                        (proper#(U32(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
                                                        (proper#(U32(X1, X2)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
                                                        (proper#(U32(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                        (proper#(U32(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                                        (proper#(U32(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
                                                        (proper#(U32(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
                                                        (proper#(U32(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
                                                        (proper#(U32(X1, X2)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
                                                        (proper#(U32(X1, X2)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
                                                        (proper#(U32(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                        (proper#(U32(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                                        (proper#(U32(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                        (proper#(U32(X1, X2)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
                                                        (proper#(U32(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
                                                        (proper#(U32(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
                                                        (proper#(U41(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                                        (proper#(U41(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X2))
                                                        (proper#(U41(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X1))
                                                        (proper#(U41(X1, X2)) -> proper#(X2), proper#(s(X)) -> proper#(X))
                                                        (proper#(U41(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
                                                        (proper#(U41(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
                                                        (proper#(U41(X1, X2)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
                                                        (proper#(U41(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                        (proper#(U41(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                                        (proper#(U41(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
                                                        (proper#(U41(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
                                                        (proper#(U41(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
                                                        (proper#(U41(X1, X2)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
                                                        (proper#(U41(X1, X2)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
                                                        (proper#(U41(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                        (proper#(U41(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                                        (proper#(U41(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                        (proper#(U41(X1, X2)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
                                                        (proper#(U41(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
                                                        (proper#(U41(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
                                                        (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                                        (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(plus(X1, X2)) -> proper#(X2))
                                                        (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(plus(X1, X2)) -> proper#(X1))
                                                        (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(s(X)) -> proper#(X))
                                                        (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U41(X1, X2)) -> proper#(X2))
                                                        (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U41(X1, X2)) -> proper#(X1))
                                                        (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U33(X)) -> proper#(X))
                                                        (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                        (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                                        (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U32(X1, X2)) -> proper#(X2))
                                                        (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U32(X1, X2)) -> proper#(X1))
                                                        (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U21(X1, X2)) -> proper#(X1))
                                                        (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U22(X)) -> proper#(X))
                                                        (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U13(X)) -> proper#(X))
                                                        (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                        (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                                        (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                        (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(isNat(X)) -> proper#(X))
                                                        (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U12(X1, X2)) -> proper#(X2))
                                                        (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U12(X1, X2)) -> proper#(X1))
                                                        (proper#(plus(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
                                                        (proper#(plus(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
                                                        (proper#(plus(X1, X2)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
                                                        (proper#(plus(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                        (proper#(plus(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                                        (proper#(plus(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                        (proper#(plus(X1, X2)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
                                                        (proper#(plus(X1, X2)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
                                                        (proper#(plus(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
                                                        (proper#(plus(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
                                                        (proper#(plus(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
                                                        (proper#(plus(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                                        (proper#(plus(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                        (proper#(plus(X1, X2)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
                                                        (proper#(plus(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
                                                        (proper#(plus(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
                                                        (proper#(plus(X1, X2)) -> proper#(X2), proper#(s(X)) -> proper#(X))
                                                        (proper#(plus(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X1))
                                                        (proper#(plus(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X2))
                                                        (proper#(plus(X1, X2)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                                        (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
                                                        (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
                                                        (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
                                                        (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                        (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                                        (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                        (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
                                                        (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
                                                        (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
                                                        (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
                                                        (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
                                                        (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                                        (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                        (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
                                                        (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
                                                        (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
                                                        (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(s(X)) -> proper#(X))
                                                        (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X1))
                                                        (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X2))
                                                        (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                                        (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
                                                        (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
                                                        (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
                                                        (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                        (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                                        (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                        (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
                                                        (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
                                                        (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
                                                        (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
                                                        (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
                                                        (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                                        (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                        (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
                                                        (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
                                                        (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
                                                        (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(s(X)) -> proper#(X))
                                                        (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X1))
                                                        (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X2))
                                                        (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                                        (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                                                        (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                                                        (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                                                        (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                        (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                                        (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                        (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
                                                        (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
                                                        (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                                                        (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                                                        (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                                                        (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                                        (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                        (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                                                        (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
                                                        (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
                                                        (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(s(X)) -> proper#(X))
                                                        (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X1))
                                                        (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X2))
                                                        (proper#(U51(X1, X2, X3)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                                        (proper#(U41(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                                                        (proper#(U41(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                                                        (proper#(U41(X1, X2)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                                                        (proper#(U41(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                        (proper#(U41(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                                        (proper#(U41(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                        (proper#(U41(X1, X2)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
                                                        (proper#(U41(X1, X2)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
                                                        (proper#(U41(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                                                        (proper#(U41(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                                                        (proper#(U41(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                                                        (proper#(U41(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                                        (proper#(U41(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                        (proper#(U41(X1, X2)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                                                        (proper#(U41(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
                                                        (proper#(U41(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
                                                        (proper#(U41(X1, X2)) -> proper#(X1), proper#(s(X)) -> proper#(X))
                                                        (proper#(U41(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X1))
                                                        (proper#(U41(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X2))
                                                        (proper#(U41(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                                        (proper#(U32(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                                                        (proper#(U32(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                                                        (proper#(U32(X1, X2)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                                                        (proper#(U32(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                        (proper#(U32(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                                        (proper#(U32(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                        (proper#(U32(X1, X2)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
                                                        (proper#(U32(X1, X2)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
                                                        (proper#(U32(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                                                        (proper#(U32(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                                                        (proper#(U32(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                                                        (proper#(U32(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                                        (proper#(U32(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                        (proper#(U32(X1, X2)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                                                        (proper#(U32(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
                                                        (proper#(U32(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
                                                        (proper#(U32(X1, X2)) -> proper#(X1), proper#(s(X)) -> proper#(X))
                                                        (proper#(U32(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X1))
                                                        (proper#(U32(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X2))
                                                        (proper#(U32(X1, X2)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                                        (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                                                        (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                                                        (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                                                        (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                        (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                                        (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                        (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
                                                        (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
                                                        (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                                                        (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                                                        (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                                                        (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                                        (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                        (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                                                        (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
                                                        (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
                                                        (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(s(X)) -> proper#(X))
                                                        (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X1))
                                                        (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X2))
                                                        (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                                        (proper#(s(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X1))
                                                        (proper#(s(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X2))
                                                        (proper#(s(X)) -> proper#(X), proper#(isNat(X)) -> proper#(X))
                                                        (proper#(s(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                        (proper#(s(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                                        (proper#(s(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                        (proper#(s(X)) -> proper#(X), proper#(U13(X)) -> proper#(X))
                                                        (proper#(s(X)) -> proper#(X), proper#(U22(X)) -> proper#(X))
                                                        (proper#(s(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X1))
                                                        (proper#(s(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X1))
                                                        (proper#(s(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X2))
                                                        (proper#(s(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                                        (proper#(s(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                        (proper#(s(X)) -> proper#(X), proper#(U33(X)) -> proper#(X))
                                                        (proper#(s(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X1))
                                                        (proper#(s(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X2))
                                                        (proper#(s(X)) -> proper#(X), proper#(s(X)) -> proper#(X))
                                                        (proper#(s(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X1))
                                                        (proper#(s(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X2))
                                                        (proper#(s(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                                        (proper#(U22(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X1))
                                                        (proper#(U22(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X2))
                                                        (proper#(U22(X)) -> proper#(X), proper#(isNat(X)) -> proper#(X))
                                                        (proper#(U22(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                        (proper#(U22(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                                        (proper#(U22(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                        (proper#(U22(X)) -> proper#(X), proper#(U13(X)) -> proper#(X))
                                                        (proper#(U22(X)) -> proper#(X), proper#(U22(X)) -> proper#(X))
                                                        (proper#(U22(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X1))
                                                        (proper#(U22(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X1))
                                                        (proper#(U22(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X2))
                                                        (proper#(U22(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                                        (proper#(U22(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                        (proper#(U22(X)) -> proper#(X), proper#(U33(X)) -> proper#(X))
                                                        (proper#(U22(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X1))
                                                        (proper#(U22(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X2))
                                                        (proper#(U22(X)) -> proper#(X), proper#(s(X)) -> proper#(X))
                                                        (proper#(U22(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X1))
                                                        (proper#(U22(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X2))
                                                        (proper#(U22(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                                        (proper#(isNat(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X1))
                                                        (proper#(isNat(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X2))
                                                        (proper#(isNat(X)) -> proper#(X), proper#(isNat(X)) -> proper#(X))
                                                        (proper#(isNat(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                        (proper#(isNat(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                                        (proper#(isNat(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                        (proper#(isNat(X)) -> proper#(X), proper#(U13(X)) -> proper#(X))
                                                        (proper#(isNat(X)) -> proper#(X), proper#(U22(X)) -> proper#(X))
                                                        (proper#(isNat(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X1))
                                                        (proper#(isNat(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X1))
                                                        (proper#(isNat(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X2))
                                                        (proper#(isNat(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                                        (proper#(isNat(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                        (proper#(isNat(X)) -> proper#(X), proper#(U33(X)) -> proper#(X))
                                                        (proper#(isNat(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X1))
                                                        (proper#(isNat(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X2))
                                                        (proper#(isNat(X)) -> proper#(X), proper#(s(X)) -> proper#(X))
                                                        (proper#(isNat(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X1))
                                                        (proper#(isNat(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X2))
                                                        (proper#(isNat(X)) -> proper#(X), proper#(U51(X1, X2, X3)) -> proper#(X1))
                                                       }
                                                       SCCS:
                                                        Scc:
                                                         {    proper#(U12(X1, X2)) -> proper#(X1),
                                                              proper#(U12(X1, X2)) -> proper#(X2),
                                                                 proper#(isNat(X)) -> proper#(X),
                                                          proper#(U11(X1, X2, X3)) -> proper#(X1),
                                                          proper#(U11(X1, X2, X3)) -> proper#(X2),
                                                          proper#(U11(X1, X2, X3)) -> proper#(X3),
                                                                   proper#(U13(X)) -> proper#(X),
                                                                   proper#(U22(X)) -> proper#(X),
                                                              proper#(U21(X1, X2)) -> proper#(X1),
                                                              proper#(U32(X1, X2)) -> proper#(X1),
                                                              proper#(U32(X1, X2)) -> proper#(X2),
                                                          proper#(U31(X1, X2, X3)) -> proper#(X1),
                                                          proper#(U31(X1, X2, X3)) -> proper#(X2),
                                                                   proper#(U33(X)) -> proper#(X),
                                                              proper#(U41(X1, X2)) -> proper#(X1),
                                                              proper#(U41(X1, X2)) -> proper#(X2),
                                                                     proper#(s(X)) -> proper#(X),
                                                             proper#(plus(X1, X2)) -> proper#(X1),
                                                             proper#(plus(X1, X2)) -> proper#(X2),
                                                          proper#(U51(X1, X2, X3)) -> proper#(X1)}
                                                        SCC:
                                                         Strict:
                                                          {    proper#(U12(X1, X2)) -> proper#(X1),
                                                               proper#(U12(X1, X2)) -> proper#(X2),
                                                                  proper#(isNat(X)) -> proper#(X),
                                                           proper#(U11(X1, X2, X3)) -> proper#(X1),
                                                           proper#(U11(X1, X2, X3)) -> proper#(X2),
                                                           proper#(U11(X1, X2, X3)) -> proper#(X3),
                                                                    proper#(U13(X)) -> proper#(X),
                                                                    proper#(U22(X)) -> proper#(X),
                                                               proper#(U21(X1, X2)) -> proper#(X1),
                                                               proper#(U32(X1, X2)) -> proper#(X1),
                                                               proper#(U32(X1, X2)) -> proper#(X2),
                                                           proper#(U31(X1, X2, X3)) -> proper#(X1),
                                                           proper#(U31(X1, X2, X3)) -> proper#(X2),
                                                                    proper#(U33(X)) -> proper#(X),
                                                               proper#(U41(X1, X2)) -> proper#(X1),
                                                               proper#(U41(X1, X2)) -> proper#(X2),
                                                                      proper#(s(X)) -> proper#(X),
                                                              proper#(plus(X1, X2)) -> proper#(X1),
                                                              proper#(plus(X1, X2)) -> proper#(X2),
                                                           proper#(U51(X1, X2, X3)) -> proper#(X1)}
                                                         Weak:
                                                         {              U12(mark(X1), X2) -> mark(U12(X1, X2)),
                                                                      U12(ok(X1), ok(X2)) -> ok(U12(X1, X2)),
                                                                             isNat(ok(X)) -> ok(isNat(X)),
                                                                      active(U12(X1, X2)) -> U12(active(X1), X2),
                                                                    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(X1, X2, X3)) -> U11(active(X1), X2, X3),
                                                                active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                                                                           active(U13(X)) -> U13(active(X)),
                                                                        active(U13(tt())) -> mark(tt()),
                                                                           active(U22(X)) -> U22(active(X)),
                                                                        active(U22(tt())) -> mark(tt()),
                                                                      active(U21(X1, X2)) -> U21(active(X1), X2),
                                                                    active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                                                                      active(U32(X1, X2)) -> U32(active(X1), X2),
                                                                    active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
                                                                  active(U31(X1, X2, X3)) -> U31(active(X1), X2, X3),
                                                                active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                                                                           active(U33(X)) -> U33(active(X)),
                                                                        active(U33(tt())) -> mark(tt()),
                                                                      active(U41(X1, X2)) -> U41(active(X1), X2),
                                                                     active(U41(tt(), N)) -> mark(N),
                                                                             active(s(X)) -> s(active(X)),
                                                                    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(plus(X1, X2)) -> plus(X1, active(X2)),
                                                                     active(plus(X1, X2)) -> plus(active(X1), X2),
                                                                  active(U51(X1, X2, X3)) -> U51(active(X1), X2, X3),
                                                                  active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                                                                           active(U61(X)) -> U61(active(X)),
                                                                        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(x(X1, X2)) -> x(X1, active(X2)),
                                                                        active(x(X1, X2)) -> x(active(X1), X2),
                                                                  active(U71(X1, X2, X3)) -> U71(active(X1), X2, X3),
                                                                  active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                                                                      active(and(X1, X2)) -> and(active(X1), X2),
                                                                     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(mark(X1), X2, X3) -> mark(U11(X1, X2, X3)),
                                                              U11(ok(X1), ok(X2), ok(X3)) -> ok(U11(X1, X2, X3)),
                                                                             U13(mark(X)) -> mark(U13(X)),
                                                                               U13(ok(X)) -> ok(U13(X)),
                                                                             U22(mark(X)) -> mark(U22(X)),
                                                                               U22(ok(X)) -> ok(U22(X)),
                                                                        U21(mark(X1), X2) -> mark(U21(X1, X2)),
                                                                      U21(ok(X1), ok(X2)) -> ok(U21(X1, X2)),
                                                                        U32(mark(X1), X2) -> mark(U32(X1, X2)),
                                                                      U32(ok(X1), ok(X2)) -> ok(U32(X1, X2)),
                                                                    U31(mark(X1), X2, X3) -> mark(U31(X1, X2, X3)),
                                                              U31(ok(X1), ok(X2), ok(X3)) -> ok(U31(X1, X2, X3)),
                                                                             U33(mark(X)) -> mark(U33(X)),
                                                                               U33(ok(X)) -> ok(U33(X)),
                                                                        U41(mark(X1), X2) -> mark(U41(X1, X2)),
                                                                      U41(ok(X1), ok(X2)) -> ok(U41(X1, X2)),
                                                                               s(mark(X)) -> mark(s(X)),
                                                                                 s(ok(X)) -> ok(s(X)),
                                                                       plus(X1, mark(X2)) -> mark(plus(X1, X2)),
                                                                       plus(mark(X1), X2) -> mark(plus(X1, X2)),
                                                                     plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)),
                                                                    U51(mark(X1), X2, X3) -> mark(U51(X1, X2, X3)),
                                                              U51(ok(X1), ok(X2), ok(X3)) -> ok(U51(X1, X2, X3)),
                                                                             U61(mark(X)) -> mark(U61(X)),
                                                                               U61(ok(X)) -> ok(U61(X)),
                                                                          x(X1, mark(X2)) -> mark(x(X1, X2)),
                                                                          x(mark(X1), X2) -> mark(x(X1, X2)),
                                                                        x(ok(X1), ok(X2)) -> ok(x(X1, X2)),
                                                                    U71(mark(X1), X2, X3) -> mark(U71(X1, X2, X3)),
                                                              U71(ok(X1), ok(X2), ok(X3)) -> ok(U71(X1, X2, X3)),
                                                                        and(mark(X1), X2) -> mark(and(X1, X2)),
                                                                      and(ok(X1), ok(X2)) -> ok(and(X1, X2)),
                                                                         isNatKind(ok(X)) -> ok(isNatKind(X)),
                                                                      proper(U12(X1, X2)) -> U12(proper(X1), proper(X2)),
                                                                         proper(isNat(X)) -> isNat(proper(X)),
                                                                  proper(U11(X1, X2, X3)) -> U11(proper(X1), proper(X2), proper(X3)),
                                                                             proper(tt()) -> ok(tt()),
                                                                           proper(U13(X)) -> U13(proper(X)),
                                                                           proper(U22(X)) -> U22(proper(X)),
                                                                      proper(U21(X1, X2)) -> U21(proper(X1), proper(X2)),
                                                                      proper(U32(X1, X2)) -> U32(proper(X1), proper(X2)),
                                                                  proper(U31(X1, X2, X3)) -> U31(proper(X1), proper(X2), proper(X3)),
                                                                           proper(U33(X)) -> U33(proper(X)),
                                                                      proper(U41(X1, X2)) -> U41(proper(X1), proper(X2)),
                                                                             proper(s(X)) -> s(proper(X)),
                                                                     proper(plus(X1, X2)) -> plus(proper(X1), proper(X2)),
                                                                  proper(U51(X1, X2, X3)) -> U51(proper(X1), proper(X2), proper(X3)),
                                                                              proper(0()) -> ok(0()),
                                                                           proper(U61(X)) -> U61(proper(X)),
                                                                        proper(x(X1, X2)) -> x(proper(X1), proper(X2)),
                                                                  proper(U71(X1, X2, X3)) -> U71(proper(X1), proper(X2), proper(X3)),
                                                                      proper(and(X1, X2)) -> and(proper(X1), proper(X2)),
                                                                     proper(isNatKind(X)) -> isNatKind(proper(X)),
                                                                             top(mark(X)) -> top(proper(X)),
                                                                               top(ok(X)) -> top(active(X))}
                                                         SPSC:
                                                          Simple Projection:
                                                           pi(proper#) = 0
                                                          Strict:
                                                           {    proper#(U12(X1, X2)) -> proper#(X1),
                                                                proper#(U12(X1, X2)) -> proper#(X2),
                                                                   proper#(isNat(X)) -> proper#(X),
                                                            proper#(U11(X1, X2, X3)) -> proper#(X1),
                                                            proper#(U11(X1, X2, X3)) -> proper#(X2),
                                                            proper#(U11(X1, X2, X3)) -> proper#(X3),
                                                                     proper#(U13(X)) -> proper#(X),
                                                                     proper#(U22(X)) -> proper#(X),
                                                                proper#(U21(X1, X2)) -> proper#(X1),
                                                                proper#(U32(X1, X2)) -> proper#(X1),
                                                                proper#(U32(X1, X2)) -> proper#(X2),
                                                            proper#(U31(X1, X2, X3)) -> proper#(X1),
                                                            proper#(U31(X1, X2, X3)) -> proper#(X2),
                                                                     proper#(U33(X)) -> proper#(X),
                                                                proper#(U41(X1, X2)) -> proper#(X1),
                                                                proper#(U41(X1, X2)) -> proper#(X2),
                                                                       proper#(s(X)) -> proper#(X),
                                                               proper#(plus(X1, X2)) -> proper#(X1),
                                                               proper#(plus(X1, X2)) -> proper#(X2)}
                                                          EDG:
                                                           {
                                                            (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X2))
                                                            (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X1))
                                                            (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(s(X)) -> proper#(X))
                                                            (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
                                                            (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
                                                            (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                                                            (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                            (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                                            (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                                                            (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                                                            (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                                                            (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
                                                            (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
                                                            (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                            (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                                            (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                            (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                                                            (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                                                            (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                                                            (proper#(U21(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X2))
                                                            (proper#(U21(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X1))
                                                            (proper#(U21(X1, X2)) -> proper#(X1), proper#(s(X)) -> proper#(X))
                                                            (proper#(U21(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
                                                            (proper#(U21(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
                                                            (proper#(U21(X1, X2)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                                                            (proper#(U21(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                            (proper#(U21(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                                            (proper#(U21(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                                                            (proper#(U21(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                                                            (proper#(U21(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                                                            (proper#(U21(X1, X2)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
                                                            (proper#(U21(X1, X2)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
                                                            (proper#(U21(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                            (proper#(U21(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                                            (proper#(U21(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                            (proper#(U21(X1, X2)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                                                            (proper#(U21(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                                                            (proper#(U21(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                                                            (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X2))
                                                            (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X1))
                                                            (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(s(X)) -> proper#(X))
                                                            (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
                                                            (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
                                                            (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                                                            (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                            (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                                            (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                                                            (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                                                            (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                                                            (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
                                                            (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
                                                            (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                            (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                                            (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                            (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                                                            (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                                                            (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                                                            (proper#(plus(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X2))
                                                            (proper#(plus(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X1))
                                                            (proper#(plus(X1, X2)) -> proper#(X1), proper#(s(X)) -> proper#(X))
                                                            (proper#(plus(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
                                                            (proper#(plus(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
                                                            (proper#(plus(X1, X2)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                                                            (proper#(plus(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                            (proper#(plus(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                                            (proper#(plus(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                                                            (proper#(plus(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                                                            (proper#(plus(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                                                            (proper#(plus(X1, X2)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
                                                            (proper#(plus(X1, X2)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
                                                            (proper#(plus(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                            (proper#(plus(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                                            (proper#(plus(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                            (proper#(plus(X1, X2)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                                                            (proper#(plus(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                                                            (proper#(plus(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                                                            (proper#(isNat(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X2))
                                                            (proper#(isNat(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X1))
                                                            (proper#(isNat(X)) -> proper#(X), proper#(s(X)) -> proper#(X))
                                                            (proper#(isNat(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X2))
                                                            (proper#(isNat(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X1))
                                                            (proper#(isNat(X)) -> proper#(X), proper#(U33(X)) -> proper#(X))
                                                            (proper#(isNat(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                            (proper#(isNat(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                                            (proper#(isNat(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X2))
                                                            (proper#(isNat(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X1))
                                                            (proper#(isNat(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X1))
                                                            (proper#(isNat(X)) -> proper#(X), proper#(U22(X)) -> proper#(X))
                                                            (proper#(isNat(X)) -> proper#(X), proper#(U13(X)) -> proper#(X))
                                                            (proper#(isNat(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                            (proper#(isNat(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                                            (proper#(isNat(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                            (proper#(isNat(X)) -> proper#(X), proper#(isNat(X)) -> proper#(X))
                                                            (proper#(isNat(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X2))
                                                            (proper#(isNat(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X1))
                                                            (proper#(U13(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X2))
                                                            (proper#(U13(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X1))
                                                            (proper#(U13(X)) -> proper#(X), proper#(s(X)) -> proper#(X))
                                                            (proper#(U13(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X2))
                                                            (proper#(U13(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X1))
                                                            (proper#(U13(X)) -> proper#(X), proper#(U33(X)) -> proper#(X))
                                                            (proper#(U13(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                            (proper#(U13(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                                            (proper#(U13(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X2))
                                                            (proper#(U13(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X1))
                                                            (proper#(U13(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X1))
                                                            (proper#(U13(X)) -> proper#(X), proper#(U22(X)) -> proper#(X))
                                                            (proper#(U13(X)) -> proper#(X), proper#(U13(X)) -> proper#(X))
                                                            (proper#(U13(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                            (proper#(U13(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                                            (proper#(U13(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                            (proper#(U13(X)) -> proper#(X), proper#(isNat(X)) -> proper#(X))
                                                            (proper#(U13(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X2))
                                                            (proper#(U13(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X1))
                                                            (proper#(U32(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X2))
                                                            (proper#(U32(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X1))
                                                            (proper#(U32(X1, X2)) -> proper#(X2), proper#(s(X)) -> proper#(X))
                                                            (proper#(U32(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
                                                            (proper#(U32(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
                                                            (proper#(U32(X1, X2)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
                                                            (proper#(U32(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                            (proper#(U32(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                                            (proper#(U32(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
                                                            (proper#(U32(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
                                                            (proper#(U32(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
                                                            (proper#(U32(X1, X2)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
                                                            (proper#(U32(X1, X2)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
                                                            (proper#(U32(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                            (proper#(U32(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                                            (proper#(U32(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                            (proper#(U32(X1, X2)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
                                                            (proper#(U32(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
                                                            (proper#(U32(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
                                                            (proper#(U33(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X2))
                                                            (proper#(U33(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X1))
                                                            (proper#(U33(X)) -> proper#(X), proper#(s(X)) -> proper#(X))
                                                            (proper#(U33(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X2))
                                                            (proper#(U33(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X1))
                                                            (proper#(U33(X)) -> proper#(X), proper#(U33(X)) -> proper#(X))
                                                            (proper#(U33(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                            (proper#(U33(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                                            (proper#(U33(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X2))
                                                            (proper#(U33(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X1))
                                                            (proper#(U33(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X1))
                                                            (proper#(U33(X)) -> proper#(X), proper#(U22(X)) -> proper#(X))
                                                            (proper#(U33(X)) -> proper#(X), proper#(U13(X)) -> proper#(X))
                                                            (proper#(U33(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                            (proper#(U33(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                                            (proper#(U33(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                            (proper#(U33(X)) -> proper#(X), proper#(isNat(X)) -> proper#(X))
                                                            (proper#(U33(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X2))
                                                            (proper#(U33(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X1))
                                                            (proper#(s(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X2))
                                                            (proper#(s(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X1))
                                                            (proper#(s(X)) -> proper#(X), proper#(s(X)) -> proper#(X))
                                                            (proper#(s(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X2))
                                                            (proper#(s(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X1))
                                                            (proper#(s(X)) -> proper#(X), proper#(U33(X)) -> proper#(X))
                                                            (proper#(s(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                            (proper#(s(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                                            (proper#(s(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X2))
                                                            (proper#(s(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X1))
                                                            (proper#(s(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X1))
                                                            (proper#(s(X)) -> proper#(X), proper#(U22(X)) -> proper#(X))
                                                            (proper#(s(X)) -> proper#(X), proper#(U13(X)) -> proper#(X))
                                                            (proper#(s(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                            (proper#(s(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                                            (proper#(s(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                            (proper#(s(X)) -> proper#(X), proper#(isNat(X)) -> proper#(X))
                                                            (proper#(s(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X2))
                                                            (proper#(s(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X1))
                                                            (proper#(plus(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
                                                            (proper#(plus(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
                                                            (proper#(plus(X1, X2)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
                                                            (proper#(plus(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                            (proper#(plus(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                                            (proper#(plus(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                            (proper#(plus(X1, X2)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
                                                            (proper#(plus(X1, X2)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
                                                            (proper#(plus(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
                                                            (proper#(plus(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
                                                            (proper#(plus(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
                                                            (proper#(plus(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                                            (proper#(plus(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                            (proper#(plus(X1, X2)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
                                                            (proper#(plus(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
                                                            (proper#(plus(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
                                                            (proper#(plus(X1, X2)) -> proper#(X2), proper#(s(X)) -> proper#(X))
                                                            (proper#(plus(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X1))
                                                            (proper#(plus(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X2))
                                                            (proper#(U41(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
                                                            (proper#(U41(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
                                                            (proper#(U41(X1, X2)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
                                                            (proper#(U41(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                            (proper#(U41(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                                            (proper#(U41(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                            (proper#(U41(X1, X2)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
                                                            (proper#(U41(X1, X2)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
                                                            (proper#(U41(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
                                                            (proper#(U41(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
                                                            (proper#(U41(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
                                                            (proper#(U41(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                                            (proper#(U41(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                            (proper#(U41(X1, X2)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
                                                            (proper#(U41(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
                                                            (proper#(U41(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
                                                            (proper#(U41(X1, X2)) -> proper#(X2), proper#(s(X)) -> proper#(X))
                                                            (proper#(U41(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X1))
                                                            (proper#(U41(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X2))
                                                            (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
                                                            (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
                                                            (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
                                                            (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                            (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                                            (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                            (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
                                                            (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
                                                            (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
                                                            (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
                                                            (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
                                                            (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                                            (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                            (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
                                                            (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
                                                            (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
                                                            (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(s(X)) -> proper#(X))
                                                            (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X1))
                                                            (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X2))
                                                            (proper#(U22(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X1))
                                                            (proper#(U22(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X2))
                                                            (proper#(U22(X)) -> proper#(X), proper#(isNat(X)) -> proper#(X))
                                                            (proper#(U22(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                            (proper#(U22(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                                            (proper#(U22(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                            (proper#(U22(X)) -> proper#(X), proper#(U13(X)) -> proper#(X))
                                                            (proper#(U22(X)) -> proper#(X), proper#(U22(X)) -> proper#(X))
                                                            (proper#(U22(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X1))
                                                            (proper#(U22(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X1))
                                                            (proper#(U22(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X2))
                                                            (proper#(U22(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                                            (proper#(U22(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                            (proper#(U22(X)) -> proper#(X), proper#(U33(X)) -> proper#(X))
                                                            (proper#(U22(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X1))
                                                            (proper#(U22(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X2))
                                                            (proper#(U22(X)) -> proper#(X), proper#(s(X)) -> proper#(X))
                                                            (proper#(U22(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X1))
                                                            (proper#(U22(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X2))
                                                            (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
                                                            (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
                                                            (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
                                                            (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                            (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                                            (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                            (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
                                                            (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
                                                            (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
                                                            (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
                                                            (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
                                                            (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                                            (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                            (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
                                                            (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
                                                            (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
                                                            (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(s(X)) -> proper#(X))
                                                            (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X1))
                                                            (proper#(U11(X1, X2, X3)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X2))
                                                            (proper#(U12(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
                                                            (proper#(U12(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
                                                            (proper#(U12(X1, X2)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
                                                            (proper#(U12(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                            (proper#(U12(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                                            (proper#(U12(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                            (proper#(U12(X1, X2)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
                                                            (proper#(U12(X1, X2)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
                                                            (proper#(U12(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
                                                            (proper#(U12(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
                                                            (proper#(U12(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
                                                            (proper#(U12(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                                            (proper#(U12(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                            (proper#(U12(X1, X2)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
                                                            (proper#(U12(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
                                                            (proper#(U12(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
                                                            (proper#(U12(X1, X2)) -> proper#(X2), proper#(s(X)) -> proper#(X))
                                                            (proper#(U12(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X1))
                                                            (proper#(U12(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X2))
                                                            (proper#(U41(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                                                            (proper#(U41(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                                                            (proper#(U41(X1, X2)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                                                            (proper#(U41(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                            (proper#(U41(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                                            (proper#(U41(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                            (proper#(U41(X1, X2)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
                                                            (proper#(U41(X1, X2)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
                                                            (proper#(U41(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                                                            (proper#(U41(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                                                            (proper#(U41(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                                                            (proper#(U41(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                                            (proper#(U41(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                            (proper#(U41(X1, X2)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                                                            (proper#(U41(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
                                                            (proper#(U41(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
                                                            (proper#(U41(X1, X2)) -> proper#(X1), proper#(s(X)) -> proper#(X))
                                                            (proper#(U41(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X1))
                                                            (proper#(U41(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X2))
                                                            (proper#(U32(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                                                            (proper#(U32(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                                                            (proper#(U32(X1, X2)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                                                            (proper#(U32(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                            (proper#(U32(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                                            (proper#(U32(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                            (proper#(U32(X1, X2)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
                                                            (proper#(U32(X1, X2)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
                                                            (proper#(U32(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                                                            (proper#(U32(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                                                            (proper#(U32(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                                                            (proper#(U32(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                                            (proper#(U32(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                            (proper#(U32(X1, X2)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                                                            (proper#(U32(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
                                                            (proper#(U32(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
                                                            (proper#(U32(X1, X2)) -> proper#(X1), proper#(s(X)) -> proper#(X))
                                                            (proper#(U32(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X1))
                                                            (proper#(U32(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X2))
                                                            (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U12(X1, X2)) -> proper#(X1))
                                                            (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U12(X1, X2)) -> proper#(X2))
                                                            (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(isNat(X)) -> proper#(X))
                                                            (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                            (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                                            (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                            (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U13(X)) -> proper#(X))
                                                            (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U22(X)) -> proper#(X))
                                                            (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U21(X1, X2)) -> proper#(X1))
                                                            (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U32(X1, X2)) -> proper#(X1))
                                                            (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U32(X1, X2)) -> proper#(X2))
                                                            (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                                            (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                            (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U33(X)) -> proper#(X))
                                                            (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U41(X1, X2)) -> proper#(X1))
                                                            (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U41(X1, X2)) -> proper#(X2))
                                                            (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(s(X)) -> proper#(X))
                                                            (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(plus(X1, X2)) -> proper#(X1))
                                                            (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(plus(X1, X2)) -> proper#(X2))
                                                            (proper#(U12(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                                                            (proper#(U12(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                                                            (proper#(U12(X1, X2)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                                                            (proper#(U12(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                            (proper#(U12(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X2))
                                                            (proper#(U12(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                            (proper#(U12(X1, X2)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
                                                            (proper#(U12(X1, X2)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
                                                            (proper#(U12(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                                                            (proper#(U12(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                                                            (proper#(U12(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                                                            (proper#(U12(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                                            (proper#(U12(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                            (proper#(U12(X1, X2)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                                                            (proper#(U12(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
                                                            (proper#(U12(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
                                                            (proper#(U12(X1, X2)) -> proper#(X1), proper#(s(X)) -> proper#(X))
                                                            (proper#(U12(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X1))
                                                            (proper#(U12(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X2))
                                                           }
                                                           SCCS:
                                                            Scc:
                                                             {    proper#(U12(X1, X2)) -> proper#(X1),
                                                                  proper#(U12(X1, X2)) -> proper#(X2),
                                                                     proper#(isNat(X)) -> proper#(X),
                                                              proper#(U11(X1, X2, X3)) -> proper#(X1),
                                                              proper#(U11(X1, X2, X3)) -> proper#(X2),
                                                              proper#(U11(X1, X2, X3)) -> proper#(X3),
                                                                       proper#(U13(X)) -> proper#(X),
                                                                       proper#(U22(X)) -> proper#(X),
                                                                  proper#(U21(X1, X2)) -> proper#(X1),
                                                                  proper#(U32(X1, X2)) -> proper#(X1),
                                                                  proper#(U32(X1, X2)) -> proper#(X2),
                                                              proper#(U31(X1, X2, X3)) -> proper#(X1),
                                                              proper#(U31(X1, X2, X3)) -> proper#(X2),
                                                                       proper#(U33(X)) -> proper#(X),
                                                                  proper#(U41(X1, X2)) -> proper#(X1),
                                                                  proper#(U41(X1, X2)) -> proper#(X2),
                                                                         proper#(s(X)) -> proper#(X),
                                                                 proper#(plus(X1, X2)) -> proper#(X1),
                                                                 proper#(plus(X1, X2)) -> proper#(X2)}
                                                            SCC:
                                                             Strict:
                                                              {    proper#(U12(X1, X2)) -> proper#(X1),
                                                                   proper#(U12(X1, X2)) -> proper#(X2),
                                                                      proper#(isNat(X)) -> proper#(X),
                                                               proper#(U11(X1, X2, X3)) -> proper#(X1),
                                                               proper#(U11(X1, X2, X3)) -> proper#(X2),
                                                               proper#(U11(X1, X2, X3)) -> proper#(X3),
                                                                        proper#(U13(X)) -> proper#(X),
                                                                        proper#(U22(X)) -> proper#(X),
                                                                   proper#(U21(X1, X2)) -> proper#(X1),
                                                                   proper#(U32(X1, X2)) -> proper#(X1),
                                                                   proper#(U32(X1, X2)) -> proper#(X2),
                                                               proper#(U31(X1, X2, X3)) -> proper#(X1),
                                                               proper#(U31(X1, X2, X3)) -> proper#(X2),
                                                                        proper#(U33(X)) -> proper#(X),
                                                                   proper#(U41(X1, X2)) -> proper#(X1),
                                                                   proper#(U41(X1, X2)) -> proper#(X2),
                                                                          proper#(s(X)) -> proper#(X),
                                                                  proper#(plus(X1, X2)) -> proper#(X1),
                                                                  proper#(plus(X1, X2)) -> proper#(X2)}
                                                             Weak:
                                                             {              U12(mark(X1), X2) -> mark(U12(X1, X2)),
                                                                          U12(ok(X1), ok(X2)) -> ok(U12(X1, X2)),
                                                                                 isNat(ok(X)) -> ok(isNat(X)),
                                                                          active(U12(X1, X2)) -> U12(active(X1), X2),
                                                                        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(X1, X2, X3)) -> U11(active(X1), X2, X3),
                                                                    active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                                                                               active(U13(X)) -> U13(active(X)),
                                                                            active(U13(tt())) -> mark(tt()),
                                                                               active(U22(X)) -> U22(active(X)),
                                                                            active(U22(tt())) -> mark(tt()),
                                                                          active(U21(X1, X2)) -> U21(active(X1), X2),
                                                                        active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                                                                          active(U32(X1, X2)) -> U32(active(X1), X2),
                                                                        active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
                                                                      active(U31(X1, X2, X3)) -> U31(active(X1), X2, X3),
                                                                    active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                                                                               active(U33(X)) -> U33(active(X)),
                                                                            active(U33(tt())) -> mark(tt()),
                                                                          active(U41(X1, X2)) -> U41(active(X1), X2),
                                                                         active(U41(tt(), N)) -> mark(N),
                                                                                 active(s(X)) -> s(active(X)),
                                                                        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(plus(X1, X2)) -> plus(X1, active(X2)),
                                                                         active(plus(X1, X2)) -> plus(active(X1), X2),
                                                                      active(U51(X1, X2, X3)) -> U51(active(X1), X2, X3),
                                                                      active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                                                                               active(U61(X)) -> U61(active(X)),
                                                                            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(x(X1, X2)) -> x(X1, active(X2)),
                                                                            active(x(X1, X2)) -> x(active(X1), X2),
                                                                      active(U71(X1, X2, X3)) -> U71(active(X1), X2, X3),
                                                                      active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                                                                          active(and(X1, X2)) -> and(active(X1), X2),
                                                                         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(mark(X1), X2, X3) -> mark(U11(X1, X2, X3)),
                                                                  U11(ok(X1), ok(X2), ok(X3)) -> ok(U11(X1, X2, X3)),
                                                                                 U13(mark(X)) -> mark(U13(X)),
                                                                                   U13(ok(X)) -> ok(U13(X)),
                                                                                 U22(mark(X)) -> mark(U22(X)),
                                                                                   U22(ok(X)) -> ok(U22(X)),
                                                                            U21(mark(X1), X2) -> mark(U21(X1, X2)),
                                                                          U21(ok(X1), ok(X2)) -> ok(U21(X1, X2)),
                                                                            U32(mark(X1), X2) -> mark(U32(X1, X2)),
                                                                          U32(ok(X1), ok(X2)) -> ok(U32(X1, X2)),
                                                                        U31(mark(X1), X2, X3) -> mark(U31(X1, X2, X3)),
                                                                  U31(ok(X1), ok(X2), ok(X3)) -> ok(U31(X1, X2, X3)),
                                                                                 U33(mark(X)) -> mark(U33(X)),
                                                                                   U33(ok(X)) -> ok(U33(X)),
                                                                            U41(mark(X1), X2) -> mark(U41(X1, X2)),
                                                                          U41(ok(X1), ok(X2)) -> ok(U41(X1, X2)),
                                                                                   s(mark(X)) -> mark(s(X)),
                                                                                     s(ok(X)) -> ok(s(X)),
                                                                           plus(X1, mark(X2)) -> mark(plus(X1, X2)),
                                                                           plus(mark(X1), X2) -> mark(plus(X1, X2)),
                                                                         plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)),
                                                                        U51(mark(X1), X2, X3) -> mark(U51(X1, X2, X3)),
                                                                  U51(ok(X1), ok(X2), ok(X3)) -> ok(U51(X1, X2, X3)),
                                                                                 U61(mark(X)) -> mark(U61(X)),
                                                                                   U61(ok(X)) -> ok(U61(X)),
                                                                              x(X1, mark(X2)) -> mark(x(X1, X2)),
                                                                              x(mark(X1), X2) -> mark(x(X1, X2)),
                                                                            x(ok(X1), ok(X2)) -> ok(x(X1, X2)),
                                                                        U71(mark(X1), X2, X3) -> mark(U71(X1, X2, X3)),
                                                                  U71(ok(X1), ok(X2), ok(X3)) -> ok(U71(X1, X2, X3)),
                                                                            and(mark(X1), X2) -> mark(and(X1, X2)),
                                                                          and(ok(X1), ok(X2)) -> ok(and(X1, X2)),
                                                                             isNatKind(ok(X)) -> ok(isNatKind(X)),
                                                                          proper(U12(X1, X2)) -> U12(proper(X1), proper(X2)),
                                                                             proper(isNat(X)) -> isNat(proper(X)),
                                                                      proper(U11(X1, X2, X3)) -> U11(proper(X1), proper(X2), proper(X3)),
                                                                                 proper(tt()) -> ok(tt()),
                                                                               proper(U13(X)) -> U13(proper(X)),
                                                                               proper(U22(X)) -> U22(proper(X)),
                                                                          proper(U21(X1, X2)) -> U21(proper(X1), proper(X2)),
                                                                          proper(U32(X1, X2)) -> U32(proper(X1), proper(X2)),
                                                                      proper(U31(X1, X2, X3)) -> U31(proper(X1), proper(X2), proper(X3)),
                                                                               proper(U33(X)) -> U33(proper(X)),
                                                                          proper(U41(X1, X2)) -> U41(proper(X1), proper(X2)),
                                                                                 proper(s(X)) -> s(proper(X)),
                                                                         proper(plus(X1, X2)) -> plus(proper(X1), proper(X2)),
                                                                      proper(U51(X1, X2, X3)) -> U51(proper(X1), proper(X2), proper(X3)),
                                                                                  proper(0()) -> ok(0()),
                                                                               proper(U61(X)) -> U61(proper(X)),
                                                                            proper(x(X1, X2)) -> x(proper(X1), proper(X2)),
                                                                      proper(U71(X1, X2, X3)) -> U71(proper(X1), proper(X2), proper(X3)),
                                                                          proper(and(X1, X2)) -> and(proper(X1), proper(X2)),
                                                                         proper(isNatKind(X)) -> isNatKind(proper(X)),
                                                                                 top(mark(X)) -> top(proper(X)),
                                                                                   top(ok(X)) -> top(active(X))}
                                                             SPSC:
                                                              Simple Projection:
                                                               pi(proper#) = 0
                                                              Strict:
                                                               {    proper#(U12(X1, X2)) -> proper#(X1),
                                                                    proper#(U12(X1, X2)) -> proper#(X2),
                                                                       proper#(isNat(X)) -> proper#(X),
                                                                proper#(U11(X1, X2, X3)) -> proper#(X1),
                                                                proper#(U11(X1, X2, X3)) -> proper#(X3),
                                                                         proper#(U13(X)) -> proper#(X),
                                                                         proper#(U22(X)) -> proper#(X),
                                                                    proper#(U21(X1, X2)) -> proper#(X1),
                                                                    proper#(U32(X1, X2)) -> proper#(X1),
                                                                    proper#(U32(X1, X2)) -> proper#(X2),
                                                                proper#(U31(X1, X2, X3)) -> proper#(X1),
                                                                proper#(U31(X1, X2, X3)) -> proper#(X2),
                                                                         proper#(U33(X)) -> proper#(X),
                                                                    proper#(U41(X1, X2)) -> proper#(X1),
                                                                    proper#(U41(X1, X2)) -> proper#(X2),
                                                                           proper#(s(X)) -> proper#(X),
                                                                   proper#(plus(X1, X2)) -> proper#(X1),
                                                                   proper#(plus(X1, X2)) -> proper#(X2)}
                                                              EDG:
                                                               {
                                                                (proper#(U13(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X2))
                                                                (proper#(U13(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X1))
                                                                (proper#(U13(X)) -> proper#(X), proper#(s(X)) -> proper#(X))
                                                                (proper#(U13(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X2))
                                                                (proper#(U13(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X1))
                                                                (proper#(U13(X)) -> proper#(X), proper#(U33(X)) -> proper#(X))
                                                                (proper#(U13(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                                (proper#(U13(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                                                (proper#(U13(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X2))
                                                                (proper#(U13(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X1))
                                                                (proper#(U13(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X1))
                                                                (proper#(U13(X)) -> proper#(X), proper#(U22(X)) -> proper#(X))
                                                                (proper#(U13(X)) -> proper#(X), proper#(U13(X)) -> proper#(X))
                                                                (proper#(U13(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                                (proper#(U13(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                (proper#(U13(X)) -> proper#(X), proper#(isNat(X)) -> proper#(X))
                                                                (proper#(U13(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X2))
                                                                (proper#(U13(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X1))
                                                                (proper#(U33(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X2))
                                                                (proper#(U33(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X1))
                                                                (proper#(U33(X)) -> proper#(X), proper#(s(X)) -> proper#(X))
                                                                (proper#(U33(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X2))
                                                                (proper#(U33(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X1))
                                                                (proper#(U33(X)) -> proper#(X), proper#(U33(X)) -> proper#(X))
                                                                (proper#(U33(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                                (proper#(U33(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                                                (proper#(U33(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X2))
                                                                (proper#(U33(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X1))
                                                                (proper#(U33(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X1))
                                                                (proper#(U33(X)) -> proper#(X), proper#(U22(X)) -> proper#(X))
                                                                (proper#(U33(X)) -> proper#(X), proper#(U13(X)) -> proper#(X))
                                                                (proper#(U33(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                                (proper#(U33(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                (proper#(U33(X)) -> proper#(X), proper#(isNat(X)) -> proper#(X))
                                                                (proper#(U33(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X2))
                                                                (proper#(U33(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X1))
                                                                (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(plus(X1, X2)) -> proper#(X2))
                                                                (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(plus(X1, X2)) -> proper#(X1))
                                                                (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(s(X)) -> proper#(X))
                                                                (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U41(X1, X2)) -> proper#(X2))
                                                                (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U41(X1, X2)) -> proper#(X1))
                                                                (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U33(X)) -> proper#(X))
                                                                (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                                (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                                                (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U32(X1, X2)) -> proper#(X2))
                                                                (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U32(X1, X2)) -> proper#(X1))
                                                                (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U21(X1, X2)) -> proper#(X1))
                                                                (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U22(X)) -> proper#(X))
                                                                (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U13(X)) -> proper#(X))
                                                                (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                                (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(isNat(X)) -> proper#(X))
                                                                (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U12(X1, X2)) -> proper#(X2))
                                                                (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U12(X1, X2)) -> proper#(X1))
                                                                (proper#(U32(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X2))
                                                                (proper#(U32(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X1))
                                                                (proper#(U32(X1, X2)) -> proper#(X2), proper#(s(X)) -> proper#(X))
                                                                (proper#(U32(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
                                                                (proper#(U32(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
                                                                (proper#(U32(X1, X2)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
                                                                (proper#(U32(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                                (proper#(U32(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                                                (proper#(U32(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
                                                                (proper#(U32(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
                                                                (proper#(U32(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
                                                                (proper#(U32(X1, X2)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
                                                                (proper#(U32(X1, X2)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
                                                                (proper#(U32(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                                (proper#(U32(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                (proper#(U32(X1, X2)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
                                                                (proper#(U32(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
                                                                (proper#(U32(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
                                                                (proper#(U41(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X2))
                                                                (proper#(U41(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X1))
                                                                (proper#(U41(X1, X2)) -> proper#(X2), proper#(s(X)) -> proper#(X))
                                                                (proper#(U41(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
                                                                (proper#(U41(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
                                                                (proper#(U41(X1, X2)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
                                                                (proper#(U41(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                                (proper#(U41(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                                                (proper#(U41(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
                                                                (proper#(U41(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
                                                                (proper#(U41(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
                                                                (proper#(U41(X1, X2)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
                                                                (proper#(U41(X1, X2)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
                                                                (proper#(U41(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                                (proper#(U41(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                (proper#(U41(X1, X2)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
                                                                (proper#(U41(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
                                                                (proper#(U41(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
                                                                (proper#(U12(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X2))
                                                                (proper#(U12(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X1))
                                                                (proper#(U12(X1, X2)) -> proper#(X1), proper#(s(X)) -> proper#(X))
                                                                (proper#(U12(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
                                                                (proper#(U12(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
                                                                (proper#(U12(X1, X2)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                                                                (proper#(U12(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                                (proper#(U12(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                                                (proper#(U12(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                                                                (proper#(U12(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                                                                (proper#(U12(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                                                                (proper#(U12(X1, X2)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
                                                                (proper#(U12(X1, X2)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
                                                                (proper#(U12(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                                (proper#(U12(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                (proper#(U12(X1, X2)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                                                                (proper#(U12(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                                                                (proper#(U12(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                                                                (proper#(U21(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X2))
                                                                (proper#(U21(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X1))
                                                                (proper#(U21(X1, X2)) -> proper#(X1), proper#(s(X)) -> proper#(X))
                                                                (proper#(U21(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
                                                                (proper#(U21(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
                                                                (proper#(U21(X1, X2)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                                                                (proper#(U21(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                                (proper#(U21(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                                                (proper#(U21(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                                                                (proper#(U21(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                                                                (proper#(U21(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                                                                (proper#(U21(X1, X2)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
                                                                (proper#(U21(X1, X2)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
                                                                (proper#(U21(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                                (proper#(U21(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                (proper#(U21(X1, X2)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                                                                (proper#(U21(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                                                                (proper#(U21(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                                                                (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X2))
                                                                (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X1))
                                                                (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(s(X)) -> proper#(X))
                                                                (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
                                                                (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
                                                                (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                                                                (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                                (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                                                (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                                                                (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                                                                (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                                                                (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
                                                                (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
                                                                (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                                (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                                                                (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                                                                (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                                                                (proper#(plus(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X2))
                                                                (proper#(plus(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X1))
                                                                (proper#(plus(X1, X2)) -> proper#(X1), proper#(s(X)) -> proper#(X))
                                                                (proper#(plus(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
                                                                (proper#(plus(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
                                                                (proper#(plus(X1, X2)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                                                                (proper#(plus(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                                (proper#(plus(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                                                (proper#(plus(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                                                                (proper#(plus(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                                                                (proper#(plus(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                                                                (proper#(plus(X1, X2)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
                                                                (proper#(plus(X1, X2)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
                                                                (proper#(plus(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                                (proper#(plus(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                (proper#(plus(X1, X2)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                                                                (proper#(plus(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                                                                (proper#(plus(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                                                                (proper#(U41(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                                                                (proper#(U41(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                                                                (proper#(U41(X1, X2)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                                                                (proper#(U41(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                (proper#(U41(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                                (proper#(U41(X1, X2)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
                                                                (proper#(U41(X1, X2)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
                                                                (proper#(U41(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                                                                (proper#(U41(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                                                                (proper#(U41(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                                                                (proper#(U41(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                                                (proper#(U41(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                                (proper#(U41(X1, X2)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                                                                (proper#(U41(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
                                                                (proper#(U41(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
                                                                (proper#(U41(X1, X2)) -> proper#(X1), proper#(s(X)) -> proper#(X))
                                                                (proper#(U41(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X1))
                                                                (proper#(U41(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X2))
                                                                (proper#(U32(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                                                                (proper#(U32(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                                                                (proper#(U32(X1, X2)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                                                                (proper#(U32(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                (proper#(U32(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                                (proper#(U32(X1, X2)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
                                                                (proper#(U32(X1, X2)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
                                                                (proper#(U32(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                                                                (proper#(U32(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                                                                (proper#(U32(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                                                                (proper#(U32(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                                                (proper#(U32(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                                (proper#(U32(X1, X2)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                                                                (proper#(U32(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
                                                                (proper#(U32(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
                                                                (proper#(U32(X1, X2)) -> proper#(X1), proper#(s(X)) -> proper#(X))
                                                                (proper#(U32(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X1))
                                                                (proper#(U32(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X2))
                                                                (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                                                                (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                                                                (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                                                                (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                                (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
                                                                (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
                                                                (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                                                                (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                                                                (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                                                                (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                                                (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                                (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                                                                (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
                                                                (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
                                                                (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(s(X)) -> proper#(X))
                                                                (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X1))
                                                                (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X2))
                                                                (proper#(plus(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
                                                                (proper#(plus(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
                                                                (proper#(plus(X1, X2)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
                                                                (proper#(plus(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                (proper#(plus(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                                (proper#(plus(X1, X2)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
                                                                (proper#(plus(X1, X2)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
                                                                (proper#(plus(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
                                                                (proper#(plus(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
                                                                (proper#(plus(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
                                                                (proper#(plus(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                                                (proper#(plus(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                                (proper#(plus(X1, X2)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
                                                                (proper#(plus(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
                                                                (proper#(plus(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
                                                                (proper#(plus(X1, X2)) -> proper#(X2), proper#(s(X)) -> proper#(X))
                                                                (proper#(plus(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X1))
                                                                (proper#(plus(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X2))
                                                                (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
                                                                (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
                                                                (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
                                                                (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                                (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
                                                                (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
                                                                (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
                                                                (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
                                                                (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
                                                                (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                                                (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                                (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
                                                                (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
                                                                (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
                                                                (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(s(X)) -> proper#(X))
                                                                (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X1))
                                                                (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X2))
                                                                (proper#(U12(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
                                                                (proper#(U12(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
                                                                (proper#(U12(X1, X2)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
                                                                (proper#(U12(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                (proper#(U12(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                                (proper#(U12(X1, X2)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
                                                                (proper#(U12(X1, X2)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
                                                                (proper#(U12(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
                                                                (proper#(U12(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
                                                                (proper#(U12(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
                                                                (proper#(U12(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                                                (proper#(U12(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                                (proper#(U12(X1, X2)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
                                                                (proper#(U12(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
                                                                (proper#(U12(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
                                                                (proper#(U12(X1, X2)) -> proper#(X2), proper#(s(X)) -> proper#(X))
                                                                (proper#(U12(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X1))
                                                                (proper#(U12(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X2))
                                                                (proper#(s(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X1))
                                                                (proper#(s(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X2))
                                                                (proper#(s(X)) -> proper#(X), proper#(isNat(X)) -> proper#(X))
                                                                (proper#(s(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                (proper#(s(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                                (proper#(s(X)) -> proper#(X), proper#(U13(X)) -> proper#(X))
                                                                (proper#(s(X)) -> proper#(X), proper#(U22(X)) -> proper#(X))
                                                                (proper#(s(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X1))
                                                                (proper#(s(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X1))
                                                                (proper#(s(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X2))
                                                                (proper#(s(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                                                (proper#(s(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                                (proper#(s(X)) -> proper#(X), proper#(U33(X)) -> proper#(X))
                                                                (proper#(s(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X1))
                                                                (proper#(s(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X2))
                                                                (proper#(s(X)) -> proper#(X), proper#(s(X)) -> proper#(X))
                                                                (proper#(s(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X1))
                                                                (proper#(s(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X2))
                                                                (proper#(U22(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X1))
                                                                (proper#(U22(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X2))
                                                                (proper#(U22(X)) -> proper#(X), proper#(isNat(X)) -> proper#(X))
                                                                (proper#(U22(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                (proper#(U22(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                                (proper#(U22(X)) -> proper#(X), proper#(U13(X)) -> proper#(X))
                                                                (proper#(U22(X)) -> proper#(X), proper#(U22(X)) -> proper#(X))
                                                                (proper#(U22(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X1))
                                                                (proper#(U22(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X1))
                                                                (proper#(U22(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X2))
                                                                (proper#(U22(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                                                (proper#(U22(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                                (proper#(U22(X)) -> proper#(X), proper#(U33(X)) -> proper#(X))
                                                                (proper#(U22(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X1))
                                                                (proper#(U22(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X2))
                                                                (proper#(U22(X)) -> proper#(X), proper#(s(X)) -> proper#(X))
                                                                (proper#(U22(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X1))
                                                                (proper#(U22(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X2))
                                                                (proper#(isNat(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X1))
                                                                (proper#(isNat(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X2))
                                                                (proper#(isNat(X)) -> proper#(X), proper#(isNat(X)) -> proper#(X))
                                                                (proper#(isNat(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                (proper#(isNat(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                                (proper#(isNat(X)) -> proper#(X), proper#(U13(X)) -> proper#(X))
                                                                (proper#(isNat(X)) -> proper#(X), proper#(U22(X)) -> proper#(X))
                                                                (proper#(isNat(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X1))
                                                                (proper#(isNat(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X1))
                                                                (proper#(isNat(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X2))
                                                                (proper#(isNat(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                                                (proper#(isNat(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                                (proper#(isNat(X)) -> proper#(X), proper#(U33(X)) -> proper#(X))
                                                                (proper#(isNat(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X1))
                                                                (proper#(isNat(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X2))
                                                                (proper#(isNat(X)) -> proper#(X), proper#(s(X)) -> proper#(X))
                                                                (proper#(isNat(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X1))
                                                                (proper#(isNat(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X2))
                                                               }
                                                               SCCS:
                                                                Scc:
                                                                 {    proper#(U12(X1, X2)) -> proper#(X1),
                                                                      proper#(U12(X1, X2)) -> proper#(X2),
                                                                         proper#(isNat(X)) -> proper#(X),
                                                                  proper#(U11(X1, X2, X3)) -> proper#(X1),
                                                                  proper#(U11(X1, X2, X3)) -> proper#(X3),
                                                                           proper#(U13(X)) -> proper#(X),
                                                                           proper#(U22(X)) -> proper#(X),
                                                                      proper#(U21(X1, X2)) -> proper#(X1),
                                                                      proper#(U32(X1, X2)) -> proper#(X1),
                                                                      proper#(U32(X1, X2)) -> proper#(X2),
                                                                  proper#(U31(X1, X2, X3)) -> proper#(X1),
                                                                  proper#(U31(X1, X2, X3)) -> proper#(X2),
                                                                           proper#(U33(X)) -> proper#(X),
                                                                      proper#(U41(X1, X2)) -> proper#(X1),
                                                                      proper#(U41(X1, X2)) -> proper#(X2),
                                                                             proper#(s(X)) -> proper#(X),
                                                                     proper#(plus(X1, X2)) -> proper#(X1),
                                                                     proper#(plus(X1, X2)) -> proper#(X2)}
                                                                SCC:
                                                                 Strict:
                                                                  {    proper#(U12(X1, X2)) -> proper#(X1),
                                                                       proper#(U12(X1, X2)) -> proper#(X2),
                                                                          proper#(isNat(X)) -> proper#(X),
                                                                   proper#(U11(X1, X2, X3)) -> proper#(X1),
                                                                   proper#(U11(X1, X2, X3)) -> proper#(X3),
                                                                            proper#(U13(X)) -> proper#(X),
                                                                            proper#(U22(X)) -> proper#(X),
                                                                       proper#(U21(X1, X2)) -> proper#(X1),
                                                                       proper#(U32(X1, X2)) -> proper#(X1),
                                                                       proper#(U32(X1, X2)) -> proper#(X2),
                                                                   proper#(U31(X1, X2, X3)) -> proper#(X1),
                                                                   proper#(U31(X1, X2, X3)) -> proper#(X2),
                                                                            proper#(U33(X)) -> proper#(X),
                                                                       proper#(U41(X1, X2)) -> proper#(X1),
                                                                       proper#(U41(X1, X2)) -> proper#(X2),
                                                                              proper#(s(X)) -> proper#(X),
                                                                      proper#(plus(X1, X2)) -> proper#(X1),
                                                                      proper#(plus(X1, X2)) -> proper#(X2)}
                                                                 Weak:
                                                                 {              U12(mark(X1), X2) -> mark(U12(X1, X2)),
                                                                              U12(ok(X1), ok(X2)) -> ok(U12(X1, X2)),
                                                                                     isNat(ok(X)) -> ok(isNat(X)),
                                                                              active(U12(X1, X2)) -> U12(active(X1), X2),
                                                                            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(X1, X2, X3)) -> U11(active(X1), X2, X3),
                                                                        active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                                                                                   active(U13(X)) -> U13(active(X)),
                                                                                active(U13(tt())) -> mark(tt()),
                                                                                   active(U22(X)) -> U22(active(X)),
                                                                                active(U22(tt())) -> mark(tt()),
                                                                              active(U21(X1, X2)) -> U21(active(X1), X2),
                                                                            active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                                                                              active(U32(X1, X2)) -> U32(active(X1), X2),
                                                                            active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
                                                                          active(U31(X1, X2, X3)) -> U31(active(X1), X2, X3),
                                                                        active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                                                                                   active(U33(X)) -> U33(active(X)),
                                                                                active(U33(tt())) -> mark(tt()),
                                                                              active(U41(X1, X2)) -> U41(active(X1), X2),
                                                                             active(U41(tt(), N)) -> mark(N),
                                                                                     active(s(X)) -> s(active(X)),
                                                                            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(plus(X1, X2)) -> plus(X1, active(X2)),
                                                                             active(plus(X1, X2)) -> plus(active(X1), X2),
                                                                          active(U51(X1, X2, X3)) -> U51(active(X1), X2, X3),
                                                                          active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                                                                                   active(U61(X)) -> U61(active(X)),
                                                                                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(x(X1, X2)) -> x(X1, active(X2)),
                                                                                active(x(X1, X2)) -> x(active(X1), X2),
                                                                          active(U71(X1, X2, X3)) -> U71(active(X1), X2, X3),
                                                                          active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                                                                              active(and(X1, X2)) -> and(active(X1), X2),
                                                                             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(mark(X1), X2, X3) -> mark(U11(X1, X2, X3)),
                                                                      U11(ok(X1), ok(X2), ok(X3)) -> ok(U11(X1, X2, X3)),
                                                                                     U13(mark(X)) -> mark(U13(X)),
                                                                                       U13(ok(X)) -> ok(U13(X)),
                                                                                     U22(mark(X)) -> mark(U22(X)),
                                                                                       U22(ok(X)) -> ok(U22(X)),
                                                                                U21(mark(X1), X2) -> mark(U21(X1, X2)),
                                                                              U21(ok(X1), ok(X2)) -> ok(U21(X1, X2)),
                                                                                U32(mark(X1), X2) -> mark(U32(X1, X2)),
                                                                              U32(ok(X1), ok(X2)) -> ok(U32(X1, X2)),
                                                                            U31(mark(X1), X2, X3) -> mark(U31(X1, X2, X3)),
                                                                      U31(ok(X1), ok(X2), ok(X3)) -> ok(U31(X1, X2, X3)),
                                                                                     U33(mark(X)) -> mark(U33(X)),
                                                                                       U33(ok(X)) -> ok(U33(X)),
                                                                                U41(mark(X1), X2) -> mark(U41(X1, X2)),
                                                                              U41(ok(X1), ok(X2)) -> ok(U41(X1, X2)),
                                                                                       s(mark(X)) -> mark(s(X)),
                                                                                         s(ok(X)) -> ok(s(X)),
                                                                               plus(X1, mark(X2)) -> mark(plus(X1, X2)),
                                                                               plus(mark(X1), X2) -> mark(plus(X1, X2)),
                                                                             plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)),
                                                                            U51(mark(X1), X2, X3) -> mark(U51(X1, X2, X3)),
                                                                      U51(ok(X1), ok(X2), ok(X3)) -> ok(U51(X1, X2, X3)),
                                                                                     U61(mark(X)) -> mark(U61(X)),
                                                                                       U61(ok(X)) -> ok(U61(X)),
                                                                                  x(X1, mark(X2)) -> mark(x(X1, X2)),
                                                                                  x(mark(X1), X2) -> mark(x(X1, X2)),
                                                                                x(ok(X1), ok(X2)) -> ok(x(X1, X2)),
                                                                            U71(mark(X1), X2, X3) -> mark(U71(X1, X2, X3)),
                                                                      U71(ok(X1), ok(X2), ok(X3)) -> ok(U71(X1, X2, X3)),
                                                                                and(mark(X1), X2) -> mark(and(X1, X2)),
                                                                              and(ok(X1), ok(X2)) -> ok(and(X1, X2)),
                                                                                 isNatKind(ok(X)) -> ok(isNatKind(X)),
                                                                              proper(U12(X1, X2)) -> U12(proper(X1), proper(X2)),
                                                                                 proper(isNat(X)) -> isNat(proper(X)),
                                                                          proper(U11(X1, X2, X3)) -> U11(proper(X1), proper(X2), proper(X3)),
                                                                                     proper(tt()) -> ok(tt()),
                                                                                   proper(U13(X)) -> U13(proper(X)),
                                                                                   proper(U22(X)) -> U22(proper(X)),
                                                                              proper(U21(X1, X2)) -> U21(proper(X1), proper(X2)),
                                                                              proper(U32(X1, X2)) -> U32(proper(X1), proper(X2)),
                                                                          proper(U31(X1, X2, X3)) -> U31(proper(X1), proper(X2), proper(X3)),
                                                                                   proper(U33(X)) -> U33(proper(X)),
                                                                              proper(U41(X1, X2)) -> U41(proper(X1), proper(X2)),
                                                                                     proper(s(X)) -> s(proper(X)),
                                                                             proper(plus(X1, X2)) -> plus(proper(X1), proper(X2)),
                                                                          proper(U51(X1, X2, X3)) -> U51(proper(X1), proper(X2), proper(X3)),
                                                                                      proper(0()) -> ok(0()),
                                                                                   proper(U61(X)) -> U61(proper(X)),
                                                                                proper(x(X1, X2)) -> x(proper(X1), proper(X2)),
                                                                          proper(U71(X1, X2, X3)) -> U71(proper(X1), proper(X2), proper(X3)),
                                                                              proper(and(X1, X2)) -> and(proper(X1), proper(X2)),
                                                                             proper(isNatKind(X)) -> isNatKind(proper(X)),
                                                                                     top(mark(X)) -> top(proper(X)),
                                                                                       top(ok(X)) -> top(active(X))}
                                                                 SPSC:
                                                                  Simple Projection:
                                                                   pi(proper#) = 0
                                                                  Strict:
                                                                   {    proper#(U12(X1, X2)) -> proper#(X1),
                                                                        proper#(U12(X1, X2)) -> proper#(X2),
                                                                           proper#(isNat(X)) -> proper#(X),
                                                                    proper#(U11(X1, X2, X3)) -> proper#(X1),
                                                                    proper#(U11(X1, X2, X3)) -> proper#(X3),
                                                                             proper#(U13(X)) -> proper#(X),
                                                                             proper#(U22(X)) -> proper#(X),
                                                                        proper#(U21(X1, X2)) -> proper#(X1),
                                                                        proper#(U32(X1, X2)) -> proper#(X1),
                                                                        proper#(U32(X1, X2)) -> proper#(X2),
                                                                    proper#(U31(X1, X2, X3)) -> proper#(X1),
                                                                    proper#(U31(X1, X2, X3)) -> proper#(X2),
                                                                             proper#(U33(X)) -> proper#(X),
                                                                        proper#(U41(X1, X2)) -> proper#(X1),
                                                                        proper#(U41(X1, X2)) -> proper#(X2),
                                                                               proper#(s(X)) -> proper#(X),
                                                                       proper#(plus(X1, X2)) -> proper#(X1)}
                                                                  EDG:
                                                                   {
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X1))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(s(X)) -> proper#(X))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X1))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(s(X)) -> proper#(X))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X1))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(s(X)) -> proper#(X))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X1))
                                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(s(X)) -> proper#(X))
                                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
                                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
                                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
                                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
                                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X1))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(s(X)) -> proper#(X))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(plus(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X1))
                                                                    (proper#(plus(X1, X2)) -> proper#(X1), proper#(s(X)) -> proper#(X))
                                                                    (proper#(plus(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
                                                                    (proper#(plus(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
                                                                    (proper#(plus(X1, X2)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                                                                    (proper#(plus(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                                    (proper#(plus(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(plus(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                                                                    (proper#(plus(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                                                                    (proper#(plus(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                                                                    (proper#(plus(X1, X2)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
                                                                    (proper#(plus(X1, X2)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
                                                                    (proper#(plus(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                                    (proper#(plus(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(plus(X1, X2)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                                                                    (proper#(plus(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(plus(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(U13(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X1))
                                                                    (proper#(U13(X)) -> proper#(X), proper#(s(X)) -> proper#(X))
                                                                    (proper#(U13(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X2))
                                                                    (proper#(U13(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X1))
                                                                    (proper#(U13(X)) -> proper#(X), proper#(U33(X)) -> proper#(X))
                                                                    (proper#(U13(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                                    (proper#(U13(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U13(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X2))
                                                                    (proper#(U13(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X1))
                                                                    (proper#(U13(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X1))
                                                                    (proper#(U13(X)) -> proper#(X), proper#(U22(X)) -> proper#(X))
                                                                    (proper#(U13(X)) -> proper#(X), proper#(U13(X)) -> proper#(X))
                                                                    (proper#(U13(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                                    (proper#(U13(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U13(X)) -> proper#(X), proper#(isNat(X)) -> proper#(X))
                                                                    (proper#(U13(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(U13(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(U33(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X1))
                                                                    (proper#(U33(X)) -> proper#(X), proper#(s(X)) -> proper#(X))
                                                                    (proper#(U33(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X2))
                                                                    (proper#(U33(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X1))
                                                                    (proper#(U33(X)) -> proper#(X), proper#(U33(X)) -> proper#(X))
                                                                    (proper#(U33(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                                    (proper#(U33(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U33(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X2))
                                                                    (proper#(U33(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X1))
                                                                    (proper#(U33(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X1))
                                                                    (proper#(U33(X)) -> proper#(X), proper#(U22(X)) -> proper#(X))
                                                                    (proper#(U33(X)) -> proper#(X), proper#(U13(X)) -> proper#(X))
                                                                    (proper#(U33(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                                    (proper#(U33(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U33(X)) -> proper#(X), proper#(isNat(X)) -> proper#(X))
                                                                    (proper#(U33(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(U33(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(s(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(s(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(s(X)) -> proper#(X), proper#(isNat(X)) -> proper#(X))
                                                                    (proper#(s(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(s(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                                    (proper#(s(X)) -> proper#(X), proper#(U13(X)) -> proper#(X))
                                                                    (proper#(s(X)) -> proper#(X), proper#(U22(X)) -> proper#(X))
                                                                    (proper#(s(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X1))
                                                                    (proper#(s(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X1))
                                                                    (proper#(s(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X2))
                                                                    (proper#(s(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(s(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                                    (proper#(s(X)) -> proper#(X), proper#(U33(X)) -> proper#(X))
                                                                    (proper#(s(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X1))
                                                                    (proper#(s(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X2))
                                                                    (proper#(s(X)) -> proper#(X), proper#(s(X)) -> proper#(X))
                                                                    (proper#(s(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X1))
                                                                    (proper#(U22(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(U22(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(U22(X)) -> proper#(X), proper#(isNat(X)) -> proper#(X))
                                                                    (proper#(U22(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U22(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                                    (proper#(U22(X)) -> proper#(X), proper#(U13(X)) -> proper#(X))
                                                                    (proper#(U22(X)) -> proper#(X), proper#(U22(X)) -> proper#(X))
                                                                    (proper#(U22(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X1))
                                                                    (proper#(U22(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X1))
                                                                    (proper#(U22(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X2))
                                                                    (proper#(U22(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U22(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                                    (proper#(U22(X)) -> proper#(X), proper#(U33(X)) -> proper#(X))
                                                                    (proper#(U22(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X1))
                                                                    (proper#(U22(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X2))
                                                                    (proper#(U22(X)) -> proper#(X), proper#(s(X)) -> proper#(X))
                                                                    (proper#(U22(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X1))
                                                                    (proper#(isNat(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(isNat(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(isNat(X)) -> proper#(X), proper#(isNat(X)) -> proper#(X))
                                                                    (proper#(isNat(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(isNat(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                                    (proper#(isNat(X)) -> proper#(X), proper#(U13(X)) -> proper#(X))
                                                                    (proper#(isNat(X)) -> proper#(X), proper#(U22(X)) -> proper#(X))
                                                                    (proper#(isNat(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X1))
                                                                    (proper#(isNat(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X1))
                                                                    (proper#(isNat(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X2))
                                                                    (proper#(isNat(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(isNat(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                                    (proper#(isNat(X)) -> proper#(X), proper#(U33(X)) -> proper#(X))
                                                                    (proper#(isNat(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X1))
                                                                    (proper#(isNat(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X2))
                                                                    (proper#(isNat(X)) -> proper#(X), proper#(s(X)) -> proper#(X))
                                                                    (proper#(isNat(X)) -> proper#(X), proper#(plus(X1, X2)) -> proper#(X1))
                                                                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                                                                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
                                                                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
                                                                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                                                                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                                                                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                                                                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                                                                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
                                                                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
                                                                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(s(X)) -> proper#(X))
                                                                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X1))
                                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
                                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
                                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
                                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
                                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(s(X)) -> proper#(X))
                                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X1))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(s(X)) -> proper#(X))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(plus(X1, X2)) -> proper#(X1))
                                                                    (proper#(U41(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(U41(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(U41(X1, X2)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
                                                                    (proper#(U41(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U41(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                                    (proper#(U41(X1, X2)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
                                                                    (proper#(U41(X1, X2)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
                                                                    (proper#(U41(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
                                                                    (proper#(U41(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
                                                                    (proper#(U41(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
                                                                    (proper#(U41(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U41(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                                    (proper#(U41(X1, X2)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
                                                                    (proper#(U41(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
                                                                    (proper#(U41(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
                                                                    (proper#(U41(X1, X2)) -> proper#(X2), proper#(s(X)) -> proper#(X))
                                                                    (proper#(U41(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X1))
                                                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
                                                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
                                                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
                                                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
                                                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
                                                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
                                                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
                                                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
                                                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
                                                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(s(X)) -> proper#(X))
                                                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(plus(X1, X2)) -> proper#(X1))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(isNat(X)) -> proper#(X))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U13(X)) -> proper#(X))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U22(X)) -> proper#(X))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U21(X1, X2)) -> proper#(X1))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U32(X1, X2)) -> proper#(X1))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U32(X1, X2)) -> proper#(X2))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U33(X)) -> proper#(X))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U41(X1, X2)) -> proper#(X1))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U41(X1, X2)) -> proper#(X2))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(s(X)) -> proper#(X))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(plus(X1, X2)) -> proper#(X1))
                                                                   }
                                                                   SCCS:
                                                                    Scc:
                                                                    {    proper#(U12(X1, X2)) -> proper#(X1),
                                                                        proper#(U12(X1, X2)) -> proper#(X2),
                                                                           proper#(isNat(X)) -> proper#(X),
                                                                    proper#(U11(X1, X2, X3)) -> proper#(X1),
                                                                    proper#(U11(X1, X2, X3)) -> proper#(X3),
                                                                             proper#(U13(X)) -> proper#(X),
                                                                             proper#(U22(X)) -> proper#(X),
                                                                        proper#(U21(X1, X2)) -> proper#(X1),
                                                                        proper#(U32(X1, X2)) -> proper#(X1),
                                                                        proper#(U32(X1, X2)) -> proper#(X2),
                                                                    proper#(U31(X1, X2, X3)) -> proper#(X1),
                                                                    proper#(U31(X1, X2, X3)) -> proper#(X2),
                                                                             proper#(U33(X)) -> proper#(X),
                                                                        proper#(U41(X1, X2)) -> proper#(X1),
                                                                        proper#(U41(X1, X2)) -> proper#(X2),
                                                                               proper#(s(X)) -> proper#(X),
                                                                       proper#(plus(X1, X2)) -> proper#(X1)}
                                                                    SCC:
                                                                    Strict:
                                                                    {    proper#(U12(X1, X2)) -> proper#(X1),
                                                                        proper#(U12(X1, X2)) -> proper#(X2),
                                                                           proper#(isNat(X)) -> proper#(X),
                                                                    proper#(U11(X1, X2, X3)) -> proper#(X1),
                                                                    proper#(U11(X1, X2, X3)) -> proper#(X3),
                                                                             proper#(U13(X)) -> proper#(X),
                                                                             proper#(U22(X)) -> proper#(X),
                                                                        proper#(U21(X1, X2)) -> proper#(X1),
                                                                        proper#(U32(X1, X2)) -> proper#(X1),
                                                                        proper#(U32(X1, X2)) -> proper#(X2),
                                                                    proper#(U31(X1, X2, X3)) -> proper#(X1),
                                                                    proper#(U31(X1, X2, X3)) -> proper#(X2),
                                                                             proper#(U33(X)) -> proper#(X),
                                                                        proper#(U41(X1, X2)) -> proper#(X1),
                                                                        proper#(U41(X1, X2)) -> proper#(X2),
                                                                               proper#(s(X)) -> proper#(X),
                                                                       proper#(plus(X1, X2)) -> proper#(X1)}
                                                                    Weak:
                                                                    {              U12(mark(X1), X2) -> mark(U12(X1, X2)),
                                                                                U12(ok(X1), ok(X2)) -> ok(U12(X1, X2)),
                                                                                       isNat(ok(X)) -> ok(isNat(X)),
                                                                                active(U12(X1, X2)) -> U12(active(X1), X2),
                                                                              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(X1, X2, X3)) -> U11(active(X1), X2, X3),
                                                                          active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                                                                                     active(U13(X)) -> U13(active(X)),
                                                                                  active(U13(tt())) -> mark(tt()),
                                                                                     active(U22(X)) -> U22(active(X)),
                                                                                  active(U22(tt())) -> mark(tt()),
                                                                                active(U21(X1, X2)) -> U21(active(X1), X2),
                                                                              active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                                                                                active(U32(X1, X2)) -> U32(active(X1), X2),
                                                                              active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
                                                                            active(U31(X1, X2, X3)) -> U31(active(X1), X2, X3),
                                                                          active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                                                                                     active(U33(X)) -> U33(active(X)),
                                                                                  active(U33(tt())) -> mark(tt()),
                                                                                active(U41(X1, X2)) -> U41(active(X1), X2),
                                                                               active(U41(tt(), N)) -> mark(N),
                                                                                       active(s(X)) -> s(active(X)),
                                                                              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(plus(X1, X2)) -> plus(X1, active(X2)),
                                                                               active(plus(X1, X2)) -> plus(active(X1), X2),
                                                                            active(U51(X1, X2, X3)) -> U51(active(X1), X2, X3),
                                                                            active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                                                                                     active(U61(X)) -> U61(active(X)),
                                                                                  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(x(X1, X2)) -> x(X1, active(X2)),
                                                                                  active(x(X1, X2)) -> x(active(X1), X2),
                                                                            active(U71(X1, X2, X3)) -> U71(active(X1), X2, X3),
                                                                            active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                                                                                active(and(X1, X2)) -> and(active(X1), X2),
                                                                               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(mark(X1), X2, X3) -> mark(U11(X1, X2, X3)),
                                                                        U11(ok(X1), ok(X2), ok(X3)) -> ok(U11(X1, X2, X3)),
                                                                                       U13(mark(X)) -> mark(U13(X)),
                                                                                         U13(ok(X)) -> ok(U13(X)),
                                                                                       U22(mark(X)) -> mark(U22(X)),
                                                                                         U22(ok(X)) -> ok(U22(X)),
                                                                                  U21(mark(X1), X2) -> mark(U21(X1, X2)),
                                                                                U21(ok(X1), ok(X2)) -> ok(U21(X1, X2)),
                                                                                  U32(mark(X1), X2) -> mark(U32(X1, X2)),
                                                                                U32(ok(X1), ok(X2)) -> ok(U32(X1, X2)),
                                                                              U31(mark(X1), X2, X3) -> mark(U31(X1, X2, X3)),
                                                                        U31(ok(X1), ok(X2), ok(X3)) -> ok(U31(X1, X2, X3)),
                                                                                       U33(mark(X)) -> mark(U33(X)),
                                                                                         U33(ok(X)) -> ok(U33(X)),
                                                                                  U41(mark(X1), X2) -> mark(U41(X1, X2)),
                                                                                U41(ok(X1), ok(X2)) -> ok(U41(X1, X2)),
                                                                                         s(mark(X)) -> mark(s(X)),
                                                                                           s(ok(X)) -> ok(s(X)),
                                                                                 plus(X1, mark(X2)) -> mark(plus(X1, X2)),
                                                                                 plus(mark(X1), X2) -> mark(plus(X1, X2)),
                                                                               plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)),
                                                                              U51(mark(X1), X2, X3) -> mark(U51(X1, X2, X3)),
                                                                        U51(ok(X1), ok(X2), ok(X3)) -> ok(U51(X1, X2, X3)),
                                                                                       U61(mark(X)) -> mark(U61(X)),
                                                                                         U61(ok(X)) -> ok(U61(X)),
                                                                                    x(X1, mark(X2)) -> mark(x(X1, X2)),
                                                                                    x(mark(X1), X2) -> mark(x(X1, X2)),
                                                                                  x(ok(X1), ok(X2)) -> ok(x(X1, X2)),
                                                                              U71(mark(X1), X2, X3) -> mark(U71(X1, X2, X3)),
                                                                        U71(ok(X1), ok(X2), ok(X3)) -> ok(U71(X1, X2, X3)),
                                                                                  and(mark(X1), X2) -> mark(and(X1, X2)),
                                                                                and(ok(X1), ok(X2)) -> ok(and(X1, X2)),
                                                                                   isNatKind(ok(X)) -> ok(isNatKind(X)),
                                                                                proper(U12(X1, X2)) -> U12(proper(X1), proper(X2)),
                                                                                   proper(isNat(X)) -> isNat(proper(X)),
                                                                            proper(U11(X1, X2, X3)) -> U11(proper(X1), proper(X2), proper(X3)),
                                                                                       proper(tt()) -> ok(tt()),
                                                                                     proper(U13(X)) -> U13(proper(X)),
                                                                                     proper(U22(X)) -> U22(proper(X)),
                                                                                proper(U21(X1, X2)) -> U21(proper(X1), proper(X2)),
                                                                                proper(U32(X1, X2)) -> U32(proper(X1), proper(X2)),
                                                                            proper(U31(X1, X2, X3)) -> U31(proper(X1), proper(X2), proper(X3)),
                                                                                     proper(U33(X)) -> U33(proper(X)),
                                                                                proper(U41(X1, X2)) -> U41(proper(X1), proper(X2)),
                                                                                       proper(s(X)) -> s(proper(X)),
                                                                               proper(plus(X1, X2)) -> plus(proper(X1), proper(X2)),
                                                                            proper(U51(X1, X2, X3)) -> U51(proper(X1), proper(X2), proper(X3)),
                                                                                        proper(0()) -> ok(0()),
                                                                                     proper(U61(X)) -> U61(proper(X)),
                                                                                  proper(x(X1, X2)) -> x(proper(X1), proper(X2)),
                                                                            proper(U71(X1, X2, X3)) -> U71(proper(X1), proper(X2), proper(X3)),
                                                                                proper(and(X1, X2)) -> and(proper(X1), proper(X2)),
                                                                               proper(isNatKind(X)) -> isNatKind(proper(X)),
                                                                                       top(mark(X)) -> top(proper(X)),
                                                                                         top(ok(X)) -> top(active(X))}
                                                                    SPSC:
                                                                    Simple Projection:
                                                                    pi(proper#) = 0
                                                                    Strict:
                                                                    {    proper#(U12(X1, X2)) -> proper#(X1),
                                                                        proper#(U12(X1, X2)) -> proper#(X2),
                                                                           proper#(isNat(X)) -> proper#(X),
                                                                    proper#(U11(X1, X2, X3)) -> proper#(X1),
                                                                    proper#(U11(X1, X2, X3)) -> proper#(X3),
                                                                             proper#(U13(X)) -> proper#(X),
                                                                             proper#(U22(X)) -> proper#(X),
                                                                        proper#(U21(X1, X2)) -> proper#(X1),
                                                                        proper#(U32(X1, X2)) -> proper#(X1),
                                                                        proper#(U32(X1, X2)) -> proper#(X2),
                                                                    proper#(U31(X1, X2, X3)) -> proper#(X1),
                                                                    proper#(U31(X1, X2, X3)) -> proper#(X2),
                                                                             proper#(U33(X)) -> proper#(X),
                                                                        proper#(U41(X1, X2)) -> proper#(X1),
                                                                        proper#(U41(X1, X2)) -> proper#(X2),
                                                                               proper#(s(X)) -> proper#(X)}
                                                                    EDG:
                                                                    {
                                                                    (proper#(U13(X)) -> proper#(X), proper#(s(X)) -> proper#(X))
                                                                    (proper#(U13(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X2))
                                                                    (proper#(U13(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X1))
                                                                    (proper#(U13(X)) -> proper#(X), proper#(U33(X)) -> proper#(X))
                                                                    (proper#(U13(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                                    (proper#(U13(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U13(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X2))
                                                                    (proper#(U13(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X1))
                                                                    (proper#(U13(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X1))
                                                                    (proper#(U13(X)) -> proper#(X), proper#(U22(X)) -> proper#(X))
                                                                    (proper#(U13(X)) -> proper#(X), proper#(U13(X)) -> proper#(X))
                                                                    (proper#(U13(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                                    (proper#(U13(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U13(X)) -> proper#(X), proper#(isNat(X)) -> proper#(X))
                                                                    (proper#(U13(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(U13(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(U33(X)) -> proper#(X), proper#(s(X)) -> proper#(X))
                                                                    (proper#(U33(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X2))
                                                                    (proper#(U33(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X1))
                                                                    (proper#(U33(X)) -> proper#(X), proper#(U33(X)) -> proper#(X))
                                                                    (proper#(U33(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                                    (proper#(U33(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U33(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X2))
                                                                    (proper#(U33(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X1))
                                                                    (proper#(U33(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X1))
                                                                    (proper#(U33(X)) -> proper#(X), proper#(U22(X)) -> proper#(X))
                                                                    (proper#(U33(X)) -> proper#(X), proper#(U13(X)) -> proper#(X))
                                                                    (proper#(U33(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                                    (proper#(U33(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U33(X)) -> proper#(X), proper#(isNat(X)) -> proper#(X))
                                                                    (proper#(U33(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(U33(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(s(X)) -> proper#(X))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(s(X)) -> proper#(X))
                                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
                                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
                                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
                                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
                                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(s(X)) -> proper#(X))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(s(X)) -> proper#(X))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(s(X)) -> proper#(X))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(s(X)) -> proper#(X))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U41(X1, X2)) -> proper#(X2))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U41(X1, X2)) -> proper#(X1))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U33(X)) -> proper#(X))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U32(X1, X2)) -> proper#(X2))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U32(X1, X2)) -> proper#(X1))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U21(X1, X2)) -> proper#(X1))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U22(X)) -> proper#(X))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U13(X)) -> proper#(X))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(isNat(X)) -> proper#(X))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(U41(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(U41(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(U41(X1, X2)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
                                                                    (proper#(U41(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U41(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                                    (proper#(U41(X1, X2)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
                                                                    (proper#(U41(X1, X2)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
                                                                    (proper#(U41(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
                                                                    (proper#(U41(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
                                                                    (proper#(U41(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
                                                                    (proper#(U41(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U41(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                                    (proper#(U41(X1, X2)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
                                                                    (proper#(U41(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
                                                                    (proper#(U41(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
                                                                    (proper#(U41(X1, X2)) -> proper#(X2), proper#(s(X)) -> proper#(X))
                                                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
                                                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
                                                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
                                                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
                                                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
                                                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
                                                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
                                                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
                                                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X2))
                                                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(s(X)) -> proper#(X))
                                                                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                                                                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
                                                                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
                                                                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                                                                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                                                                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                                                                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                                                                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
                                                                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
                                                                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(s(X)) -> proper#(X))
                                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
                                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
                                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
                                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
                                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(s(X)) -> proper#(X))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X2))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(s(X)) -> proper#(X))
                                                                    (proper#(s(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(s(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(s(X)) -> proper#(X), proper#(isNat(X)) -> proper#(X))
                                                                    (proper#(s(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(s(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                                    (proper#(s(X)) -> proper#(X), proper#(U13(X)) -> proper#(X))
                                                                    (proper#(s(X)) -> proper#(X), proper#(U22(X)) -> proper#(X))
                                                                    (proper#(s(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X1))
                                                                    (proper#(s(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X1))
                                                                    (proper#(s(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X2))
                                                                    (proper#(s(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(s(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                                    (proper#(s(X)) -> proper#(X), proper#(U33(X)) -> proper#(X))
                                                                    (proper#(s(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X1))
                                                                    (proper#(s(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X2))
                                                                    (proper#(s(X)) -> proper#(X), proper#(s(X)) -> proper#(X))
                                                                    (proper#(U22(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(U22(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(U22(X)) -> proper#(X), proper#(isNat(X)) -> proper#(X))
                                                                    (proper#(U22(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U22(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                                    (proper#(U22(X)) -> proper#(X), proper#(U13(X)) -> proper#(X))
                                                                    (proper#(U22(X)) -> proper#(X), proper#(U22(X)) -> proper#(X))
                                                                    (proper#(U22(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X1))
                                                                    (proper#(U22(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X1))
                                                                    (proper#(U22(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X2))
                                                                    (proper#(U22(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U22(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                                    (proper#(U22(X)) -> proper#(X), proper#(U33(X)) -> proper#(X))
                                                                    (proper#(U22(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X1))
                                                                    (proper#(U22(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X2))
                                                                    (proper#(U22(X)) -> proper#(X), proper#(s(X)) -> proper#(X))
                                                                    (proper#(isNat(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(isNat(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(isNat(X)) -> proper#(X), proper#(isNat(X)) -> proper#(X))
                                                                    (proper#(isNat(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(isNat(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                                    (proper#(isNat(X)) -> proper#(X), proper#(U13(X)) -> proper#(X))
                                                                    (proper#(isNat(X)) -> proper#(X), proper#(U22(X)) -> proper#(X))
                                                                    (proper#(isNat(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X1))
                                                                    (proper#(isNat(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X1))
                                                                    (proper#(isNat(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X2))
                                                                    (proper#(isNat(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(isNat(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                                    (proper#(isNat(X)) -> proper#(X), proper#(U33(X)) -> proper#(X))
                                                                    (proper#(isNat(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X1))
                                                                    (proper#(isNat(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X2))
                                                                    (proper#(isNat(X)) -> proper#(X), proper#(s(X)) -> proper#(X))}
                                                                    SCCS:
                                                                    Scc:
                                                                    {    proper#(U12(X1, X2)) -> proper#(X1),
                                                                        proper#(U12(X1, X2)) -> proper#(X2),
                                                                           proper#(isNat(X)) -> proper#(X),
                                                                    proper#(U11(X1, X2, X3)) -> proper#(X1),
                                                                    proper#(U11(X1, X2, X3)) -> proper#(X3),
                                                                             proper#(U13(X)) -> proper#(X),
                                                                             proper#(U22(X)) -> proper#(X),
                                                                        proper#(U21(X1, X2)) -> proper#(X1),
                                                                        proper#(U32(X1, X2)) -> proper#(X1),
                                                                        proper#(U32(X1, X2)) -> proper#(X2),
                                                                    proper#(U31(X1, X2, X3)) -> proper#(X1),
                                                                    proper#(U31(X1, X2, X3)) -> proper#(X2),
                                                                             proper#(U33(X)) -> proper#(X),
                                                                        proper#(U41(X1, X2)) -> proper#(X1),
                                                                        proper#(U41(X1, X2)) -> proper#(X2),
                                                                               proper#(s(X)) -> proper#(X)}
                                                                    SCC:
                                                                    Strict:
                                                                    {    proper#(U12(X1, X2)) -> proper#(X1),
                                                                        proper#(U12(X1, X2)) -> proper#(X2),
                                                                           proper#(isNat(X)) -> proper#(X),
                                                                    proper#(U11(X1, X2, X3)) -> proper#(X1),
                                                                    proper#(U11(X1, X2, X3)) -> proper#(X3),
                                                                             proper#(U13(X)) -> proper#(X),
                                                                             proper#(U22(X)) -> proper#(X),
                                                                        proper#(U21(X1, X2)) -> proper#(X1),
                                                                        proper#(U32(X1, X2)) -> proper#(X1),
                                                                        proper#(U32(X1, X2)) -> proper#(X2),
                                                                    proper#(U31(X1, X2, X3)) -> proper#(X1),
                                                                    proper#(U31(X1, X2, X3)) -> proper#(X2),
                                                                             proper#(U33(X)) -> proper#(X),
                                                                        proper#(U41(X1, X2)) -> proper#(X1),
                                                                        proper#(U41(X1, X2)) -> proper#(X2),
                                                                               proper#(s(X)) -> proper#(X)}
                                                                    Weak:
                                                                    {              U12(mark(X1), X2) -> mark(U12(X1, X2)),
                                                                                U12(ok(X1), ok(X2)) -> ok(U12(X1, X2)),
                                                                                       isNat(ok(X)) -> ok(isNat(X)),
                                                                                active(U12(X1, X2)) -> U12(active(X1), X2),
                                                                              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(X1, X2, X3)) -> U11(active(X1), X2, X3),
                                                                          active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                                                                                     active(U13(X)) -> U13(active(X)),
                                                                                  active(U13(tt())) -> mark(tt()),
                                                                                     active(U22(X)) -> U22(active(X)),
                                                                                  active(U22(tt())) -> mark(tt()),
                                                                                active(U21(X1, X2)) -> U21(active(X1), X2),
                                                                              active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                                                                                active(U32(X1, X2)) -> U32(active(X1), X2),
                                                                              active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
                                                                            active(U31(X1, X2, X3)) -> U31(active(X1), X2, X3),
                                                                          active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                                                                                     active(U33(X)) -> U33(active(X)),
                                                                                  active(U33(tt())) -> mark(tt()),
                                                                                active(U41(X1, X2)) -> U41(active(X1), X2),
                                                                               active(U41(tt(), N)) -> mark(N),
                                                                                       active(s(X)) -> s(active(X)),
                                                                              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(plus(X1, X2)) -> plus(X1, active(X2)),
                                                                               active(plus(X1, X2)) -> plus(active(X1), X2),
                                                                            active(U51(X1, X2, X3)) -> U51(active(X1), X2, X3),
                                                                            active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                                                                                     active(U61(X)) -> U61(active(X)),
                                                                                  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(x(X1, X2)) -> x(X1, active(X2)),
                                                                                  active(x(X1, X2)) -> x(active(X1), X2),
                                                                            active(U71(X1, X2, X3)) -> U71(active(X1), X2, X3),
                                                                            active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                                                                                active(and(X1, X2)) -> and(active(X1), X2),
                                                                               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(mark(X1), X2, X3) -> mark(U11(X1, X2, X3)),
                                                                        U11(ok(X1), ok(X2), ok(X3)) -> ok(U11(X1, X2, X3)),
                                                                                       U13(mark(X)) -> mark(U13(X)),
                                                                                         U13(ok(X)) -> ok(U13(X)),
                                                                                       U22(mark(X)) -> mark(U22(X)),
                                                                                         U22(ok(X)) -> ok(U22(X)),
                                                                                  U21(mark(X1), X2) -> mark(U21(X1, X2)),
                                                                                U21(ok(X1), ok(X2)) -> ok(U21(X1, X2)),
                                                                                  U32(mark(X1), X2) -> mark(U32(X1, X2)),
                                                                                U32(ok(X1), ok(X2)) -> ok(U32(X1, X2)),
                                                                              U31(mark(X1), X2, X3) -> mark(U31(X1, X2, X3)),
                                                                        U31(ok(X1), ok(X2), ok(X3)) -> ok(U31(X1, X2, X3)),
                                                                                       U33(mark(X)) -> mark(U33(X)),
                                                                                         U33(ok(X)) -> ok(U33(X)),
                                                                                  U41(mark(X1), X2) -> mark(U41(X1, X2)),
                                                                                U41(ok(X1), ok(X2)) -> ok(U41(X1, X2)),
                                                                                         s(mark(X)) -> mark(s(X)),
                                                                                           s(ok(X)) -> ok(s(X)),
                                                                                 plus(X1, mark(X2)) -> mark(plus(X1, X2)),
                                                                                 plus(mark(X1), X2) -> mark(plus(X1, X2)),
                                                                               plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)),
                                                                              U51(mark(X1), X2, X3) -> mark(U51(X1, X2, X3)),
                                                                        U51(ok(X1), ok(X2), ok(X3)) -> ok(U51(X1, X2, X3)),
                                                                                       U61(mark(X)) -> mark(U61(X)),
                                                                                         U61(ok(X)) -> ok(U61(X)),
                                                                                    x(X1, mark(X2)) -> mark(x(X1, X2)),
                                                                                    x(mark(X1), X2) -> mark(x(X1, X2)),
                                                                                  x(ok(X1), ok(X2)) -> ok(x(X1, X2)),
                                                                              U71(mark(X1), X2, X3) -> mark(U71(X1, X2, X3)),
                                                                        U71(ok(X1), ok(X2), ok(X3)) -> ok(U71(X1, X2, X3)),
                                                                                  and(mark(X1), X2) -> mark(and(X1, X2)),
                                                                                and(ok(X1), ok(X2)) -> ok(and(X1, X2)),
                                                                                   isNatKind(ok(X)) -> ok(isNatKind(X)),
                                                                                proper(U12(X1, X2)) -> U12(proper(X1), proper(X2)),
                                                                                   proper(isNat(X)) -> isNat(proper(X)),
                                                                            proper(U11(X1, X2, X3)) -> U11(proper(X1), proper(X2), proper(X3)),
                                                                                       proper(tt()) -> ok(tt()),
                                                                                     proper(U13(X)) -> U13(proper(X)),
                                                                                     proper(U22(X)) -> U22(proper(X)),
                                                                                proper(U21(X1, X2)) -> U21(proper(X1), proper(X2)),
                                                                                proper(U32(X1, X2)) -> U32(proper(X1), proper(X2)),
                                                                            proper(U31(X1, X2, X3)) -> U31(proper(X1), proper(X2), proper(X3)),
                                                                                     proper(U33(X)) -> U33(proper(X)),
                                                                                proper(U41(X1, X2)) -> U41(proper(X1), proper(X2)),
                                                                                       proper(s(X)) -> s(proper(X)),
                                                                               proper(plus(X1, X2)) -> plus(proper(X1), proper(X2)),
                                                                            proper(U51(X1, X2, X3)) -> U51(proper(X1), proper(X2), proper(X3)),
                                                                                        proper(0()) -> ok(0()),
                                                                                     proper(U61(X)) -> U61(proper(X)),
                                                                                  proper(x(X1, X2)) -> x(proper(X1), proper(X2)),
                                                                            proper(U71(X1, X2, X3)) -> U71(proper(X1), proper(X2), proper(X3)),
                                                                                proper(and(X1, X2)) -> and(proper(X1), proper(X2)),
                                                                               proper(isNatKind(X)) -> isNatKind(proper(X)),
                                                                                       top(mark(X)) -> top(proper(X)),
                                                                                         top(ok(X)) -> top(active(X))}
                                                                    SPSC:
                                                                    Simple Projection:
                                                                    pi(proper#) = 0
                                                                    Strict:
                                                                    {    proper#(U12(X1, X2)) -> proper#(X1),
                                                                        proper#(U12(X1, X2)) -> proper#(X2),
                                                                           proper#(isNat(X)) -> proper#(X),
                                                                    proper#(U11(X1, X2, X3)) -> proper#(X1),
                                                                    proper#(U11(X1, X2, X3)) -> proper#(X3),
                                                                             proper#(U13(X)) -> proper#(X),
                                                                             proper#(U22(X)) -> proper#(X),
                                                                        proper#(U21(X1, X2)) -> proper#(X1),
                                                                        proper#(U32(X1, X2)) -> proper#(X1),
                                                                        proper#(U32(X1, X2)) -> proper#(X2),
                                                                    proper#(U31(X1, X2, X3)) -> proper#(X1),
                                                                    proper#(U31(X1, X2, X3)) -> proper#(X2),
                                                                             proper#(U33(X)) -> proper#(X),
                                                                        proper#(U41(X1, X2)) -> proper#(X1),
                                                                               proper#(s(X)) -> proper#(X)}
                                                                    EDG:
                                                                    {
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(s(X)) -> proper#(X))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(s(X)) -> proper#(X))
                                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
                                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
                                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
                                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(s(X)) -> proper#(X))
                                                                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
                                                                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                                                                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                                                                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                                                                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                                                                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
                                                                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
                                                                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                                                                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(s(X)) -> proper#(X))
                                                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
                                                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
                                                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
                                                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
                                                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
                                                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
                                                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
                                                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
                                                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(isNat(X)) -> proper#(X), proper#(s(X)) -> proper#(X))
                                                                    (proper#(isNat(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X1))
                                                                    (proper#(isNat(X)) -> proper#(X), proper#(U33(X)) -> proper#(X))
                                                                    (proper#(isNat(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                                    (proper#(isNat(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(isNat(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X2))
                                                                    (proper#(isNat(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X1))
                                                                    (proper#(isNat(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X1))
                                                                    (proper#(isNat(X)) -> proper#(X), proper#(U22(X)) -> proper#(X))
                                                                    (proper#(isNat(X)) -> proper#(X), proper#(U13(X)) -> proper#(X))
                                                                    (proper#(isNat(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                                    (proper#(isNat(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(isNat(X)) -> proper#(X), proper#(isNat(X)) -> proper#(X))
                                                                    (proper#(isNat(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(isNat(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(U22(X)) -> proper#(X), proper#(s(X)) -> proper#(X))
                                                                    (proper#(U22(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X1))
                                                                    (proper#(U22(X)) -> proper#(X), proper#(U33(X)) -> proper#(X))
                                                                    (proper#(U22(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                                    (proper#(U22(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U22(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X2))
                                                                    (proper#(U22(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X1))
                                                                    (proper#(U22(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X1))
                                                                    (proper#(U22(X)) -> proper#(X), proper#(U22(X)) -> proper#(X))
                                                                    (proper#(U22(X)) -> proper#(X), proper#(U13(X)) -> proper#(X))
                                                                    (proper#(U22(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                                    (proper#(U22(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U22(X)) -> proper#(X), proper#(isNat(X)) -> proper#(X))
                                                                    (proper#(U22(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(U22(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(s(X)) -> proper#(X), proper#(s(X)) -> proper#(X))
                                                                    (proper#(s(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X1))
                                                                    (proper#(s(X)) -> proper#(X), proper#(U33(X)) -> proper#(X))
                                                                    (proper#(s(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                                    (proper#(s(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(s(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X2))
                                                                    (proper#(s(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X1))
                                                                    (proper#(s(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X1))
                                                                    (proper#(s(X)) -> proper#(X), proper#(U22(X)) -> proper#(X))
                                                                    (proper#(s(X)) -> proper#(X), proper#(U13(X)) -> proper#(X))
                                                                    (proper#(s(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                                    (proper#(s(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(s(X)) -> proper#(X), proper#(isNat(X)) -> proper#(X))
                                                                    (proper#(s(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(s(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(isNat(X)) -> proper#(X))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U13(X)) -> proper#(X))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U22(X)) -> proper#(X))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U21(X1, X2)) -> proper#(X1))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U32(X1, X2)) -> proper#(X1))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U32(X1, X2)) -> proper#(X2))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U33(X)) -> proper#(X))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U41(X1, X2)) -> proper#(X1))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(s(X)) -> proper#(X))
                                                                    (proper#(U33(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(U33(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(U33(X)) -> proper#(X), proper#(isNat(X)) -> proper#(X))
                                                                    (proper#(U33(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U33(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                                    (proper#(U33(X)) -> proper#(X), proper#(U13(X)) -> proper#(X))
                                                                    (proper#(U33(X)) -> proper#(X), proper#(U22(X)) -> proper#(X))
                                                                    (proper#(U33(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X1))
                                                                    (proper#(U33(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X1))
                                                                    (proper#(U33(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X2))
                                                                    (proper#(U33(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U33(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                                    (proper#(U33(X)) -> proper#(X), proper#(U33(X)) -> proper#(X))
                                                                    (proper#(U33(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X1))
                                                                    (proper#(U33(X)) -> proper#(X), proper#(s(X)) -> proper#(X))
                                                                    (proper#(U13(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(U13(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(U13(X)) -> proper#(X), proper#(isNat(X)) -> proper#(X))
                                                                    (proper#(U13(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U13(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                                    (proper#(U13(X)) -> proper#(X), proper#(U13(X)) -> proper#(X))
                                                                    (proper#(U13(X)) -> proper#(X), proper#(U22(X)) -> proper#(X))
                                                                    (proper#(U13(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X1))
                                                                    (proper#(U13(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X1))
                                                                    (proper#(U13(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X2))
                                                                    (proper#(U13(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U13(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                                    (proper#(U13(X)) -> proper#(X), proper#(U33(X)) -> proper#(X))
                                                                    (proper#(U13(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X1))
                                                                    (proper#(U13(X)) -> proper#(X), proper#(s(X)) -> proper#(X))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(s(X)) -> proper#(X))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(s(X)) -> proper#(X))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X1), proper#(s(X)) -> proper#(X))
                                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
                                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
                                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
                                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(s(X)) -> proper#(X))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(s(X)) -> proper#(X))}
                                                                    SCCS:
                                                                    Scc:
                                                                    {    proper#(U12(X1, X2)) -> proper#(X1),
                                                                        proper#(U12(X1, X2)) -> proper#(X2),
                                                                           proper#(isNat(X)) -> proper#(X),
                                                                    proper#(U11(X1, X2, X3)) -> proper#(X1),
                                                                    proper#(U11(X1, X2, X3)) -> proper#(X3),
                                                                             proper#(U13(X)) -> proper#(X),
                                                                             proper#(U22(X)) -> proper#(X),
                                                                        proper#(U21(X1, X2)) -> proper#(X1),
                                                                        proper#(U32(X1, X2)) -> proper#(X1),
                                                                        proper#(U32(X1, X2)) -> proper#(X2),
                                                                    proper#(U31(X1, X2, X3)) -> proper#(X1),
                                                                    proper#(U31(X1, X2, X3)) -> proper#(X2),
                                                                             proper#(U33(X)) -> proper#(X),
                                                                        proper#(U41(X1, X2)) -> proper#(X1),
                                                                               proper#(s(X)) -> proper#(X)}
                                                                    SCC:
                                                                    Strict:
                                                                    {    proper#(U12(X1, X2)) -> proper#(X1),
                                                                        proper#(U12(X1, X2)) -> proper#(X2),
                                                                           proper#(isNat(X)) -> proper#(X),
                                                                    proper#(U11(X1, X2, X3)) -> proper#(X1),
                                                                    proper#(U11(X1, X2, X3)) -> proper#(X3),
                                                                             proper#(U13(X)) -> proper#(X),
                                                                             proper#(U22(X)) -> proper#(X),
                                                                        proper#(U21(X1, X2)) -> proper#(X1),
                                                                        proper#(U32(X1, X2)) -> proper#(X1),
                                                                        proper#(U32(X1, X2)) -> proper#(X2),
                                                                    proper#(U31(X1, X2, X3)) -> proper#(X1),
                                                                    proper#(U31(X1, X2, X3)) -> proper#(X2),
                                                                             proper#(U33(X)) -> proper#(X),
                                                                        proper#(U41(X1, X2)) -> proper#(X1),
                                                                               proper#(s(X)) -> proper#(X)}
                                                                    Weak:
                                                                    {              U12(mark(X1), X2) -> mark(U12(X1, X2)),
                                                                                U12(ok(X1), ok(X2)) -> ok(U12(X1, X2)),
                                                                                       isNat(ok(X)) -> ok(isNat(X)),
                                                                                active(U12(X1, X2)) -> U12(active(X1), X2),
                                                                              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(X1, X2, X3)) -> U11(active(X1), X2, X3),
                                                                          active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                                                                                     active(U13(X)) -> U13(active(X)),
                                                                                  active(U13(tt())) -> mark(tt()),
                                                                                     active(U22(X)) -> U22(active(X)),
                                                                                  active(U22(tt())) -> mark(tt()),
                                                                                active(U21(X1, X2)) -> U21(active(X1), X2),
                                                                              active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                                                                                active(U32(X1, X2)) -> U32(active(X1), X2),
                                                                              active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
                                                                            active(U31(X1, X2, X3)) -> U31(active(X1), X2, X3),
                                                                          active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                                                                                     active(U33(X)) -> U33(active(X)),
                                                                                  active(U33(tt())) -> mark(tt()),
                                                                                active(U41(X1, X2)) -> U41(active(X1), X2),
                                                                               active(U41(tt(), N)) -> mark(N),
                                                                                       active(s(X)) -> s(active(X)),
                                                                              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(plus(X1, X2)) -> plus(X1, active(X2)),
                                                                               active(plus(X1, X2)) -> plus(active(X1), X2),
                                                                            active(U51(X1, X2, X3)) -> U51(active(X1), X2, X3),
                                                                            active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                                                                                     active(U61(X)) -> U61(active(X)),
                                                                                  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(x(X1, X2)) -> x(X1, active(X2)),
                                                                                  active(x(X1, X2)) -> x(active(X1), X2),
                                                                            active(U71(X1, X2, X3)) -> U71(active(X1), X2, X3),
                                                                            active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                                                                                active(and(X1, X2)) -> and(active(X1), X2),
                                                                               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(mark(X1), X2, X3) -> mark(U11(X1, X2, X3)),
                                                                        U11(ok(X1), ok(X2), ok(X3)) -> ok(U11(X1, X2, X3)),
                                                                                       U13(mark(X)) -> mark(U13(X)),
                                                                                         U13(ok(X)) -> ok(U13(X)),
                                                                                       U22(mark(X)) -> mark(U22(X)),
                                                                                         U22(ok(X)) -> ok(U22(X)),
                                                                                  U21(mark(X1), X2) -> mark(U21(X1, X2)),
                                                                                U21(ok(X1), ok(X2)) -> ok(U21(X1, X2)),
                                                                                  U32(mark(X1), X2) -> mark(U32(X1, X2)),
                                                                                U32(ok(X1), ok(X2)) -> ok(U32(X1, X2)),
                                                                              U31(mark(X1), X2, X3) -> mark(U31(X1, X2, X3)),
                                                                        U31(ok(X1), ok(X2), ok(X3)) -> ok(U31(X1, X2, X3)),
                                                                                       U33(mark(X)) -> mark(U33(X)),
                                                                                         U33(ok(X)) -> ok(U33(X)),
                                                                                  U41(mark(X1), X2) -> mark(U41(X1, X2)),
                                                                                U41(ok(X1), ok(X2)) -> ok(U41(X1, X2)),
                                                                                         s(mark(X)) -> mark(s(X)),
                                                                                           s(ok(X)) -> ok(s(X)),
                                                                                 plus(X1, mark(X2)) -> mark(plus(X1, X2)),
                                                                                 plus(mark(X1), X2) -> mark(plus(X1, X2)),
                                                                               plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)),
                                                                              U51(mark(X1), X2, X3) -> mark(U51(X1, X2, X3)),
                                                                        U51(ok(X1), ok(X2), ok(X3)) -> ok(U51(X1, X2, X3)),
                                                                                       U61(mark(X)) -> mark(U61(X)),
                                                                                         U61(ok(X)) -> ok(U61(X)),
                                                                                    x(X1, mark(X2)) -> mark(x(X1, X2)),
                                                                                    x(mark(X1), X2) -> mark(x(X1, X2)),
                                                                                  x(ok(X1), ok(X2)) -> ok(x(X1, X2)),
                                                                              U71(mark(X1), X2, X3) -> mark(U71(X1, X2, X3)),
                                                                        U71(ok(X1), ok(X2), ok(X3)) -> ok(U71(X1, X2, X3)),
                                                                                  and(mark(X1), X2) -> mark(and(X1, X2)),
                                                                                and(ok(X1), ok(X2)) -> ok(and(X1, X2)),
                                                                                   isNatKind(ok(X)) -> ok(isNatKind(X)),
                                                                                proper(U12(X1, X2)) -> U12(proper(X1), proper(X2)),
                                                                                   proper(isNat(X)) -> isNat(proper(X)),
                                                                            proper(U11(X1, X2, X3)) -> U11(proper(X1), proper(X2), proper(X3)),
                                                                                       proper(tt()) -> ok(tt()),
                                                                                     proper(U13(X)) -> U13(proper(X)),
                                                                                     proper(U22(X)) -> U22(proper(X)),
                                                                                proper(U21(X1, X2)) -> U21(proper(X1), proper(X2)),
                                                                                proper(U32(X1, X2)) -> U32(proper(X1), proper(X2)),
                                                                            proper(U31(X1, X2, X3)) -> U31(proper(X1), proper(X2), proper(X3)),
                                                                                     proper(U33(X)) -> U33(proper(X)),
                                                                                proper(U41(X1, X2)) -> U41(proper(X1), proper(X2)),
                                                                                       proper(s(X)) -> s(proper(X)),
                                                                               proper(plus(X1, X2)) -> plus(proper(X1), proper(X2)),
                                                                            proper(U51(X1, X2, X3)) -> U51(proper(X1), proper(X2), proper(X3)),
                                                                                        proper(0()) -> ok(0()),
                                                                                     proper(U61(X)) -> U61(proper(X)),
                                                                                  proper(x(X1, X2)) -> x(proper(X1), proper(X2)),
                                                                            proper(U71(X1, X2, X3)) -> U71(proper(X1), proper(X2), proper(X3)),
                                                                                proper(and(X1, X2)) -> and(proper(X1), proper(X2)),
                                                                               proper(isNatKind(X)) -> isNatKind(proper(X)),
                                                                                       top(mark(X)) -> top(proper(X)),
                                                                                         top(ok(X)) -> top(active(X))}
                                                                    SPSC:
                                                                    Simple Projection:
                                                                    pi(proper#) = 0
                                                                    Strict:
                                                                    {    proper#(U12(X1, X2)) -> proper#(X1),
                                                                        proper#(U12(X1, X2)) -> proper#(X2),
                                                                           proper#(isNat(X)) -> proper#(X),
                                                                    proper#(U11(X1, X2, X3)) -> proper#(X1),
                                                                    proper#(U11(X1, X2, X3)) -> proper#(X3),
                                                                             proper#(U13(X)) -> proper#(X),
                                                                             proper#(U22(X)) -> proper#(X),
                                                                        proper#(U21(X1, X2)) -> proper#(X1),
                                                                        proper#(U32(X1, X2)) -> proper#(X1),
                                                                        proper#(U32(X1, X2)) -> proper#(X2),
                                                                    proper#(U31(X1, X2, X3)) -> proper#(X2),
                                                                             proper#(U33(X)) -> proper#(X),
                                                                        proper#(U41(X1, X2)) -> proper#(X1),
                                                                               proper#(s(X)) -> proper#(X)}
                                                                    EDG:
                                                                    {
                                                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(s(X)) -> proper#(X))
                                                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
                                                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
                                                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
                                                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
                                                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
                                                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
                                                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
                                                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
                                                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(isNat(X)) -> proper#(X), proper#(s(X)) -> proper#(X))
                                                                    (proper#(isNat(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X1))
                                                                    (proper#(isNat(X)) -> proper#(X), proper#(U33(X)) -> proper#(X))
                                                                    (proper#(isNat(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                                    (proper#(isNat(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X2))
                                                                    (proper#(isNat(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X1))
                                                                    (proper#(isNat(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X1))
                                                                    (proper#(isNat(X)) -> proper#(X), proper#(U22(X)) -> proper#(X))
                                                                    (proper#(isNat(X)) -> proper#(X), proper#(U13(X)) -> proper#(X))
                                                                    (proper#(isNat(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                                    (proper#(isNat(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(isNat(X)) -> proper#(X), proper#(isNat(X)) -> proper#(X))
                                                                    (proper#(isNat(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(isNat(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(U22(X)) -> proper#(X), proper#(s(X)) -> proper#(X))
                                                                    (proper#(U22(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X1))
                                                                    (proper#(U22(X)) -> proper#(X), proper#(U33(X)) -> proper#(X))
                                                                    (proper#(U22(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                                    (proper#(U22(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X2))
                                                                    (proper#(U22(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X1))
                                                                    (proper#(U22(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X1))
                                                                    (proper#(U22(X)) -> proper#(X), proper#(U22(X)) -> proper#(X))
                                                                    (proper#(U22(X)) -> proper#(X), proper#(U13(X)) -> proper#(X))
                                                                    (proper#(U22(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                                    (proper#(U22(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U22(X)) -> proper#(X), proper#(isNat(X)) -> proper#(X))
                                                                    (proper#(U22(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(U22(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(s(X)) -> proper#(X), proper#(s(X)) -> proper#(X))
                                                                    (proper#(s(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X1))
                                                                    (proper#(s(X)) -> proper#(X), proper#(U33(X)) -> proper#(X))
                                                                    (proper#(s(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                                    (proper#(s(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X2))
                                                                    (proper#(s(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X1))
                                                                    (proper#(s(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X1))
                                                                    (proper#(s(X)) -> proper#(X), proper#(U22(X)) -> proper#(X))
                                                                    (proper#(s(X)) -> proper#(X), proper#(U13(X)) -> proper#(X))
                                                                    (proper#(s(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                                    (proper#(s(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(s(X)) -> proper#(X), proper#(isNat(X)) -> proper#(X))
                                                                    (proper#(s(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(s(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(s(X)) -> proper#(X))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(s(X)) -> proper#(X))
                                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
                                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
                                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
                                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(s(X)) -> proper#(X))
                                                                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
                                                                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                                                                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                                                                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                                                                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                                                                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
                                                                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
                                                                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                                                                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
                                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
                                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
                                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(s(X)) -> proper#(X))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(s(X)) -> proper#(X))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(isNat(X)) -> proper#(X))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U13(X)) -> proper#(X))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U22(X)) -> proper#(X))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U21(X1, X2)) -> proper#(X1))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U32(X1, X2)) -> proper#(X1))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U32(X1, X2)) -> proper#(X2))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U33(X)) -> proper#(X))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(U41(X1, X2)) -> proper#(X1))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X3), proper#(s(X)) -> proper#(X))
                                                                    (proper#(U33(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(U33(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(U33(X)) -> proper#(X), proper#(isNat(X)) -> proper#(X))
                                                                    (proper#(U33(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U33(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                                    (proper#(U33(X)) -> proper#(X), proper#(U13(X)) -> proper#(X))
                                                                    (proper#(U33(X)) -> proper#(X), proper#(U22(X)) -> proper#(X))
                                                                    (proper#(U33(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X1))
                                                                    (proper#(U33(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X1))
                                                                    (proper#(U33(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X2))
                                                                    (proper#(U33(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                                    (proper#(U33(X)) -> proper#(X), proper#(U33(X)) -> proper#(X))
                                                                    (proper#(U33(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X1))
                                                                    (proper#(U33(X)) -> proper#(X), proper#(s(X)) -> proper#(X))
                                                                    (proper#(U13(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(U13(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(U13(X)) -> proper#(X), proper#(isNat(X)) -> proper#(X))
                                                                    (proper#(U13(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U13(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                                    (proper#(U13(X)) -> proper#(X), proper#(U13(X)) -> proper#(X))
                                                                    (proper#(U13(X)) -> proper#(X), proper#(U22(X)) -> proper#(X))
                                                                    (proper#(U13(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X1))
                                                                    (proper#(U13(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X1))
                                                                    (proper#(U13(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X2))
                                                                    (proper#(U13(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                                    (proper#(U13(X)) -> proper#(X), proper#(U33(X)) -> proper#(X))
                                                                    (proper#(U13(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X1))
                                                                    (proper#(U13(X)) -> proper#(X), proper#(s(X)) -> proper#(X))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(s(X)) -> proper#(X))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X3))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(s(X)) -> proper#(X))}
                                                                    SCCS:
                                                                    Scc:
                                                                    {    proper#(U12(X1, X2)) -> proper#(X1),
                                                                        proper#(U12(X1, X2)) -> proper#(X2),
                                                                           proper#(isNat(X)) -> proper#(X),
                                                                    proper#(U11(X1, X2, X3)) -> proper#(X1),
                                                                    proper#(U11(X1, X2, X3)) -> proper#(X3),
                                                                             proper#(U13(X)) -> proper#(X),
                                                                             proper#(U22(X)) -> proper#(X),
                                                                        proper#(U21(X1, X2)) -> proper#(X1),
                                                                        proper#(U32(X1, X2)) -> proper#(X1),
                                                                        proper#(U32(X1, X2)) -> proper#(X2),
                                                                    proper#(U31(X1, X2, X3)) -> proper#(X2),
                                                                             proper#(U33(X)) -> proper#(X),
                                                                        proper#(U41(X1, X2)) -> proper#(X1),
                                                                               proper#(s(X)) -> proper#(X)}
                                                                    SCC:
                                                                    Strict:
                                                                    {    proper#(U12(X1, X2)) -> proper#(X1),
                                                                        proper#(U12(X1, X2)) -> proper#(X2),
                                                                           proper#(isNat(X)) -> proper#(X),
                                                                    proper#(U11(X1, X2, X3)) -> proper#(X1),
                                                                    proper#(U11(X1, X2, X3)) -> proper#(X3),
                                                                             proper#(U13(X)) -> proper#(X),
                                                                             proper#(U22(X)) -> proper#(X),
                                                                        proper#(U21(X1, X2)) -> proper#(X1),
                                                                        proper#(U32(X1, X2)) -> proper#(X1),
                                                                        proper#(U32(X1, X2)) -> proper#(X2),
                                                                    proper#(U31(X1, X2, X3)) -> proper#(X2),
                                                                             proper#(U33(X)) -> proper#(X),
                                                                        proper#(U41(X1, X2)) -> proper#(X1),
                                                                               proper#(s(X)) -> proper#(X)}
                                                                    Weak:
                                                                    {              U12(mark(X1), X2) -> mark(U12(X1, X2)),
                                                                                U12(ok(X1), ok(X2)) -> ok(U12(X1, X2)),
                                                                                       isNat(ok(X)) -> ok(isNat(X)),
                                                                                active(U12(X1, X2)) -> U12(active(X1), X2),
                                                                              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(X1, X2, X3)) -> U11(active(X1), X2, X3),
                                                                          active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                                                                                     active(U13(X)) -> U13(active(X)),
                                                                                  active(U13(tt())) -> mark(tt()),
                                                                                     active(U22(X)) -> U22(active(X)),
                                                                                  active(U22(tt())) -> mark(tt()),
                                                                                active(U21(X1, X2)) -> U21(active(X1), X2),
                                                                              active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                                                                                active(U32(X1, X2)) -> U32(active(X1), X2),
                                                                              active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
                                                                            active(U31(X1, X2, X3)) -> U31(active(X1), X2, X3),
                                                                          active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                                                                                     active(U33(X)) -> U33(active(X)),
                                                                                  active(U33(tt())) -> mark(tt()),
                                                                                active(U41(X1, X2)) -> U41(active(X1), X2),
                                                                               active(U41(tt(), N)) -> mark(N),
                                                                                       active(s(X)) -> s(active(X)),
                                                                              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(plus(X1, X2)) -> plus(X1, active(X2)),
                                                                               active(plus(X1, X2)) -> plus(active(X1), X2),
                                                                            active(U51(X1, X2, X3)) -> U51(active(X1), X2, X3),
                                                                            active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                                                                                     active(U61(X)) -> U61(active(X)),
                                                                                  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(x(X1, X2)) -> x(X1, active(X2)),
                                                                                  active(x(X1, X2)) -> x(active(X1), X2),
                                                                            active(U71(X1, X2, X3)) -> U71(active(X1), X2, X3),
                                                                            active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                                                                                active(and(X1, X2)) -> and(active(X1), X2),
                                                                               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(mark(X1), X2, X3) -> mark(U11(X1, X2, X3)),
                                                                        U11(ok(X1), ok(X2), ok(X3)) -> ok(U11(X1, X2, X3)),
                                                                                       U13(mark(X)) -> mark(U13(X)),
                                                                                         U13(ok(X)) -> ok(U13(X)),
                                                                                       U22(mark(X)) -> mark(U22(X)),
                                                                                         U22(ok(X)) -> ok(U22(X)),
                                                                                  U21(mark(X1), X2) -> mark(U21(X1, X2)),
                                                                                U21(ok(X1), ok(X2)) -> ok(U21(X1, X2)),
                                                                                  U32(mark(X1), X2) -> mark(U32(X1, X2)),
                                                                                U32(ok(X1), ok(X2)) -> ok(U32(X1, X2)),
                                                                              U31(mark(X1), X2, X3) -> mark(U31(X1, X2, X3)),
                                                                        U31(ok(X1), ok(X2), ok(X3)) -> ok(U31(X1, X2, X3)),
                                                                                       U33(mark(X)) -> mark(U33(X)),
                                                                                         U33(ok(X)) -> ok(U33(X)),
                                                                                  U41(mark(X1), X2) -> mark(U41(X1, X2)),
                                                                                U41(ok(X1), ok(X2)) -> ok(U41(X1, X2)),
                                                                                         s(mark(X)) -> mark(s(X)),
                                                                                           s(ok(X)) -> ok(s(X)),
                                                                                 plus(X1, mark(X2)) -> mark(plus(X1, X2)),
                                                                                 plus(mark(X1), X2) -> mark(plus(X1, X2)),
                                                                               plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)),
                                                                              U51(mark(X1), X2, X3) -> mark(U51(X1, X2, X3)),
                                                                        U51(ok(X1), ok(X2), ok(X3)) -> ok(U51(X1, X2, X3)),
                                                                                       U61(mark(X)) -> mark(U61(X)),
                                                                                         U61(ok(X)) -> ok(U61(X)),
                                                                                    x(X1, mark(X2)) -> mark(x(X1, X2)),
                                                                                    x(mark(X1), X2) -> mark(x(X1, X2)),
                                                                                  x(ok(X1), ok(X2)) -> ok(x(X1, X2)),
                                                                              U71(mark(X1), X2, X3) -> mark(U71(X1, X2, X3)),
                                                                        U71(ok(X1), ok(X2), ok(X3)) -> ok(U71(X1, X2, X3)),
                                                                                  and(mark(X1), X2) -> mark(and(X1, X2)),
                                                                                and(ok(X1), ok(X2)) -> ok(and(X1, X2)),
                                                                                   isNatKind(ok(X)) -> ok(isNatKind(X)),
                                                                                proper(U12(X1, X2)) -> U12(proper(X1), proper(X2)),
                                                                                   proper(isNat(X)) -> isNat(proper(X)),
                                                                            proper(U11(X1, X2, X3)) -> U11(proper(X1), proper(X2), proper(X3)),
                                                                                       proper(tt()) -> ok(tt()),
                                                                                     proper(U13(X)) -> U13(proper(X)),
                                                                                     proper(U22(X)) -> U22(proper(X)),
                                                                                proper(U21(X1, X2)) -> U21(proper(X1), proper(X2)),
                                                                                proper(U32(X1, X2)) -> U32(proper(X1), proper(X2)),
                                                                            proper(U31(X1, X2, X3)) -> U31(proper(X1), proper(X2), proper(X3)),
                                                                                     proper(U33(X)) -> U33(proper(X)),
                                                                                proper(U41(X1, X2)) -> U41(proper(X1), proper(X2)),
                                                                                       proper(s(X)) -> s(proper(X)),
                                                                               proper(plus(X1, X2)) -> plus(proper(X1), proper(X2)),
                                                                            proper(U51(X1, X2, X3)) -> U51(proper(X1), proper(X2), proper(X3)),
                                                                                        proper(0()) -> ok(0()),
                                                                                     proper(U61(X)) -> U61(proper(X)),
                                                                                  proper(x(X1, X2)) -> x(proper(X1), proper(X2)),
                                                                            proper(U71(X1, X2, X3)) -> U71(proper(X1), proper(X2), proper(X3)),
                                                                                proper(and(X1, X2)) -> and(proper(X1), proper(X2)),
                                                                               proper(isNatKind(X)) -> isNatKind(proper(X)),
                                                                                       top(mark(X)) -> top(proper(X)),
                                                                                         top(ok(X)) -> top(active(X))}
                                                                    SPSC:
                                                                    Simple Projection:
                                                                    pi(proper#) = 0
                                                                    Strict:
                                                                    {    proper#(U12(X1, X2)) -> proper#(X1),
                                                                        proper#(U12(X1, X2)) -> proper#(X2),
                                                                           proper#(isNat(X)) -> proper#(X),
                                                                    proper#(U11(X1, X2, X3)) -> proper#(X1),
                                                                             proper#(U13(X)) -> proper#(X),
                                                                             proper#(U22(X)) -> proper#(X),
                                                                        proper#(U21(X1, X2)) -> proper#(X1),
                                                                        proper#(U32(X1, X2)) -> proper#(X1),
                                                                        proper#(U32(X1, X2)) -> proper#(X2),
                                                                    proper#(U31(X1, X2, X3)) -> proper#(X2),
                                                                             proper#(U33(X)) -> proper#(X),
                                                                        proper#(U41(X1, X2)) -> proper#(X1),
                                                                               proper#(s(X)) -> proper#(X)}
                                                                    EDG:
                                                                    {
                                                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(s(X)) -> proper#(X))
                                                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
                                                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
                                                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
                                                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
                                                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
                                                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
                                                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
                                                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
                                                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(isNat(X)) -> proper#(X), proper#(s(X)) -> proper#(X))
                                                                    (proper#(isNat(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X1))
                                                                    (proper#(isNat(X)) -> proper#(X), proper#(U33(X)) -> proper#(X))
                                                                    (proper#(isNat(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                                    (proper#(isNat(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X2))
                                                                    (proper#(isNat(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X1))
                                                                    (proper#(isNat(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X1))
                                                                    (proper#(isNat(X)) -> proper#(X), proper#(U22(X)) -> proper#(X))
                                                                    (proper#(isNat(X)) -> proper#(X), proper#(U13(X)) -> proper#(X))
                                                                    (proper#(isNat(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(isNat(X)) -> proper#(X), proper#(isNat(X)) -> proper#(X))
                                                                    (proper#(isNat(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(isNat(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(U22(X)) -> proper#(X), proper#(s(X)) -> proper#(X))
                                                                    (proper#(U22(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X1))
                                                                    (proper#(U22(X)) -> proper#(X), proper#(U33(X)) -> proper#(X))
                                                                    (proper#(U22(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                                    (proper#(U22(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X2))
                                                                    (proper#(U22(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X1))
                                                                    (proper#(U22(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X1))
                                                                    (proper#(U22(X)) -> proper#(X), proper#(U22(X)) -> proper#(X))
                                                                    (proper#(U22(X)) -> proper#(X), proper#(U13(X)) -> proper#(X))
                                                                    (proper#(U22(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U22(X)) -> proper#(X), proper#(isNat(X)) -> proper#(X))
                                                                    (proper#(U22(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(U22(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(s(X)) -> proper#(X), proper#(s(X)) -> proper#(X))
                                                                    (proper#(s(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X1))
                                                                    (proper#(s(X)) -> proper#(X), proper#(U33(X)) -> proper#(X))
                                                                    (proper#(s(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                                    (proper#(s(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X2))
                                                                    (proper#(s(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X1))
                                                                    (proper#(s(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X1))
                                                                    (proper#(s(X)) -> proper#(X), proper#(U22(X)) -> proper#(X))
                                                                    (proper#(s(X)) -> proper#(X), proper#(U13(X)) -> proper#(X))
                                                                    (proper#(s(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(s(X)) -> proper#(X), proper#(isNat(X)) -> proper#(X))
                                                                    (proper#(s(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(s(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(s(X)) -> proper#(X))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(s(X)) -> proper#(X))
                                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
                                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
                                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
                                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                                                                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
                                                                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
                                                                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                                                                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                                                                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                                                                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                                                                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
                                                                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(s(X)) -> proper#(X))
                                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
                                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
                                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
                                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(s(X)) -> proper#(X))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U22(X)) -> proper#(X))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(s(X)) -> proper#(X))
                                                                    (proper#(U33(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(U33(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(U33(X)) -> proper#(X), proper#(isNat(X)) -> proper#(X))
                                                                    (proper#(U33(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U33(X)) -> proper#(X), proper#(U13(X)) -> proper#(X))
                                                                    (proper#(U33(X)) -> proper#(X), proper#(U22(X)) -> proper#(X))
                                                                    (proper#(U33(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X1))
                                                                    (proper#(U33(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X1))
                                                                    (proper#(U33(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X2))
                                                                    (proper#(U33(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                                    (proper#(U33(X)) -> proper#(X), proper#(U33(X)) -> proper#(X))
                                                                    (proper#(U33(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X1))
                                                                    (proper#(U33(X)) -> proper#(X), proper#(s(X)) -> proper#(X))
                                                                    (proper#(U13(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(U13(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(U13(X)) -> proper#(X), proper#(isNat(X)) -> proper#(X))
                                                                    (proper#(U13(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U13(X)) -> proper#(X), proper#(U13(X)) -> proper#(X))
                                                                    (proper#(U13(X)) -> proper#(X), proper#(U22(X)) -> proper#(X))
                                                                    (proper#(U13(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X1))
                                                                    (proper#(U13(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X1))
                                                                    (proper#(U13(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X2))
                                                                    (proper#(U13(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                                    (proper#(U13(X)) -> proper#(X), proper#(U33(X)) -> proper#(X))
                                                                    (proper#(U13(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X1))
                                                                    (proper#(U13(X)) -> proper#(X), proper#(s(X)) -> proper#(X))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(s(X)) -> proper#(X))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U22(X)) -> proper#(X))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(s(X)) -> proper#(X))}
                                                                    SCCS:
                                                                    Scc:
                                                                    {    proper#(U12(X1, X2)) -> proper#(X1),
                                                                        proper#(U12(X1, X2)) -> proper#(X2),
                                                                           proper#(isNat(X)) -> proper#(X),
                                                                    proper#(U11(X1, X2, X3)) -> proper#(X1),
                                                                             proper#(U13(X)) -> proper#(X),
                                                                             proper#(U22(X)) -> proper#(X),
                                                                        proper#(U21(X1, X2)) -> proper#(X1),
                                                                        proper#(U32(X1, X2)) -> proper#(X1),
                                                                        proper#(U32(X1, X2)) -> proper#(X2),
                                                                    proper#(U31(X1, X2, X3)) -> proper#(X2),
                                                                             proper#(U33(X)) -> proper#(X),
                                                                        proper#(U41(X1, X2)) -> proper#(X1),
                                                                               proper#(s(X)) -> proper#(X)}
                                                                    SCC:
                                                                    Strict:
                                                                    {    proper#(U12(X1, X2)) -> proper#(X1),
                                                                        proper#(U12(X1, X2)) -> proper#(X2),
                                                                           proper#(isNat(X)) -> proper#(X),
                                                                    proper#(U11(X1, X2, X3)) -> proper#(X1),
                                                                             proper#(U13(X)) -> proper#(X),
                                                                             proper#(U22(X)) -> proper#(X),
                                                                        proper#(U21(X1, X2)) -> proper#(X1),
                                                                        proper#(U32(X1, X2)) -> proper#(X1),
                                                                        proper#(U32(X1, X2)) -> proper#(X2),
                                                                    proper#(U31(X1, X2, X3)) -> proper#(X2),
                                                                             proper#(U33(X)) -> proper#(X),
                                                                        proper#(U41(X1, X2)) -> proper#(X1),
                                                                               proper#(s(X)) -> proper#(X)}
                                                                    Weak:
                                                                    {              U12(mark(X1), X2) -> mark(U12(X1, X2)),
                                                                                U12(ok(X1), ok(X2)) -> ok(U12(X1, X2)),
                                                                                       isNat(ok(X)) -> ok(isNat(X)),
                                                                                active(U12(X1, X2)) -> U12(active(X1), X2),
                                                                              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(X1, X2, X3)) -> U11(active(X1), X2, X3),
                                                                          active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                                                                                     active(U13(X)) -> U13(active(X)),
                                                                                  active(U13(tt())) -> mark(tt()),
                                                                                     active(U22(X)) -> U22(active(X)),
                                                                                  active(U22(tt())) -> mark(tt()),
                                                                                active(U21(X1, X2)) -> U21(active(X1), X2),
                                                                              active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                                                                                active(U32(X1, X2)) -> U32(active(X1), X2),
                                                                              active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
                                                                            active(U31(X1, X2, X3)) -> U31(active(X1), X2, X3),
                                                                          active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                                                                                     active(U33(X)) -> U33(active(X)),
                                                                                  active(U33(tt())) -> mark(tt()),
                                                                                active(U41(X1, X2)) -> U41(active(X1), X2),
                                                                               active(U41(tt(), N)) -> mark(N),
                                                                                       active(s(X)) -> s(active(X)),
                                                                              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(plus(X1, X2)) -> plus(X1, active(X2)),
                                                                               active(plus(X1, X2)) -> plus(active(X1), X2),
                                                                            active(U51(X1, X2, X3)) -> U51(active(X1), X2, X3),
                                                                            active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                                                                                     active(U61(X)) -> U61(active(X)),
                                                                                  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(x(X1, X2)) -> x(X1, active(X2)),
                                                                                  active(x(X1, X2)) -> x(active(X1), X2),
                                                                            active(U71(X1, X2, X3)) -> U71(active(X1), X2, X3),
                                                                            active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                                                                                active(and(X1, X2)) -> and(active(X1), X2),
                                                                               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(mark(X1), X2, X3) -> mark(U11(X1, X2, X3)),
                                                                        U11(ok(X1), ok(X2), ok(X3)) -> ok(U11(X1, X2, X3)),
                                                                                       U13(mark(X)) -> mark(U13(X)),
                                                                                         U13(ok(X)) -> ok(U13(X)),
                                                                                       U22(mark(X)) -> mark(U22(X)),
                                                                                         U22(ok(X)) -> ok(U22(X)),
                                                                                  U21(mark(X1), X2) -> mark(U21(X1, X2)),
                                                                                U21(ok(X1), ok(X2)) -> ok(U21(X1, X2)),
                                                                                  U32(mark(X1), X2) -> mark(U32(X1, X2)),
                                                                                U32(ok(X1), ok(X2)) -> ok(U32(X1, X2)),
                                                                              U31(mark(X1), X2, X3) -> mark(U31(X1, X2, X3)),
                                                                        U31(ok(X1), ok(X2), ok(X3)) -> ok(U31(X1, X2, X3)),
                                                                                       U33(mark(X)) -> mark(U33(X)),
                                                                                         U33(ok(X)) -> ok(U33(X)),
                                                                                  U41(mark(X1), X2) -> mark(U41(X1, X2)),
                                                                                U41(ok(X1), ok(X2)) -> ok(U41(X1, X2)),
                                                                                         s(mark(X)) -> mark(s(X)),
                                                                                           s(ok(X)) -> ok(s(X)),
                                                                                 plus(X1, mark(X2)) -> mark(plus(X1, X2)),
                                                                                 plus(mark(X1), X2) -> mark(plus(X1, X2)),
                                                                               plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)),
                                                                              U51(mark(X1), X2, X3) -> mark(U51(X1, X2, X3)),
                                                                        U51(ok(X1), ok(X2), ok(X3)) -> ok(U51(X1, X2, X3)),
                                                                                       U61(mark(X)) -> mark(U61(X)),
                                                                                         U61(ok(X)) -> ok(U61(X)),
                                                                                    x(X1, mark(X2)) -> mark(x(X1, X2)),
                                                                                    x(mark(X1), X2) -> mark(x(X1, X2)),
                                                                                  x(ok(X1), ok(X2)) -> ok(x(X1, X2)),
                                                                              U71(mark(X1), X2, X3) -> mark(U71(X1, X2, X3)),
                                                                        U71(ok(X1), ok(X2), ok(X3)) -> ok(U71(X1, X2, X3)),
                                                                                  and(mark(X1), X2) -> mark(and(X1, X2)),
                                                                                and(ok(X1), ok(X2)) -> ok(and(X1, X2)),
                                                                                   isNatKind(ok(X)) -> ok(isNatKind(X)),
                                                                                proper(U12(X1, X2)) -> U12(proper(X1), proper(X2)),
                                                                                   proper(isNat(X)) -> isNat(proper(X)),
                                                                            proper(U11(X1, X2, X3)) -> U11(proper(X1), proper(X2), proper(X3)),
                                                                                       proper(tt()) -> ok(tt()),
                                                                                     proper(U13(X)) -> U13(proper(X)),
                                                                                     proper(U22(X)) -> U22(proper(X)),
                                                                                proper(U21(X1, X2)) -> U21(proper(X1), proper(X2)),
                                                                                proper(U32(X1, X2)) -> U32(proper(X1), proper(X2)),
                                                                            proper(U31(X1, X2, X3)) -> U31(proper(X1), proper(X2), proper(X3)),
                                                                                     proper(U33(X)) -> U33(proper(X)),
                                                                                proper(U41(X1, X2)) -> U41(proper(X1), proper(X2)),
                                                                                       proper(s(X)) -> s(proper(X)),
                                                                               proper(plus(X1, X2)) -> plus(proper(X1), proper(X2)),
                                                                            proper(U51(X1, X2, X3)) -> U51(proper(X1), proper(X2), proper(X3)),
                                                                                        proper(0()) -> ok(0()),
                                                                                     proper(U61(X)) -> U61(proper(X)),
                                                                                  proper(x(X1, X2)) -> x(proper(X1), proper(X2)),
                                                                            proper(U71(X1, X2, X3)) -> U71(proper(X1), proper(X2), proper(X3)),
                                                                                proper(and(X1, X2)) -> and(proper(X1), proper(X2)),
                                                                               proper(isNatKind(X)) -> isNatKind(proper(X)),
                                                                                       top(mark(X)) -> top(proper(X)),
                                                                                         top(ok(X)) -> top(active(X))}
                                                                    SPSC:
                                                                    Simple Projection:
                                                                    pi(proper#) = 0
                                                                    Strict:
                                                                    {    proper#(U12(X1, X2)) -> proper#(X1),
                                                                        proper#(U12(X1, X2)) -> proper#(X2),
                                                                           proper#(isNat(X)) -> proper#(X),
                                                                    proper#(U11(X1, X2, X3)) -> proper#(X1),
                                                                             proper#(U13(X)) -> proper#(X),
                                                                        proper#(U21(X1, X2)) -> proper#(X1),
                                                                        proper#(U32(X1, X2)) -> proper#(X1),
                                                                        proper#(U32(X1, X2)) -> proper#(X2),
                                                                    proper#(U31(X1, X2, X3)) -> proper#(X2),
                                                                             proper#(U33(X)) -> proper#(X),
                                                                        proper#(U41(X1, X2)) -> proper#(X1),
                                                                               proper#(s(X)) -> proper#(X)}
                                                                    EDG:
                                                                    {
                                                                    (proper#(U13(X)) -> proper#(X), proper#(s(X)) -> proper#(X))
                                                                    (proper#(U13(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X1))
                                                                    (proper#(U13(X)) -> proper#(X), proper#(U33(X)) -> proper#(X))
                                                                    (proper#(U13(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                                    (proper#(U13(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X2))
                                                                    (proper#(U13(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X1))
                                                                    (proper#(U13(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X1))
                                                                    (proper#(U13(X)) -> proper#(X), proper#(U13(X)) -> proper#(X))
                                                                    (proper#(U13(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U13(X)) -> proper#(X), proper#(isNat(X)) -> proper#(X))
                                                                    (proper#(U13(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(U13(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(s(X)) -> proper#(X), proper#(s(X)) -> proper#(X))
                                                                    (proper#(s(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X1))
                                                                    (proper#(s(X)) -> proper#(X), proper#(U33(X)) -> proper#(X))
                                                                    (proper#(s(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                                    (proper#(s(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X2))
                                                                    (proper#(s(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X1))
                                                                    (proper#(s(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X1))
                                                                    (proper#(s(X)) -> proper#(X), proper#(U13(X)) -> proper#(X))
                                                                    (proper#(s(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(s(X)) -> proper#(X), proper#(isNat(X)) -> proper#(X))
                                                                    (proper#(s(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(s(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(s(X)) -> proper#(X))
                                                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
                                                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
                                                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
                                                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
                                                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
                                                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
                                                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
                                                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(s(X)) -> proper#(X))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(s(X)) -> proper#(X))
                                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
                                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
                                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(s(X)) -> proper#(X))
                                                                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
                                                                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                                                                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                                                                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                                                                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                                                                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
                                                                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                                                                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(U41(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
                                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
                                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(s(X)) -> proper#(X))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U41(X1, X2)) -> proper#(X1))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(s(X)) -> proper#(X))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(s(X)) -> proper#(X))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U41(X1, X2)) -> proper#(X1))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(s(X)) -> proper#(X))
                                                                    (proper#(U33(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(U33(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(U33(X)) -> proper#(X), proper#(isNat(X)) -> proper#(X))
                                                                    (proper#(U33(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U33(X)) -> proper#(X), proper#(U13(X)) -> proper#(X))
                                                                    (proper#(U33(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X1))
                                                                    (proper#(U33(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X1))
                                                                    (proper#(U33(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X2))
                                                                    (proper#(U33(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                                    (proper#(U33(X)) -> proper#(X), proper#(U33(X)) -> proper#(X))
                                                                    (proper#(U33(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X1))
                                                                    (proper#(U33(X)) -> proper#(X), proper#(s(X)) -> proper#(X))
                                                                    (proper#(isNat(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(isNat(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(isNat(X)) -> proper#(X), proper#(isNat(X)) -> proper#(X))
                                                                    (proper#(isNat(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(isNat(X)) -> proper#(X), proper#(U13(X)) -> proper#(X))
                                                                    (proper#(isNat(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X1))
                                                                    (proper#(isNat(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X1))
                                                                    (proper#(isNat(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X2))
                                                                    (proper#(isNat(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                                    (proper#(isNat(X)) -> proper#(X), proper#(U33(X)) -> proper#(X))
                                                                    (proper#(isNat(X)) -> proper#(X), proper#(U41(X1, X2)) -> proper#(X1))
                                                                    (proper#(isNat(X)) -> proper#(X), proper#(s(X)) -> proper#(X))}
                                                                    SCCS:
                                                                    Scc:
                                                                    {    proper#(U12(X1, X2)) -> proper#(X1),
                                                                        proper#(U12(X1, X2)) -> proper#(X2),
                                                                           proper#(isNat(X)) -> proper#(X),
                                                                    proper#(U11(X1, X2, X3)) -> proper#(X1),
                                                                             proper#(U13(X)) -> proper#(X),
                                                                        proper#(U21(X1, X2)) -> proper#(X1),
                                                                        proper#(U32(X1, X2)) -> proper#(X1),
                                                                        proper#(U32(X1, X2)) -> proper#(X2),
                                                                    proper#(U31(X1, X2, X3)) -> proper#(X2),
                                                                             proper#(U33(X)) -> proper#(X),
                                                                        proper#(U41(X1, X2)) -> proper#(X1),
                                                                               proper#(s(X)) -> proper#(X)}
                                                                    SCC:
                                                                    Strict:
                                                                    {    proper#(U12(X1, X2)) -> proper#(X1),
                                                                        proper#(U12(X1, X2)) -> proper#(X2),
                                                                           proper#(isNat(X)) -> proper#(X),
                                                                    proper#(U11(X1, X2, X3)) -> proper#(X1),
                                                                             proper#(U13(X)) -> proper#(X),
                                                                        proper#(U21(X1, X2)) -> proper#(X1),
                                                                        proper#(U32(X1, X2)) -> proper#(X1),
                                                                        proper#(U32(X1, X2)) -> proper#(X2),
                                                                    proper#(U31(X1, X2, X3)) -> proper#(X2),
                                                                             proper#(U33(X)) -> proper#(X),
                                                                        proper#(U41(X1, X2)) -> proper#(X1),
                                                                               proper#(s(X)) -> proper#(X)}
                                                                    Weak:
                                                                    {              U12(mark(X1), X2) -> mark(U12(X1, X2)),
                                                                                U12(ok(X1), ok(X2)) -> ok(U12(X1, X2)),
                                                                                       isNat(ok(X)) -> ok(isNat(X)),
                                                                                active(U12(X1, X2)) -> U12(active(X1), X2),
                                                                              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(X1, X2, X3)) -> U11(active(X1), X2, X3),
                                                                          active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                                                                                     active(U13(X)) -> U13(active(X)),
                                                                                  active(U13(tt())) -> mark(tt()),
                                                                                     active(U22(X)) -> U22(active(X)),
                                                                                  active(U22(tt())) -> mark(tt()),
                                                                                active(U21(X1, X2)) -> U21(active(X1), X2),
                                                                              active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                                                                                active(U32(X1, X2)) -> U32(active(X1), X2),
                                                                              active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
                                                                            active(U31(X1, X2, X3)) -> U31(active(X1), X2, X3),
                                                                          active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                                                                                     active(U33(X)) -> U33(active(X)),
                                                                                  active(U33(tt())) -> mark(tt()),
                                                                                active(U41(X1, X2)) -> U41(active(X1), X2),
                                                                               active(U41(tt(), N)) -> mark(N),
                                                                                       active(s(X)) -> s(active(X)),
                                                                              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(plus(X1, X2)) -> plus(X1, active(X2)),
                                                                               active(plus(X1, X2)) -> plus(active(X1), X2),
                                                                            active(U51(X1, X2, X3)) -> U51(active(X1), X2, X3),
                                                                            active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                                                                                     active(U61(X)) -> U61(active(X)),
                                                                                  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(x(X1, X2)) -> x(X1, active(X2)),
                                                                                  active(x(X1, X2)) -> x(active(X1), X2),
                                                                            active(U71(X1, X2, X3)) -> U71(active(X1), X2, X3),
                                                                            active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                                                                                active(and(X1, X2)) -> and(active(X1), X2),
                                                                               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(mark(X1), X2, X3) -> mark(U11(X1, X2, X3)),
                                                                        U11(ok(X1), ok(X2), ok(X3)) -> ok(U11(X1, X2, X3)),
                                                                                       U13(mark(X)) -> mark(U13(X)),
                                                                                         U13(ok(X)) -> ok(U13(X)),
                                                                                       U22(mark(X)) -> mark(U22(X)),
                                                                                         U22(ok(X)) -> ok(U22(X)),
                                                                                  U21(mark(X1), X2) -> mark(U21(X1, X2)),
                                                                                U21(ok(X1), ok(X2)) -> ok(U21(X1, X2)),
                                                                                  U32(mark(X1), X2) -> mark(U32(X1, X2)),
                                                                                U32(ok(X1), ok(X2)) -> ok(U32(X1, X2)),
                                                                              U31(mark(X1), X2, X3) -> mark(U31(X1, X2, X3)),
                                                                        U31(ok(X1), ok(X2), ok(X3)) -> ok(U31(X1, X2, X3)),
                                                                                       U33(mark(X)) -> mark(U33(X)),
                                                                                         U33(ok(X)) -> ok(U33(X)),
                                                                                  U41(mark(X1), X2) -> mark(U41(X1, X2)),
                                                                                U41(ok(X1), ok(X2)) -> ok(U41(X1, X2)),
                                                                                         s(mark(X)) -> mark(s(X)),
                                                                                           s(ok(X)) -> ok(s(X)),
                                                                                 plus(X1, mark(X2)) -> mark(plus(X1, X2)),
                                                                                 plus(mark(X1), X2) -> mark(plus(X1, X2)),
                                                                               plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)),
                                                                              U51(mark(X1), X2, X3) -> mark(U51(X1, X2, X3)),
                                                                        U51(ok(X1), ok(X2), ok(X3)) -> ok(U51(X1, X2, X3)),
                                                                                       U61(mark(X)) -> mark(U61(X)),
                                                                                         U61(ok(X)) -> ok(U61(X)),
                                                                                    x(X1, mark(X2)) -> mark(x(X1, X2)),
                                                                                    x(mark(X1), X2) -> mark(x(X1, X2)),
                                                                                  x(ok(X1), ok(X2)) -> ok(x(X1, X2)),
                                                                              U71(mark(X1), X2, X3) -> mark(U71(X1, X2, X3)),
                                                                        U71(ok(X1), ok(X2), ok(X3)) -> ok(U71(X1, X2, X3)),
                                                                                  and(mark(X1), X2) -> mark(and(X1, X2)),
                                                                                and(ok(X1), ok(X2)) -> ok(and(X1, X2)),
                                                                                   isNatKind(ok(X)) -> ok(isNatKind(X)),
                                                                                proper(U12(X1, X2)) -> U12(proper(X1), proper(X2)),
                                                                                   proper(isNat(X)) -> isNat(proper(X)),
                                                                            proper(U11(X1, X2, X3)) -> U11(proper(X1), proper(X2), proper(X3)),
                                                                                       proper(tt()) -> ok(tt()),
                                                                                     proper(U13(X)) -> U13(proper(X)),
                                                                                     proper(U22(X)) -> U22(proper(X)),
                                                                                proper(U21(X1, X2)) -> U21(proper(X1), proper(X2)),
                                                                                proper(U32(X1, X2)) -> U32(proper(X1), proper(X2)),
                                                                            proper(U31(X1, X2, X3)) -> U31(proper(X1), proper(X2), proper(X3)),
                                                                                     proper(U33(X)) -> U33(proper(X)),
                                                                                proper(U41(X1, X2)) -> U41(proper(X1), proper(X2)),
                                                                                       proper(s(X)) -> s(proper(X)),
                                                                               proper(plus(X1, X2)) -> plus(proper(X1), proper(X2)),
                                                                            proper(U51(X1, X2, X3)) -> U51(proper(X1), proper(X2), proper(X3)),
                                                                                        proper(0()) -> ok(0()),
                                                                                     proper(U61(X)) -> U61(proper(X)),
                                                                                  proper(x(X1, X2)) -> x(proper(X1), proper(X2)),
                                                                            proper(U71(X1, X2, X3)) -> U71(proper(X1), proper(X2), proper(X3)),
                                                                                proper(and(X1, X2)) -> and(proper(X1), proper(X2)),
                                                                               proper(isNatKind(X)) -> isNatKind(proper(X)),
                                                                                       top(mark(X)) -> top(proper(X)),
                                                                                         top(ok(X)) -> top(active(X))}
                                                                    SPSC:
                                                                    Simple Projection:
                                                                    pi(proper#) = 0
                                                                    Strict:
                                                                    {    proper#(U12(X1, X2)) -> proper#(X1),
                                                                        proper#(U12(X1, X2)) -> proper#(X2),
                                                                           proper#(isNat(X)) -> proper#(X),
                                                                    proper#(U11(X1, X2, X3)) -> proper#(X1),
                                                                             proper#(U13(X)) -> proper#(X),
                                                                        proper#(U21(X1, X2)) -> proper#(X1),
                                                                        proper#(U32(X1, X2)) -> proper#(X1),
                                                                        proper#(U32(X1, X2)) -> proper#(X2),
                                                                    proper#(U31(X1, X2, X3)) -> proper#(X2),
                                                                             proper#(U33(X)) -> proper#(X),
                                                                               proper#(s(X)) -> proper#(X)}
                                                                    EDG:
                                                                    {(proper#(U13(X)) -> proper#(X), proper#(s(X)) -> proper#(X))
                                                                    (proper#(U13(X)) -> proper#(X), proper#(U33(X)) -> proper#(X))
                                                                    (proper#(U13(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                                    (proper#(U13(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X2))
                                                                    (proper#(U13(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X1))
                                                                    (proper#(U13(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X1))
                                                                    (proper#(U13(X)) -> proper#(X), proper#(U13(X)) -> proper#(X))
                                                                    (proper#(U13(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U13(X)) -> proper#(X), proper#(isNat(X)) -> proper#(X))
                                                                    (proper#(U13(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(U13(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(s(X)) -> proper#(X), proper#(s(X)) -> proper#(X))
                                                                    (proper#(s(X)) -> proper#(X), proper#(U33(X)) -> proper#(X))
                                                                    (proper#(s(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                                    (proper#(s(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X2))
                                                                    (proper#(s(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X1))
                                                                    (proper#(s(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X1))
                                                                    (proper#(s(X)) -> proper#(X), proper#(U13(X)) -> proper#(X))
                                                                    (proper#(s(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(s(X)) -> proper#(X), proper#(isNat(X)) -> proper#(X))
                                                                    (proper#(s(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(s(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(s(X)) -> proper#(X))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(s(X)) -> proper#(X))
                                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
                                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(s(X)) -> proper#(X))
                                                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
                                                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
                                                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
                                                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
                                                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
                                                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
                                                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(s(X)) -> proper#(X))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(s(X)) -> proper#(X))
                                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
                                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(s(X)) -> proper#(X))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(s(X)) -> proper#(X))
                                                                    (proper#(U33(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(U33(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(U33(X)) -> proper#(X), proper#(isNat(X)) -> proper#(X))
                                                                    (proper#(U33(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U33(X)) -> proper#(X), proper#(U13(X)) -> proper#(X))
                                                                    (proper#(U33(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X1))
                                                                    (proper#(U33(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X1))
                                                                    (proper#(U33(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X2))
                                                                    (proper#(U33(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                                    (proper#(U33(X)) -> proper#(X), proper#(U33(X)) -> proper#(X))
                                                                    (proper#(U33(X)) -> proper#(X), proper#(s(X)) -> proper#(X))
                                                                    (proper#(isNat(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(isNat(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(isNat(X)) -> proper#(X), proper#(isNat(X)) -> proper#(X))
                                                                    (proper#(isNat(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(isNat(X)) -> proper#(X), proper#(U13(X)) -> proper#(X))
                                                                    (proper#(isNat(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X1))
                                                                    (proper#(isNat(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X1))
                                                                    (proper#(isNat(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X2))
                                                                    (proper#(isNat(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                                    (proper#(isNat(X)) -> proper#(X), proper#(U33(X)) -> proper#(X))
                                                                    (proper#(isNat(X)) -> proper#(X), proper#(s(X)) -> proper#(X))}
                                                                    SCCS:
                                                                    Scc:
                                                                    {    proper#(U12(X1, X2)) -> proper#(X1),
                                                                        proper#(U12(X1, X2)) -> proper#(X2),
                                                                           proper#(isNat(X)) -> proper#(X),
                                                                    proper#(U11(X1, X2, X3)) -> proper#(X1),
                                                                             proper#(U13(X)) -> proper#(X),
                                                                        proper#(U21(X1, X2)) -> proper#(X1),
                                                                        proper#(U32(X1, X2)) -> proper#(X1),
                                                                        proper#(U32(X1, X2)) -> proper#(X2),
                                                                    proper#(U31(X1, X2, X3)) -> proper#(X2),
                                                                             proper#(U33(X)) -> proper#(X),
                                                                               proper#(s(X)) -> proper#(X)}
                                                                    SCC:
                                                                    Strict:
                                                                    {    proper#(U12(X1, X2)) -> proper#(X1),
                                                                        proper#(U12(X1, X2)) -> proper#(X2),
                                                                           proper#(isNat(X)) -> proper#(X),
                                                                    proper#(U11(X1, X2, X3)) -> proper#(X1),
                                                                             proper#(U13(X)) -> proper#(X),
                                                                        proper#(U21(X1, X2)) -> proper#(X1),
                                                                        proper#(U32(X1, X2)) -> proper#(X1),
                                                                        proper#(U32(X1, X2)) -> proper#(X2),
                                                                    proper#(U31(X1, X2, X3)) -> proper#(X2),
                                                                             proper#(U33(X)) -> proper#(X),
                                                                               proper#(s(X)) -> proper#(X)}
                                                                    Weak:
                                                                    {              U12(mark(X1), X2) -> mark(U12(X1, X2)),
                                                                                U12(ok(X1), ok(X2)) -> ok(U12(X1, X2)),
                                                                                       isNat(ok(X)) -> ok(isNat(X)),
                                                                                active(U12(X1, X2)) -> U12(active(X1), X2),
                                                                              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(X1, X2, X3)) -> U11(active(X1), X2, X3),
                                                                          active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                                                                                     active(U13(X)) -> U13(active(X)),
                                                                                  active(U13(tt())) -> mark(tt()),
                                                                                     active(U22(X)) -> U22(active(X)),
                                                                                  active(U22(tt())) -> mark(tt()),
                                                                                active(U21(X1, X2)) -> U21(active(X1), X2),
                                                                              active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                                                                                active(U32(X1, X2)) -> U32(active(X1), X2),
                                                                              active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
                                                                            active(U31(X1, X2, X3)) -> U31(active(X1), X2, X3),
                                                                          active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                                                                                     active(U33(X)) -> U33(active(X)),
                                                                                  active(U33(tt())) -> mark(tt()),
                                                                                active(U41(X1, X2)) -> U41(active(X1), X2),
                                                                               active(U41(tt(), N)) -> mark(N),
                                                                                       active(s(X)) -> s(active(X)),
                                                                              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(plus(X1, X2)) -> plus(X1, active(X2)),
                                                                               active(plus(X1, X2)) -> plus(active(X1), X2),
                                                                            active(U51(X1, X2, X3)) -> U51(active(X1), X2, X3),
                                                                            active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                                                                                     active(U61(X)) -> U61(active(X)),
                                                                                  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(x(X1, X2)) -> x(X1, active(X2)),
                                                                                  active(x(X1, X2)) -> x(active(X1), X2),
                                                                            active(U71(X1, X2, X3)) -> U71(active(X1), X2, X3),
                                                                            active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                                                                                active(and(X1, X2)) -> and(active(X1), X2),
                                                                               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(mark(X1), X2, X3) -> mark(U11(X1, X2, X3)),
                                                                        U11(ok(X1), ok(X2), ok(X3)) -> ok(U11(X1, X2, X3)),
                                                                                       U13(mark(X)) -> mark(U13(X)),
                                                                                         U13(ok(X)) -> ok(U13(X)),
                                                                                       U22(mark(X)) -> mark(U22(X)),
                                                                                         U22(ok(X)) -> ok(U22(X)),
                                                                                  U21(mark(X1), X2) -> mark(U21(X1, X2)),
                                                                                U21(ok(X1), ok(X2)) -> ok(U21(X1, X2)),
                                                                                  U32(mark(X1), X2) -> mark(U32(X1, X2)),
                                                                                U32(ok(X1), ok(X2)) -> ok(U32(X1, X2)),
                                                                              U31(mark(X1), X2, X3) -> mark(U31(X1, X2, X3)),
                                                                        U31(ok(X1), ok(X2), ok(X3)) -> ok(U31(X1, X2, X3)),
                                                                                       U33(mark(X)) -> mark(U33(X)),
                                                                                         U33(ok(X)) -> ok(U33(X)),
                                                                                  U41(mark(X1), X2) -> mark(U41(X1, X2)),
                                                                                U41(ok(X1), ok(X2)) -> ok(U41(X1, X2)),
                                                                                         s(mark(X)) -> mark(s(X)),
                                                                                           s(ok(X)) -> ok(s(X)),
                                                                                 plus(X1, mark(X2)) -> mark(plus(X1, X2)),
                                                                                 plus(mark(X1), X2) -> mark(plus(X1, X2)),
                                                                               plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)),
                                                                              U51(mark(X1), X2, X3) -> mark(U51(X1, X2, X3)),
                                                                        U51(ok(X1), ok(X2), ok(X3)) -> ok(U51(X1, X2, X3)),
                                                                                       U61(mark(X)) -> mark(U61(X)),
                                                                                         U61(ok(X)) -> ok(U61(X)),
                                                                                    x(X1, mark(X2)) -> mark(x(X1, X2)),
                                                                                    x(mark(X1), X2) -> mark(x(X1, X2)),
                                                                                  x(ok(X1), ok(X2)) -> ok(x(X1, X2)),
                                                                              U71(mark(X1), X2, X3) -> mark(U71(X1, X2, X3)),
                                                                        U71(ok(X1), ok(X2), ok(X3)) -> ok(U71(X1, X2, X3)),
                                                                                  and(mark(X1), X2) -> mark(and(X1, X2)),
                                                                                and(ok(X1), ok(X2)) -> ok(and(X1, X2)),
                                                                                   isNatKind(ok(X)) -> ok(isNatKind(X)),
                                                                                proper(U12(X1, X2)) -> U12(proper(X1), proper(X2)),
                                                                                   proper(isNat(X)) -> isNat(proper(X)),
                                                                            proper(U11(X1, X2, X3)) -> U11(proper(X1), proper(X2), proper(X3)),
                                                                                       proper(tt()) -> ok(tt()),
                                                                                     proper(U13(X)) -> U13(proper(X)),
                                                                                     proper(U22(X)) -> U22(proper(X)),
                                                                                proper(U21(X1, X2)) -> U21(proper(X1), proper(X2)),
                                                                                proper(U32(X1, X2)) -> U32(proper(X1), proper(X2)),
                                                                            proper(U31(X1, X2, X3)) -> U31(proper(X1), proper(X2), proper(X3)),
                                                                                     proper(U33(X)) -> U33(proper(X)),
                                                                                proper(U41(X1, X2)) -> U41(proper(X1), proper(X2)),
                                                                                       proper(s(X)) -> s(proper(X)),
                                                                               proper(plus(X1, X2)) -> plus(proper(X1), proper(X2)),
                                                                            proper(U51(X1, X2, X3)) -> U51(proper(X1), proper(X2), proper(X3)),
                                                                                        proper(0()) -> ok(0()),
                                                                                     proper(U61(X)) -> U61(proper(X)),
                                                                                  proper(x(X1, X2)) -> x(proper(X1), proper(X2)),
                                                                            proper(U71(X1, X2, X3)) -> U71(proper(X1), proper(X2), proper(X3)),
                                                                                proper(and(X1, X2)) -> and(proper(X1), proper(X2)),
                                                                               proper(isNatKind(X)) -> isNatKind(proper(X)),
                                                                                       top(mark(X)) -> top(proper(X)),
                                                                                         top(ok(X)) -> top(active(X))}
                                                                    SPSC:
                                                                    Simple Projection:
                                                                    pi(proper#) = 0
                                                                    Strict:
                                                                    {    proper#(U12(X1, X2)) -> proper#(X1),
                                                                        proper#(U12(X1, X2)) -> proper#(X2),
                                                                           proper#(isNat(X)) -> proper#(X),
                                                                    proper#(U11(X1, X2, X3)) -> proper#(X1),
                                                                             proper#(U13(X)) -> proper#(X),
                                                                        proper#(U21(X1, X2)) -> proper#(X1),
                                                                        proper#(U32(X1, X2)) -> proper#(X1),
                                                                        proper#(U32(X1, X2)) -> proper#(X2),
                                                                    proper#(U31(X1, X2, X3)) -> proper#(X2),
                                                                             proper#(U33(X)) -> proper#(X)}
                                                                    EDG:
                                                                    {(proper#(U13(X)) -> proper#(X), proper#(U33(X)) -> proper#(X))
                                                                    (proper#(U13(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                                    (proper#(U13(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X2))
                                                                    (proper#(U13(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X1))
                                                                    (proper#(U13(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X1))
                                                                    (proper#(U13(X)) -> proper#(X), proper#(U13(X)) -> proper#(X))
                                                                    (proper#(U13(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U13(X)) -> proper#(X), proper#(isNat(X)) -> proper#(X))
                                                                    (proper#(U13(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(U13(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
                                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
                                                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U13(X)) -> proper#(X))
                                                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
                                                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
                                                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
                                                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
                                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
                                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U13(X)) -> proper#(X))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                                                                    (proper#(U33(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(U33(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(U33(X)) -> proper#(X), proper#(isNat(X)) -> proper#(X))
                                                                    (proper#(U33(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U33(X)) -> proper#(X), proper#(U13(X)) -> proper#(X))
                                                                    (proper#(U33(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X1))
                                                                    (proper#(U33(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X1))
                                                                    (proper#(U33(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X2))
                                                                    (proper#(U33(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                                    (proper#(U33(X)) -> proper#(X), proper#(U33(X)) -> proper#(X))
                                                                    (proper#(isNat(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(isNat(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(isNat(X)) -> proper#(X), proper#(isNat(X)) -> proper#(X))
                                                                    (proper#(isNat(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(isNat(X)) -> proper#(X), proper#(U13(X)) -> proper#(X))
                                                                    (proper#(isNat(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X1))
                                                                    (proper#(isNat(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X1))
                                                                    (proper#(isNat(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X2))
                                                                    (proper#(isNat(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                                    (proper#(isNat(X)) -> proper#(X), proper#(U33(X)) -> proper#(X))}
                                                                    SCCS:
                                                                    Scc:
                                                                    {    proper#(U12(X1, X2)) -> proper#(X1),
                                                                        proper#(U12(X1, X2)) -> proper#(X2),
                                                                           proper#(isNat(X)) -> proper#(X),
                                                                    proper#(U11(X1, X2, X3)) -> proper#(X1),
                                                                             proper#(U13(X)) -> proper#(X),
                                                                        proper#(U21(X1, X2)) -> proper#(X1),
                                                                        proper#(U32(X1, X2)) -> proper#(X1),
                                                                        proper#(U32(X1, X2)) -> proper#(X2),
                                                                    proper#(U31(X1, X2, X3)) -> proper#(X2),
                                                                             proper#(U33(X)) -> proper#(X)}
                                                                    SCC:
                                                                    Strict:
                                                                    {    proper#(U12(X1, X2)) -> proper#(X1),
                                                                        proper#(U12(X1, X2)) -> proper#(X2),
                                                                           proper#(isNat(X)) -> proper#(X),
                                                                    proper#(U11(X1, X2, X3)) -> proper#(X1),
                                                                             proper#(U13(X)) -> proper#(X),
                                                                        proper#(U21(X1, X2)) -> proper#(X1),
                                                                        proper#(U32(X1, X2)) -> proper#(X1),
                                                                        proper#(U32(X1, X2)) -> proper#(X2),
                                                                    proper#(U31(X1, X2, X3)) -> proper#(X2),
                                                                             proper#(U33(X)) -> proper#(X)}
                                                                    Weak:
                                                                    {              U12(mark(X1), X2) -> mark(U12(X1, X2)),
                                                                                U12(ok(X1), ok(X2)) -> ok(U12(X1, X2)),
                                                                                       isNat(ok(X)) -> ok(isNat(X)),
                                                                                active(U12(X1, X2)) -> U12(active(X1), X2),
                                                                              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(X1, X2, X3)) -> U11(active(X1), X2, X3),
                                                                          active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                                                                                     active(U13(X)) -> U13(active(X)),
                                                                                  active(U13(tt())) -> mark(tt()),
                                                                                     active(U22(X)) -> U22(active(X)),
                                                                                  active(U22(tt())) -> mark(tt()),
                                                                                active(U21(X1, X2)) -> U21(active(X1), X2),
                                                                              active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                                                                                active(U32(X1, X2)) -> U32(active(X1), X2),
                                                                              active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
                                                                            active(U31(X1, X2, X3)) -> U31(active(X1), X2, X3),
                                                                          active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                                                                                     active(U33(X)) -> U33(active(X)),
                                                                                  active(U33(tt())) -> mark(tt()),
                                                                                active(U41(X1, X2)) -> U41(active(X1), X2),
                                                                               active(U41(tt(), N)) -> mark(N),
                                                                                       active(s(X)) -> s(active(X)),
                                                                              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(plus(X1, X2)) -> plus(X1, active(X2)),
                                                                               active(plus(X1, X2)) -> plus(active(X1), X2),
                                                                            active(U51(X1, X2, X3)) -> U51(active(X1), X2, X3),
                                                                            active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                                                                                     active(U61(X)) -> U61(active(X)),
                                                                                  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(x(X1, X2)) -> x(X1, active(X2)),
                                                                                  active(x(X1, X2)) -> x(active(X1), X2),
                                                                            active(U71(X1, X2, X3)) -> U71(active(X1), X2, X3),
                                                                            active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                                                                                active(and(X1, X2)) -> and(active(X1), X2),
                                                                               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(mark(X1), X2, X3) -> mark(U11(X1, X2, X3)),
                                                                        U11(ok(X1), ok(X2), ok(X3)) -> ok(U11(X1, X2, X3)),
                                                                                       U13(mark(X)) -> mark(U13(X)),
                                                                                         U13(ok(X)) -> ok(U13(X)),
                                                                                       U22(mark(X)) -> mark(U22(X)),
                                                                                         U22(ok(X)) -> ok(U22(X)),
                                                                                  U21(mark(X1), X2) -> mark(U21(X1, X2)),
                                                                                U21(ok(X1), ok(X2)) -> ok(U21(X1, X2)),
                                                                                  U32(mark(X1), X2) -> mark(U32(X1, X2)),
                                                                                U32(ok(X1), ok(X2)) -> ok(U32(X1, X2)),
                                                                              U31(mark(X1), X2, X3) -> mark(U31(X1, X2, X3)),
                                                                        U31(ok(X1), ok(X2), ok(X3)) -> ok(U31(X1, X2, X3)),
                                                                                       U33(mark(X)) -> mark(U33(X)),
                                                                                         U33(ok(X)) -> ok(U33(X)),
                                                                                  U41(mark(X1), X2) -> mark(U41(X1, X2)),
                                                                                U41(ok(X1), ok(X2)) -> ok(U41(X1, X2)),
                                                                                         s(mark(X)) -> mark(s(X)),
                                                                                           s(ok(X)) -> ok(s(X)),
                                                                                 plus(X1, mark(X2)) -> mark(plus(X1, X2)),
                                                                                 plus(mark(X1), X2) -> mark(plus(X1, X2)),
                                                                               plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)),
                                                                              U51(mark(X1), X2, X3) -> mark(U51(X1, X2, X3)),
                                                                        U51(ok(X1), ok(X2), ok(X3)) -> ok(U51(X1, X2, X3)),
                                                                                       U61(mark(X)) -> mark(U61(X)),
                                                                                         U61(ok(X)) -> ok(U61(X)),
                                                                                    x(X1, mark(X2)) -> mark(x(X1, X2)),
                                                                                    x(mark(X1), X2) -> mark(x(X1, X2)),
                                                                                  x(ok(X1), ok(X2)) -> ok(x(X1, X2)),
                                                                              U71(mark(X1), X2, X3) -> mark(U71(X1, X2, X3)),
                                                                        U71(ok(X1), ok(X2), ok(X3)) -> ok(U71(X1, X2, X3)),
                                                                                  and(mark(X1), X2) -> mark(and(X1, X2)),
                                                                                and(ok(X1), ok(X2)) -> ok(and(X1, X2)),
                                                                                   isNatKind(ok(X)) -> ok(isNatKind(X)),
                                                                                proper(U12(X1, X2)) -> U12(proper(X1), proper(X2)),
                                                                                   proper(isNat(X)) -> isNat(proper(X)),
                                                                            proper(U11(X1, X2, X3)) -> U11(proper(X1), proper(X2), proper(X3)),
                                                                                       proper(tt()) -> ok(tt()),
                                                                                     proper(U13(X)) -> U13(proper(X)),
                                                                                     proper(U22(X)) -> U22(proper(X)),
                                                                                proper(U21(X1, X2)) -> U21(proper(X1), proper(X2)),
                                                                                proper(U32(X1, X2)) -> U32(proper(X1), proper(X2)),
                                                                            proper(U31(X1, X2, X3)) -> U31(proper(X1), proper(X2), proper(X3)),
                                                                                     proper(U33(X)) -> U33(proper(X)),
                                                                                proper(U41(X1, X2)) -> U41(proper(X1), proper(X2)),
                                                                                       proper(s(X)) -> s(proper(X)),
                                                                               proper(plus(X1, X2)) -> plus(proper(X1), proper(X2)),
                                                                            proper(U51(X1, X2, X3)) -> U51(proper(X1), proper(X2), proper(X3)),
                                                                                        proper(0()) -> ok(0()),
                                                                                     proper(U61(X)) -> U61(proper(X)),
                                                                                  proper(x(X1, X2)) -> x(proper(X1), proper(X2)),
                                                                            proper(U71(X1, X2, X3)) -> U71(proper(X1), proper(X2), proper(X3)),
                                                                                proper(and(X1, X2)) -> and(proper(X1), proper(X2)),
                                                                               proper(isNatKind(X)) -> isNatKind(proper(X)),
                                                                                       top(mark(X)) -> top(proper(X)),
                                                                                         top(ok(X)) -> top(active(X))}
                                                                    SPSC:
                                                                    Simple Projection:
                                                                    pi(proper#) = 0
                                                                    Strict:
                                                                    {    proper#(U12(X1, X2)) -> proper#(X1),
                                                                        proper#(U12(X1, X2)) -> proper#(X2),
                                                                           proper#(isNat(X)) -> proper#(X),
                                                                    proper#(U11(X1, X2, X3)) -> proper#(X1),
                                                                        proper#(U21(X1, X2)) -> proper#(X1),
                                                                        proper#(U32(X1, X2)) -> proper#(X1),
                                                                        proper#(U32(X1, X2)) -> proper#(X2),
                                                                    proper#(U31(X1, X2, X3)) -> proper#(X2),
                                                                             proper#(U33(X)) -> proper#(X)}
                                                                    EDG:
                                                                    {(proper#(U33(X)) -> proper#(X), proper#(U33(X)) -> proper#(X))
                                                                    (proper#(U33(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                                    (proper#(U33(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X2))
                                                                    (proper#(U33(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X1))
                                                                    (proper#(U33(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X1))
                                                                    (proper#(U33(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U33(X)) -> proper#(X), proper#(isNat(X)) -> proper#(X))
                                                                    (proper#(U33(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(U33(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
                                                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
                                                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
                                                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
                                                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
                                                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                                    (proper#(U31(X1, X2, X3)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
                                                                    (proper#(isNat(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(isNat(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(isNat(X)) -> proper#(X), proper#(isNat(X)) -> proper#(X))
                                                                    (proper#(isNat(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(isNat(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X1))
                                                                    (proper#(isNat(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X1))
                                                                    (proper#(isNat(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X2))
                                                                    (proper#(isNat(X)) -> proper#(X), proper#(U31(X1, X2, X3)) -> proper#(X2))
                                                                    (proper#(isNat(X)) -> proper#(X), proper#(U33(X)) -> proper#(X))}
                                                                    SCCS:
                                                                    Scc:
                                                                    {    proper#(U12(X1, X2)) -> proper#(X1),
                                                                        proper#(U12(X1, X2)) -> proper#(X2),
                                                                           proper#(isNat(X)) -> proper#(X),
                                                                    proper#(U11(X1, X2, X3)) -> proper#(X1),
                                                                        proper#(U21(X1, X2)) -> proper#(X1),
                                                                        proper#(U32(X1, X2)) -> proper#(X1),
                                                                        proper#(U32(X1, X2)) -> proper#(X2),
                                                                    proper#(U31(X1, X2, X3)) -> proper#(X2),
                                                                             proper#(U33(X)) -> proper#(X)}
                                                                    SCC:
                                                                    Strict:
                                                                    {    proper#(U12(X1, X2)) -> proper#(X1),
                                                                        proper#(U12(X1, X2)) -> proper#(X2),
                                                                           proper#(isNat(X)) -> proper#(X),
                                                                    proper#(U11(X1, X2, X3)) -> proper#(X1),
                                                                        proper#(U21(X1, X2)) -> proper#(X1),
                                                                        proper#(U32(X1, X2)) -> proper#(X1),
                                                                        proper#(U32(X1, X2)) -> proper#(X2),
                                                                    proper#(U31(X1, X2, X3)) -> proper#(X2),
                                                                             proper#(U33(X)) -> proper#(X)}
                                                                    Weak:
                                                                    {              U12(mark(X1), X2) -> mark(U12(X1, X2)),
                                                                                U12(ok(X1), ok(X2)) -> ok(U12(X1, X2)),
                                                                                       isNat(ok(X)) -> ok(isNat(X)),
                                                                                active(U12(X1, X2)) -> U12(active(X1), X2),
                                                                              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(X1, X2, X3)) -> U11(active(X1), X2, X3),
                                                                          active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                                                                                     active(U13(X)) -> U13(active(X)),
                                                                                  active(U13(tt())) -> mark(tt()),
                                                                                     active(U22(X)) -> U22(active(X)),
                                                                                  active(U22(tt())) -> mark(tt()),
                                                                                active(U21(X1, X2)) -> U21(active(X1), X2),
                                                                              active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                                                                                active(U32(X1, X2)) -> U32(active(X1), X2),
                                                                              active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
                                                                            active(U31(X1, X2, X3)) -> U31(active(X1), X2, X3),
                                                                          active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                                                                                     active(U33(X)) -> U33(active(X)),
                                                                                  active(U33(tt())) -> mark(tt()),
                                                                                active(U41(X1, X2)) -> U41(active(X1), X2),
                                                                               active(U41(tt(), N)) -> mark(N),
                                                                                       active(s(X)) -> s(active(X)),
                                                                              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(plus(X1, X2)) -> plus(X1, active(X2)),
                                                                               active(plus(X1, X2)) -> plus(active(X1), X2),
                                                                            active(U51(X1, X2, X3)) -> U51(active(X1), X2, X3),
                                                                            active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                                                                                     active(U61(X)) -> U61(active(X)),
                                                                                  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(x(X1, X2)) -> x(X1, active(X2)),
                                                                                  active(x(X1, X2)) -> x(active(X1), X2),
                                                                            active(U71(X1, X2, X3)) -> U71(active(X1), X2, X3),
                                                                            active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                                                                                active(and(X1, X2)) -> and(active(X1), X2),
                                                                               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(mark(X1), X2, X3) -> mark(U11(X1, X2, X3)),
                                                                        U11(ok(X1), ok(X2), ok(X3)) -> ok(U11(X1, X2, X3)),
                                                                                       U13(mark(X)) -> mark(U13(X)),
                                                                                         U13(ok(X)) -> ok(U13(X)),
                                                                                       U22(mark(X)) -> mark(U22(X)),
                                                                                         U22(ok(X)) -> ok(U22(X)),
                                                                                  U21(mark(X1), X2) -> mark(U21(X1, X2)),
                                                                                U21(ok(X1), ok(X2)) -> ok(U21(X1, X2)),
                                                                                  U32(mark(X1), X2) -> mark(U32(X1, X2)),
                                                                                U32(ok(X1), ok(X2)) -> ok(U32(X1, X2)),
                                                                              U31(mark(X1), X2, X3) -> mark(U31(X1, X2, X3)),
                                                                        U31(ok(X1), ok(X2), ok(X3)) -> ok(U31(X1, X2, X3)),
                                                                                       U33(mark(X)) -> mark(U33(X)),
                                                                                         U33(ok(X)) -> ok(U33(X)),
                                                                                  U41(mark(X1), X2) -> mark(U41(X1, X2)),
                                                                                U41(ok(X1), ok(X2)) -> ok(U41(X1, X2)),
                                                                                         s(mark(X)) -> mark(s(X)),
                                                                                           s(ok(X)) -> ok(s(X)),
                                                                                 plus(X1, mark(X2)) -> mark(plus(X1, X2)),
                                                                                 plus(mark(X1), X2) -> mark(plus(X1, X2)),
                                                                               plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)),
                                                                              U51(mark(X1), X2, X3) -> mark(U51(X1, X2, X3)),
                                                                        U51(ok(X1), ok(X2), ok(X3)) -> ok(U51(X1, X2, X3)),
                                                                                       U61(mark(X)) -> mark(U61(X)),
                                                                                         U61(ok(X)) -> ok(U61(X)),
                                                                                    x(X1, mark(X2)) -> mark(x(X1, X2)),
                                                                                    x(mark(X1), X2) -> mark(x(X1, X2)),
                                                                                  x(ok(X1), ok(X2)) -> ok(x(X1, X2)),
                                                                              U71(mark(X1), X2, X3) -> mark(U71(X1, X2, X3)),
                                                                        U71(ok(X1), ok(X2), ok(X3)) -> ok(U71(X1, X2, X3)),
                                                                                  and(mark(X1), X2) -> mark(and(X1, X2)),
                                                                                and(ok(X1), ok(X2)) -> ok(and(X1, X2)),
                                                                                   isNatKind(ok(X)) -> ok(isNatKind(X)),
                                                                                proper(U12(X1, X2)) -> U12(proper(X1), proper(X2)),
                                                                                   proper(isNat(X)) -> isNat(proper(X)),
                                                                            proper(U11(X1, X2, X3)) -> U11(proper(X1), proper(X2), proper(X3)),
                                                                                       proper(tt()) -> ok(tt()),
                                                                                     proper(U13(X)) -> U13(proper(X)),
                                                                                     proper(U22(X)) -> U22(proper(X)),
                                                                                proper(U21(X1, X2)) -> U21(proper(X1), proper(X2)),
                                                                                proper(U32(X1, X2)) -> U32(proper(X1), proper(X2)),
                                                                            proper(U31(X1, X2, X3)) -> U31(proper(X1), proper(X2), proper(X3)),
                                                                                     proper(U33(X)) -> U33(proper(X)),
                                                                                proper(U41(X1, X2)) -> U41(proper(X1), proper(X2)),
                                                                                       proper(s(X)) -> s(proper(X)),
                                                                               proper(plus(X1, X2)) -> plus(proper(X1), proper(X2)),
                                                                            proper(U51(X1, X2, X3)) -> U51(proper(X1), proper(X2), proper(X3)),
                                                                                        proper(0()) -> ok(0()),
                                                                                     proper(U61(X)) -> U61(proper(X)),
                                                                                  proper(x(X1, X2)) -> x(proper(X1), proper(X2)),
                                                                            proper(U71(X1, X2, X3)) -> U71(proper(X1), proper(X2), proper(X3)),
                                                                                proper(and(X1, X2)) -> and(proper(X1), proper(X2)),
                                                                               proper(isNatKind(X)) -> isNatKind(proper(X)),
                                                                                       top(mark(X)) -> top(proper(X)),
                                                                                         top(ok(X)) -> top(active(X))}
                                                                    SPSC:
                                                                    Simple Projection:
                                                                    pi(proper#) = 0
                                                                    Strict:
                                                                    {    proper#(U12(X1, X2)) -> proper#(X1),
                                                                        proper#(U12(X1, X2)) -> proper#(X2),
                                                                           proper#(isNat(X)) -> proper#(X),
                                                                    proper#(U11(X1, X2, X3)) -> proper#(X1),
                                                                        proper#(U21(X1, X2)) -> proper#(X1),
                                                                        proper#(U32(X1, X2)) -> proper#(X1),
                                                                        proper#(U32(X1, X2)) -> proper#(X2),
                                                                             proper#(U33(X)) -> proper#(X)}
                                                                    EDG:
                                                                    {(proper#(U33(X)) -> proper#(X), proper#(U33(X)) -> proper#(X))
                                                                    (proper#(U33(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X2))
                                                                    (proper#(U33(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X1))
                                                                    (proper#(U33(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X1))
                                                                    (proper#(U33(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U33(X)) -> proper#(X), proper#(isNat(X)) -> proper#(X))
                                                                    (proper#(U33(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(U33(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
                                                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
                                                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
                                                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
                                                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
                                                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(U32(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X2))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X2))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
                                                                    (proper#(isNat(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(isNat(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(isNat(X)) -> proper#(X), proper#(isNat(X)) -> proper#(X))
                                                                    (proper#(isNat(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(isNat(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X1))
                                                                    (proper#(isNat(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X1))
                                                                    (proper#(isNat(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X2))
                                                                    (proper#(isNat(X)) -> proper#(X), proper#(U33(X)) -> proper#(X))}
                                                                    SCCS:
                                                                    Scc:
                                                                    {    proper#(U12(X1, X2)) -> proper#(X1),
                                                                        proper#(U12(X1, X2)) -> proper#(X2),
                                                                           proper#(isNat(X)) -> proper#(X),
                                                                    proper#(U11(X1, X2, X3)) -> proper#(X1),
                                                                        proper#(U21(X1, X2)) -> proper#(X1),
                                                                        proper#(U32(X1, X2)) -> proper#(X1),
                                                                        proper#(U32(X1, X2)) -> proper#(X2),
                                                                             proper#(U33(X)) -> proper#(X)}
                                                                    SCC:
                                                                    Strict:
                                                                    {    proper#(U12(X1, X2)) -> proper#(X1),
                                                                        proper#(U12(X1, X2)) -> proper#(X2),
                                                                           proper#(isNat(X)) -> proper#(X),
                                                                    proper#(U11(X1, X2, X3)) -> proper#(X1),
                                                                        proper#(U21(X1, X2)) -> proper#(X1),
                                                                        proper#(U32(X1, X2)) -> proper#(X1),
                                                                        proper#(U32(X1, X2)) -> proper#(X2),
                                                                             proper#(U33(X)) -> proper#(X)}
                                                                    Weak:
                                                                    {              U12(mark(X1), X2) -> mark(U12(X1, X2)),
                                                                                U12(ok(X1), ok(X2)) -> ok(U12(X1, X2)),
                                                                                       isNat(ok(X)) -> ok(isNat(X)),
                                                                                active(U12(X1, X2)) -> U12(active(X1), X2),
                                                                              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(X1, X2, X3)) -> U11(active(X1), X2, X3),
                                                                          active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                                                                                     active(U13(X)) -> U13(active(X)),
                                                                                  active(U13(tt())) -> mark(tt()),
                                                                                     active(U22(X)) -> U22(active(X)),
                                                                                  active(U22(tt())) -> mark(tt()),
                                                                                active(U21(X1, X2)) -> U21(active(X1), X2),
                                                                              active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                                                                                active(U32(X1, X2)) -> U32(active(X1), X2),
                                                                              active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
                                                                            active(U31(X1, X2, X3)) -> U31(active(X1), X2, X3),
                                                                          active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                                                                                     active(U33(X)) -> U33(active(X)),
                                                                                  active(U33(tt())) -> mark(tt()),
                                                                                active(U41(X1, X2)) -> U41(active(X1), X2),
                                                                               active(U41(tt(), N)) -> mark(N),
                                                                                       active(s(X)) -> s(active(X)),
                                                                              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(plus(X1, X2)) -> plus(X1, active(X2)),
                                                                               active(plus(X1, X2)) -> plus(active(X1), X2),
                                                                            active(U51(X1, X2, X3)) -> U51(active(X1), X2, X3),
                                                                            active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                                                                                     active(U61(X)) -> U61(active(X)),
                                                                                  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(x(X1, X2)) -> x(X1, active(X2)),
                                                                                  active(x(X1, X2)) -> x(active(X1), X2),
                                                                            active(U71(X1, X2, X3)) -> U71(active(X1), X2, X3),
                                                                            active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                                                                                active(and(X1, X2)) -> and(active(X1), X2),
                                                                               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(mark(X1), X2, X3) -> mark(U11(X1, X2, X3)),
                                                                        U11(ok(X1), ok(X2), ok(X3)) -> ok(U11(X1, X2, X3)),
                                                                                       U13(mark(X)) -> mark(U13(X)),
                                                                                         U13(ok(X)) -> ok(U13(X)),
                                                                                       U22(mark(X)) -> mark(U22(X)),
                                                                                         U22(ok(X)) -> ok(U22(X)),
                                                                                  U21(mark(X1), X2) -> mark(U21(X1, X2)),
                                                                                U21(ok(X1), ok(X2)) -> ok(U21(X1, X2)),
                                                                                  U32(mark(X1), X2) -> mark(U32(X1, X2)),
                                                                                U32(ok(X1), ok(X2)) -> ok(U32(X1, X2)),
                                                                              U31(mark(X1), X2, X3) -> mark(U31(X1, X2, X3)),
                                                                        U31(ok(X1), ok(X2), ok(X3)) -> ok(U31(X1, X2, X3)),
                                                                                       U33(mark(X)) -> mark(U33(X)),
                                                                                         U33(ok(X)) -> ok(U33(X)),
                                                                                  U41(mark(X1), X2) -> mark(U41(X1, X2)),
                                                                                U41(ok(X1), ok(X2)) -> ok(U41(X1, X2)),
                                                                                         s(mark(X)) -> mark(s(X)),
                                                                                           s(ok(X)) -> ok(s(X)),
                                                                                 plus(X1, mark(X2)) -> mark(plus(X1, X2)),
                                                                                 plus(mark(X1), X2) -> mark(plus(X1, X2)),
                                                                               plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)),
                                                                              U51(mark(X1), X2, X3) -> mark(U51(X1, X2, X3)),
                                                                        U51(ok(X1), ok(X2), ok(X3)) -> ok(U51(X1, X2, X3)),
                                                                                       U61(mark(X)) -> mark(U61(X)),
                                                                                         U61(ok(X)) -> ok(U61(X)),
                                                                                    x(X1, mark(X2)) -> mark(x(X1, X2)),
                                                                                    x(mark(X1), X2) -> mark(x(X1, X2)),
                                                                                  x(ok(X1), ok(X2)) -> ok(x(X1, X2)),
                                                                              U71(mark(X1), X2, X3) -> mark(U71(X1, X2, X3)),
                                                                        U71(ok(X1), ok(X2), ok(X3)) -> ok(U71(X1, X2, X3)),
                                                                                  and(mark(X1), X2) -> mark(and(X1, X2)),
                                                                                and(ok(X1), ok(X2)) -> ok(and(X1, X2)),
                                                                                   isNatKind(ok(X)) -> ok(isNatKind(X)),
                                                                                proper(U12(X1, X2)) -> U12(proper(X1), proper(X2)),
                                                                                   proper(isNat(X)) -> isNat(proper(X)),
                                                                            proper(U11(X1, X2, X3)) -> U11(proper(X1), proper(X2), proper(X3)),
                                                                                       proper(tt()) -> ok(tt()),
                                                                                     proper(U13(X)) -> U13(proper(X)),
                                                                                     proper(U22(X)) -> U22(proper(X)),
                                                                                proper(U21(X1, X2)) -> U21(proper(X1), proper(X2)),
                                                                                proper(U32(X1, X2)) -> U32(proper(X1), proper(X2)),
                                                                            proper(U31(X1, X2, X3)) -> U31(proper(X1), proper(X2), proper(X3)),
                                                                                     proper(U33(X)) -> U33(proper(X)),
                                                                                proper(U41(X1, X2)) -> U41(proper(X1), proper(X2)),
                                                                                       proper(s(X)) -> s(proper(X)),
                                                                               proper(plus(X1, X2)) -> plus(proper(X1), proper(X2)),
                                                                            proper(U51(X1, X2, X3)) -> U51(proper(X1), proper(X2), proper(X3)),
                                                                                        proper(0()) -> ok(0()),
                                                                                     proper(U61(X)) -> U61(proper(X)),
                                                                                  proper(x(X1, X2)) -> x(proper(X1), proper(X2)),
                                                                            proper(U71(X1, X2, X3)) -> U71(proper(X1), proper(X2), proper(X3)),
                                                                                proper(and(X1, X2)) -> and(proper(X1), proper(X2)),
                                                                               proper(isNatKind(X)) -> isNatKind(proper(X)),
                                                                                       top(mark(X)) -> top(proper(X)),
                                                                                         top(ok(X)) -> top(active(X))}
                                                                    SPSC:
                                                                    Simple Projection:
                                                                    pi(proper#) = 0
                                                                    Strict:
                                                                    {    proper#(U12(X1, X2)) -> proper#(X1),
                                                                        proper#(U12(X1, X2)) -> proper#(X2),
                                                                           proper#(isNat(X)) -> proper#(X),
                                                                    proper#(U11(X1, X2, X3)) -> proper#(X1),
                                                                        proper#(U21(X1, X2)) -> proper#(X1),
                                                                        proper#(U32(X1, X2)) -> proper#(X1),
                                                                             proper#(U33(X)) -> proper#(X)}
                                                                    EDG:
                                                                    {(proper#(U12(X1, X2)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(isNat(X)) -> proper#(X), proper#(U33(X)) -> proper#(X))
                                                                    (proper#(isNat(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X1))
                                                                    (proper#(isNat(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X1))
                                                                    (proper#(isNat(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(isNat(X)) -> proper#(X), proper#(isNat(X)) -> proper#(X))
                                                                    (proper#(isNat(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(isNat(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(U33(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(U33(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(U33(X)) -> proper#(X), proper#(isNat(X)) -> proper#(X))
                                                                    (proper#(U33(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U33(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X1))
                                                                    (proper#(U33(X)) -> proper#(X), proper#(U32(X1, X2)) -> proper#(X1))
                                                                    (proper#(U33(X)) -> proper#(X), proper#(U33(X)) -> proper#(X))
                                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                                                                    (proper#(U32(X1, X2)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U32(X1, X2)) -> proper#(X1))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U32(X1, X2)) -> proper#(X1))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U33(X)) -> proper#(X))}
                                                                    SCCS:
                                                                    Scc:
                                                                    {    proper#(U12(X1, X2)) -> proper#(X1),
                                                                        proper#(U12(X1, X2)) -> proper#(X2),
                                                                           proper#(isNat(X)) -> proper#(X),
                                                                    proper#(U11(X1, X2, X3)) -> proper#(X1),
                                                                        proper#(U21(X1, X2)) -> proper#(X1),
                                                                        proper#(U32(X1, X2)) -> proper#(X1),
                                                                             proper#(U33(X)) -> proper#(X)}
                                                                    SCC:
                                                                    Strict:
                                                                    {    proper#(U12(X1, X2)) -> proper#(X1),
                                                                        proper#(U12(X1, X2)) -> proper#(X2),
                                                                           proper#(isNat(X)) -> proper#(X),
                                                                    proper#(U11(X1, X2, X3)) -> proper#(X1),
                                                                        proper#(U21(X1, X2)) -> proper#(X1),
                                                                        proper#(U32(X1, X2)) -> proper#(X1),
                                                                             proper#(U33(X)) -> proper#(X)}
                                                                    Weak:
                                                                    {              U12(mark(X1), X2) -> mark(U12(X1, X2)),
                                                                                U12(ok(X1), ok(X2)) -> ok(U12(X1, X2)),
                                                                                       isNat(ok(X)) -> ok(isNat(X)),
                                                                                active(U12(X1, X2)) -> U12(active(X1), X2),
                                                                              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(X1, X2, X3)) -> U11(active(X1), X2, X3),
                                                                          active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                                                                                     active(U13(X)) -> U13(active(X)),
                                                                                  active(U13(tt())) -> mark(tt()),
                                                                                     active(U22(X)) -> U22(active(X)),
                                                                                  active(U22(tt())) -> mark(tt()),
                                                                                active(U21(X1, X2)) -> U21(active(X1), X2),
                                                                              active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                                                                                active(U32(X1, X2)) -> U32(active(X1), X2),
                                                                              active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
                                                                            active(U31(X1, X2, X3)) -> U31(active(X1), X2, X3),
                                                                          active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                                                                                     active(U33(X)) -> U33(active(X)),
                                                                                  active(U33(tt())) -> mark(tt()),
                                                                                active(U41(X1, X2)) -> U41(active(X1), X2),
                                                                               active(U41(tt(), N)) -> mark(N),
                                                                                       active(s(X)) -> s(active(X)),
                                                                              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(plus(X1, X2)) -> plus(X1, active(X2)),
                                                                               active(plus(X1, X2)) -> plus(active(X1), X2),
                                                                            active(U51(X1, X2, X3)) -> U51(active(X1), X2, X3),
                                                                            active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                                                                                     active(U61(X)) -> U61(active(X)),
                                                                                  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(x(X1, X2)) -> x(X1, active(X2)),
                                                                                  active(x(X1, X2)) -> x(active(X1), X2),
                                                                            active(U71(X1, X2, X3)) -> U71(active(X1), X2, X3),
                                                                            active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                                                                                active(and(X1, X2)) -> and(active(X1), X2),
                                                                               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(mark(X1), X2, X3) -> mark(U11(X1, X2, X3)),
                                                                        U11(ok(X1), ok(X2), ok(X3)) -> ok(U11(X1, X2, X3)),
                                                                                       U13(mark(X)) -> mark(U13(X)),
                                                                                         U13(ok(X)) -> ok(U13(X)),
                                                                                       U22(mark(X)) -> mark(U22(X)),
                                                                                         U22(ok(X)) -> ok(U22(X)),
                                                                                  U21(mark(X1), X2) -> mark(U21(X1, X2)),
                                                                                U21(ok(X1), ok(X2)) -> ok(U21(X1, X2)),
                                                                                  U32(mark(X1), X2) -> mark(U32(X1, X2)),
                                                                                U32(ok(X1), ok(X2)) -> ok(U32(X1, X2)),
                                                                              U31(mark(X1), X2, X3) -> mark(U31(X1, X2, X3)),
                                                                        U31(ok(X1), ok(X2), ok(X3)) -> ok(U31(X1, X2, X3)),
                                                                                       U33(mark(X)) -> mark(U33(X)),
                                                                                         U33(ok(X)) -> ok(U33(X)),
                                                                                  U41(mark(X1), X2) -> mark(U41(X1, X2)),
                                                                                U41(ok(X1), ok(X2)) -> ok(U41(X1, X2)),
                                                                                         s(mark(X)) -> mark(s(X)),
                                                                                           s(ok(X)) -> ok(s(X)),
                                                                                 plus(X1, mark(X2)) -> mark(plus(X1, X2)),
                                                                                 plus(mark(X1), X2) -> mark(plus(X1, X2)),
                                                                               plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)),
                                                                              U51(mark(X1), X2, X3) -> mark(U51(X1, X2, X3)),
                                                                        U51(ok(X1), ok(X2), ok(X3)) -> ok(U51(X1, X2, X3)),
                                                                                       U61(mark(X)) -> mark(U61(X)),
                                                                                         U61(ok(X)) -> ok(U61(X)),
                                                                                    x(X1, mark(X2)) -> mark(x(X1, X2)),
                                                                                    x(mark(X1), X2) -> mark(x(X1, X2)),
                                                                                  x(ok(X1), ok(X2)) -> ok(x(X1, X2)),
                                                                              U71(mark(X1), X2, X3) -> mark(U71(X1, X2, X3)),
                                                                        U71(ok(X1), ok(X2), ok(X3)) -> ok(U71(X1, X2, X3)),
                                                                                  and(mark(X1), X2) -> mark(and(X1, X2)),
                                                                                and(ok(X1), ok(X2)) -> ok(and(X1, X2)),
                                                                                   isNatKind(ok(X)) -> ok(isNatKind(X)),
                                                                                proper(U12(X1, X2)) -> U12(proper(X1), proper(X2)),
                                                                                   proper(isNat(X)) -> isNat(proper(X)),
                                                                            proper(U11(X1, X2, X3)) -> U11(proper(X1), proper(X2), proper(X3)),
                                                                                       proper(tt()) -> ok(tt()),
                                                                                     proper(U13(X)) -> U13(proper(X)),
                                                                                     proper(U22(X)) -> U22(proper(X)),
                                                                                proper(U21(X1, X2)) -> U21(proper(X1), proper(X2)),
                                                                                proper(U32(X1, X2)) -> U32(proper(X1), proper(X2)),
                                                                            proper(U31(X1, X2, X3)) -> U31(proper(X1), proper(X2), proper(X3)),
                                                                                     proper(U33(X)) -> U33(proper(X)),
                                                                                proper(U41(X1, X2)) -> U41(proper(X1), proper(X2)),
                                                                                       proper(s(X)) -> s(proper(X)),
                                                                               proper(plus(X1, X2)) -> plus(proper(X1), proper(X2)),
                                                                            proper(U51(X1, X2, X3)) -> U51(proper(X1), proper(X2), proper(X3)),
                                                                                        proper(0()) -> ok(0()),
                                                                                     proper(U61(X)) -> U61(proper(X)),
                                                                                  proper(x(X1, X2)) -> x(proper(X1), proper(X2)),
                                                                            proper(U71(X1, X2, X3)) -> U71(proper(X1), proper(X2), proper(X3)),
                                                                                proper(and(X1, X2)) -> and(proper(X1), proper(X2)),
                                                                               proper(isNatKind(X)) -> isNatKind(proper(X)),
                                                                                       top(mark(X)) -> top(proper(X)),
                                                                                         top(ok(X)) -> top(active(X))}
                                                                    SPSC:
                                                                    Simple Projection:
                                                                    pi(proper#) = 0
                                                                    Strict:
                                                                    {    proper#(U12(X1, X2)) -> proper#(X1),
                                                                        proper#(U12(X1, X2)) -> proper#(X2),
                                                                           proper#(isNat(X)) -> proper#(X),
                                                                    proper#(U11(X1, X2, X3)) -> proper#(X1),
                                                                        proper#(U21(X1, X2)) -> proper#(X1),
                                                                             proper#(U33(X)) -> proper#(X)}
                                                                    EDG:
                                                                    {(proper#(U33(X)) -> proper#(X), proper#(U33(X)) -> proper#(X))
                                                                    (proper#(U33(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X1))
                                                                    (proper#(U33(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U33(X)) -> proper#(X), proper#(isNat(X)) -> proper#(X))
                                                                    (proper#(U33(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(U33(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U21(X1, X2)) -> proper#(X1))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                                                                    (proper#(U21(X1, X2)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U21(X1, X2)) -> proper#(X1))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                                                                    (proper#(isNat(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(isNat(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(isNat(X)) -> proper#(X), proper#(isNat(X)) -> proper#(X))
                                                                    (proper#(isNat(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(isNat(X)) -> proper#(X), proper#(U21(X1, X2)) -> proper#(X1))
                                                                    (proper#(isNat(X)) -> proper#(X), proper#(U33(X)) -> proper#(X))}
                                                                    SCCS:
                                                                    Scc:
                                                                    {    proper#(U12(X1, X2)) -> proper#(X1),
                                                                        proper#(U12(X1, X2)) -> proper#(X2),
                                                                           proper#(isNat(X)) -> proper#(X),
                                                                    proper#(U11(X1, X2, X3)) -> proper#(X1),
                                                                        proper#(U21(X1, X2)) -> proper#(X1),
                                                                             proper#(U33(X)) -> proper#(X)}
                                                                    SCC:
                                                                    Strict:
                                                                    {    proper#(U12(X1, X2)) -> proper#(X1),
                                                                        proper#(U12(X1, X2)) -> proper#(X2),
                                                                           proper#(isNat(X)) -> proper#(X),
                                                                    proper#(U11(X1, X2, X3)) -> proper#(X1),
                                                                        proper#(U21(X1, X2)) -> proper#(X1),
                                                                             proper#(U33(X)) -> proper#(X)}
                                                                    Weak:
                                                                    {              U12(mark(X1), X2) -> mark(U12(X1, X2)),
                                                                                U12(ok(X1), ok(X2)) -> ok(U12(X1, X2)),
                                                                                       isNat(ok(X)) -> ok(isNat(X)),
                                                                                active(U12(X1, X2)) -> U12(active(X1), X2),
                                                                              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(X1, X2, X3)) -> U11(active(X1), X2, X3),
                                                                          active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                                                                                     active(U13(X)) -> U13(active(X)),
                                                                                  active(U13(tt())) -> mark(tt()),
                                                                                     active(U22(X)) -> U22(active(X)),
                                                                                  active(U22(tt())) -> mark(tt()),
                                                                                active(U21(X1, X2)) -> U21(active(X1), X2),
                                                                              active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                                                                                active(U32(X1, X2)) -> U32(active(X1), X2),
                                                                              active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
                                                                            active(U31(X1, X2, X3)) -> U31(active(X1), X2, X3),
                                                                          active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                                                                                     active(U33(X)) -> U33(active(X)),
                                                                                  active(U33(tt())) -> mark(tt()),
                                                                                active(U41(X1, X2)) -> U41(active(X1), X2),
                                                                               active(U41(tt(), N)) -> mark(N),
                                                                                       active(s(X)) -> s(active(X)),
                                                                              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(plus(X1, X2)) -> plus(X1, active(X2)),
                                                                               active(plus(X1, X2)) -> plus(active(X1), X2),
                                                                            active(U51(X1, X2, X3)) -> U51(active(X1), X2, X3),
                                                                            active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                                                                                     active(U61(X)) -> U61(active(X)),
                                                                                  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(x(X1, X2)) -> x(X1, active(X2)),
                                                                                  active(x(X1, X2)) -> x(active(X1), X2),
                                                                            active(U71(X1, X2, X3)) -> U71(active(X1), X2, X3),
                                                                            active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                                                                                active(and(X1, X2)) -> and(active(X1), X2),
                                                                               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(mark(X1), X2, X3) -> mark(U11(X1, X2, X3)),
                                                                        U11(ok(X1), ok(X2), ok(X3)) -> ok(U11(X1, X2, X3)),
                                                                                       U13(mark(X)) -> mark(U13(X)),
                                                                                         U13(ok(X)) -> ok(U13(X)),
                                                                                       U22(mark(X)) -> mark(U22(X)),
                                                                                         U22(ok(X)) -> ok(U22(X)),
                                                                                  U21(mark(X1), X2) -> mark(U21(X1, X2)),
                                                                                U21(ok(X1), ok(X2)) -> ok(U21(X1, X2)),
                                                                                  U32(mark(X1), X2) -> mark(U32(X1, X2)),
                                                                                U32(ok(X1), ok(X2)) -> ok(U32(X1, X2)),
                                                                              U31(mark(X1), X2, X3) -> mark(U31(X1, X2, X3)),
                                                                        U31(ok(X1), ok(X2), ok(X3)) -> ok(U31(X1, X2, X3)),
                                                                                       U33(mark(X)) -> mark(U33(X)),
                                                                                         U33(ok(X)) -> ok(U33(X)),
                                                                                  U41(mark(X1), X2) -> mark(U41(X1, X2)),
                                                                                U41(ok(X1), ok(X2)) -> ok(U41(X1, X2)),
                                                                                         s(mark(X)) -> mark(s(X)),
                                                                                           s(ok(X)) -> ok(s(X)),
                                                                                 plus(X1, mark(X2)) -> mark(plus(X1, X2)),
                                                                                 plus(mark(X1), X2) -> mark(plus(X1, X2)),
                                                                               plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)),
                                                                              U51(mark(X1), X2, X3) -> mark(U51(X1, X2, X3)),
                                                                        U51(ok(X1), ok(X2), ok(X3)) -> ok(U51(X1, X2, X3)),
                                                                                       U61(mark(X)) -> mark(U61(X)),
                                                                                         U61(ok(X)) -> ok(U61(X)),
                                                                                    x(X1, mark(X2)) -> mark(x(X1, X2)),
                                                                                    x(mark(X1), X2) -> mark(x(X1, X2)),
                                                                                  x(ok(X1), ok(X2)) -> ok(x(X1, X2)),
                                                                              U71(mark(X1), X2, X3) -> mark(U71(X1, X2, X3)),
                                                                        U71(ok(X1), ok(X2), ok(X3)) -> ok(U71(X1, X2, X3)),
                                                                                  and(mark(X1), X2) -> mark(and(X1, X2)),
                                                                                and(ok(X1), ok(X2)) -> ok(and(X1, X2)),
                                                                                   isNatKind(ok(X)) -> ok(isNatKind(X)),
                                                                                proper(U12(X1, X2)) -> U12(proper(X1), proper(X2)),
                                                                                   proper(isNat(X)) -> isNat(proper(X)),
                                                                            proper(U11(X1, X2, X3)) -> U11(proper(X1), proper(X2), proper(X3)),
                                                                                       proper(tt()) -> ok(tt()),
                                                                                     proper(U13(X)) -> U13(proper(X)),
                                                                                     proper(U22(X)) -> U22(proper(X)),
                                                                                proper(U21(X1, X2)) -> U21(proper(X1), proper(X2)),
                                                                                proper(U32(X1, X2)) -> U32(proper(X1), proper(X2)),
                                                                            proper(U31(X1, X2, X3)) -> U31(proper(X1), proper(X2), proper(X3)),
                                                                                     proper(U33(X)) -> U33(proper(X)),
                                                                                proper(U41(X1, X2)) -> U41(proper(X1), proper(X2)),
                                                                                       proper(s(X)) -> s(proper(X)),
                                                                               proper(plus(X1, X2)) -> plus(proper(X1), proper(X2)),
                                                                            proper(U51(X1, X2, X3)) -> U51(proper(X1), proper(X2), proper(X3)),
                                                                                        proper(0()) -> ok(0()),
                                                                                     proper(U61(X)) -> U61(proper(X)),
                                                                                  proper(x(X1, X2)) -> x(proper(X1), proper(X2)),
                                                                            proper(U71(X1, X2, X3)) -> U71(proper(X1), proper(X2), proper(X3)),
                                                                                proper(and(X1, X2)) -> and(proper(X1), proper(X2)),
                                                                               proper(isNatKind(X)) -> isNatKind(proper(X)),
                                                                                       top(mark(X)) -> top(proper(X)),
                                                                                         top(ok(X)) -> top(active(X))}
                                                                    SPSC:
                                                                    Simple Projection:
                                                                    pi(proper#) = 0
                                                                    Strict:
                                                                    {    proper#(U12(X1, X2)) -> proper#(X1),
                                                                        proper#(U12(X1, X2)) -> proper#(X2),
                                                                           proper#(isNat(X)) -> proper#(X),
                                                                    proper#(U11(X1, X2, X3)) -> proper#(X1),
                                                                             proper#(U33(X)) -> proper#(X)}
                                                                    EDG:
                                                                    {(proper#(U33(X)) -> proper#(X), proper#(U33(X)) -> proper#(X))
                                                                    (proper#(U33(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U33(X)) -> proper#(X), proper#(isNat(X)) -> proper#(X))
                                                                    (proper#(U33(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(U33(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(U11(X1, X2, X3)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                                                                    (proper#(isNat(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(isNat(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(isNat(X)) -> proper#(X), proper#(isNat(X)) -> proper#(X))
                                                                    (proper#(isNat(X)) -> proper#(X), proper#(U11(X1, X2, X3)) -> proper#(X1))
                                                                    (proper#(isNat(X)) -> proper#(X), proper#(U33(X)) -> proper#(X))}
                                                                    SCCS:
                                                                    Scc:
                                                                    {    proper#(U12(X1, X2)) -> proper#(X1),
                                                                        proper#(U12(X1, X2)) -> proper#(X2),
                                                                           proper#(isNat(X)) -> proper#(X),
                                                                    proper#(U11(X1, X2, X3)) -> proper#(X1),
                                                                             proper#(U33(X)) -> proper#(X)}
                                                                    SCC:
                                                                    Strict:
                                                                    {    proper#(U12(X1, X2)) -> proper#(X1),
                                                                        proper#(U12(X1, X2)) -> proper#(X2),
                                                                           proper#(isNat(X)) -> proper#(X),
                                                                    proper#(U11(X1, X2, X3)) -> proper#(X1),
                                                                             proper#(U33(X)) -> proper#(X)}
                                                                    Weak:
                                                                    {              U12(mark(X1), X2) -> mark(U12(X1, X2)),
                                                                                U12(ok(X1), ok(X2)) -> ok(U12(X1, X2)),
                                                                                       isNat(ok(X)) -> ok(isNat(X)),
                                                                                active(U12(X1, X2)) -> U12(active(X1), X2),
                                                                              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(X1, X2, X3)) -> U11(active(X1), X2, X3),
                                                                          active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                                                                                     active(U13(X)) -> U13(active(X)),
                                                                                  active(U13(tt())) -> mark(tt()),
                                                                                     active(U22(X)) -> U22(active(X)),
                                                                                  active(U22(tt())) -> mark(tt()),
                                                                                active(U21(X1, X2)) -> U21(active(X1), X2),
                                                                              active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                                                                                active(U32(X1, X2)) -> U32(active(X1), X2),
                                                                              active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
                                                                            active(U31(X1, X2, X3)) -> U31(active(X1), X2, X3),
                                                                          active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                                                                                     active(U33(X)) -> U33(active(X)),
                                                                                  active(U33(tt())) -> mark(tt()),
                                                                                active(U41(X1, X2)) -> U41(active(X1), X2),
                                                                               active(U41(tt(), N)) -> mark(N),
                                                                                       active(s(X)) -> s(active(X)),
                                                                              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(plus(X1, X2)) -> plus(X1, active(X2)),
                                                                               active(plus(X1, X2)) -> plus(active(X1), X2),
                                                                            active(U51(X1, X2, X3)) -> U51(active(X1), X2, X3),
                                                                            active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                                                                                     active(U61(X)) -> U61(active(X)),
                                                                                  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(x(X1, X2)) -> x(X1, active(X2)),
                                                                                  active(x(X1, X2)) -> x(active(X1), X2),
                                                                            active(U71(X1, X2, X3)) -> U71(active(X1), X2, X3),
                                                                            active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                                                                                active(and(X1, X2)) -> and(active(X1), X2),
                                                                               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(mark(X1), X2, X3) -> mark(U11(X1, X2, X3)),
                                                                        U11(ok(X1), ok(X2), ok(X3)) -> ok(U11(X1, X2, X3)),
                                                                                       U13(mark(X)) -> mark(U13(X)),
                                                                                         U13(ok(X)) -> ok(U13(X)),
                                                                                       U22(mark(X)) -> mark(U22(X)),
                                                                                         U22(ok(X)) -> ok(U22(X)),
                                                                                  U21(mark(X1), X2) -> mark(U21(X1, X2)),
                                                                                U21(ok(X1), ok(X2)) -> ok(U21(X1, X2)),
                                                                                  U32(mark(X1), X2) -> mark(U32(X1, X2)),
                                                                                U32(ok(X1), ok(X2)) -> ok(U32(X1, X2)),
                                                                              U31(mark(X1), X2, X3) -> mark(U31(X1, X2, X3)),
                                                                        U31(ok(X1), ok(X2), ok(X3)) -> ok(U31(X1, X2, X3)),
                                                                                       U33(mark(X)) -> mark(U33(X)),
                                                                                         U33(ok(X)) -> ok(U33(X)),
                                                                                  U41(mark(X1), X2) -> mark(U41(X1, X2)),
                                                                                U41(ok(X1), ok(X2)) -> ok(U41(X1, X2)),
                                                                                         s(mark(X)) -> mark(s(X)),
                                                                                           s(ok(X)) -> ok(s(X)),
                                                                                 plus(X1, mark(X2)) -> mark(plus(X1, X2)),
                                                                                 plus(mark(X1), X2) -> mark(plus(X1, X2)),
                                                                               plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)),
                                                                              U51(mark(X1), X2, X3) -> mark(U51(X1, X2, X3)),
                                                                        U51(ok(X1), ok(X2), ok(X3)) -> ok(U51(X1, X2, X3)),
                                                                                       U61(mark(X)) -> mark(U61(X)),
                                                                                         U61(ok(X)) -> ok(U61(X)),
                                                                                    x(X1, mark(X2)) -> mark(x(X1, X2)),
                                                                                    x(mark(X1), X2) -> mark(x(X1, X2)),
                                                                                  x(ok(X1), ok(X2)) -> ok(x(X1, X2)),
                                                                              U71(mark(X1), X2, X3) -> mark(U71(X1, X2, X3)),
                                                                        U71(ok(X1), ok(X2), ok(X3)) -> ok(U71(X1, X2, X3)),
                                                                                  and(mark(X1), X2) -> mark(and(X1, X2)),
                                                                                and(ok(X1), ok(X2)) -> ok(and(X1, X2)),
                                                                                   isNatKind(ok(X)) -> ok(isNatKind(X)),
                                                                                proper(U12(X1, X2)) -> U12(proper(X1), proper(X2)),
                                                                                   proper(isNat(X)) -> isNat(proper(X)),
                                                                            proper(U11(X1, X2, X3)) -> U11(proper(X1), proper(X2), proper(X3)),
                                                                                       proper(tt()) -> ok(tt()),
                                                                                     proper(U13(X)) -> U13(proper(X)),
                                                                                     proper(U22(X)) -> U22(proper(X)),
                                                                                proper(U21(X1, X2)) -> U21(proper(X1), proper(X2)),
                                                                                proper(U32(X1, X2)) -> U32(proper(X1), proper(X2)),
                                                                            proper(U31(X1, X2, X3)) -> U31(proper(X1), proper(X2), proper(X3)),
                                                                                     proper(U33(X)) -> U33(proper(X)),
                                                                                proper(U41(X1, X2)) -> U41(proper(X1), proper(X2)),
                                                                                       proper(s(X)) -> s(proper(X)),
                                                                               proper(plus(X1, X2)) -> plus(proper(X1), proper(X2)),
                                                                            proper(U51(X1, X2, X3)) -> U51(proper(X1), proper(X2), proper(X3)),
                                                                                        proper(0()) -> ok(0()),
                                                                                     proper(U61(X)) -> U61(proper(X)),
                                                                                  proper(x(X1, X2)) -> x(proper(X1), proper(X2)),
                                                                            proper(U71(X1, X2, X3)) -> U71(proper(X1), proper(X2), proper(X3)),
                                                                                proper(and(X1, X2)) -> and(proper(X1), proper(X2)),
                                                                               proper(isNatKind(X)) -> isNatKind(proper(X)),
                                                                                       top(mark(X)) -> top(proper(X)),
                                                                                         top(ok(X)) -> top(active(X))}
                                                                    SPSC:
                                                                    Simple Projection:
                                                                    pi(proper#) = 0
                                                                    Strict:
                                                                    {proper#(U12(X1, X2)) -> proper#(X1),
                                                                    proper#(U12(X1, X2)) -> proper#(X2),
                                                                       proper#(isNat(X)) -> proper#(X),
                                                                         proper#(U33(X)) -> proper#(X)}
                                                                    EDG:
                                                                    {(proper#(U33(X)) -> proper#(X), proper#(U33(X)) -> proper#(X))
                                                                    (proper#(U33(X)) -> proper#(X), proper#(isNat(X)) -> proper#(X))
                                                                    (proper#(U33(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(U33(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(isNat(X)) -> proper#(X))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(isNat(X)) -> proper#(X))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                                                                    (proper#(isNat(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(isNat(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(isNat(X)) -> proper#(X), proper#(isNat(X)) -> proper#(X))
                                                                    (proper#(isNat(X)) -> proper#(X), proper#(U33(X)) -> proper#(X))}
                                                                    SCCS:
                                                                    Scc:
                                                                    {proper#(U12(X1, X2)) -> proper#(X1),
                                                                    proper#(U12(X1, X2)) -> proper#(X2),
                                                                       proper#(isNat(X)) -> proper#(X),
                                                                         proper#(U33(X)) -> proper#(X)}
                                                                    SCC:
                                                                    Strict:
                                                                    {proper#(U12(X1, X2)) -> proper#(X1),
                                                                    proper#(U12(X1, X2)) -> proper#(X2),
                                                                       proper#(isNat(X)) -> proper#(X),
                                                                         proper#(U33(X)) -> proper#(X)}
                                                                    Weak:
                                                                    {              U12(mark(X1), X2) -> mark(U12(X1, X2)),
                                                                                U12(ok(X1), ok(X2)) -> ok(U12(X1, X2)),
                                                                                       isNat(ok(X)) -> ok(isNat(X)),
                                                                                active(U12(X1, X2)) -> U12(active(X1), X2),
                                                                              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(X1, X2, X3)) -> U11(active(X1), X2, X3),
                                                                          active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                                                                                     active(U13(X)) -> U13(active(X)),
                                                                                  active(U13(tt())) -> mark(tt()),
                                                                                     active(U22(X)) -> U22(active(X)),
                                                                                  active(U22(tt())) -> mark(tt()),
                                                                                active(U21(X1, X2)) -> U21(active(X1), X2),
                                                                              active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                                                                                active(U32(X1, X2)) -> U32(active(X1), X2),
                                                                              active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
                                                                            active(U31(X1, X2, X3)) -> U31(active(X1), X2, X3),
                                                                          active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                                                                                     active(U33(X)) -> U33(active(X)),
                                                                                  active(U33(tt())) -> mark(tt()),
                                                                                active(U41(X1, X2)) -> U41(active(X1), X2),
                                                                               active(U41(tt(), N)) -> mark(N),
                                                                                       active(s(X)) -> s(active(X)),
                                                                              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(plus(X1, X2)) -> plus(X1, active(X2)),
                                                                               active(plus(X1, X2)) -> plus(active(X1), X2),
                                                                            active(U51(X1, X2, X3)) -> U51(active(X1), X2, X3),
                                                                            active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                                                                                     active(U61(X)) -> U61(active(X)),
                                                                                  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(x(X1, X2)) -> x(X1, active(X2)),
                                                                                  active(x(X1, X2)) -> x(active(X1), X2),
                                                                            active(U71(X1, X2, X3)) -> U71(active(X1), X2, X3),
                                                                            active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                                                                                active(and(X1, X2)) -> and(active(X1), X2),
                                                                               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(mark(X1), X2, X3) -> mark(U11(X1, X2, X3)),
                                                                        U11(ok(X1), ok(X2), ok(X3)) -> ok(U11(X1, X2, X3)),
                                                                                       U13(mark(X)) -> mark(U13(X)),
                                                                                         U13(ok(X)) -> ok(U13(X)),
                                                                                       U22(mark(X)) -> mark(U22(X)),
                                                                                         U22(ok(X)) -> ok(U22(X)),
                                                                                  U21(mark(X1), X2) -> mark(U21(X1, X2)),
                                                                                U21(ok(X1), ok(X2)) -> ok(U21(X1, X2)),
                                                                                  U32(mark(X1), X2) -> mark(U32(X1, X2)),
                                                                                U32(ok(X1), ok(X2)) -> ok(U32(X1, X2)),
                                                                              U31(mark(X1), X2, X3) -> mark(U31(X1, X2, X3)),
                                                                        U31(ok(X1), ok(X2), ok(X3)) -> ok(U31(X1, X2, X3)),
                                                                                       U33(mark(X)) -> mark(U33(X)),
                                                                                         U33(ok(X)) -> ok(U33(X)),
                                                                                  U41(mark(X1), X2) -> mark(U41(X1, X2)),
                                                                                U41(ok(X1), ok(X2)) -> ok(U41(X1, X2)),
                                                                                         s(mark(X)) -> mark(s(X)),
                                                                                           s(ok(X)) -> ok(s(X)),
                                                                                 plus(X1, mark(X2)) -> mark(plus(X1, X2)),
                                                                                 plus(mark(X1), X2) -> mark(plus(X1, X2)),
                                                                               plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)),
                                                                              U51(mark(X1), X2, X3) -> mark(U51(X1, X2, X3)),
                                                                        U51(ok(X1), ok(X2), ok(X3)) -> ok(U51(X1, X2, X3)),
                                                                                       U61(mark(X)) -> mark(U61(X)),
                                                                                         U61(ok(X)) -> ok(U61(X)),
                                                                                    x(X1, mark(X2)) -> mark(x(X1, X2)),
                                                                                    x(mark(X1), X2) -> mark(x(X1, X2)),
                                                                                  x(ok(X1), ok(X2)) -> ok(x(X1, X2)),
                                                                              U71(mark(X1), X2, X3) -> mark(U71(X1, X2, X3)),
                                                                        U71(ok(X1), ok(X2), ok(X3)) -> ok(U71(X1, X2, X3)),
                                                                                  and(mark(X1), X2) -> mark(and(X1, X2)),
                                                                                and(ok(X1), ok(X2)) -> ok(and(X1, X2)),
                                                                                   isNatKind(ok(X)) -> ok(isNatKind(X)),
                                                                                proper(U12(X1, X2)) -> U12(proper(X1), proper(X2)),
                                                                                   proper(isNat(X)) -> isNat(proper(X)),
                                                                            proper(U11(X1, X2, X3)) -> U11(proper(X1), proper(X2), proper(X3)),
                                                                                       proper(tt()) -> ok(tt()),
                                                                                     proper(U13(X)) -> U13(proper(X)),
                                                                                     proper(U22(X)) -> U22(proper(X)),
                                                                                proper(U21(X1, X2)) -> U21(proper(X1), proper(X2)),
                                                                                proper(U32(X1, X2)) -> U32(proper(X1), proper(X2)),
                                                                            proper(U31(X1, X2, X3)) -> U31(proper(X1), proper(X2), proper(X3)),
                                                                                     proper(U33(X)) -> U33(proper(X)),
                                                                                proper(U41(X1, X2)) -> U41(proper(X1), proper(X2)),
                                                                                       proper(s(X)) -> s(proper(X)),
                                                                               proper(plus(X1, X2)) -> plus(proper(X1), proper(X2)),
                                                                            proper(U51(X1, X2, X3)) -> U51(proper(X1), proper(X2), proper(X3)),
                                                                                        proper(0()) -> ok(0()),
                                                                                     proper(U61(X)) -> U61(proper(X)),
                                                                                  proper(x(X1, X2)) -> x(proper(X1), proper(X2)),
                                                                            proper(U71(X1, X2, X3)) -> U71(proper(X1), proper(X2), proper(X3)),
                                                                                proper(and(X1, X2)) -> and(proper(X1), proper(X2)),
                                                                               proper(isNatKind(X)) -> isNatKind(proper(X)),
                                                                                       top(mark(X)) -> top(proper(X)),
                                                                                         top(ok(X)) -> top(active(X))}
                                                                    SPSC:
                                                                    Simple Projection:
                                                                    pi(proper#) = 0
                                                                    Strict:
                                                                    {proper#(U12(X1, X2)) -> proper#(X1),
                                                                    proper#(U12(X1, X2)) -> proper#(X2),
                                                                         proper#(U33(X)) -> proper#(X)}
                                                                    EDG:
                                                                    {(proper#(U12(X1, X2)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(U12(X1, X2)) -> proper#(X1), proper#(U33(X)) -> proper#(X))
                                                                    (proper#(U33(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X1))
                                                                    (proper#(U33(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(U33(X)) -> proper#(X), proper#(U33(X)) -> proper#(X))}
                                                                    SCCS:
                                                                    Scc:
                                                                    {proper#(U12(X1, X2)) -> proper#(X1),
                                                                    proper#(U12(X1, X2)) -> proper#(X2),
                                                                         proper#(U33(X)) -> proper#(X)}
                                                                    SCC:
                                                                    Strict:
                                                                    {proper#(U12(X1, X2)) -> proper#(X1),
                                                                    proper#(U12(X1, X2)) -> proper#(X2),
                                                                         proper#(U33(X)) -> proper#(X)}
                                                                    Weak:
                                                                    {              U12(mark(X1), X2) -> mark(U12(X1, X2)),
                                                                                U12(ok(X1), ok(X2)) -> ok(U12(X1, X2)),
                                                                                       isNat(ok(X)) -> ok(isNat(X)),
                                                                                active(U12(X1, X2)) -> U12(active(X1), X2),
                                                                              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(X1, X2, X3)) -> U11(active(X1), X2, X3),
                                                                          active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                                                                                     active(U13(X)) -> U13(active(X)),
                                                                                  active(U13(tt())) -> mark(tt()),
                                                                                     active(U22(X)) -> U22(active(X)),
                                                                                  active(U22(tt())) -> mark(tt()),
                                                                                active(U21(X1, X2)) -> U21(active(X1), X2),
                                                                              active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                                                                                active(U32(X1, X2)) -> U32(active(X1), X2),
                                                                              active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
                                                                            active(U31(X1, X2, X3)) -> U31(active(X1), X2, X3),
                                                                          active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                                                                                     active(U33(X)) -> U33(active(X)),
                                                                                  active(U33(tt())) -> mark(tt()),
                                                                                active(U41(X1, X2)) -> U41(active(X1), X2),
                                                                               active(U41(tt(), N)) -> mark(N),
                                                                                       active(s(X)) -> s(active(X)),
                                                                              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(plus(X1, X2)) -> plus(X1, active(X2)),
                                                                               active(plus(X1, X2)) -> plus(active(X1), X2),
                                                                            active(U51(X1, X2, X3)) -> U51(active(X1), X2, X3),
                                                                            active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                                                                                     active(U61(X)) -> U61(active(X)),
                                                                                  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(x(X1, X2)) -> x(X1, active(X2)),
                                                                                  active(x(X1, X2)) -> x(active(X1), X2),
                                                                            active(U71(X1, X2, X3)) -> U71(active(X1), X2, X3),
                                                                            active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                                                                                active(and(X1, X2)) -> and(active(X1), X2),
                                                                               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(mark(X1), X2, X3) -> mark(U11(X1, X2, X3)),
                                                                        U11(ok(X1), ok(X2), ok(X3)) -> ok(U11(X1, X2, X3)),
                                                                                       U13(mark(X)) -> mark(U13(X)),
                                                                                         U13(ok(X)) -> ok(U13(X)),
                                                                                       U22(mark(X)) -> mark(U22(X)),
                                                                                         U22(ok(X)) -> ok(U22(X)),
                                                                                  U21(mark(X1), X2) -> mark(U21(X1, X2)),
                                                                                U21(ok(X1), ok(X2)) -> ok(U21(X1, X2)),
                                                                                  U32(mark(X1), X2) -> mark(U32(X1, X2)),
                                                                                U32(ok(X1), ok(X2)) -> ok(U32(X1, X2)),
                                                                              U31(mark(X1), X2, X3) -> mark(U31(X1, X2, X3)),
                                                                        U31(ok(X1), ok(X2), ok(X3)) -> ok(U31(X1, X2, X3)),
                                                                                       U33(mark(X)) -> mark(U33(X)),
                                                                                         U33(ok(X)) -> ok(U33(X)),
                                                                                  U41(mark(X1), X2) -> mark(U41(X1, X2)),
                                                                                U41(ok(X1), ok(X2)) -> ok(U41(X1, X2)),
                                                                                         s(mark(X)) -> mark(s(X)),
                                                                                           s(ok(X)) -> ok(s(X)),
                                                                                 plus(X1, mark(X2)) -> mark(plus(X1, X2)),
                                                                                 plus(mark(X1), X2) -> mark(plus(X1, X2)),
                                                                               plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)),
                                                                              U51(mark(X1), X2, X3) -> mark(U51(X1, X2, X3)),
                                                                        U51(ok(X1), ok(X2), ok(X3)) -> ok(U51(X1, X2, X3)),
                                                                                       U61(mark(X)) -> mark(U61(X)),
                                                                                         U61(ok(X)) -> ok(U61(X)),
                                                                                    x(X1, mark(X2)) -> mark(x(X1, X2)),
                                                                                    x(mark(X1), X2) -> mark(x(X1, X2)),
                                                                                  x(ok(X1), ok(X2)) -> ok(x(X1, X2)),
                                                                              U71(mark(X1), X2, X3) -> mark(U71(X1, X2, X3)),
                                                                        U71(ok(X1), ok(X2), ok(X3)) -> ok(U71(X1, X2, X3)),
                                                                                  and(mark(X1), X2) -> mark(and(X1, X2)),
                                                                                and(ok(X1), ok(X2)) -> ok(and(X1, X2)),
                                                                                   isNatKind(ok(X)) -> ok(isNatKind(X)),
                                                                                proper(U12(X1, X2)) -> U12(proper(X1), proper(X2)),
                                                                                   proper(isNat(X)) -> isNat(proper(X)),
                                                                            proper(U11(X1, X2, X3)) -> U11(proper(X1), proper(X2), proper(X3)),
                                                                                       proper(tt()) -> ok(tt()),
                                                                                     proper(U13(X)) -> U13(proper(X)),
                                                                                     proper(U22(X)) -> U22(proper(X)),
                                                                                proper(U21(X1, X2)) -> U21(proper(X1), proper(X2)),
                                                                                proper(U32(X1, X2)) -> U32(proper(X1), proper(X2)),
                                                                            proper(U31(X1, X2, X3)) -> U31(proper(X1), proper(X2), proper(X3)),
                                                                                     proper(U33(X)) -> U33(proper(X)),
                                                                                proper(U41(X1, X2)) -> U41(proper(X1), proper(X2)),
                                                                                       proper(s(X)) -> s(proper(X)),
                                                                               proper(plus(X1, X2)) -> plus(proper(X1), proper(X2)),
                                                                            proper(U51(X1, X2, X3)) -> U51(proper(X1), proper(X2), proper(X3)),
                                                                                        proper(0()) -> ok(0()),
                                                                                     proper(U61(X)) -> U61(proper(X)),
                                                                                  proper(x(X1, X2)) -> x(proper(X1), proper(X2)),
                                                                            proper(U71(X1, X2, X3)) -> U71(proper(X1), proper(X2), proper(X3)),
                                                                                proper(and(X1, X2)) -> and(proper(X1), proper(X2)),
                                                                               proper(isNatKind(X)) -> isNatKind(proper(X)),
                                                                                       top(mark(X)) -> top(proper(X)),
                                                                                         top(ok(X)) -> top(active(X))}
                                                                    SPSC:
                                                                    Simple Projection:
                                                                    pi(proper#) = 0
                                                                    Strict:
                                                                    {proper#(U12(X1, X2)) -> proper#(X2),
                                                                         proper#(U33(X)) -> proper#(X)}
                                                                    EDG:
                                                                    {(proper#(U12(X1, X2)) -> proper#(X2), proper#(U33(X)) -> proper#(X))
                                                                    (proper#(U12(X1, X2)) -> proper#(X2), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(U33(X)) -> proper#(X), proper#(U12(X1, X2)) -> proper#(X2))
                                                                    (proper#(U33(X)) -> proper#(X), proper#(U33(X)) -> proper#(X))}
                                                                    SCCS:
                                                                    Scc:
                                                                    {proper#(U12(X1, X2)) -> proper#(X2),
                                                                         proper#(U33(X)) -> proper#(X)}
                                                                    SCC:
                                                                    Strict:
                                                                    {proper#(U12(X1, X2)) -> proper#(X2),
                                                                         proper#(U33(X)) -> proper#(X)}
                                                                    Weak:
                                                                    {              U12(mark(X1), X2) -> mark(U12(X1, X2)),
                                                                                U12(ok(X1), ok(X2)) -> ok(U12(X1, X2)),
                                                                                       isNat(ok(X)) -> ok(isNat(X)),
                                                                                active(U12(X1, X2)) -> U12(active(X1), X2),
                                                                              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(X1, X2, X3)) -> U11(active(X1), X2, X3),
                                                                          active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                                                                                     active(U13(X)) -> U13(active(X)),
                                                                                  active(U13(tt())) -> mark(tt()),
                                                                                     active(U22(X)) -> U22(active(X)),
                                                                                  active(U22(tt())) -> mark(tt()),
                                                                                active(U21(X1, X2)) -> U21(active(X1), X2),
                                                                              active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                                                                                active(U32(X1, X2)) -> U32(active(X1), X2),
                                                                              active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
                                                                            active(U31(X1, X2, X3)) -> U31(active(X1), X2, X3),
                                                                          active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                                                                                     active(U33(X)) -> U33(active(X)),
                                                                                  active(U33(tt())) -> mark(tt()),
                                                                                active(U41(X1, X2)) -> U41(active(X1), X2),
                                                                               active(U41(tt(), N)) -> mark(N),
                                                                                       active(s(X)) -> s(active(X)),
                                                                              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(plus(X1, X2)) -> plus(X1, active(X2)),
                                                                               active(plus(X1, X2)) -> plus(active(X1), X2),
                                                                            active(U51(X1, X2, X3)) -> U51(active(X1), X2, X3),
                                                                            active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                                                                                     active(U61(X)) -> U61(active(X)),
                                                                                  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(x(X1, X2)) -> x(X1, active(X2)),
                                                                                  active(x(X1, X2)) -> x(active(X1), X2),
                                                                            active(U71(X1, X2, X3)) -> U71(active(X1), X2, X3),
                                                                            active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                                                                                active(and(X1, X2)) -> and(active(X1), X2),
                                                                               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(mark(X1), X2, X3) -> mark(U11(X1, X2, X3)),
                                                                        U11(ok(X1), ok(X2), ok(X3)) -> ok(U11(X1, X2, X3)),
                                                                                       U13(mark(X)) -> mark(U13(X)),
                                                                                         U13(ok(X)) -> ok(U13(X)),
                                                                                       U22(mark(X)) -> mark(U22(X)),
                                                                                         U22(ok(X)) -> ok(U22(X)),
                                                                                  U21(mark(X1), X2) -> mark(U21(X1, X2)),
                                                                                U21(ok(X1), ok(X2)) -> ok(U21(X1, X2)),
                                                                                  U32(mark(X1), X2) -> mark(U32(X1, X2)),
                                                                                U32(ok(X1), ok(X2)) -> ok(U32(X1, X2)),
                                                                              U31(mark(X1), X2, X3) -> mark(U31(X1, X2, X3)),
                                                                        U31(ok(X1), ok(X2), ok(X3)) -> ok(U31(X1, X2, X3)),
                                                                                       U33(mark(X)) -> mark(U33(X)),
                                                                                         U33(ok(X)) -> ok(U33(X)),
                                                                                  U41(mark(X1), X2) -> mark(U41(X1, X2)),
                                                                                U41(ok(X1), ok(X2)) -> ok(U41(X1, X2)),
                                                                                         s(mark(X)) -> mark(s(X)),
                                                                                           s(ok(X)) -> ok(s(X)),
                                                                                 plus(X1, mark(X2)) -> mark(plus(X1, X2)),
                                                                                 plus(mark(X1), X2) -> mark(plus(X1, X2)),
                                                                               plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)),
                                                                              U51(mark(X1), X2, X3) -> mark(U51(X1, X2, X3)),
                                                                        U51(ok(X1), ok(X2), ok(X3)) -> ok(U51(X1, X2, X3)),
                                                                                       U61(mark(X)) -> mark(U61(X)),
                                                                                         U61(ok(X)) -> ok(U61(X)),
                                                                                    x(X1, mark(X2)) -> mark(x(X1, X2)),
                                                                                    x(mark(X1), X2) -> mark(x(X1, X2)),
                                                                                  x(ok(X1), ok(X2)) -> ok(x(X1, X2)),
                                                                              U71(mark(X1), X2, X3) -> mark(U71(X1, X2, X3)),
                                                                        U71(ok(X1), ok(X2), ok(X3)) -> ok(U71(X1, X2, X3)),
                                                                                  and(mark(X1), X2) -> mark(and(X1, X2)),
                                                                                and(ok(X1), ok(X2)) -> ok(and(X1, X2)),
                                                                                   isNatKind(ok(X)) -> ok(isNatKind(X)),
                                                                                proper(U12(X1, X2)) -> U12(proper(X1), proper(X2)),
                                                                                   proper(isNat(X)) -> isNat(proper(X)),
                                                                            proper(U11(X1, X2, X3)) -> U11(proper(X1), proper(X2), proper(X3)),
                                                                                       proper(tt()) -> ok(tt()),
                                                                                     proper(U13(X)) -> U13(proper(X)),
                                                                                     proper(U22(X)) -> U22(proper(X)),
                                                                                proper(U21(X1, X2)) -> U21(proper(X1), proper(X2)),
                                                                                proper(U32(X1, X2)) -> U32(proper(X1), proper(X2)),
                                                                            proper(U31(X1, X2, X3)) -> U31(proper(X1), proper(X2), proper(X3)),
                                                                                     proper(U33(X)) -> U33(proper(X)),
                                                                                proper(U41(X1, X2)) -> U41(proper(X1), proper(X2)),
                                                                                       proper(s(X)) -> s(proper(X)),
                                                                               proper(plus(X1, X2)) -> plus(proper(X1), proper(X2)),
                                                                            proper(U51(X1, X2, X3)) -> U51(proper(X1), proper(X2), proper(X3)),
                                                                                        proper(0()) -> ok(0()),
                                                                                     proper(U61(X)) -> U61(proper(X)),
                                                                                  proper(x(X1, X2)) -> x(proper(X1), proper(X2)),
                                                                            proper(U71(X1, X2, X3)) -> U71(proper(X1), proper(X2), proper(X3)),
                                                                                proper(and(X1, X2)) -> and(proper(X1), proper(X2)),
                                                                               proper(isNatKind(X)) -> isNatKind(proper(X)),
                                                                                       top(mark(X)) -> top(proper(X)),
                                                                                         top(ok(X)) -> top(active(X))}
                                                                    SPSC:
                                                                    Simple Projection:
                                                                    pi(proper#) = 0
                                                                    Strict:
                                                                    {proper#(U33(X)) -> proper#(X)}
                                                                    EDG:
                                                                    {(proper#(U33(X)) -> proper#(X), proper#(U33(X)) -> proper#(X))}
                                                                    SCCS:
                                                                    Scc:
                                                                    {proper#(U33(X)) -> proper#(X)}
                                                                    SCC:
                                                                    Strict:
                                                                    {proper#(U33(X)) -> proper#(X)}
                                                                    Weak:
                                                                    {              U12(mark(X1), X2) -> mark(U12(X1, X2)),
                                                                                U12(ok(X1), ok(X2)) -> ok(U12(X1, X2)),
                                                                                       isNat(ok(X)) -> ok(isNat(X)),
                                                                                active(U12(X1, X2)) -> U12(active(X1), X2),
                                                                              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(X1, X2, X3)) -> U11(active(X1), X2, X3),
                                                                          active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                                                                                     active(U13(X)) -> U13(active(X)),
                                                                                  active(U13(tt())) -> mark(tt()),
                                                                                     active(U22(X)) -> U22(active(X)),
                                                                                  active(U22(tt())) -> mark(tt()),
                                                                                active(U21(X1, X2)) -> U21(active(X1), X2),
                                                                              active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                                                                                active(U32(X1, X2)) -> U32(active(X1), X2),
                                                                              active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
                                                                            active(U31(X1, X2, X3)) -> U31(active(X1), X2, X3),
                                                                          active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                                                                                     active(U33(X)) -> U33(active(X)),
                                                                                  active(U33(tt())) -> mark(tt()),
                                                                                active(U41(X1, X2)) -> U41(active(X1), X2),
                                                                               active(U41(tt(), N)) -> mark(N),
                                                                                       active(s(X)) -> s(active(X)),
                                                                              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(plus(X1, X2)) -> plus(X1, active(X2)),
                                                                               active(plus(X1, X2)) -> plus(active(X1), X2),
                                                                            active(U51(X1, X2, X3)) -> U51(active(X1), X2, X3),
                                                                            active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                                                                                     active(U61(X)) -> U61(active(X)),
                                                                                  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(x(X1, X2)) -> x(X1, active(X2)),
                                                                                  active(x(X1, X2)) -> x(active(X1), X2),
                                                                            active(U71(X1, X2, X3)) -> U71(active(X1), X2, X3),
                                                                            active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                                                                                active(and(X1, X2)) -> and(active(X1), X2),
                                                                               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(mark(X1), X2, X3) -> mark(U11(X1, X2, X3)),
                                                                        U11(ok(X1), ok(X2), ok(X3)) -> ok(U11(X1, X2, X3)),
                                                                                       U13(mark(X)) -> mark(U13(X)),
                                                                                         U13(ok(X)) -> ok(U13(X)),
                                                                                       U22(mark(X)) -> mark(U22(X)),
                                                                                         U22(ok(X)) -> ok(U22(X)),
                                                                                  U21(mark(X1), X2) -> mark(U21(X1, X2)),
                                                                                U21(ok(X1), ok(X2)) -> ok(U21(X1, X2)),
                                                                                  U32(mark(X1), X2) -> mark(U32(X1, X2)),
                                                                                U32(ok(X1), ok(X2)) -> ok(U32(X1, X2)),
                                                                              U31(mark(X1), X2, X3) -> mark(U31(X1, X2, X3)),
                                                                        U31(ok(X1), ok(X2), ok(X3)) -> ok(U31(X1, X2, X3)),
                                                                                       U33(mark(X)) -> mark(U33(X)),
                                                                                         U33(ok(X)) -> ok(U33(X)),
                                                                                  U41(mark(X1), X2) -> mark(U41(X1, X2)),
                                                                                U41(ok(X1), ok(X2)) -> ok(U41(X1, X2)),
                                                                                         s(mark(X)) -> mark(s(X)),
                                                                                           s(ok(X)) -> ok(s(X)),
                                                                                 plus(X1, mark(X2)) -> mark(plus(X1, X2)),
                                                                                 plus(mark(X1), X2) -> mark(plus(X1, X2)),
                                                                               plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)),
                                                                              U51(mark(X1), X2, X3) -> mark(U51(X1, X2, X3)),
                                                                        U51(ok(X1), ok(X2), ok(X3)) -> ok(U51(X1, X2, X3)),
                                                                                       U61(mark(X)) -> mark(U61(X)),
                                                                                         U61(ok(X)) -> ok(U61(X)),
                                                                                    x(X1, mark(X2)) -> mark(x(X1, X2)),
                                                                                    x(mark(X1), X2) -> mark(x(X1, X2)),
                                                                                  x(ok(X1), ok(X2)) -> ok(x(X1, X2)),
                                                                              U71(mark(X1), X2, X3) -> mark(U71(X1, X2, X3)),
                                                                        U71(ok(X1), ok(X2), ok(X3)) -> ok(U71(X1, X2, X3)),
                                                                                  and(mark(X1), X2) -> mark(and(X1, X2)),
                                                                                and(ok(X1), ok(X2)) -> ok(and(X1, X2)),
                                                                                   isNatKind(ok(X)) -> ok(isNatKind(X)),
                                                                                proper(U12(X1, X2)) -> U12(proper(X1), proper(X2)),
                                                                                   proper(isNat(X)) -> isNat(proper(X)),
                                                                            proper(U11(X1, X2, X3)) -> U11(proper(X1), proper(X2), proper(X3)),
                                                                                       proper(tt()) -> ok(tt()),
                                                                                     proper(U13(X)) -> U13(proper(X)),
                                                                                     proper(U22(X)) -> U22(proper(X)),
                                                                                proper(U21(X1, X2)) -> U21(proper(X1), proper(X2)),
                                                                                proper(U32(X1, X2)) -> U32(proper(X1), proper(X2)),
                                                                            proper(U31(X1, X2, X3)) -> U31(proper(X1), proper(X2), proper(X3)),
                                                                                     proper(U33(X)) -> U33(proper(X)),
                                                                                proper(U41(X1, X2)) -> U41(proper(X1), proper(X2)),
                                                                                       proper(s(X)) -> s(proper(X)),
                                                                               proper(plus(X1, X2)) -> plus(proper(X1), proper(X2)),
                                                                            proper(U51(X1, X2, X3)) -> U51(proper(X1), proper(X2), proper(X3)),
                                                                                        proper(0()) -> ok(0()),
                                                                                     proper(U61(X)) -> U61(proper(X)),
                                                                                  proper(x(X1, X2)) -> x(proper(X1), proper(X2)),
                                                                            proper(U71(X1, X2, X3)) -> U71(proper(X1), proper(X2), proper(X3)),
                                                                                proper(and(X1, X2)) -> and(proper(X1), proper(X2)),
                                                                               proper(isNatKind(X)) -> isNatKind(proper(X)),
                                                                                       top(mark(X)) -> top(proper(X)),
                                                                                         top(ok(X)) -> top(active(X))}
                                                                    SPSC:
                                                                    Simple Projection:
                                                                    pi(proper#) = 0
                                                                    Strict:
                                                                    {}
                                                                    Qed
    SCC:
     Strict:
      {isNatKind#(ok(X)) -> isNatKind#(X)}
     Weak:
     {              U12(mark(X1), X2) -> mark(U12(X1, X2)),
                  U12(ok(X1), ok(X2)) -> ok(U12(X1, X2)),
                         isNat(ok(X)) -> ok(isNat(X)),
                  active(U12(X1, X2)) -> U12(active(X1), X2),
                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(X1, X2, X3)) -> U11(active(X1), X2, X3),
            active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                       active(U13(X)) -> U13(active(X)),
                    active(U13(tt())) -> mark(tt()),
                       active(U22(X)) -> U22(active(X)),
                    active(U22(tt())) -> mark(tt()),
                  active(U21(X1, X2)) -> U21(active(X1), X2),
                active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                  active(U32(X1, X2)) -> U32(active(X1), X2),
                active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
              active(U31(X1, X2, X3)) -> U31(active(X1), X2, X3),
            active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                       active(U33(X)) -> U33(active(X)),
                    active(U33(tt())) -> mark(tt()),
                  active(U41(X1, X2)) -> U41(active(X1), X2),
                 active(U41(tt(), N)) -> mark(N),
                         active(s(X)) -> s(active(X)),
                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(plus(X1, X2)) -> plus(X1, active(X2)),
                 active(plus(X1, X2)) -> plus(active(X1), X2),
              active(U51(X1, X2, X3)) -> U51(active(X1), X2, X3),
              active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                       active(U61(X)) -> U61(active(X)),
                    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(x(X1, X2)) -> x(X1, active(X2)),
                    active(x(X1, X2)) -> x(active(X1), X2),
              active(U71(X1, X2, X3)) -> U71(active(X1), X2, X3),
              active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                  active(and(X1, X2)) -> and(active(X1), X2),
                 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(mark(X1), X2, X3) -> mark(U11(X1, X2, X3)),
          U11(ok(X1), ok(X2), ok(X3)) -> ok(U11(X1, X2, X3)),
                         U13(mark(X)) -> mark(U13(X)),
                           U13(ok(X)) -> ok(U13(X)),
                         U22(mark(X)) -> mark(U22(X)),
                           U22(ok(X)) -> ok(U22(X)),
                    U21(mark(X1), X2) -> mark(U21(X1, X2)),
                  U21(ok(X1), ok(X2)) -> ok(U21(X1, X2)),
                    U32(mark(X1), X2) -> mark(U32(X1, X2)),
                  U32(ok(X1), ok(X2)) -> ok(U32(X1, X2)),
                U31(mark(X1), X2, X3) -> mark(U31(X1, X2, X3)),
          U31(ok(X1), ok(X2), ok(X3)) -> ok(U31(X1, X2, X3)),
                         U33(mark(X)) -> mark(U33(X)),
                           U33(ok(X)) -> ok(U33(X)),
                    U41(mark(X1), X2) -> mark(U41(X1, X2)),
                  U41(ok(X1), ok(X2)) -> ok(U41(X1, X2)),
                           s(mark(X)) -> mark(s(X)),
                             s(ok(X)) -> ok(s(X)),
                   plus(X1, mark(X2)) -> mark(plus(X1, X2)),
                   plus(mark(X1), X2) -> mark(plus(X1, X2)),
                 plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)),
                U51(mark(X1), X2, X3) -> mark(U51(X1, X2, X3)),
          U51(ok(X1), ok(X2), ok(X3)) -> ok(U51(X1, X2, X3)),
                         U61(mark(X)) -> mark(U61(X)),
                           U61(ok(X)) -> ok(U61(X)),
                      x(X1, mark(X2)) -> mark(x(X1, X2)),
                      x(mark(X1), X2) -> mark(x(X1, X2)),
                    x(ok(X1), ok(X2)) -> ok(x(X1, X2)),
                U71(mark(X1), X2, X3) -> mark(U71(X1, X2, X3)),
          U71(ok(X1), ok(X2), ok(X3)) -> ok(U71(X1, X2, X3)),
                    and(mark(X1), X2) -> mark(and(X1, X2)),
                  and(ok(X1), ok(X2)) -> ok(and(X1, X2)),
                     isNatKind(ok(X)) -> ok(isNatKind(X)),
                  proper(U12(X1, X2)) -> U12(proper(X1), proper(X2)),
                     proper(isNat(X)) -> isNat(proper(X)),
              proper(U11(X1, X2, X3)) -> U11(proper(X1), proper(X2), proper(X3)),
                         proper(tt()) -> ok(tt()),
                       proper(U13(X)) -> U13(proper(X)),
                       proper(U22(X)) -> U22(proper(X)),
                  proper(U21(X1, X2)) -> U21(proper(X1), proper(X2)),
                  proper(U32(X1, X2)) -> U32(proper(X1), proper(X2)),
              proper(U31(X1, X2, X3)) -> U31(proper(X1), proper(X2), proper(X3)),
                       proper(U33(X)) -> U33(proper(X)),
                  proper(U41(X1, X2)) -> U41(proper(X1), proper(X2)),
                         proper(s(X)) -> s(proper(X)),
                 proper(plus(X1, X2)) -> plus(proper(X1), proper(X2)),
              proper(U51(X1, X2, X3)) -> U51(proper(X1), proper(X2), proper(X3)),
                          proper(0()) -> ok(0()),
                       proper(U61(X)) -> U61(proper(X)),
                    proper(x(X1, X2)) -> x(proper(X1), proper(X2)),
              proper(U71(X1, X2, X3)) -> U71(proper(X1), proper(X2), proper(X3)),
                  proper(and(X1, X2)) -> and(proper(X1), proper(X2)),
                 proper(isNatKind(X)) -> isNatKind(proper(X)),
                         top(mark(X)) -> top(proper(X)),
                           top(ok(X)) -> top(active(X))}
     SPSC:
      Simple Projection:
       pi(isNatKind#) = 0
      Strict:
       {}
      Qed
    SCC:
     Strict:
      {  and#(mark(X1), X2) -> and#(X1, X2),
       and#(ok(X1), ok(X2)) -> and#(X1, X2)}
     Weak:
     {              U12(mark(X1), X2) -> mark(U12(X1, X2)),
                  U12(ok(X1), ok(X2)) -> ok(U12(X1, X2)),
                         isNat(ok(X)) -> ok(isNat(X)),
                  active(U12(X1, X2)) -> U12(active(X1), X2),
                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(X1, X2, X3)) -> U11(active(X1), X2, X3),
            active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                       active(U13(X)) -> U13(active(X)),
                    active(U13(tt())) -> mark(tt()),
                       active(U22(X)) -> U22(active(X)),
                    active(U22(tt())) -> mark(tt()),
                  active(U21(X1, X2)) -> U21(active(X1), X2),
                active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                  active(U32(X1, X2)) -> U32(active(X1), X2),
                active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
              active(U31(X1, X2, X3)) -> U31(active(X1), X2, X3),
            active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                       active(U33(X)) -> U33(active(X)),
                    active(U33(tt())) -> mark(tt()),
                  active(U41(X1, X2)) -> U41(active(X1), X2),
                 active(U41(tt(), N)) -> mark(N),
                         active(s(X)) -> s(active(X)),
                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(plus(X1, X2)) -> plus(X1, active(X2)),
                 active(plus(X1, X2)) -> plus(active(X1), X2),
              active(U51(X1, X2, X3)) -> U51(active(X1), X2, X3),
              active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                       active(U61(X)) -> U61(active(X)),
                    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(x(X1, X2)) -> x(X1, active(X2)),
                    active(x(X1, X2)) -> x(active(X1), X2),
              active(U71(X1, X2, X3)) -> U71(active(X1), X2, X3),
              active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                  active(and(X1, X2)) -> and(active(X1), X2),
                 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(mark(X1), X2, X3) -> mark(U11(X1, X2, X3)),
          U11(ok(X1), ok(X2), ok(X3)) -> ok(U11(X1, X2, X3)),
                         U13(mark(X)) -> mark(U13(X)),
                           U13(ok(X)) -> ok(U13(X)),
                         U22(mark(X)) -> mark(U22(X)),
                           U22(ok(X)) -> ok(U22(X)),
                    U21(mark(X1), X2) -> mark(U21(X1, X2)),
                  U21(ok(X1), ok(X2)) -> ok(U21(X1, X2)),
                    U32(mark(X1), X2) -> mark(U32(X1, X2)),
                  U32(ok(X1), ok(X2)) -> ok(U32(X1, X2)),
                U31(mark(X1), X2, X3) -> mark(U31(X1, X2, X3)),
          U31(ok(X1), ok(X2), ok(X3)) -> ok(U31(X1, X2, X3)),
                         U33(mark(X)) -> mark(U33(X)),
                           U33(ok(X)) -> ok(U33(X)),
                    U41(mark(X1), X2) -> mark(U41(X1, X2)),
                  U41(ok(X1), ok(X2)) -> ok(U41(X1, X2)),
                           s(mark(X)) -> mark(s(X)),
                             s(ok(X)) -> ok(s(X)),
                   plus(X1, mark(X2)) -> mark(plus(X1, X2)),
                   plus(mark(X1), X2) -> mark(plus(X1, X2)),
                 plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)),
                U51(mark(X1), X2, X3) -> mark(U51(X1, X2, X3)),
          U51(ok(X1), ok(X2), ok(X3)) -> ok(U51(X1, X2, X3)),
                         U61(mark(X)) -> mark(U61(X)),
                           U61(ok(X)) -> ok(U61(X)),
                      x(X1, mark(X2)) -> mark(x(X1, X2)),
                      x(mark(X1), X2) -> mark(x(X1, X2)),
                    x(ok(X1), ok(X2)) -> ok(x(X1, X2)),
                U71(mark(X1), X2, X3) -> mark(U71(X1, X2, X3)),
          U71(ok(X1), ok(X2), ok(X3)) -> ok(U71(X1, X2, X3)),
                    and(mark(X1), X2) -> mark(and(X1, X2)),
                  and(ok(X1), ok(X2)) -> ok(and(X1, X2)),
                     isNatKind(ok(X)) -> ok(isNatKind(X)),
                  proper(U12(X1, X2)) -> U12(proper(X1), proper(X2)),
                     proper(isNat(X)) -> isNat(proper(X)),
              proper(U11(X1, X2, X3)) -> U11(proper(X1), proper(X2), proper(X3)),
                         proper(tt()) -> ok(tt()),
                       proper(U13(X)) -> U13(proper(X)),
                       proper(U22(X)) -> U22(proper(X)),
                  proper(U21(X1, X2)) -> U21(proper(X1), proper(X2)),
                  proper(U32(X1, X2)) -> U32(proper(X1), proper(X2)),
              proper(U31(X1, X2, X3)) -> U31(proper(X1), proper(X2), proper(X3)),
                       proper(U33(X)) -> U33(proper(X)),
                  proper(U41(X1, X2)) -> U41(proper(X1), proper(X2)),
                         proper(s(X)) -> s(proper(X)),
                 proper(plus(X1, X2)) -> plus(proper(X1), proper(X2)),
              proper(U51(X1, X2, X3)) -> U51(proper(X1), proper(X2), proper(X3)),
                          proper(0()) -> ok(0()),
                       proper(U61(X)) -> U61(proper(X)),
                    proper(x(X1, X2)) -> x(proper(X1), proper(X2)),
              proper(U71(X1, X2, X3)) -> U71(proper(X1), proper(X2), proper(X3)),
                  proper(and(X1, X2)) -> and(proper(X1), proper(X2)),
                 proper(isNatKind(X)) -> isNatKind(proper(X)),
                         top(mark(X)) -> top(proper(X)),
                           top(ok(X)) -> top(active(X))}
     SPSC:
      Simple Projection:
       pi(and#) = 0
      Strict:
       {and#(mark(X1), X2) -> and#(X1, X2)}
      EDG:
       {(and#(mark(X1), X2) -> and#(X1, X2), and#(mark(X1), X2) -> and#(X1, X2))}
       SCCS:
        Scc:
         {and#(mark(X1), X2) -> and#(X1, X2)}
        SCC:
         Strict:
          {and#(mark(X1), X2) -> and#(X1, X2)}
         Weak:
         {              U12(mark(X1), X2) -> mark(U12(X1, X2)),
                      U12(ok(X1), ok(X2)) -> ok(U12(X1, X2)),
                             isNat(ok(X)) -> ok(isNat(X)),
                      active(U12(X1, X2)) -> U12(active(X1), X2),
                    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(X1, X2, X3)) -> U11(active(X1), X2, X3),
                active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                           active(U13(X)) -> U13(active(X)),
                        active(U13(tt())) -> mark(tt()),
                           active(U22(X)) -> U22(active(X)),
                        active(U22(tt())) -> mark(tt()),
                      active(U21(X1, X2)) -> U21(active(X1), X2),
                    active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                      active(U32(X1, X2)) -> U32(active(X1), X2),
                    active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
                  active(U31(X1, X2, X3)) -> U31(active(X1), X2, X3),
                active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                           active(U33(X)) -> U33(active(X)),
                        active(U33(tt())) -> mark(tt()),
                      active(U41(X1, X2)) -> U41(active(X1), X2),
                     active(U41(tt(), N)) -> mark(N),
                             active(s(X)) -> s(active(X)),
                    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(plus(X1, X2)) -> plus(X1, active(X2)),
                     active(plus(X1, X2)) -> plus(active(X1), X2),
                  active(U51(X1, X2, X3)) -> U51(active(X1), X2, X3),
                  active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                           active(U61(X)) -> U61(active(X)),
                        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(x(X1, X2)) -> x(X1, active(X2)),
                        active(x(X1, X2)) -> x(active(X1), X2),
                  active(U71(X1, X2, X3)) -> U71(active(X1), X2, X3),
                  active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                      active(and(X1, X2)) -> and(active(X1), X2),
                     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(mark(X1), X2, X3) -> mark(U11(X1, X2, X3)),
              U11(ok(X1), ok(X2), ok(X3)) -> ok(U11(X1, X2, X3)),
                             U13(mark(X)) -> mark(U13(X)),
                               U13(ok(X)) -> ok(U13(X)),
                             U22(mark(X)) -> mark(U22(X)),
                               U22(ok(X)) -> ok(U22(X)),
                        U21(mark(X1), X2) -> mark(U21(X1, X2)),
                      U21(ok(X1), ok(X2)) -> ok(U21(X1, X2)),
                        U32(mark(X1), X2) -> mark(U32(X1, X2)),
                      U32(ok(X1), ok(X2)) -> ok(U32(X1, X2)),
                    U31(mark(X1), X2, X3) -> mark(U31(X1, X2, X3)),
              U31(ok(X1), ok(X2), ok(X3)) -> ok(U31(X1, X2, X3)),
                             U33(mark(X)) -> mark(U33(X)),
                               U33(ok(X)) -> ok(U33(X)),
                        U41(mark(X1), X2) -> mark(U41(X1, X2)),
                      U41(ok(X1), ok(X2)) -> ok(U41(X1, X2)),
                               s(mark(X)) -> mark(s(X)),
                                 s(ok(X)) -> ok(s(X)),
                       plus(X1, mark(X2)) -> mark(plus(X1, X2)),
                       plus(mark(X1), X2) -> mark(plus(X1, X2)),
                     plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)),
                    U51(mark(X1), X2, X3) -> mark(U51(X1, X2, X3)),
              U51(ok(X1), ok(X2), ok(X3)) -> ok(U51(X1, X2, X3)),
                             U61(mark(X)) -> mark(U61(X)),
                               U61(ok(X)) -> ok(U61(X)),
                          x(X1, mark(X2)) -> mark(x(X1, X2)),
                          x(mark(X1), X2) -> mark(x(X1, X2)),
                        x(ok(X1), ok(X2)) -> ok(x(X1, X2)),
                    U71(mark(X1), X2, X3) -> mark(U71(X1, X2, X3)),
              U71(ok(X1), ok(X2), ok(X3)) -> ok(U71(X1, X2, X3)),
                        and(mark(X1), X2) -> mark(and(X1, X2)),
                      and(ok(X1), ok(X2)) -> ok(and(X1, X2)),
                         isNatKind(ok(X)) -> ok(isNatKind(X)),
                      proper(U12(X1, X2)) -> U12(proper(X1), proper(X2)),
                         proper(isNat(X)) -> isNat(proper(X)),
                  proper(U11(X1, X2, X3)) -> U11(proper(X1), proper(X2), proper(X3)),
                             proper(tt()) -> ok(tt()),
                           proper(U13(X)) -> U13(proper(X)),
                           proper(U22(X)) -> U22(proper(X)),
                      proper(U21(X1, X2)) -> U21(proper(X1), proper(X2)),
                      proper(U32(X1, X2)) -> U32(proper(X1), proper(X2)),
                  proper(U31(X1, X2, X3)) -> U31(proper(X1), proper(X2), proper(X3)),
                           proper(U33(X)) -> U33(proper(X)),
                      proper(U41(X1, X2)) -> U41(proper(X1), proper(X2)),
                             proper(s(X)) -> s(proper(X)),
                     proper(plus(X1, X2)) -> plus(proper(X1), proper(X2)),
                  proper(U51(X1, X2, X3)) -> U51(proper(X1), proper(X2), proper(X3)),
                              proper(0()) -> ok(0()),
                           proper(U61(X)) -> U61(proper(X)),
                        proper(x(X1, X2)) -> x(proper(X1), proper(X2)),
                  proper(U71(X1, X2, X3)) -> U71(proper(X1), proper(X2), proper(X3)),
                      proper(and(X1, X2)) -> and(proper(X1), proper(X2)),
                     proper(isNatKind(X)) -> isNatKind(proper(X)),
                             top(mark(X)) -> top(proper(X)),
                               top(ok(X)) -> top(active(X))}
         SPSC:
          Simple Projection:
           pi(and#) = 0
          Strict:
           {}
          Qed
    SCC:
     Strict:
      {      U71#(mark(X1), X2, X3) -> U71#(X1, X2, X3),
       U71#(ok(X1), ok(X2), ok(X3)) -> U71#(X1, X2, X3)}
     Weak:
     {              U12(mark(X1), X2) -> mark(U12(X1, X2)),
                  U12(ok(X1), ok(X2)) -> ok(U12(X1, X2)),
                         isNat(ok(X)) -> ok(isNat(X)),
                  active(U12(X1, X2)) -> U12(active(X1), X2),
                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(X1, X2, X3)) -> U11(active(X1), X2, X3),
            active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                       active(U13(X)) -> U13(active(X)),
                    active(U13(tt())) -> mark(tt()),
                       active(U22(X)) -> U22(active(X)),
                    active(U22(tt())) -> mark(tt()),
                  active(U21(X1, X2)) -> U21(active(X1), X2),
                active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                  active(U32(X1, X2)) -> U32(active(X1), X2),
                active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
              active(U31(X1, X2, X3)) -> U31(active(X1), X2, X3),
            active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                       active(U33(X)) -> U33(active(X)),
                    active(U33(tt())) -> mark(tt()),
                  active(U41(X1, X2)) -> U41(active(X1), X2),
                 active(U41(tt(), N)) -> mark(N),
                         active(s(X)) -> s(active(X)),
                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(plus(X1, X2)) -> plus(X1, active(X2)),
                 active(plus(X1, X2)) -> plus(active(X1), X2),
              active(U51(X1, X2, X3)) -> U51(active(X1), X2, X3),
              active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                       active(U61(X)) -> U61(active(X)),
                    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(x(X1, X2)) -> x(X1, active(X2)),
                    active(x(X1, X2)) -> x(active(X1), X2),
              active(U71(X1, X2, X3)) -> U71(active(X1), X2, X3),
              active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                  active(and(X1, X2)) -> and(active(X1), X2),
                 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(mark(X1), X2, X3) -> mark(U11(X1, X2, X3)),
          U11(ok(X1), ok(X2), ok(X3)) -> ok(U11(X1, X2, X3)),
                         U13(mark(X)) -> mark(U13(X)),
                           U13(ok(X)) -> ok(U13(X)),
                         U22(mark(X)) -> mark(U22(X)),
                           U22(ok(X)) -> ok(U22(X)),
                    U21(mark(X1), X2) -> mark(U21(X1, X2)),
                  U21(ok(X1), ok(X2)) -> ok(U21(X1, X2)),
                    U32(mark(X1), X2) -> mark(U32(X1, X2)),
                  U32(ok(X1), ok(X2)) -> ok(U32(X1, X2)),
                U31(mark(X1), X2, X3) -> mark(U31(X1, X2, X3)),
          U31(ok(X1), ok(X2), ok(X3)) -> ok(U31(X1, X2, X3)),
                         U33(mark(X)) -> mark(U33(X)),
                           U33(ok(X)) -> ok(U33(X)),
                    U41(mark(X1), X2) -> mark(U41(X1, X2)),
                  U41(ok(X1), ok(X2)) -> ok(U41(X1, X2)),
                           s(mark(X)) -> mark(s(X)),
                             s(ok(X)) -> ok(s(X)),
                   plus(X1, mark(X2)) -> mark(plus(X1, X2)),
                   plus(mark(X1), X2) -> mark(plus(X1, X2)),
                 plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)),
                U51(mark(X1), X2, X3) -> mark(U51(X1, X2, X3)),
          U51(ok(X1), ok(X2), ok(X3)) -> ok(U51(X1, X2, X3)),
                         U61(mark(X)) -> mark(U61(X)),
                           U61(ok(X)) -> ok(U61(X)),
                      x(X1, mark(X2)) -> mark(x(X1, X2)),
                      x(mark(X1), X2) -> mark(x(X1, X2)),
                    x(ok(X1), ok(X2)) -> ok(x(X1, X2)),
                U71(mark(X1), X2, X3) -> mark(U71(X1, X2, X3)),
          U71(ok(X1), ok(X2), ok(X3)) -> ok(U71(X1, X2, X3)),
                    and(mark(X1), X2) -> mark(and(X1, X2)),
                  and(ok(X1), ok(X2)) -> ok(and(X1, X2)),
                     isNatKind(ok(X)) -> ok(isNatKind(X)),
                  proper(U12(X1, X2)) -> U12(proper(X1), proper(X2)),
                     proper(isNat(X)) -> isNat(proper(X)),
              proper(U11(X1, X2, X3)) -> U11(proper(X1), proper(X2), proper(X3)),
                         proper(tt()) -> ok(tt()),
                       proper(U13(X)) -> U13(proper(X)),
                       proper(U22(X)) -> U22(proper(X)),
                  proper(U21(X1, X2)) -> U21(proper(X1), proper(X2)),
                  proper(U32(X1, X2)) -> U32(proper(X1), proper(X2)),
              proper(U31(X1, X2, X3)) -> U31(proper(X1), proper(X2), proper(X3)),
                       proper(U33(X)) -> U33(proper(X)),
                  proper(U41(X1, X2)) -> U41(proper(X1), proper(X2)),
                         proper(s(X)) -> s(proper(X)),
                 proper(plus(X1, X2)) -> plus(proper(X1), proper(X2)),
              proper(U51(X1, X2, X3)) -> U51(proper(X1), proper(X2), proper(X3)),
                          proper(0()) -> ok(0()),
                       proper(U61(X)) -> U61(proper(X)),
                    proper(x(X1, X2)) -> x(proper(X1), proper(X2)),
              proper(U71(X1, X2, X3)) -> U71(proper(X1), proper(X2), proper(X3)),
                  proper(and(X1, X2)) -> and(proper(X1), proper(X2)),
                 proper(isNatKind(X)) -> isNatKind(proper(X)),
                         top(mark(X)) -> top(proper(X)),
                           top(ok(X)) -> top(active(X))}
     SPSC:
      Simple Projection:
       pi(U71#) = 0
      Strict:
       {U71#(mark(X1), X2, X3) -> U71#(X1, X2, X3)}
      EDG:
       {(U71#(mark(X1), X2, X3) -> U71#(X1, X2, X3), U71#(mark(X1), X2, X3) -> U71#(X1, X2, X3))}
       SCCS:
        Scc:
         {U71#(mark(X1), X2, X3) -> U71#(X1, X2, X3)}
        SCC:
         Strict:
          {U71#(mark(X1), X2, X3) -> U71#(X1, X2, X3)}
         Weak:
         {              U12(mark(X1), X2) -> mark(U12(X1, X2)),
                      U12(ok(X1), ok(X2)) -> ok(U12(X1, X2)),
                             isNat(ok(X)) -> ok(isNat(X)),
                      active(U12(X1, X2)) -> U12(active(X1), X2),
                    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(X1, X2, X3)) -> U11(active(X1), X2, X3),
                active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                           active(U13(X)) -> U13(active(X)),
                        active(U13(tt())) -> mark(tt()),
                           active(U22(X)) -> U22(active(X)),
                        active(U22(tt())) -> mark(tt()),
                      active(U21(X1, X2)) -> U21(active(X1), X2),
                    active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                      active(U32(X1, X2)) -> U32(active(X1), X2),
                    active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
                  active(U31(X1, X2, X3)) -> U31(active(X1), X2, X3),
                active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                           active(U33(X)) -> U33(active(X)),
                        active(U33(tt())) -> mark(tt()),
                      active(U41(X1, X2)) -> U41(active(X1), X2),
                     active(U41(tt(), N)) -> mark(N),
                             active(s(X)) -> s(active(X)),
                    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(plus(X1, X2)) -> plus(X1, active(X2)),
                     active(plus(X1, X2)) -> plus(active(X1), X2),
                  active(U51(X1, X2, X3)) -> U51(active(X1), X2, X3),
                  active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                           active(U61(X)) -> U61(active(X)),
                        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(x(X1, X2)) -> x(X1, active(X2)),
                        active(x(X1, X2)) -> x(active(X1), X2),
                  active(U71(X1, X2, X3)) -> U71(active(X1), X2, X3),
                  active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                      active(and(X1, X2)) -> and(active(X1), X2),
                     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(mark(X1), X2, X3) -> mark(U11(X1, X2, X3)),
              U11(ok(X1), ok(X2), ok(X3)) -> ok(U11(X1, X2, X3)),
                             U13(mark(X)) -> mark(U13(X)),
                               U13(ok(X)) -> ok(U13(X)),
                             U22(mark(X)) -> mark(U22(X)),
                               U22(ok(X)) -> ok(U22(X)),
                        U21(mark(X1), X2) -> mark(U21(X1, X2)),
                      U21(ok(X1), ok(X2)) -> ok(U21(X1, X2)),
                        U32(mark(X1), X2) -> mark(U32(X1, X2)),
                      U32(ok(X1), ok(X2)) -> ok(U32(X1, X2)),
                    U31(mark(X1), X2, X3) -> mark(U31(X1, X2, X3)),
              U31(ok(X1), ok(X2), ok(X3)) -> ok(U31(X1, X2, X3)),
                             U33(mark(X)) -> mark(U33(X)),
                               U33(ok(X)) -> ok(U33(X)),
                        U41(mark(X1), X2) -> mark(U41(X1, X2)),
                      U41(ok(X1), ok(X2)) -> ok(U41(X1, X2)),
                               s(mark(X)) -> mark(s(X)),
                                 s(ok(X)) -> ok(s(X)),
                       plus(X1, mark(X2)) -> mark(plus(X1, X2)),
                       plus(mark(X1), X2) -> mark(plus(X1, X2)),
                     plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)),
                    U51(mark(X1), X2, X3) -> mark(U51(X1, X2, X3)),
              U51(ok(X1), ok(X2), ok(X3)) -> ok(U51(X1, X2, X3)),
                             U61(mark(X)) -> mark(U61(X)),
                               U61(ok(X)) -> ok(U61(X)),
                          x(X1, mark(X2)) -> mark(x(X1, X2)),
                          x(mark(X1), X2) -> mark(x(X1, X2)),
                        x(ok(X1), ok(X2)) -> ok(x(X1, X2)),
                    U71(mark(X1), X2, X3) -> mark(U71(X1, X2, X3)),
              U71(ok(X1), ok(X2), ok(X3)) -> ok(U71(X1, X2, X3)),
                        and(mark(X1), X2) -> mark(and(X1, X2)),
                      and(ok(X1), ok(X2)) -> ok(and(X1, X2)),
                         isNatKind(ok(X)) -> ok(isNatKind(X)),
                      proper(U12(X1, X2)) -> U12(proper(X1), proper(X2)),
                         proper(isNat(X)) -> isNat(proper(X)),
                  proper(U11(X1, X2, X3)) -> U11(proper(X1), proper(X2), proper(X3)),
                             proper(tt()) -> ok(tt()),
                           proper(U13(X)) -> U13(proper(X)),
                           proper(U22(X)) -> U22(proper(X)),
                      proper(U21(X1, X2)) -> U21(proper(X1), proper(X2)),
                      proper(U32(X1, X2)) -> U32(proper(X1), proper(X2)),
                  proper(U31(X1, X2, X3)) -> U31(proper(X1), proper(X2), proper(X3)),
                           proper(U33(X)) -> U33(proper(X)),
                      proper(U41(X1, X2)) -> U41(proper(X1), proper(X2)),
                             proper(s(X)) -> s(proper(X)),
                     proper(plus(X1, X2)) -> plus(proper(X1), proper(X2)),
                  proper(U51(X1, X2, X3)) -> U51(proper(X1), proper(X2), proper(X3)),
                              proper(0()) -> ok(0()),
                           proper(U61(X)) -> U61(proper(X)),
                        proper(x(X1, X2)) -> x(proper(X1), proper(X2)),
                  proper(U71(X1, X2, X3)) -> U71(proper(X1), proper(X2), proper(X3)),
                      proper(and(X1, X2)) -> and(proper(X1), proper(X2)),
                     proper(isNatKind(X)) -> isNatKind(proper(X)),
                             top(mark(X)) -> top(proper(X)),
                               top(ok(X)) -> top(active(X))}
         SPSC:
          Simple Projection:
           pi(U71#) = 0
          Strict:
           {}
          Qed
    SCC:
     Strict:
      {  x#(X1, mark(X2)) -> x#(X1, X2),
         x#(mark(X1), X2) -> x#(X1, X2),
       x#(ok(X1), ok(X2)) -> x#(X1, X2)}
     Weak:
     {              U12(mark(X1), X2) -> mark(U12(X1, X2)),
                  U12(ok(X1), ok(X2)) -> ok(U12(X1, X2)),
                         isNat(ok(X)) -> ok(isNat(X)),
                  active(U12(X1, X2)) -> U12(active(X1), X2),
                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(X1, X2, X3)) -> U11(active(X1), X2, X3),
            active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                       active(U13(X)) -> U13(active(X)),
                    active(U13(tt())) -> mark(tt()),
                       active(U22(X)) -> U22(active(X)),
                    active(U22(tt())) -> mark(tt()),
                  active(U21(X1, X2)) -> U21(active(X1), X2),
                active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                  active(U32(X1, X2)) -> U32(active(X1), X2),
                active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
              active(U31(X1, X2, X3)) -> U31(active(X1), X2, X3),
            active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                       active(U33(X)) -> U33(active(X)),
                    active(U33(tt())) -> mark(tt()),
                  active(U41(X1, X2)) -> U41(active(X1), X2),
                 active(U41(tt(), N)) -> mark(N),
                         active(s(X)) -> s(active(X)),
                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(plus(X1, X2)) -> plus(X1, active(X2)),
                 active(plus(X1, X2)) -> plus(active(X1), X2),
              active(U51(X1, X2, X3)) -> U51(active(X1), X2, X3),
              active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                       active(U61(X)) -> U61(active(X)),
                    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(x(X1, X2)) -> x(X1, active(X2)),
                    active(x(X1, X2)) -> x(active(X1), X2),
              active(U71(X1, X2, X3)) -> U71(active(X1), X2, X3),
              active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                  active(and(X1, X2)) -> and(active(X1), X2),
                 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(mark(X1), X2, X3) -> mark(U11(X1, X2, X3)),
          U11(ok(X1), ok(X2), ok(X3)) -> ok(U11(X1, X2, X3)),
                         U13(mark(X)) -> mark(U13(X)),
                           U13(ok(X)) -> ok(U13(X)),
                         U22(mark(X)) -> mark(U22(X)),
                           U22(ok(X)) -> ok(U22(X)),
                    U21(mark(X1), X2) -> mark(U21(X1, X2)),
                  U21(ok(X1), ok(X2)) -> ok(U21(X1, X2)),
                    U32(mark(X1), X2) -> mark(U32(X1, X2)),
                  U32(ok(X1), ok(X2)) -> ok(U32(X1, X2)),
                U31(mark(X1), X2, X3) -> mark(U31(X1, X2, X3)),
          U31(ok(X1), ok(X2), ok(X3)) -> ok(U31(X1, X2, X3)),
                         U33(mark(X)) -> mark(U33(X)),
                           U33(ok(X)) -> ok(U33(X)),
                    U41(mark(X1), X2) -> mark(U41(X1, X2)),
                  U41(ok(X1), ok(X2)) -> ok(U41(X1, X2)),
                           s(mark(X)) -> mark(s(X)),
                             s(ok(X)) -> ok(s(X)),
                   plus(X1, mark(X2)) -> mark(plus(X1, X2)),
                   plus(mark(X1), X2) -> mark(plus(X1, X2)),
                 plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)),
                U51(mark(X1), X2, X3) -> mark(U51(X1, X2, X3)),
          U51(ok(X1), ok(X2), ok(X3)) -> ok(U51(X1, X2, X3)),
                         U61(mark(X)) -> mark(U61(X)),
                           U61(ok(X)) -> ok(U61(X)),
                      x(X1, mark(X2)) -> mark(x(X1, X2)),
                      x(mark(X1), X2) -> mark(x(X1, X2)),
                    x(ok(X1), ok(X2)) -> ok(x(X1, X2)),
                U71(mark(X1), X2, X3) -> mark(U71(X1, X2, X3)),
          U71(ok(X1), ok(X2), ok(X3)) -> ok(U71(X1, X2, X3)),
                    and(mark(X1), X2) -> mark(and(X1, X2)),
                  and(ok(X1), ok(X2)) -> ok(and(X1, X2)),
                     isNatKind(ok(X)) -> ok(isNatKind(X)),
                  proper(U12(X1, X2)) -> U12(proper(X1), proper(X2)),
                     proper(isNat(X)) -> isNat(proper(X)),
              proper(U11(X1, X2, X3)) -> U11(proper(X1), proper(X2), proper(X3)),
                         proper(tt()) -> ok(tt()),
                       proper(U13(X)) -> U13(proper(X)),
                       proper(U22(X)) -> U22(proper(X)),
                  proper(U21(X1, X2)) -> U21(proper(X1), proper(X2)),
                  proper(U32(X1, X2)) -> U32(proper(X1), proper(X2)),
              proper(U31(X1, X2, X3)) -> U31(proper(X1), proper(X2), proper(X3)),
                       proper(U33(X)) -> U33(proper(X)),
                  proper(U41(X1, X2)) -> U41(proper(X1), proper(X2)),
                         proper(s(X)) -> s(proper(X)),
                 proper(plus(X1, X2)) -> plus(proper(X1), proper(X2)),
              proper(U51(X1, X2, X3)) -> U51(proper(X1), proper(X2), proper(X3)),
                          proper(0()) -> ok(0()),
                       proper(U61(X)) -> U61(proper(X)),
                    proper(x(X1, X2)) -> x(proper(X1), proper(X2)),
              proper(U71(X1, X2, X3)) -> U71(proper(X1), proper(X2), proper(X3)),
                  proper(and(X1, X2)) -> and(proper(X1), proper(X2)),
                 proper(isNatKind(X)) -> isNatKind(proper(X)),
                         top(mark(X)) -> top(proper(X)),
                           top(ok(X)) -> top(active(X))}
     SPSC:
      Simple Projection:
       pi(x#) = 0
      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:
         {              U12(mark(X1), X2) -> mark(U12(X1, X2)),
                      U12(ok(X1), ok(X2)) -> ok(U12(X1, X2)),
                             isNat(ok(X)) -> ok(isNat(X)),
                      active(U12(X1, X2)) -> U12(active(X1), X2),
                    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(X1, X2, X3)) -> U11(active(X1), X2, X3),
                active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                           active(U13(X)) -> U13(active(X)),
                        active(U13(tt())) -> mark(tt()),
                           active(U22(X)) -> U22(active(X)),
                        active(U22(tt())) -> mark(tt()),
                      active(U21(X1, X2)) -> U21(active(X1), X2),
                    active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                      active(U32(X1, X2)) -> U32(active(X1), X2),
                    active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
                  active(U31(X1, X2, X3)) -> U31(active(X1), X2, X3),
                active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                           active(U33(X)) -> U33(active(X)),
                        active(U33(tt())) -> mark(tt()),
                      active(U41(X1, X2)) -> U41(active(X1), X2),
                     active(U41(tt(), N)) -> mark(N),
                             active(s(X)) -> s(active(X)),
                    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(plus(X1, X2)) -> plus(X1, active(X2)),
                     active(plus(X1, X2)) -> plus(active(X1), X2),
                  active(U51(X1, X2, X3)) -> U51(active(X1), X2, X3),
                  active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                           active(U61(X)) -> U61(active(X)),
                        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(x(X1, X2)) -> x(X1, active(X2)),
                        active(x(X1, X2)) -> x(active(X1), X2),
                  active(U71(X1, X2, X3)) -> U71(active(X1), X2, X3),
                  active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                      active(and(X1, X2)) -> and(active(X1), X2),
                     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(mark(X1), X2, X3) -> mark(U11(X1, X2, X3)),
              U11(ok(X1), ok(X2), ok(X3)) -> ok(U11(X1, X2, X3)),
                             U13(mark(X)) -> mark(U13(X)),
                               U13(ok(X)) -> ok(U13(X)),
                             U22(mark(X)) -> mark(U22(X)),
                               U22(ok(X)) -> ok(U22(X)),
                        U21(mark(X1), X2) -> mark(U21(X1, X2)),
                      U21(ok(X1), ok(X2)) -> ok(U21(X1, X2)),
                        U32(mark(X1), X2) -> mark(U32(X1, X2)),
                      U32(ok(X1), ok(X2)) -> ok(U32(X1, X2)),
                    U31(mark(X1), X2, X3) -> mark(U31(X1, X2, X3)),
              U31(ok(X1), ok(X2), ok(X3)) -> ok(U31(X1, X2, X3)),
                             U33(mark(X)) -> mark(U33(X)),
                               U33(ok(X)) -> ok(U33(X)),
                        U41(mark(X1), X2) -> mark(U41(X1, X2)),
                      U41(ok(X1), ok(X2)) -> ok(U41(X1, X2)),
                               s(mark(X)) -> mark(s(X)),
                                 s(ok(X)) -> ok(s(X)),
                       plus(X1, mark(X2)) -> mark(plus(X1, X2)),
                       plus(mark(X1), X2) -> mark(plus(X1, X2)),
                     plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)),
                    U51(mark(X1), X2, X3) -> mark(U51(X1, X2, X3)),
              U51(ok(X1), ok(X2), ok(X3)) -> ok(U51(X1, X2, X3)),
                             U61(mark(X)) -> mark(U61(X)),
                               U61(ok(X)) -> ok(U61(X)),
                          x(X1, mark(X2)) -> mark(x(X1, X2)),
                          x(mark(X1), X2) -> mark(x(X1, X2)),
                        x(ok(X1), ok(X2)) -> ok(x(X1, X2)),
                    U71(mark(X1), X2, X3) -> mark(U71(X1, X2, X3)),
              U71(ok(X1), ok(X2), ok(X3)) -> ok(U71(X1, X2, X3)),
                        and(mark(X1), X2) -> mark(and(X1, X2)),
                      and(ok(X1), ok(X2)) -> ok(and(X1, X2)),
                         isNatKind(ok(X)) -> ok(isNatKind(X)),
                      proper(U12(X1, X2)) -> U12(proper(X1), proper(X2)),
                         proper(isNat(X)) -> isNat(proper(X)),
                  proper(U11(X1, X2, X3)) -> U11(proper(X1), proper(X2), proper(X3)),
                             proper(tt()) -> ok(tt()),
                           proper(U13(X)) -> U13(proper(X)),
                           proper(U22(X)) -> U22(proper(X)),
                      proper(U21(X1, X2)) -> U21(proper(X1), proper(X2)),
                      proper(U32(X1, X2)) -> U32(proper(X1), proper(X2)),
                  proper(U31(X1, X2, X3)) -> U31(proper(X1), proper(X2), proper(X3)),
                           proper(U33(X)) -> U33(proper(X)),
                      proper(U41(X1, X2)) -> U41(proper(X1), proper(X2)),
                             proper(s(X)) -> s(proper(X)),
                     proper(plus(X1, X2)) -> plus(proper(X1), proper(X2)),
                  proper(U51(X1, X2, X3)) -> U51(proper(X1), proper(X2), proper(X3)),
                              proper(0()) -> ok(0()),
                           proper(U61(X)) -> U61(proper(X)),
                        proper(x(X1, X2)) -> x(proper(X1), proper(X2)),
                  proper(U71(X1, X2, X3)) -> U71(proper(X1), proper(X2), proper(X3)),
                      proper(and(X1, X2)) -> and(proper(X1), proper(X2)),
                     proper(isNatKind(X)) -> isNatKind(proper(X)),
                             top(mark(X)) -> top(proper(X)),
                               top(ok(X)) -> top(active(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:
             {              U12(mark(X1), X2) -> mark(U12(X1, X2)),
                          U12(ok(X1), ok(X2)) -> ok(U12(X1, X2)),
                                 isNat(ok(X)) -> ok(isNat(X)),
                          active(U12(X1, X2)) -> U12(active(X1), X2),
                        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(X1, X2, X3)) -> U11(active(X1), X2, X3),
                    active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                               active(U13(X)) -> U13(active(X)),
                            active(U13(tt())) -> mark(tt()),
                               active(U22(X)) -> U22(active(X)),
                            active(U22(tt())) -> mark(tt()),
                          active(U21(X1, X2)) -> U21(active(X1), X2),
                        active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                          active(U32(X1, X2)) -> U32(active(X1), X2),
                        active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
                      active(U31(X1, X2, X3)) -> U31(active(X1), X2, X3),
                    active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                               active(U33(X)) -> U33(active(X)),
                            active(U33(tt())) -> mark(tt()),
                          active(U41(X1, X2)) -> U41(active(X1), X2),
                         active(U41(tt(), N)) -> mark(N),
                                 active(s(X)) -> s(active(X)),
                        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(plus(X1, X2)) -> plus(X1, active(X2)),
                         active(plus(X1, X2)) -> plus(active(X1), X2),
                      active(U51(X1, X2, X3)) -> U51(active(X1), X2, X3),
                      active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                               active(U61(X)) -> U61(active(X)),
                            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(x(X1, X2)) -> x(X1, active(X2)),
                            active(x(X1, X2)) -> x(active(X1), X2),
                      active(U71(X1, X2, X3)) -> U71(active(X1), X2, X3),
                      active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                          active(and(X1, X2)) -> and(active(X1), X2),
                         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(mark(X1), X2, X3) -> mark(U11(X1, X2, X3)),
                  U11(ok(X1), ok(X2), ok(X3)) -> ok(U11(X1, X2, X3)),
                                 U13(mark(X)) -> mark(U13(X)),
                                   U13(ok(X)) -> ok(U13(X)),
                                 U22(mark(X)) -> mark(U22(X)),
                                   U22(ok(X)) -> ok(U22(X)),
                            U21(mark(X1), X2) -> mark(U21(X1, X2)),
                          U21(ok(X1), ok(X2)) -> ok(U21(X1, X2)),
                            U32(mark(X1), X2) -> mark(U32(X1, X2)),
                          U32(ok(X1), ok(X2)) -> ok(U32(X1, X2)),
                        U31(mark(X1), X2, X3) -> mark(U31(X1, X2, X3)),
                  U31(ok(X1), ok(X2), ok(X3)) -> ok(U31(X1, X2, X3)),
                                 U33(mark(X)) -> mark(U33(X)),
                                   U33(ok(X)) -> ok(U33(X)),
                            U41(mark(X1), X2) -> mark(U41(X1, X2)),
                          U41(ok(X1), ok(X2)) -> ok(U41(X1, X2)),
                                   s(mark(X)) -> mark(s(X)),
                                     s(ok(X)) -> ok(s(X)),
                           plus(X1, mark(X2)) -> mark(plus(X1, X2)),
                           plus(mark(X1), X2) -> mark(plus(X1, X2)),
                         plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)),
                        U51(mark(X1), X2, X3) -> mark(U51(X1, X2, X3)),
                  U51(ok(X1), ok(X2), ok(X3)) -> ok(U51(X1, X2, X3)),
                                 U61(mark(X)) -> mark(U61(X)),
                                   U61(ok(X)) -> ok(U61(X)),
                              x(X1, mark(X2)) -> mark(x(X1, X2)),
                              x(mark(X1), X2) -> mark(x(X1, X2)),
                            x(ok(X1), ok(X2)) -> ok(x(X1, X2)),
                        U71(mark(X1), X2, X3) -> mark(U71(X1, X2, X3)),
                  U71(ok(X1), ok(X2), ok(X3)) -> ok(U71(X1, X2, X3)),
                            and(mark(X1), X2) -> mark(and(X1, X2)),
                          and(ok(X1), ok(X2)) -> ok(and(X1, X2)),
                             isNatKind(ok(X)) -> ok(isNatKind(X)),
                          proper(U12(X1, X2)) -> U12(proper(X1), proper(X2)),
                             proper(isNat(X)) -> isNat(proper(X)),
                      proper(U11(X1, X2, X3)) -> U11(proper(X1), proper(X2), proper(X3)),
                                 proper(tt()) -> ok(tt()),
                               proper(U13(X)) -> U13(proper(X)),
                               proper(U22(X)) -> U22(proper(X)),
                          proper(U21(X1, X2)) -> U21(proper(X1), proper(X2)),
                          proper(U32(X1, X2)) -> U32(proper(X1), proper(X2)),
                      proper(U31(X1, X2, X3)) -> U31(proper(X1), proper(X2), proper(X3)),
                               proper(U33(X)) -> U33(proper(X)),
                          proper(U41(X1, X2)) -> U41(proper(X1), proper(X2)),
                                 proper(s(X)) -> s(proper(X)),
                         proper(plus(X1, X2)) -> plus(proper(X1), proper(X2)),
                      proper(U51(X1, X2, X3)) -> U51(proper(X1), proper(X2), proper(X3)),
                                  proper(0()) -> ok(0()),
                               proper(U61(X)) -> U61(proper(X)),
                            proper(x(X1, X2)) -> x(proper(X1), proper(X2)),
                      proper(U71(X1, X2, X3)) -> U71(proper(X1), proper(X2), proper(X3)),
                          proper(and(X1, X2)) -> and(proper(X1), proper(X2)),
                         proper(isNatKind(X)) -> isNatKind(proper(X)),
                                 top(mark(X)) -> top(proper(X)),
                                   top(ok(X)) -> top(active(X))}
             SPSC:
              Simple Projection:
               pi(x#) = 1
              Strict:
               {}
              Qed
    SCC:
     Strict:
      {U61#(mark(X)) -> U61#(X),
         U61#(ok(X)) -> U61#(X)}
     Weak:
     {              U12(mark(X1), X2) -> mark(U12(X1, X2)),
                  U12(ok(X1), ok(X2)) -> ok(U12(X1, X2)),
                         isNat(ok(X)) -> ok(isNat(X)),
                  active(U12(X1, X2)) -> U12(active(X1), X2),
                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(X1, X2, X3)) -> U11(active(X1), X2, X3),
            active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                       active(U13(X)) -> U13(active(X)),
                    active(U13(tt())) -> mark(tt()),
                       active(U22(X)) -> U22(active(X)),
                    active(U22(tt())) -> mark(tt()),
                  active(U21(X1, X2)) -> U21(active(X1), X2),
                active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                  active(U32(X1, X2)) -> U32(active(X1), X2),
                active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
              active(U31(X1, X2, X3)) -> U31(active(X1), X2, X3),
            active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                       active(U33(X)) -> U33(active(X)),
                    active(U33(tt())) -> mark(tt()),
                  active(U41(X1, X2)) -> U41(active(X1), X2),
                 active(U41(tt(), N)) -> mark(N),
                         active(s(X)) -> s(active(X)),
                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(plus(X1, X2)) -> plus(X1, active(X2)),
                 active(plus(X1, X2)) -> plus(active(X1), X2),
              active(U51(X1, X2, X3)) -> U51(active(X1), X2, X3),
              active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                       active(U61(X)) -> U61(active(X)),
                    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(x(X1, X2)) -> x(X1, active(X2)),
                    active(x(X1, X2)) -> x(active(X1), X2),
              active(U71(X1, X2, X3)) -> U71(active(X1), X2, X3),
              active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                  active(and(X1, X2)) -> and(active(X1), X2),
                 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(mark(X1), X2, X3) -> mark(U11(X1, X2, X3)),
          U11(ok(X1), ok(X2), ok(X3)) -> ok(U11(X1, X2, X3)),
                         U13(mark(X)) -> mark(U13(X)),
                           U13(ok(X)) -> ok(U13(X)),
                         U22(mark(X)) -> mark(U22(X)),
                           U22(ok(X)) -> ok(U22(X)),
                    U21(mark(X1), X2) -> mark(U21(X1, X2)),
                  U21(ok(X1), ok(X2)) -> ok(U21(X1, X2)),
                    U32(mark(X1), X2) -> mark(U32(X1, X2)),
                  U32(ok(X1), ok(X2)) -> ok(U32(X1, X2)),
                U31(mark(X1), X2, X3) -> mark(U31(X1, X2, X3)),
          U31(ok(X1), ok(X2), ok(X3)) -> ok(U31(X1, X2, X3)),
                         U33(mark(X)) -> mark(U33(X)),
                           U33(ok(X)) -> ok(U33(X)),
                    U41(mark(X1), X2) -> mark(U41(X1, X2)),
                  U41(ok(X1), ok(X2)) -> ok(U41(X1, X2)),
                           s(mark(X)) -> mark(s(X)),
                             s(ok(X)) -> ok(s(X)),
                   plus(X1, mark(X2)) -> mark(plus(X1, X2)),
                   plus(mark(X1), X2) -> mark(plus(X1, X2)),
                 plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)),
                U51(mark(X1), X2, X3) -> mark(U51(X1, X2, X3)),
          U51(ok(X1), ok(X2), ok(X3)) -> ok(U51(X1, X2, X3)),
                         U61(mark(X)) -> mark(U61(X)),
                           U61(ok(X)) -> ok(U61(X)),
                      x(X1, mark(X2)) -> mark(x(X1, X2)),
                      x(mark(X1), X2) -> mark(x(X1, X2)),
                    x(ok(X1), ok(X2)) -> ok(x(X1, X2)),
                U71(mark(X1), X2, X3) -> mark(U71(X1, X2, X3)),
          U71(ok(X1), ok(X2), ok(X3)) -> ok(U71(X1, X2, X3)),
                    and(mark(X1), X2) -> mark(and(X1, X2)),
                  and(ok(X1), ok(X2)) -> ok(and(X1, X2)),
                     isNatKind(ok(X)) -> ok(isNatKind(X)),
                  proper(U12(X1, X2)) -> U12(proper(X1), proper(X2)),
                     proper(isNat(X)) -> isNat(proper(X)),
              proper(U11(X1, X2, X3)) -> U11(proper(X1), proper(X2), proper(X3)),
                         proper(tt()) -> ok(tt()),
                       proper(U13(X)) -> U13(proper(X)),
                       proper(U22(X)) -> U22(proper(X)),
                  proper(U21(X1, X2)) -> U21(proper(X1), proper(X2)),
                  proper(U32(X1, X2)) -> U32(proper(X1), proper(X2)),
              proper(U31(X1, X2, X3)) -> U31(proper(X1), proper(X2), proper(X3)),
                       proper(U33(X)) -> U33(proper(X)),
                  proper(U41(X1, X2)) -> U41(proper(X1), proper(X2)),
                         proper(s(X)) -> s(proper(X)),
                 proper(plus(X1, X2)) -> plus(proper(X1), proper(X2)),
              proper(U51(X1, X2, X3)) -> U51(proper(X1), proper(X2), proper(X3)),
                          proper(0()) -> ok(0()),
                       proper(U61(X)) -> U61(proper(X)),
                    proper(x(X1, X2)) -> x(proper(X1), proper(X2)),
              proper(U71(X1, X2, X3)) -> U71(proper(X1), proper(X2), proper(X3)),
                  proper(and(X1, X2)) -> and(proper(X1), proper(X2)),
                 proper(isNatKind(X)) -> isNatKind(proper(X)),
                         top(mark(X)) -> top(proper(X)),
                           top(ok(X)) -> top(active(X))}
     SPSC:
      Simple Projection:
       pi(U61#) = 0
      Strict:
       {U61#(ok(X)) -> U61#(X)}
      EDG:
       {(U61#(ok(X)) -> U61#(X), U61#(ok(X)) -> U61#(X))}
       SCCS:
        Scc:
         {U61#(ok(X)) -> U61#(X)}
        SCC:
         Strict:
          {U61#(ok(X)) -> U61#(X)}
         Weak:
         {              U12(mark(X1), X2) -> mark(U12(X1, X2)),
                      U12(ok(X1), ok(X2)) -> ok(U12(X1, X2)),
                             isNat(ok(X)) -> ok(isNat(X)),
                      active(U12(X1, X2)) -> U12(active(X1), X2),
                    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(X1, X2, X3)) -> U11(active(X1), X2, X3),
                active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                           active(U13(X)) -> U13(active(X)),
                        active(U13(tt())) -> mark(tt()),
                           active(U22(X)) -> U22(active(X)),
                        active(U22(tt())) -> mark(tt()),
                      active(U21(X1, X2)) -> U21(active(X1), X2),
                    active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                      active(U32(X1, X2)) -> U32(active(X1), X2),
                    active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
                  active(U31(X1, X2, X3)) -> U31(active(X1), X2, X3),
                active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                           active(U33(X)) -> U33(active(X)),
                        active(U33(tt())) -> mark(tt()),
                      active(U41(X1, X2)) -> U41(active(X1), X2),
                     active(U41(tt(), N)) -> mark(N),
                             active(s(X)) -> s(active(X)),
                    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(plus(X1, X2)) -> plus(X1, active(X2)),
                     active(plus(X1, X2)) -> plus(active(X1), X2),
                  active(U51(X1, X2, X3)) -> U51(active(X1), X2, X3),
                  active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                           active(U61(X)) -> U61(active(X)),
                        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(x(X1, X2)) -> x(X1, active(X2)),
                        active(x(X1, X2)) -> x(active(X1), X2),
                  active(U71(X1, X2, X3)) -> U71(active(X1), X2, X3),
                  active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                      active(and(X1, X2)) -> and(active(X1), X2),
                     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(mark(X1), X2, X3) -> mark(U11(X1, X2, X3)),
              U11(ok(X1), ok(X2), ok(X3)) -> ok(U11(X1, X2, X3)),
                             U13(mark(X)) -> mark(U13(X)),
                               U13(ok(X)) -> ok(U13(X)),
                             U22(mark(X)) -> mark(U22(X)),
                               U22(ok(X)) -> ok(U22(X)),
                        U21(mark(X1), X2) -> mark(U21(X1, X2)),
                      U21(ok(X1), ok(X2)) -> ok(U21(X1, X2)),
                        U32(mark(X1), X2) -> mark(U32(X1, X2)),
                      U32(ok(X1), ok(X2)) -> ok(U32(X1, X2)),
                    U31(mark(X1), X2, X3) -> mark(U31(X1, X2, X3)),
              U31(ok(X1), ok(X2), ok(X3)) -> ok(U31(X1, X2, X3)),
                             U33(mark(X)) -> mark(U33(X)),
                               U33(ok(X)) -> ok(U33(X)),
                        U41(mark(X1), X2) -> mark(U41(X1, X2)),
                      U41(ok(X1), ok(X2)) -> ok(U41(X1, X2)),
                               s(mark(X)) -> mark(s(X)),
                                 s(ok(X)) -> ok(s(X)),
                       plus(X1, mark(X2)) -> mark(plus(X1, X2)),
                       plus(mark(X1), X2) -> mark(plus(X1, X2)),
                     plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)),
                    U51(mark(X1), X2, X3) -> mark(U51(X1, X2, X3)),
              U51(ok(X1), ok(X2), ok(X3)) -> ok(U51(X1, X2, X3)),
                             U61(mark(X)) -> mark(U61(X)),
                               U61(ok(X)) -> ok(U61(X)),
                          x(X1, mark(X2)) -> mark(x(X1, X2)),
                          x(mark(X1), X2) -> mark(x(X1, X2)),
                        x(ok(X1), ok(X2)) -> ok(x(X1, X2)),
                    U71(mark(X1), X2, X3) -> mark(U71(X1, X2, X3)),
              U71(ok(X1), ok(X2), ok(X3)) -> ok(U71(X1, X2, X3)),
                        and(mark(X1), X2) -> mark(and(X1, X2)),
                      and(ok(X1), ok(X2)) -> ok(and(X1, X2)),
                         isNatKind(ok(X)) -> ok(isNatKind(X)),
                      proper(U12(X1, X2)) -> U12(proper(X1), proper(X2)),
                         proper(isNat(X)) -> isNat(proper(X)),
                  proper(U11(X1, X2, X3)) -> U11(proper(X1), proper(X2), proper(X3)),
                             proper(tt()) -> ok(tt()),
                           proper(U13(X)) -> U13(proper(X)),
                           proper(U22(X)) -> U22(proper(X)),
                      proper(U21(X1, X2)) -> U21(proper(X1), proper(X2)),
                      proper(U32(X1, X2)) -> U32(proper(X1), proper(X2)),
                  proper(U31(X1, X2, X3)) -> U31(proper(X1), proper(X2), proper(X3)),
                           proper(U33(X)) -> U33(proper(X)),
                      proper(U41(X1, X2)) -> U41(proper(X1), proper(X2)),
                             proper(s(X)) -> s(proper(X)),
                     proper(plus(X1, X2)) -> plus(proper(X1), proper(X2)),
                  proper(U51(X1, X2, X3)) -> U51(proper(X1), proper(X2), proper(X3)),
                              proper(0()) -> ok(0()),
                           proper(U61(X)) -> U61(proper(X)),
                        proper(x(X1, X2)) -> x(proper(X1), proper(X2)),
                  proper(U71(X1, X2, X3)) -> U71(proper(X1), proper(X2), proper(X3)),
                      proper(and(X1, X2)) -> and(proper(X1), proper(X2)),
                     proper(isNatKind(X)) -> isNatKind(proper(X)),
                             top(mark(X)) -> top(proper(X)),
                               top(ok(X)) -> top(active(X))}
         SPSC:
          Simple Projection:
           pi(U61#) = 0
          Strict:
           {}
          Qed
    SCC:
     Strict:
      {      U51#(mark(X1), X2, X3) -> U51#(X1, X2, X3),
       U51#(ok(X1), ok(X2), ok(X3)) -> U51#(X1, X2, X3)}
     Weak:
     {              U12(mark(X1), X2) -> mark(U12(X1, X2)),
                  U12(ok(X1), ok(X2)) -> ok(U12(X1, X2)),
                         isNat(ok(X)) -> ok(isNat(X)),
                  active(U12(X1, X2)) -> U12(active(X1), X2),
                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(X1, X2, X3)) -> U11(active(X1), X2, X3),
            active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                       active(U13(X)) -> U13(active(X)),
                    active(U13(tt())) -> mark(tt()),
                       active(U22(X)) -> U22(active(X)),
                    active(U22(tt())) -> mark(tt()),
                  active(U21(X1, X2)) -> U21(active(X1), X2),
                active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                  active(U32(X1, X2)) -> U32(active(X1), X2),
                active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
              active(U31(X1, X2, X3)) -> U31(active(X1), X2, X3),
            active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                       active(U33(X)) -> U33(active(X)),
                    active(U33(tt())) -> mark(tt()),
                  active(U41(X1, X2)) -> U41(active(X1), X2),
                 active(U41(tt(), N)) -> mark(N),
                         active(s(X)) -> s(active(X)),
                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(plus(X1, X2)) -> plus(X1, active(X2)),
                 active(plus(X1, X2)) -> plus(active(X1), X2),
              active(U51(X1, X2, X3)) -> U51(active(X1), X2, X3),
              active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                       active(U61(X)) -> U61(active(X)),
                    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(x(X1, X2)) -> x(X1, active(X2)),
                    active(x(X1, X2)) -> x(active(X1), X2),
              active(U71(X1, X2, X3)) -> U71(active(X1), X2, X3),
              active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                  active(and(X1, X2)) -> and(active(X1), X2),
                 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(mark(X1), X2, X3) -> mark(U11(X1, X2, X3)),
          U11(ok(X1), ok(X2), ok(X3)) -> ok(U11(X1, X2, X3)),
                         U13(mark(X)) -> mark(U13(X)),
                           U13(ok(X)) -> ok(U13(X)),
                         U22(mark(X)) -> mark(U22(X)),
                           U22(ok(X)) -> ok(U22(X)),
                    U21(mark(X1), X2) -> mark(U21(X1, X2)),
                  U21(ok(X1), ok(X2)) -> ok(U21(X1, X2)),
                    U32(mark(X1), X2) -> mark(U32(X1, X2)),
                  U32(ok(X1), ok(X2)) -> ok(U32(X1, X2)),
                U31(mark(X1), X2, X3) -> mark(U31(X1, X2, X3)),
          U31(ok(X1), ok(X2), ok(X3)) -> ok(U31(X1, X2, X3)),
                         U33(mark(X)) -> mark(U33(X)),
                           U33(ok(X)) -> ok(U33(X)),
                    U41(mark(X1), X2) -> mark(U41(X1, X2)),
                  U41(ok(X1), ok(X2)) -> ok(U41(X1, X2)),
                           s(mark(X)) -> mark(s(X)),
                             s(ok(X)) -> ok(s(X)),
                   plus(X1, mark(X2)) -> mark(plus(X1, X2)),
                   plus(mark(X1), X2) -> mark(plus(X1, X2)),
                 plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)),
                U51(mark(X1), X2, X3) -> mark(U51(X1, X2, X3)),
          U51(ok(X1), ok(X2), ok(X3)) -> ok(U51(X1, X2, X3)),
                         U61(mark(X)) -> mark(U61(X)),
                           U61(ok(X)) -> ok(U61(X)),
                      x(X1, mark(X2)) -> mark(x(X1, X2)),
                      x(mark(X1), X2) -> mark(x(X1, X2)),
                    x(ok(X1), ok(X2)) -> ok(x(X1, X2)),
                U71(mark(X1), X2, X3) -> mark(U71(X1, X2, X3)),
          U71(ok(X1), ok(X2), ok(X3)) -> ok(U71(X1, X2, X3)),
                    and(mark(X1), X2) -> mark(and(X1, X2)),
                  and(ok(X1), ok(X2)) -> ok(and(X1, X2)),
                     isNatKind(ok(X)) -> ok(isNatKind(X)),
                  proper(U12(X1, X2)) -> U12(proper(X1), proper(X2)),
                     proper(isNat(X)) -> isNat(proper(X)),
              proper(U11(X1, X2, X3)) -> U11(proper(X1), proper(X2), proper(X3)),
                         proper(tt()) -> ok(tt()),
                       proper(U13(X)) -> U13(proper(X)),
                       proper(U22(X)) -> U22(proper(X)),
                  proper(U21(X1, X2)) -> U21(proper(X1), proper(X2)),
                  proper(U32(X1, X2)) -> U32(proper(X1), proper(X2)),
              proper(U31(X1, X2, X3)) -> U31(proper(X1), proper(X2), proper(X3)),
                       proper(U33(X)) -> U33(proper(X)),
                  proper(U41(X1, X2)) -> U41(proper(X1), proper(X2)),
                         proper(s(X)) -> s(proper(X)),
                 proper(plus(X1, X2)) -> plus(proper(X1), proper(X2)),
              proper(U51(X1, X2, X3)) -> U51(proper(X1), proper(X2), proper(X3)),
                          proper(0()) -> ok(0()),
                       proper(U61(X)) -> U61(proper(X)),
                    proper(x(X1, X2)) -> x(proper(X1), proper(X2)),
              proper(U71(X1, X2, X3)) -> U71(proper(X1), proper(X2), proper(X3)),
                  proper(and(X1, X2)) -> and(proper(X1), proper(X2)),
                 proper(isNatKind(X)) -> isNatKind(proper(X)),
                         top(mark(X)) -> top(proper(X)),
                           top(ok(X)) -> top(active(X))}
     SPSC:
      Simple Projection:
       pi(U51#) = 0
      Strict:
       {U51#(mark(X1), X2, X3) -> U51#(X1, X2, X3)}
      EDG:
       {(U51#(mark(X1), X2, X3) -> U51#(X1, X2, X3), U51#(mark(X1), X2, X3) -> U51#(X1, X2, X3))}
       SCCS:
        Scc:
         {U51#(mark(X1), X2, X3) -> U51#(X1, X2, X3)}
        SCC:
         Strict:
          {U51#(mark(X1), X2, X3) -> U51#(X1, X2, X3)}
         Weak:
         {              U12(mark(X1), X2) -> mark(U12(X1, X2)),
                      U12(ok(X1), ok(X2)) -> ok(U12(X1, X2)),
                             isNat(ok(X)) -> ok(isNat(X)),
                      active(U12(X1, X2)) -> U12(active(X1), X2),
                    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(X1, X2, X3)) -> U11(active(X1), X2, X3),
                active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                           active(U13(X)) -> U13(active(X)),
                        active(U13(tt())) -> mark(tt()),
                           active(U22(X)) -> U22(active(X)),
                        active(U22(tt())) -> mark(tt()),
                      active(U21(X1, X2)) -> U21(active(X1), X2),
                    active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                      active(U32(X1, X2)) -> U32(active(X1), X2),
                    active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
                  active(U31(X1, X2, X3)) -> U31(active(X1), X2, X3),
                active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                           active(U33(X)) -> U33(active(X)),
                        active(U33(tt())) -> mark(tt()),
                      active(U41(X1, X2)) -> U41(active(X1), X2),
                     active(U41(tt(), N)) -> mark(N),
                             active(s(X)) -> s(active(X)),
                    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(plus(X1, X2)) -> plus(X1, active(X2)),
                     active(plus(X1, X2)) -> plus(active(X1), X2),
                  active(U51(X1, X2, X3)) -> U51(active(X1), X2, X3),
                  active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                           active(U61(X)) -> U61(active(X)),
                        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(x(X1, X2)) -> x(X1, active(X2)),
                        active(x(X1, X2)) -> x(active(X1), X2),
                  active(U71(X1, X2, X3)) -> U71(active(X1), X2, X3),
                  active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                      active(and(X1, X2)) -> and(active(X1), X2),
                     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(mark(X1), X2, X3) -> mark(U11(X1, X2, X3)),
              U11(ok(X1), ok(X2), ok(X3)) -> ok(U11(X1, X2, X3)),
                             U13(mark(X)) -> mark(U13(X)),
                               U13(ok(X)) -> ok(U13(X)),
                             U22(mark(X)) -> mark(U22(X)),
                               U22(ok(X)) -> ok(U22(X)),
                        U21(mark(X1), X2) -> mark(U21(X1, X2)),
                      U21(ok(X1), ok(X2)) -> ok(U21(X1, X2)),
                        U32(mark(X1), X2) -> mark(U32(X1, X2)),
                      U32(ok(X1), ok(X2)) -> ok(U32(X1, X2)),
                    U31(mark(X1), X2, X3) -> mark(U31(X1, X2, X3)),
              U31(ok(X1), ok(X2), ok(X3)) -> ok(U31(X1, X2, X3)),
                             U33(mark(X)) -> mark(U33(X)),
                               U33(ok(X)) -> ok(U33(X)),
                        U41(mark(X1), X2) -> mark(U41(X1, X2)),
                      U41(ok(X1), ok(X2)) -> ok(U41(X1, X2)),
                               s(mark(X)) -> mark(s(X)),
                                 s(ok(X)) -> ok(s(X)),
                       plus(X1, mark(X2)) -> mark(plus(X1, X2)),
                       plus(mark(X1), X2) -> mark(plus(X1, X2)),
                     plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)),
                    U51(mark(X1), X2, X3) -> mark(U51(X1, X2, X3)),
              U51(ok(X1), ok(X2), ok(X3)) -> ok(U51(X1, X2, X3)),
                             U61(mark(X)) -> mark(U61(X)),
                               U61(ok(X)) -> ok(U61(X)),
                          x(X1, mark(X2)) -> mark(x(X1, X2)),
                          x(mark(X1), X2) -> mark(x(X1, X2)),
                        x(ok(X1), ok(X2)) -> ok(x(X1, X2)),
                    U71(mark(X1), X2, X3) -> mark(U71(X1, X2, X3)),
              U71(ok(X1), ok(X2), ok(X3)) -> ok(U71(X1, X2, X3)),
                        and(mark(X1), X2) -> mark(and(X1, X2)),
                      and(ok(X1), ok(X2)) -> ok(and(X1, X2)),
                         isNatKind(ok(X)) -> ok(isNatKind(X)),
                      proper(U12(X1, X2)) -> U12(proper(X1), proper(X2)),
                         proper(isNat(X)) -> isNat(proper(X)),
                  proper(U11(X1, X2, X3)) -> U11(proper(X1), proper(X2), proper(X3)),
                             proper(tt()) -> ok(tt()),
                           proper(U13(X)) -> U13(proper(X)),
                           proper(U22(X)) -> U22(proper(X)),
                      proper(U21(X1, X2)) -> U21(proper(X1), proper(X2)),
                      proper(U32(X1, X2)) -> U32(proper(X1), proper(X2)),
                  proper(U31(X1, X2, X3)) -> U31(proper(X1), proper(X2), proper(X3)),
                           proper(U33(X)) -> U33(proper(X)),
                      proper(U41(X1, X2)) -> U41(proper(X1), proper(X2)),
                             proper(s(X)) -> s(proper(X)),
                     proper(plus(X1, X2)) -> plus(proper(X1), proper(X2)),
                  proper(U51(X1, X2, X3)) -> U51(proper(X1), proper(X2), proper(X3)),
                              proper(0()) -> ok(0()),
                           proper(U61(X)) -> U61(proper(X)),
                        proper(x(X1, X2)) -> x(proper(X1), proper(X2)),
                  proper(U71(X1, X2, X3)) -> U71(proper(X1), proper(X2), proper(X3)),
                      proper(and(X1, X2)) -> and(proper(X1), proper(X2)),
                     proper(isNatKind(X)) -> isNatKind(proper(X)),
                             top(mark(X)) -> top(proper(X)),
                               top(ok(X)) -> top(active(X))}
         SPSC:
          Simple Projection:
           pi(U51#) = 0
          Strict:
           {}
          Qed
    SCC:
     Strict:
      {  plus#(X1, mark(X2)) -> plus#(X1, X2),
         plus#(mark(X1), X2) -> plus#(X1, X2),
       plus#(ok(X1), ok(X2)) -> plus#(X1, X2)}
     Weak:
     {              U12(mark(X1), X2) -> mark(U12(X1, X2)),
                  U12(ok(X1), ok(X2)) -> ok(U12(X1, X2)),
                         isNat(ok(X)) -> ok(isNat(X)),
                  active(U12(X1, X2)) -> U12(active(X1), X2),
                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(X1, X2, X3)) -> U11(active(X1), X2, X3),
            active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                       active(U13(X)) -> U13(active(X)),
                    active(U13(tt())) -> mark(tt()),
                       active(U22(X)) -> U22(active(X)),
                    active(U22(tt())) -> mark(tt()),
                  active(U21(X1, X2)) -> U21(active(X1), X2),
                active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                  active(U32(X1, X2)) -> U32(active(X1), X2),
                active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
              active(U31(X1, X2, X3)) -> U31(active(X1), X2, X3),
            active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                       active(U33(X)) -> U33(active(X)),
                    active(U33(tt())) -> mark(tt()),
                  active(U41(X1, X2)) -> U41(active(X1), X2),
                 active(U41(tt(), N)) -> mark(N),
                         active(s(X)) -> s(active(X)),
                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(plus(X1, X2)) -> plus(X1, active(X2)),
                 active(plus(X1, X2)) -> plus(active(X1), X2),
              active(U51(X1, X2, X3)) -> U51(active(X1), X2, X3),
              active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                       active(U61(X)) -> U61(active(X)),
                    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(x(X1, X2)) -> x(X1, active(X2)),
                    active(x(X1, X2)) -> x(active(X1), X2),
              active(U71(X1, X2, X3)) -> U71(active(X1), X2, X3),
              active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                  active(and(X1, X2)) -> and(active(X1), X2),
                 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(mark(X1), X2, X3) -> mark(U11(X1, X2, X3)),
          U11(ok(X1), ok(X2), ok(X3)) -> ok(U11(X1, X2, X3)),
                         U13(mark(X)) -> mark(U13(X)),
                           U13(ok(X)) -> ok(U13(X)),
                         U22(mark(X)) -> mark(U22(X)),
                           U22(ok(X)) -> ok(U22(X)),
                    U21(mark(X1), X2) -> mark(U21(X1, X2)),
                  U21(ok(X1), ok(X2)) -> ok(U21(X1, X2)),
                    U32(mark(X1), X2) -> mark(U32(X1, X2)),
                  U32(ok(X1), ok(X2)) -> ok(U32(X1, X2)),
                U31(mark(X1), X2, X3) -> mark(U31(X1, X2, X3)),
          U31(ok(X1), ok(X2), ok(X3)) -> ok(U31(X1, X2, X3)),
                         U33(mark(X)) -> mark(U33(X)),
                           U33(ok(X)) -> ok(U33(X)),
                    U41(mark(X1), X2) -> mark(U41(X1, X2)),
                  U41(ok(X1), ok(X2)) -> ok(U41(X1, X2)),
                           s(mark(X)) -> mark(s(X)),
                             s(ok(X)) -> ok(s(X)),
                   plus(X1, mark(X2)) -> mark(plus(X1, X2)),
                   plus(mark(X1), X2) -> mark(plus(X1, X2)),
                 plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)),
                U51(mark(X1), X2, X3) -> mark(U51(X1, X2, X3)),
          U51(ok(X1), ok(X2), ok(X3)) -> ok(U51(X1, X2, X3)),
                         U61(mark(X)) -> mark(U61(X)),
                           U61(ok(X)) -> ok(U61(X)),
                      x(X1, mark(X2)) -> mark(x(X1, X2)),
                      x(mark(X1), X2) -> mark(x(X1, X2)),
                    x(ok(X1), ok(X2)) -> ok(x(X1, X2)),
                U71(mark(X1), X2, X3) -> mark(U71(X1, X2, X3)),
          U71(ok(X1), ok(X2), ok(X3)) -> ok(U71(X1, X2, X3)),
                    and(mark(X1), X2) -> mark(and(X1, X2)),
                  and(ok(X1), ok(X2)) -> ok(and(X1, X2)),
                     isNatKind(ok(X)) -> ok(isNatKind(X)),
                  proper(U12(X1, X2)) -> U12(proper(X1), proper(X2)),
                     proper(isNat(X)) -> isNat(proper(X)),
              proper(U11(X1, X2, X3)) -> U11(proper(X1), proper(X2), proper(X3)),
                         proper(tt()) -> ok(tt()),
                       proper(U13(X)) -> U13(proper(X)),
                       proper(U22(X)) -> U22(proper(X)),
                  proper(U21(X1, X2)) -> U21(proper(X1), proper(X2)),
                  proper(U32(X1, X2)) -> U32(proper(X1), proper(X2)),
              proper(U31(X1, X2, X3)) -> U31(proper(X1), proper(X2), proper(X3)),
                       proper(U33(X)) -> U33(proper(X)),
                  proper(U41(X1, X2)) -> U41(proper(X1), proper(X2)),
                         proper(s(X)) -> s(proper(X)),
                 proper(plus(X1, X2)) -> plus(proper(X1), proper(X2)),
              proper(U51(X1, X2, X3)) -> U51(proper(X1), proper(X2), proper(X3)),
                          proper(0()) -> ok(0()),
                       proper(U61(X)) -> U61(proper(X)),
                    proper(x(X1, X2)) -> x(proper(X1), proper(X2)),
              proper(U71(X1, X2, X3)) -> U71(proper(X1), proper(X2), proper(X3)),
                  proper(and(X1, X2)) -> and(proper(X1), proper(X2)),
                 proper(isNatKind(X)) -> isNatKind(proper(X)),
                         top(mark(X)) -> top(proper(X)),
                           top(ok(X)) -> top(active(X))}
     SPSC:
      Simple Projection:
       pi(plus#) = 0
      Strict:
       {plus#(X1, mark(X2)) -> plus#(X1, X2),
        plus#(mark(X1), X2) -> plus#(X1, X2)}
      EDG:
       {(plus#(mark(X1), X2) -> plus#(X1, X2), plus#(mark(X1), X2) -> plus#(X1, X2))
        (plus#(mark(X1), X2) -> plus#(X1, X2), plus#(X1, mark(X2)) -> plus#(X1, X2))
        (plus#(X1, mark(X2)) -> plus#(X1, X2), plus#(X1, mark(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#(mark(X1), X2) -> plus#(X1, X2)}
        SCC:
         Strict:
          {plus#(X1, mark(X2)) -> plus#(X1, X2),
           plus#(mark(X1), X2) -> plus#(X1, X2)}
         Weak:
         {              U12(mark(X1), X2) -> mark(U12(X1, X2)),
                      U12(ok(X1), ok(X2)) -> ok(U12(X1, X2)),
                             isNat(ok(X)) -> ok(isNat(X)),
                      active(U12(X1, X2)) -> U12(active(X1), X2),
                    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(X1, X2, X3)) -> U11(active(X1), X2, X3),
                active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                           active(U13(X)) -> U13(active(X)),
                        active(U13(tt())) -> mark(tt()),
                           active(U22(X)) -> U22(active(X)),
                        active(U22(tt())) -> mark(tt()),
                      active(U21(X1, X2)) -> U21(active(X1), X2),
                    active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                      active(U32(X1, X2)) -> U32(active(X1), X2),
                    active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
                  active(U31(X1, X2, X3)) -> U31(active(X1), X2, X3),
                active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                           active(U33(X)) -> U33(active(X)),
                        active(U33(tt())) -> mark(tt()),
                      active(U41(X1, X2)) -> U41(active(X1), X2),
                     active(U41(tt(), N)) -> mark(N),
                             active(s(X)) -> s(active(X)),
                    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(plus(X1, X2)) -> plus(X1, active(X2)),
                     active(plus(X1, X2)) -> plus(active(X1), X2),
                  active(U51(X1, X2, X3)) -> U51(active(X1), X2, X3),
                  active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                           active(U61(X)) -> U61(active(X)),
                        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(x(X1, X2)) -> x(X1, active(X2)),
                        active(x(X1, X2)) -> x(active(X1), X2),
                  active(U71(X1, X2, X3)) -> U71(active(X1), X2, X3),
                  active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                      active(and(X1, X2)) -> and(active(X1), X2),
                     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(mark(X1), X2, X3) -> mark(U11(X1, X2, X3)),
              U11(ok(X1), ok(X2), ok(X3)) -> ok(U11(X1, X2, X3)),
                             U13(mark(X)) -> mark(U13(X)),
                               U13(ok(X)) -> ok(U13(X)),
                             U22(mark(X)) -> mark(U22(X)),
                               U22(ok(X)) -> ok(U22(X)),
                        U21(mark(X1), X2) -> mark(U21(X1, X2)),
                      U21(ok(X1), ok(X2)) -> ok(U21(X1, X2)),
                        U32(mark(X1), X2) -> mark(U32(X1, X2)),
                      U32(ok(X1), ok(X2)) -> ok(U32(X1, X2)),
                    U31(mark(X1), X2, X3) -> mark(U31(X1, X2, X3)),
              U31(ok(X1), ok(X2), ok(X3)) -> ok(U31(X1, X2, X3)),
                             U33(mark(X)) -> mark(U33(X)),
                               U33(ok(X)) -> ok(U33(X)),
                        U41(mark(X1), X2) -> mark(U41(X1, X2)),
                      U41(ok(X1), ok(X2)) -> ok(U41(X1, X2)),
                               s(mark(X)) -> mark(s(X)),
                                 s(ok(X)) -> ok(s(X)),
                       plus(X1, mark(X2)) -> mark(plus(X1, X2)),
                       plus(mark(X1), X2) -> mark(plus(X1, X2)),
                     plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)),
                    U51(mark(X1), X2, X3) -> mark(U51(X1, X2, X3)),
              U51(ok(X1), ok(X2), ok(X3)) -> ok(U51(X1, X2, X3)),
                             U61(mark(X)) -> mark(U61(X)),
                               U61(ok(X)) -> ok(U61(X)),
                          x(X1, mark(X2)) -> mark(x(X1, X2)),
                          x(mark(X1), X2) -> mark(x(X1, X2)),
                        x(ok(X1), ok(X2)) -> ok(x(X1, X2)),
                    U71(mark(X1), X2, X3) -> mark(U71(X1, X2, X3)),
              U71(ok(X1), ok(X2), ok(X3)) -> ok(U71(X1, X2, X3)),
                        and(mark(X1), X2) -> mark(and(X1, X2)),
                      and(ok(X1), ok(X2)) -> ok(and(X1, X2)),
                         isNatKind(ok(X)) -> ok(isNatKind(X)),
                      proper(U12(X1, X2)) -> U12(proper(X1), proper(X2)),
                         proper(isNat(X)) -> isNat(proper(X)),
                  proper(U11(X1, X2, X3)) -> U11(proper(X1), proper(X2), proper(X3)),
                             proper(tt()) -> ok(tt()),
                           proper(U13(X)) -> U13(proper(X)),
                           proper(U22(X)) -> U22(proper(X)),
                      proper(U21(X1, X2)) -> U21(proper(X1), proper(X2)),
                      proper(U32(X1, X2)) -> U32(proper(X1), proper(X2)),
                  proper(U31(X1, X2, X3)) -> U31(proper(X1), proper(X2), proper(X3)),
                           proper(U33(X)) -> U33(proper(X)),
                      proper(U41(X1, X2)) -> U41(proper(X1), proper(X2)),
                             proper(s(X)) -> s(proper(X)),
                     proper(plus(X1, X2)) -> plus(proper(X1), proper(X2)),
                  proper(U51(X1, X2, X3)) -> U51(proper(X1), proper(X2), proper(X3)),
                              proper(0()) -> ok(0()),
                           proper(U61(X)) -> U61(proper(X)),
                        proper(x(X1, X2)) -> x(proper(X1), proper(X2)),
                  proper(U71(X1, X2, X3)) -> U71(proper(X1), proper(X2), proper(X3)),
                      proper(and(X1, X2)) -> and(proper(X1), proper(X2)),
                     proper(isNatKind(X)) -> isNatKind(proper(X)),
                             top(mark(X)) -> top(proper(X)),
                               top(ok(X)) -> top(active(X))}
         SPSC:
          Simple Projection:
           pi(plus#) = 0
          Strict:
           {plus#(X1, mark(X2)) -> plus#(X1, X2)}
          EDG:
           {(plus#(X1, mark(X2)) -> plus#(X1, X2), plus#(X1, mark(X2)) -> plus#(X1, X2))}
           SCCS:
            Scc:
             {plus#(X1, mark(X2)) -> plus#(X1, X2)}
            SCC:
             Strict:
              {plus#(X1, mark(X2)) -> plus#(X1, X2)}
             Weak:
             {              U12(mark(X1), X2) -> mark(U12(X1, X2)),
                          U12(ok(X1), ok(X2)) -> ok(U12(X1, X2)),
                                 isNat(ok(X)) -> ok(isNat(X)),
                          active(U12(X1, X2)) -> U12(active(X1), X2),
                        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(X1, X2, X3)) -> U11(active(X1), X2, X3),
                    active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                               active(U13(X)) -> U13(active(X)),
                            active(U13(tt())) -> mark(tt()),
                               active(U22(X)) -> U22(active(X)),
                            active(U22(tt())) -> mark(tt()),
                          active(U21(X1, X2)) -> U21(active(X1), X2),
                        active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                          active(U32(X1, X2)) -> U32(active(X1), X2),
                        active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
                      active(U31(X1, X2, X3)) -> U31(active(X1), X2, X3),
                    active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                               active(U33(X)) -> U33(active(X)),
                            active(U33(tt())) -> mark(tt()),
                          active(U41(X1, X2)) -> U41(active(X1), X2),
                         active(U41(tt(), N)) -> mark(N),
                                 active(s(X)) -> s(active(X)),
                        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(plus(X1, X2)) -> plus(X1, active(X2)),
                         active(plus(X1, X2)) -> plus(active(X1), X2),
                      active(U51(X1, X2, X3)) -> U51(active(X1), X2, X3),
                      active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                               active(U61(X)) -> U61(active(X)),
                            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(x(X1, X2)) -> x(X1, active(X2)),
                            active(x(X1, X2)) -> x(active(X1), X2),
                      active(U71(X1, X2, X3)) -> U71(active(X1), X2, X3),
                      active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                          active(and(X1, X2)) -> and(active(X1), X2),
                         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(mark(X1), X2, X3) -> mark(U11(X1, X2, X3)),
                  U11(ok(X1), ok(X2), ok(X3)) -> ok(U11(X1, X2, X3)),
                                 U13(mark(X)) -> mark(U13(X)),
                                   U13(ok(X)) -> ok(U13(X)),
                                 U22(mark(X)) -> mark(U22(X)),
                                   U22(ok(X)) -> ok(U22(X)),
                            U21(mark(X1), X2) -> mark(U21(X1, X2)),
                          U21(ok(X1), ok(X2)) -> ok(U21(X1, X2)),
                            U32(mark(X1), X2) -> mark(U32(X1, X2)),
                          U32(ok(X1), ok(X2)) -> ok(U32(X1, X2)),
                        U31(mark(X1), X2, X3) -> mark(U31(X1, X2, X3)),
                  U31(ok(X1), ok(X2), ok(X3)) -> ok(U31(X1, X2, X3)),
                                 U33(mark(X)) -> mark(U33(X)),
                                   U33(ok(X)) -> ok(U33(X)),
                            U41(mark(X1), X2) -> mark(U41(X1, X2)),
                          U41(ok(X1), ok(X2)) -> ok(U41(X1, X2)),
                                   s(mark(X)) -> mark(s(X)),
                                     s(ok(X)) -> ok(s(X)),
                           plus(X1, mark(X2)) -> mark(plus(X1, X2)),
                           plus(mark(X1), X2) -> mark(plus(X1, X2)),
                         plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)),
                        U51(mark(X1), X2, X3) -> mark(U51(X1, X2, X3)),
                  U51(ok(X1), ok(X2), ok(X3)) -> ok(U51(X1, X2, X3)),
                                 U61(mark(X)) -> mark(U61(X)),
                                   U61(ok(X)) -> ok(U61(X)),
                              x(X1, mark(X2)) -> mark(x(X1, X2)),
                              x(mark(X1), X2) -> mark(x(X1, X2)),
                            x(ok(X1), ok(X2)) -> ok(x(X1, X2)),
                        U71(mark(X1), X2, X3) -> mark(U71(X1, X2, X3)),
                  U71(ok(X1), ok(X2), ok(X3)) -> ok(U71(X1, X2, X3)),
                            and(mark(X1), X2) -> mark(and(X1, X2)),
                          and(ok(X1), ok(X2)) -> ok(and(X1, X2)),
                             isNatKind(ok(X)) -> ok(isNatKind(X)),
                          proper(U12(X1, X2)) -> U12(proper(X1), proper(X2)),
                             proper(isNat(X)) -> isNat(proper(X)),
                      proper(U11(X1, X2, X3)) -> U11(proper(X1), proper(X2), proper(X3)),
                                 proper(tt()) -> ok(tt()),
                               proper(U13(X)) -> U13(proper(X)),
                               proper(U22(X)) -> U22(proper(X)),
                          proper(U21(X1, X2)) -> U21(proper(X1), proper(X2)),
                          proper(U32(X1, X2)) -> U32(proper(X1), proper(X2)),
                      proper(U31(X1, X2, X3)) -> U31(proper(X1), proper(X2), proper(X3)),
                               proper(U33(X)) -> U33(proper(X)),
                          proper(U41(X1, X2)) -> U41(proper(X1), proper(X2)),
                                 proper(s(X)) -> s(proper(X)),
                         proper(plus(X1, X2)) -> plus(proper(X1), proper(X2)),
                      proper(U51(X1, X2, X3)) -> U51(proper(X1), proper(X2), proper(X3)),
                                  proper(0()) -> ok(0()),
                               proper(U61(X)) -> U61(proper(X)),
                            proper(x(X1, X2)) -> x(proper(X1), proper(X2)),
                      proper(U71(X1, X2, X3)) -> U71(proper(X1), proper(X2), proper(X3)),
                          proper(and(X1, X2)) -> and(proper(X1), proper(X2)),
                         proper(isNatKind(X)) -> isNatKind(proper(X)),
                                 top(mark(X)) -> top(proper(X)),
                                   top(ok(X)) -> top(active(X))}
             SPSC:
              Simple Projection:
               pi(plus#) = 1
              Strict:
               {}
              Qed
    SCC:
     Strict:
      {s#(mark(X)) -> s#(X),
         s#(ok(X)) -> s#(X)}
     Weak:
     {              U12(mark(X1), X2) -> mark(U12(X1, X2)),
                  U12(ok(X1), ok(X2)) -> ok(U12(X1, X2)),
                         isNat(ok(X)) -> ok(isNat(X)),
                  active(U12(X1, X2)) -> U12(active(X1), X2),
                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(X1, X2, X3)) -> U11(active(X1), X2, X3),
            active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                       active(U13(X)) -> U13(active(X)),
                    active(U13(tt())) -> mark(tt()),
                       active(U22(X)) -> U22(active(X)),
                    active(U22(tt())) -> mark(tt()),
                  active(U21(X1, X2)) -> U21(active(X1), X2),
                active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                  active(U32(X1, X2)) -> U32(active(X1), X2),
                active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
              active(U31(X1, X2, X3)) -> U31(active(X1), X2, X3),
            active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                       active(U33(X)) -> U33(active(X)),
                    active(U33(tt())) -> mark(tt()),
                  active(U41(X1, X2)) -> U41(active(X1), X2),
                 active(U41(tt(), N)) -> mark(N),
                         active(s(X)) -> s(active(X)),
                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(plus(X1, X2)) -> plus(X1, active(X2)),
                 active(plus(X1, X2)) -> plus(active(X1), X2),
              active(U51(X1, X2, X3)) -> U51(active(X1), X2, X3),
              active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                       active(U61(X)) -> U61(active(X)),
                    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(x(X1, X2)) -> x(X1, active(X2)),
                    active(x(X1, X2)) -> x(active(X1), X2),
              active(U71(X1, X2, X3)) -> U71(active(X1), X2, X3),
              active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                  active(and(X1, X2)) -> and(active(X1), X2),
                 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(mark(X1), X2, X3) -> mark(U11(X1, X2, X3)),
          U11(ok(X1), ok(X2), ok(X3)) -> ok(U11(X1, X2, X3)),
                         U13(mark(X)) -> mark(U13(X)),
                           U13(ok(X)) -> ok(U13(X)),
                         U22(mark(X)) -> mark(U22(X)),
                           U22(ok(X)) -> ok(U22(X)),
                    U21(mark(X1), X2) -> mark(U21(X1, X2)),
                  U21(ok(X1), ok(X2)) -> ok(U21(X1, X2)),
                    U32(mark(X1), X2) -> mark(U32(X1, X2)),
                  U32(ok(X1), ok(X2)) -> ok(U32(X1, X2)),
                U31(mark(X1), X2, X3) -> mark(U31(X1, X2, X3)),
          U31(ok(X1), ok(X2), ok(X3)) -> ok(U31(X1, X2, X3)),
                         U33(mark(X)) -> mark(U33(X)),
                           U33(ok(X)) -> ok(U33(X)),
                    U41(mark(X1), X2) -> mark(U41(X1, X2)),
                  U41(ok(X1), ok(X2)) -> ok(U41(X1, X2)),
                           s(mark(X)) -> mark(s(X)),
                             s(ok(X)) -> ok(s(X)),
                   plus(X1, mark(X2)) -> mark(plus(X1, X2)),
                   plus(mark(X1), X2) -> mark(plus(X1, X2)),
                 plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)),
                U51(mark(X1), X2, X3) -> mark(U51(X1, X2, X3)),
          U51(ok(X1), ok(X2), ok(X3)) -> ok(U51(X1, X2, X3)),
                         U61(mark(X)) -> mark(U61(X)),
                           U61(ok(X)) -> ok(U61(X)),
                      x(X1, mark(X2)) -> mark(x(X1, X2)),
                      x(mark(X1), X2) -> mark(x(X1, X2)),
                    x(ok(X1), ok(X2)) -> ok(x(X1, X2)),
                U71(mark(X1), X2, X3) -> mark(U71(X1, X2, X3)),
          U71(ok(X1), ok(X2), ok(X3)) -> ok(U71(X1, X2, X3)),
                    and(mark(X1), X2) -> mark(and(X1, X2)),
                  and(ok(X1), ok(X2)) -> ok(and(X1, X2)),
                     isNatKind(ok(X)) -> ok(isNatKind(X)),
                  proper(U12(X1, X2)) -> U12(proper(X1), proper(X2)),
                     proper(isNat(X)) -> isNat(proper(X)),
              proper(U11(X1, X2, X3)) -> U11(proper(X1), proper(X2), proper(X3)),
                         proper(tt()) -> ok(tt()),
                       proper(U13(X)) -> U13(proper(X)),
                       proper(U22(X)) -> U22(proper(X)),
                  proper(U21(X1, X2)) -> U21(proper(X1), proper(X2)),
                  proper(U32(X1, X2)) -> U32(proper(X1), proper(X2)),
              proper(U31(X1, X2, X3)) -> U31(proper(X1), proper(X2), proper(X3)),
                       proper(U33(X)) -> U33(proper(X)),
                  proper(U41(X1, X2)) -> U41(proper(X1), proper(X2)),
                         proper(s(X)) -> s(proper(X)),
                 proper(plus(X1, X2)) -> plus(proper(X1), proper(X2)),
              proper(U51(X1, X2, X3)) -> U51(proper(X1), proper(X2), proper(X3)),
                          proper(0()) -> ok(0()),
                       proper(U61(X)) -> U61(proper(X)),
                    proper(x(X1, X2)) -> x(proper(X1), proper(X2)),
              proper(U71(X1, X2, X3)) -> U71(proper(X1), proper(X2), proper(X3)),
                  proper(and(X1, X2)) -> and(proper(X1), proper(X2)),
                 proper(isNatKind(X)) -> isNatKind(proper(X)),
                         top(mark(X)) -> top(proper(X)),
                           top(ok(X)) -> top(active(X))}
     SPSC:
      Simple Projection:
       pi(s#) = 0
      Strict:
       {s#(ok(X)) -> s#(X)}
      EDG:
       {(s#(ok(X)) -> s#(X), s#(ok(X)) -> s#(X))}
       SCCS:
        Scc:
         {s#(ok(X)) -> s#(X)}
        SCC:
         Strict:
          {s#(ok(X)) -> s#(X)}
         Weak:
         {              U12(mark(X1), X2) -> mark(U12(X1, X2)),
                      U12(ok(X1), ok(X2)) -> ok(U12(X1, X2)),
                             isNat(ok(X)) -> ok(isNat(X)),
                      active(U12(X1, X2)) -> U12(active(X1), X2),
                    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(X1, X2, X3)) -> U11(active(X1), X2, X3),
                active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                           active(U13(X)) -> U13(active(X)),
                        active(U13(tt())) -> mark(tt()),
                           active(U22(X)) -> U22(active(X)),
                        active(U22(tt())) -> mark(tt()),
                      active(U21(X1, X2)) -> U21(active(X1), X2),
                    active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                      active(U32(X1, X2)) -> U32(active(X1), X2),
                    active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
                  active(U31(X1, X2, X3)) -> U31(active(X1), X2, X3),
                active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                           active(U33(X)) -> U33(active(X)),
                        active(U33(tt())) -> mark(tt()),
                      active(U41(X1, X2)) -> U41(active(X1), X2),
                     active(U41(tt(), N)) -> mark(N),
                             active(s(X)) -> s(active(X)),
                    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(plus(X1, X2)) -> plus(X1, active(X2)),
                     active(plus(X1, X2)) -> plus(active(X1), X2),
                  active(U51(X1, X2, X3)) -> U51(active(X1), X2, X3),
                  active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                           active(U61(X)) -> U61(active(X)),
                        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(x(X1, X2)) -> x(X1, active(X2)),
                        active(x(X1, X2)) -> x(active(X1), X2),
                  active(U71(X1, X2, X3)) -> U71(active(X1), X2, X3),
                  active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                      active(and(X1, X2)) -> and(active(X1), X2),
                     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(mark(X1), X2, X3) -> mark(U11(X1, X2, X3)),
              U11(ok(X1), ok(X2), ok(X3)) -> ok(U11(X1, X2, X3)),
                             U13(mark(X)) -> mark(U13(X)),
                               U13(ok(X)) -> ok(U13(X)),
                             U22(mark(X)) -> mark(U22(X)),
                               U22(ok(X)) -> ok(U22(X)),
                        U21(mark(X1), X2) -> mark(U21(X1, X2)),
                      U21(ok(X1), ok(X2)) -> ok(U21(X1, X2)),
                        U32(mark(X1), X2) -> mark(U32(X1, X2)),
                      U32(ok(X1), ok(X2)) -> ok(U32(X1, X2)),
                    U31(mark(X1), X2, X3) -> mark(U31(X1, X2, X3)),
              U31(ok(X1), ok(X2), ok(X3)) -> ok(U31(X1, X2, X3)),
                             U33(mark(X)) -> mark(U33(X)),
                               U33(ok(X)) -> ok(U33(X)),
                        U41(mark(X1), X2) -> mark(U41(X1, X2)),
                      U41(ok(X1), ok(X2)) -> ok(U41(X1, X2)),
                               s(mark(X)) -> mark(s(X)),
                                 s(ok(X)) -> ok(s(X)),
                       plus(X1, mark(X2)) -> mark(plus(X1, X2)),
                       plus(mark(X1), X2) -> mark(plus(X1, X2)),
                     plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)),
                    U51(mark(X1), X2, X3) -> mark(U51(X1, X2, X3)),
              U51(ok(X1), ok(X2), ok(X3)) -> ok(U51(X1, X2, X3)),
                             U61(mark(X)) -> mark(U61(X)),
                               U61(ok(X)) -> ok(U61(X)),
                          x(X1, mark(X2)) -> mark(x(X1, X2)),
                          x(mark(X1), X2) -> mark(x(X1, X2)),
                        x(ok(X1), ok(X2)) -> ok(x(X1, X2)),
                    U71(mark(X1), X2, X3) -> mark(U71(X1, X2, X3)),
              U71(ok(X1), ok(X2), ok(X3)) -> ok(U71(X1, X2, X3)),
                        and(mark(X1), X2) -> mark(and(X1, X2)),
                      and(ok(X1), ok(X2)) -> ok(and(X1, X2)),
                         isNatKind(ok(X)) -> ok(isNatKind(X)),
                      proper(U12(X1, X2)) -> U12(proper(X1), proper(X2)),
                         proper(isNat(X)) -> isNat(proper(X)),
                  proper(U11(X1, X2, X3)) -> U11(proper(X1), proper(X2), proper(X3)),
                             proper(tt()) -> ok(tt()),
                           proper(U13(X)) -> U13(proper(X)),
                           proper(U22(X)) -> U22(proper(X)),
                      proper(U21(X1, X2)) -> U21(proper(X1), proper(X2)),
                      proper(U32(X1, X2)) -> U32(proper(X1), proper(X2)),
                  proper(U31(X1, X2, X3)) -> U31(proper(X1), proper(X2), proper(X3)),
                           proper(U33(X)) -> U33(proper(X)),
                      proper(U41(X1, X2)) -> U41(proper(X1), proper(X2)),
                             proper(s(X)) -> s(proper(X)),
                     proper(plus(X1, X2)) -> plus(proper(X1), proper(X2)),
                  proper(U51(X1, X2, X3)) -> U51(proper(X1), proper(X2), proper(X3)),
                              proper(0()) -> ok(0()),
                           proper(U61(X)) -> U61(proper(X)),
                        proper(x(X1, X2)) -> x(proper(X1), proper(X2)),
                  proper(U71(X1, X2, X3)) -> U71(proper(X1), proper(X2), proper(X3)),
                      proper(and(X1, X2)) -> and(proper(X1), proper(X2)),
                     proper(isNatKind(X)) -> isNatKind(proper(X)),
                             top(mark(X)) -> top(proper(X)),
                               top(ok(X)) -> top(active(X))}
         SPSC:
          Simple Projection:
           pi(s#) = 0
          Strict:
           {}
          Qed
    SCC:
     Strict:
      {  U41#(mark(X1), X2) -> U41#(X1, X2),
       U41#(ok(X1), ok(X2)) -> U41#(X1, X2)}
     Weak:
     {              U12(mark(X1), X2) -> mark(U12(X1, X2)),
                  U12(ok(X1), ok(X2)) -> ok(U12(X1, X2)),
                         isNat(ok(X)) -> ok(isNat(X)),
                  active(U12(X1, X2)) -> U12(active(X1), X2),
                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(X1, X2, X3)) -> U11(active(X1), X2, X3),
            active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                       active(U13(X)) -> U13(active(X)),
                    active(U13(tt())) -> mark(tt()),
                       active(U22(X)) -> U22(active(X)),
                    active(U22(tt())) -> mark(tt()),
                  active(U21(X1, X2)) -> U21(active(X1), X2),
                active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                  active(U32(X1, X2)) -> U32(active(X1), X2),
                active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
              active(U31(X1, X2, X3)) -> U31(active(X1), X2, X3),
            active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                       active(U33(X)) -> U33(active(X)),
                    active(U33(tt())) -> mark(tt()),
                  active(U41(X1, X2)) -> U41(active(X1), X2),
                 active(U41(tt(), N)) -> mark(N),
                         active(s(X)) -> s(active(X)),
                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(plus(X1, X2)) -> plus(X1, active(X2)),
                 active(plus(X1, X2)) -> plus(active(X1), X2),
              active(U51(X1, X2, X3)) -> U51(active(X1), X2, X3),
              active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                       active(U61(X)) -> U61(active(X)),
                    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(x(X1, X2)) -> x(X1, active(X2)),
                    active(x(X1, X2)) -> x(active(X1), X2),
              active(U71(X1, X2, X3)) -> U71(active(X1), X2, X3),
              active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                  active(and(X1, X2)) -> and(active(X1), X2),
                 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(mark(X1), X2, X3) -> mark(U11(X1, X2, X3)),
          U11(ok(X1), ok(X2), ok(X3)) -> ok(U11(X1, X2, X3)),
                         U13(mark(X)) -> mark(U13(X)),
                           U13(ok(X)) -> ok(U13(X)),
                         U22(mark(X)) -> mark(U22(X)),
                           U22(ok(X)) -> ok(U22(X)),
                    U21(mark(X1), X2) -> mark(U21(X1, X2)),
                  U21(ok(X1), ok(X2)) -> ok(U21(X1, X2)),
                    U32(mark(X1), X2) -> mark(U32(X1, X2)),
                  U32(ok(X1), ok(X2)) -> ok(U32(X1, X2)),
                U31(mark(X1), X2, X3) -> mark(U31(X1, X2, X3)),
          U31(ok(X1), ok(X2), ok(X3)) -> ok(U31(X1, X2, X3)),
                         U33(mark(X)) -> mark(U33(X)),
                           U33(ok(X)) -> ok(U33(X)),
                    U41(mark(X1), X2) -> mark(U41(X1, X2)),
                  U41(ok(X1), ok(X2)) -> ok(U41(X1, X2)),
                           s(mark(X)) -> mark(s(X)),
                             s(ok(X)) -> ok(s(X)),
                   plus(X1, mark(X2)) -> mark(plus(X1, X2)),
                   plus(mark(X1), X2) -> mark(plus(X1, X2)),
                 plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)),
                U51(mark(X1), X2, X3) -> mark(U51(X1, X2, X3)),
          U51(ok(X1), ok(X2), ok(X3)) -> ok(U51(X1, X2, X3)),
                         U61(mark(X)) -> mark(U61(X)),
                           U61(ok(X)) -> ok(U61(X)),
                      x(X1, mark(X2)) -> mark(x(X1, X2)),
                      x(mark(X1), X2) -> mark(x(X1, X2)),
                    x(ok(X1), ok(X2)) -> ok(x(X1, X2)),
                U71(mark(X1), X2, X3) -> mark(U71(X1, X2, X3)),
          U71(ok(X1), ok(X2), ok(X3)) -> ok(U71(X1, X2, X3)),
                    and(mark(X1), X2) -> mark(and(X1, X2)),
                  and(ok(X1), ok(X2)) -> ok(and(X1, X2)),
                     isNatKind(ok(X)) -> ok(isNatKind(X)),
                  proper(U12(X1, X2)) -> U12(proper(X1), proper(X2)),
                     proper(isNat(X)) -> isNat(proper(X)),
              proper(U11(X1, X2, X3)) -> U11(proper(X1), proper(X2), proper(X3)),
                         proper(tt()) -> ok(tt()),
                       proper(U13(X)) -> U13(proper(X)),
                       proper(U22(X)) -> U22(proper(X)),
                  proper(U21(X1, X2)) -> U21(proper(X1), proper(X2)),
                  proper(U32(X1, X2)) -> U32(proper(X1), proper(X2)),
              proper(U31(X1, X2, X3)) -> U31(proper(X1), proper(X2), proper(X3)),
                       proper(U33(X)) -> U33(proper(X)),
                  proper(U41(X1, X2)) -> U41(proper(X1), proper(X2)),
                         proper(s(X)) -> s(proper(X)),
                 proper(plus(X1, X2)) -> plus(proper(X1), proper(X2)),
              proper(U51(X1, X2, X3)) -> U51(proper(X1), proper(X2), proper(X3)),
                          proper(0()) -> ok(0()),
                       proper(U61(X)) -> U61(proper(X)),
                    proper(x(X1, X2)) -> x(proper(X1), proper(X2)),
              proper(U71(X1, X2, X3)) -> U71(proper(X1), proper(X2), proper(X3)),
                  proper(and(X1, X2)) -> and(proper(X1), proper(X2)),
                 proper(isNatKind(X)) -> isNatKind(proper(X)),
                         top(mark(X)) -> top(proper(X)),
                           top(ok(X)) -> top(active(X))}
     SPSC:
      Simple Projection:
       pi(U41#) = 0
      Strict:
       {U41#(mark(X1), X2) -> U41#(X1, X2)}
      EDG:
       {(U41#(mark(X1), X2) -> U41#(X1, X2), U41#(mark(X1), X2) -> U41#(X1, X2))}
       SCCS:
        Scc:
         {U41#(mark(X1), X2) -> U41#(X1, X2)}
        SCC:
         Strict:
          {U41#(mark(X1), X2) -> U41#(X1, X2)}
         Weak:
         {              U12(mark(X1), X2) -> mark(U12(X1, X2)),
                      U12(ok(X1), ok(X2)) -> ok(U12(X1, X2)),
                             isNat(ok(X)) -> ok(isNat(X)),
                      active(U12(X1, X2)) -> U12(active(X1), X2),
                    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(X1, X2, X3)) -> U11(active(X1), X2, X3),
                active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                           active(U13(X)) -> U13(active(X)),
                        active(U13(tt())) -> mark(tt()),
                           active(U22(X)) -> U22(active(X)),
                        active(U22(tt())) -> mark(tt()),
                      active(U21(X1, X2)) -> U21(active(X1), X2),
                    active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                      active(U32(X1, X2)) -> U32(active(X1), X2),
                    active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
                  active(U31(X1, X2, X3)) -> U31(active(X1), X2, X3),
                active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                           active(U33(X)) -> U33(active(X)),
                        active(U33(tt())) -> mark(tt()),
                      active(U41(X1, X2)) -> U41(active(X1), X2),
                     active(U41(tt(), N)) -> mark(N),
                             active(s(X)) -> s(active(X)),
                    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(plus(X1, X2)) -> plus(X1, active(X2)),
                     active(plus(X1, X2)) -> plus(active(X1), X2),
                  active(U51(X1, X2, X3)) -> U51(active(X1), X2, X3),
                  active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                           active(U61(X)) -> U61(active(X)),
                        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(x(X1, X2)) -> x(X1, active(X2)),
                        active(x(X1, X2)) -> x(active(X1), X2),
                  active(U71(X1, X2, X3)) -> U71(active(X1), X2, X3),
                  active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                      active(and(X1, X2)) -> and(active(X1), X2),
                     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(mark(X1), X2, X3) -> mark(U11(X1, X2, X3)),
              U11(ok(X1), ok(X2), ok(X3)) -> ok(U11(X1, X2, X3)),
                             U13(mark(X)) -> mark(U13(X)),
                               U13(ok(X)) -> ok(U13(X)),
                             U22(mark(X)) -> mark(U22(X)),
                               U22(ok(X)) -> ok(U22(X)),
                        U21(mark(X1), X2) -> mark(U21(X1, X2)),
                      U21(ok(X1), ok(X2)) -> ok(U21(X1, X2)),
                        U32(mark(X1), X2) -> mark(U32(X1, X2)),
                      U32(ok(X1), ok(X2)) -> ok(U32(X1, X2)),
                    U31(mark(X1), X2, X3) -> mark(U31(X1, X2, X3)),
              U31(ok(X1), ok(X2), ok(X3)) -> ok(U31(X1, X2, X3)),
                             U33(mark(X)) -> mark(U33(X)),
                               U33(ok(X)) -> ok(U33(X)),
                        U41(mark(X1), X2) -> mark(U41(X1, X2)),
                      U41(ok(X1), ok(X2)) -> ok(U41(X1, X2)),
                               s(mark(X)) -> mark(s(X)),
                                 s(ok(X)) -> ok(s(X)),
                       plus(X1, mark(X2)) -> mark(plus(X1, X2)),
                       plus(mark(X1), X2) -> mark(plus(X1, X2)),
                     plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)),
                    U51(mark(X1), X2, X3) -> mark(U51(X1, X2, X3)),
              U51(ok(X1), ok(X2), ok(X3)) -> ok(U51(X1, X2, X3)),
                             U61(mark(X)) -> mark(U61(X)),
                               U61(ok(X)) -> ok(U61(X)),
                          x(X1, mark(X2)) -> mark(x(X1, X2)),
                          x(mark(X1), X2) -> mark(x(X1, X2)),
                        x(ok(X1), ok(X2)) -> ok(x(X1, X2)),
                    U71(mark(X1), X2, X3) -> mark(U71(X1, X2, X3)),
              U71(ok(X1), ok(X2), ok(X3)) -> ok(U71(X1, X2, X3)),
                        and(mark(X1), X2) -> mark(and(X1, X2)),
                      and(ok(X1), ok(X2)) -> ok(and(X1, X2)),
                         isNatKind(ok(X)) -> ok(isNatKind(X)),
                      proper(U12(X1, X2)) -> U12(proper(X1), proper(X2)),
                         proper(isNat(X)) -> isNat(proper(X)),
                  proper(U11(X1, X2, X3)) -> U11(proper(X1), proper(X2), proper(X3)),
                             proper(tt()) -> ok(tt()),
                           proper(U13(X)) -> U13(proper(X)),
                           proper(U22(X)) -> U22(proper(X)),
                      proper(U21(X1, X2)) -> U21(proper(X1), proper(X2)),
                      proper(U32(X1, X2)) -> U32(proper(X1), proper(X2)),
                  proper(U31(X1, X2, X3)) -> U31(proper(X1), proper(X2), proper(X3)),
                           proper(U33(X)) -> U33(proper(X)),
                      proper(U41(X1, X2)) -> U41(proper(X1), proper(X2)),
                             proper(s(X)) -> s(proper(X)),
                     proper(plus(X1, X2)) -> plus(proper(X1), proper(X2)),
                  proper(U51(X1, X2, X3)) -> U51(proper(X1), proper(X2), proper(X3)),
                              proper(0()) -> ok(0()),
                           proper(U61(X)) -> U61(proper(X)),
                        proper(x(X1, X2)) -> x(proper(X1), proper(X2)),
                  proper(U71(X1, X2, X3)) -> U71(proper(X1), proper(X2), proper(X3)),
                      proper(and(X1, X2)) -> and(proper(X1), proper(X2)),
                     proper(isNatKind(X)) -> isNatKind(proper(X)),
                             top(mark(X)) -> top(proper(X)),
                               top(ok(X)) -> top(active(X))}
         SPSC:
          Simple Projection:
           pi(U41#) = 0
          Strict:
           {}
          Qed
    SCC:
     Strict:
      {U33#(mark(X)) -> U33#(X),
         U33#(ok(X)) -> U33#(X)}
     Weak:
     {              U12(mark(X1), X2) -> mark(U12(X1, X2)),
                  U12(ok(X1), ok(X2)) -> ok(U12(X1, X2)),
                         isNat(ok(X)) -> ok(isNat(X)),
                  active(U12(X1, X2)) -> U12(active(X1), X2),
                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(X1, X2, X3)) -> U11(active(X1), X2, X3),
            active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                       active(U13(X)) -> U13(active(X)),
                    active(U13(tt())) -> mark(tt()),
                       active(U22(X)) -> U22(active(X)),
                    active(U22(tt())) -> mark(tt()),
                  active(U21(X1, X2)) -> U21(active(X1), X2),
                active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                  active(U32(X1, X2)) -> U32(active(X1), X2),
                active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
              active(U31(X1, X2, X3)) -> U31(active(X1), X2, X3),
            active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                       active(U33(X)) -> U33(active(X)),
                    active(U33(tt())) -> mark(tt()),
                  active(U41(X1, X2)) -> U41(active(X1), X2),
                 active(U41(tt(), N)) -> mark(N),
                         active(s(X)) -> s(active(X)),
                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(plus(X1, X2)) -> plus(X1, active(X2)),
                 active(plus(X1, X2)) -> plus(active(X1), X2),
              active(U51(X1, X2, X3)) -> U51(active(X1), X2, X3),
              active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                       active(U61(X)) -> U61(active(X)),
                    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(x(X1, X2)) -> x(X1, active(X2)),
                    active(x(X1, X2)) -> x(active(X1), X2),
              active(U71(X1, X2, X3)) -> U71(active(X1), X2, X3),
              active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                  active(and(X1, X2)) -> and(active(X1), X2),
                 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(mark(X1), X2, X3) -> mark(U11(X1, X2, X3)),
          U11(ok(X1), ok(X2), ok(X3)) -> ok(U11(X1, X2, X3)),
                         U13(mark(X)) -> mark(U13(X)),
                           U13(ok(X)) -> ok(U13(X)),
                         U22(mark(X)) -> mark(U22(X)),
                           U22(ok(X)) -> ok(U22(X)),
                    U21(mark(X1), X2) -> mark(U21(X1, X2)),
                  U21(ok(X1), ok(X2)) -> ok(U21(X1, X2)),
                    U32(mark(X1), X2) -> mark(U32(X1, X2)),
                  U32(ok(X1), ok(X2)) -> ok(U32(X1, X2)),
                U31(mark(X1), X2, X3) -> mark(U31(X1, X2, X3)),
          U31(ok(X1), ok(X2), ok(X3)) -> ok(U31(X1, X2, X3)),
                         U33(mark(X)) -> mark(U33(X)),
                           U33(ok(X)) -> ok(U33(X)),
                    U41(mark(X1), X2) -> mark(U41(X1, X2)),
                  U41(ok(X1), ok(X2)) -> ok(U41(X1, X2)),
                           s(mark(X)) -> mark(s(X)),
                             s(ok(X)) -> ok(s(X)),
                   plus(X1, mark(X2)) -> mark(plus(X1, X2)),
                   plus(mark(X1), X2) -> mark(plus(X1, X2)),
                 plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)),
                U51(mark(X1), X2, X3) -> mark(U51(X1, X2, X3)),
          U51(ok(X1), ok(X2), ok(X3)) -> ok(U51(X1, X2, X3)),
                         U61(mark(X)) -> mark(U61(X)),
                           U61(ok(X)) -> ok(U61(X)),
                      x(X1, mark(X2)) -> mark(x(X1, X2)),
                      x(mark(X1), X2) -> mark(x(X1, X2)),
                    x(ok(X1), ok(X2)) -> ok(x(X1, X2)),
                U71(mark(X1), X2, X3) -> mark(U71(X1, X2, X3)),
          U71(ok(X1), ok(X2), ok(X3)) -> ok(U71(X1, X2, X3)),
                    and(mark(X1), X2) -> mark(and(X1, X2)),
                  and(ok(X1), ok(X2)) -> ok(and(X1, X2)),
                     isNatKind(ok(X)) -> ok(isNatKind(X)),
                  proper(U12(X1, X2)) -> U12(proper(X1), proper(X2)),
                     proper(isNat(X)) -> isNat(proper(X)),
              proper(U11(X1, X2, X3)) -> U11(proper(X1), proper(X2), proper(X3)),
                         proper(tt()) -> ok(tt()),
                       proper(U13(X)) -> U13(proper(X)),
                       proper(U22(X)) -> U22(proper(X)),
                  proper(U21(X1, X2)) -> U21(proper(X1), proper(X2)),
                  proper(U32(X1, X2)) -> U32(proper(X1), proper(X2)),
              proper(U31(X1, X2, X3)) -> U31(proper(X1), proper(X2), proper(X3)),
                       proper(U33(X)) -> U33(proper(X)),
                  proper(U41(X1, X2)) -> U41(proper(X1), proper(X2)),
                         proper(s(X)) -> s(proper(X)),
                 proper(plus(X1, X2)) -> plus(proper(X1), proper(X2)),
              proper(U51(X1, X2, X3)) -> U51(proper(X1), proper(X2), proper(X3)),
                          proper(0()) -> ok(0()),
                       proper(U61(X)) -> U61(proper(X)),
                    proper(x(X1, X2)) -> x(proper(X1), proper(X2)),
              proper(U71(X1, X2, X3)) -> U71(proper(X1), proper(X2), proper(X3)),
                  proper(and(X1, X2)) -> and(proper(X1), proper(X2)),
                 proper(isNatKind(X)) -> isNatKind(proper(X)),
                         top(mark(X)) -> top(proper(X)),
                           top(ok(X)) -> top(active(X))}
     SPSC:
      Simple Projection:
       pi(U33#) = 0
      Strict:
       {U33#(ok(X)) -> U33#(X)}
      EDG:
       {(U33#(ok(X)) -> U33#(X), U33#(ok(X)) -> U33#(X))}
       SCCS:
        Scc:
         {U33#(ok(X)) -> U33#(X)}
        SCC:
         Strict:
          {U33#(ok(X)) -> U33#(X)}
         Weak:
         {              U12(mark(X1), X2) -> mark(U12(X1, X2)),
                      U12(ok(X1), ok(X2)) -> ok(U12(X1, X2)),
                             isNat(ok(X)) -> ok(isNat(X)),
                      active(U12(X1, X2)) -> U12(active(X1), X2),
                    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(X1, X2, X3)) -> U11(active(X1), X2, X3),
                active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                           active(U13(X)) -> U13(active(X)),
                        active(U13(tt())) -> mark(tt()),
                           active(U22(X)) -> U22(active(X)),
                        active(U22(tt())) -> mark(tt()),
                      active(U21(X1, X2)) -> U21(active(X1), X2),
                    active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                      active(U32(X1, X2)) -> U32(active(X1), X2),
                    active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
                  active(U31(X1, X2, X3)) -> U31(active(X1), X2, X3),
                active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                           active(U33(X)) -> U33(active(X)),
                        active(U33(tt())) -> mark(tt()),
                      active(U41(X1, X2)) -> U41(active(X1), X2),
                     active(U41(tt(), N)) -> mark(N),
                             active(s(X)) -> s(active(X)),
                    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(plus(X1, X2)) -> plus(X1, active(X2)),
                     active(plus(X1, X2)) -> plus(active(X1), X2),
                  active(U51(X1, X2, X3)) -> U51(active(X1), X2, X3),
                  active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                           active(U61(X)) -> U61(active(X)),
                        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(x(X1, X2)) -> x(X1, active(X2)),
                        active(x(X1, X2)) -> x(active(X1), X2),
                  active(U71(X1, X2, X3)) -> U71(active(X1), X2, X3),
                  active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                      active(and(X1, X2)) -> and(active(X1), X2),
                     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(mark(X1), X2, X3) -> mark(U11(X1, X2, X3)),
              U11(ok(X1), ok(X2), ok(X3)) -> ok(U11(X1, X2, X3)),
                             U13(mark(X)) -> mark(U13(X)),
                               U13(ok(X)) -> ok(U13(X)),
                             U22(mark(X)) -> mark(U22(X)),
                               U22(ok(X)) -> ok(U22(X)),
                        U21(mark(X1), X2) -> mark(U21(X1, X2)),
                      U21(ok(X1), ok(X2)) -> ok(U21(X1, X2)),
                        U32(mark(X1), X2) -> mark(U32(X1, X2)),
                      U32(ok(X1), ok(X2)) -> ok(U32(X1, X2)),
                    U31(mark(X1), X2, X3) -> mark(U31(X1, X2, X3)),
              U31(ok(X1), ok(X2), ok(X3)) -> ok(U31(X1, X2, X3)),
                             U33(mark(X)) -> mark(U33(X)),
                               U33(ok(X)) -> ok(U33(X)),
                        U41(mark(X1), X2) -> mark(U41(X1, X2)),
                      U41(ok(X1), ok(X2)) -> ok(U41(X1, X2)),
                               s(mark(X)) -> mark(s(X)),
                                 s(ok(X)) -> ok(s(X)),
                       plus(X1, mark(X2)) -> mark(plus(X1, X2)),
                       plus(mark(X1), X2) -> mark(plus(X1, X2)),
                     plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)),
                    U51(mark(X1), X2, X3) -> mark(U51(X1, X2, X3)),
              U51(ok(X1), ok(X2), ok(X3)) -> ok(U51(X1, X2, X3)),
                             U61(mark(X)) -> mark(U61(X)),
                               U61(ok(X)) -> ok(U61(X)),
                          x(X1, mark(X2)) -> mark(x(X1, X2)),
                          x(mark(X1), X2) -> mark(x(X1, X2)),
                        x(ok(X1), ok(X2)) -> ok(x(X1, X2)),
                    U71(mark(X1), X2, X3) -> mark(U71(X1, X2, X3)),
              U71(ok(X1), ok(X2), ok(X3)) -> ok(U71(X1, X2, X3)),
                        and(mark(X1), X2) -> mark(and(X1, X2)),
                      and(ok(X1), ok(X2)) -> ok(and(X1, X2)),
                         isNatKind(ok(X)) -> ok(isNatKind(X)),
                      proper(U12(X1, X2)) -> U12(proper(X1), proper(X2)),
                         proper(isNat(X)) -> isNat(proper(X)),
                  proper(U11(X1, X2, X3)) -> U11(proper(X1), proper(X2), proper(X3)),
                             proper(tt()) -> ok(tt()),
                           proper(U13(X)) -> U13(proper(X)),
                           proper(U22(X)) -> U22(proper(X)),
                      proper(U21(X1, X2)) -> U21(proper(X1), proper(X2)),
                      proper(U32(X1, X2)) -> U32(proper(X1), proper(X2)),
                  proper(U31(X1, X2, X3)) -> U31(proper(X1), proper(X2), proper(X3)),
                           proper(U33(X)) -> U33(proper(X)),
                      proper(U41(X1, X2)) -> U41(proper(X1), proper(X2)),
                             proper(s(X)) -> s(proper(X)),
                     proper(plus(X1, X2)) -> plus(proper(X1), proper(X2)),
                  proper(U51(X1, X2, X3)) -> U51(proper(X1), proper(X2), proper(X3)),
                              proper(0()) -> ok(0()),
                           proper(U61(X)) -> U61(proper(X)),
                        proper(x(X1, X2)) -> x(proper(X1), proper(X2)),
                  proper(U71(X1, X2, X3)) -> U71(proper(X1), proper(X2), proper(X3)),
                      proper(and(X1, X2)) -> and(proper(X1), proper(X2)),
                     proper(isNatKind(X)) -> isNatKind(proper(X)),
                             top(mark(X)) -> top(proper(X)),
                               top(ok(X)) -> top(active(X))}
         SPSC:
          Simple Projection:
           pi(U33#) = 0
          Strict:
           {}
          Qed
    SCC:
     Strict:
      {      U31#(mark(X1), X2, X3) -> U31#(X1, X2, X3),
       U31#(ok(X1), ok(X2), ok(X3)) -> U31#(X1, X2, X3)}
     Weak:
     {              U12(mark(X1), X2) -> mark(U12(X1, X2)),
                  U12(ok(X1), ok(X2)) -> ok(U12(X1, X2)),
                         isNat(ok(X)) -> ok(isNat(X)),
                  active(U12(X1, X2)) -> U12(active(X1), X2),
                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(X1, X2, X3)) -> U11(active(X1), X2, X3),
            active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                       active(U13(X)) -> U13(active(X)),
                    active(U13(tt())) -> mark(tt()),
                       active(U22(X)) -> U22(active(X)),
                    active(U22(tt())) -> mark(tt()),
                  active(U21(X1, X2)) -> U21(active(X1), X2),
                active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                  active(U32(X1, X2)) -> U32(active(X1), X2),
                active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
              active(U31(X1, X2, X3)) -> U31(active(X1), X2, X3),
            active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                       active(U33(X)) -> U33(active(X)),
                    active(U33(tt())) -> mark(tt()),
                  active(U41(X1, X2)) -> U41(active(X1), X2),
                 active(U41(tt(), N)) -> mark(N),
                         active(s(X)) -> s(active(X)),
                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(plus(X1, X2)) -> plus(X1, active(X2)),
                 active(plus(X1, X2)) -> plus(active(X1), X2),
              active(U51(X1, X2, X3)) -> U51(active(X1), X2, X3),
              active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                       active(U61(X)) -> U61(active(X)),
                    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(x(X1, X2)) -> x(X1, active(X2)),
                    active(x(X1, X2)) -> x(active(X1), X2),
              active(U71(X1, X2, X3)) -> U71(active(X1), X2, X3),
              active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                  active(and(X1, X2)) -> and(active(X1), X2),
                 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(mark(X1), X2, X3) -> mark(U11(X1, X2, X3)),
          U11(ok(X1), ok(X2), ok(X3)) -> ok(U11(X1, X2, X3)),
                         U13(mark(X)) -> mark(U13(X)),
                           U13(ok(X)) -> ok(U13(X)),
                         U22(mark(X)) -> mark(U22(X)),
                           U22(ok(X)) -> ok(U22(X)),
                    U21(mark(X1), X2) -> mark(U21(X1, X2)),
                  U21(ok(X1), ok(X2)) -> ok(U21(X1, X2)),
                    U32(mark(X1), X2) -> mark(U32(X1, X2)),
                  U32(ok(X1), ok(X2)) -> ok(U32(X1, X2)),
                U31(mark(X1), X2, X3) -> mark(U31(X1, X2, X3)),
          U31(ok(X1), ok(X2), ok(X3)) -> ok(U31(X1, X2, X3)),
                         U33(mark(X)) -> mark(U33(X)),
                           U33(ok(X)) -> ok(U33(X)),
                    U41(mark(X1), X2) -> mark(U41(X1, X2)),
                  U41(ok(X1), ok(X2)) -> ok(U41(X1, X2)),
                           s(mark(X)) -> mark(s(X)),
                             s(ok(X)) -> ok(s(X)),
                   plus(X1, mark(X2)) -> mark(plus(X1, X2)),
                   plus(mark(X1), X2) -> mark(plus(X1, X2)),
                 plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)),
                U51(mark(X1), X2, X3) -> mark(U51(X1, X2, X3)),
          U51(ok(X1), ok(X2), ok(X3)) -> ok(U51(X1, X2, X3)),
                         U61(mark(X)) -> mark(U61(X)),
                           U61(ok(X)) -> ok(U61(X)),
                      x(X1, mark(X2)) -> mark(x(X1, X2)),
                      x(mark(X1), X2) -> mark(x(X1, X2)),
                    x(ok(X1), ok(X2)) -> ok(x(X1, X2)),
                U71(mark(X1), X2, X3) -> mark(U71(X1, X2, X3)),
          U71(ok(X1), ok(X2), ok(X3)) -> ok(U71(X1, X2, X3)),
                    and(mark(X1), X2) -> mark(and(X1, X2)),
                  and(ok(X1), ok(X2)) -> ok(and(X1, X2)),
                     isNatKind(ok(X)) -> ok(isNatKind(X)),
                  proper(U12(X1, X2)) -> U12(proper(X1), proper(X2)),
                     proper(isNat(X)) -> isNat(proper(X)),
              proper(U11(X1, X2, X3)) -> U11(proper(X1), proper(X2), proper(X3)),
                         proper(tt()) -> ok(tt()),
                       proper(U13(X)) -> U13(proper(X)),
                       proper(U22(X)) -> U22(proper(X)),
                  proper(U21(X1, X2)) -> U21(proper(X1), proper(X2)),
                  proper(U32(X1, X2)) -> U32(proper(X1), proper(X2)),
              proper(U31(X1, X2, X3)) -> U31(proper(X1), proper(X2), proper(X3)),
                       proper(U33(X)) -> U33(proper(X)),
                  proper(U41(X1, X2)) -> U41(proper(X1), proper(X2)),
                         proper(s(X)) -> s(proper(X)),
                 proper(plus(X1, X2)) -> plus(proper(X1), proper(X2)),
              proper(U51(X1, X2, X3)) -> U51(proper(X1), proper(X2), proper(X3)),
                          proper(0()) -> ok(0()),
                       proper(U61(X)) -> U61(proper(X)),
                    proper(x(X1, X2)) -> x(proper(X1), proper(X2)),
              proper(U71(X1, X2, X3)) -> U71(proper(X1), proper(X2), proper(X3)),
                  proper(and(X1, X2)) -> and(proper(X1), proper(X2)),
                 proper(isNatKind(X)) -> isNatKind(proper(X)),
                         top(mark(X)) -> top(proper(X)),
                           top(ok(X)) -> top(active(X))}
     SPSC:
      Simple Projection:
       pi(U31#) = 0
      Strict:
       {U31#(mark(X1), X2, X3) -> U31#(X1, X2, X3)}
      EDG:
       {(U31#(mark(X1), X2, X3) -> U31#(X1, X2, X3), U31#(mark(X1), X2, X3) -> U31#(X1, X2, X3))}
       SCCS:
        Scc:
         {U31#(mark(X1), X2, X3) -> U31#(X1, X2, X3)}
        SCC:
         Strict:
          {U31#(mark(X1), X2, X3) -> U31#(X1, X2, X3)}
         Weak:
         {              U12(mark(X1), X2) -> mark(U12(X1, X2)),
                      U12(ok(X1), ok(X2)) -> ok(U12(X1, X2)),
                             isNat(ok(X)) -> ok(isNat(X)),
                      active(U12(X1, X2)) -> U12(active(X1), X2),
                    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(X1, X2, X3)) -> U11(active(X1), X2, X3),
                active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                           active(U13(X)) -> U13(active(X)),
                        active(U13(tt())) -> mark(tt()),
                           active(U22(X)) -> U22(active(X)),
                        active(U22(tt())) -> mark(tt()),
                      active(U21(X1, X2)) -> U21(active(X1), X2),
                    active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                      active(U32(X1, X2)) -> U32(active(X1), X2),
                    active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
                  active(U31(X1, X2, X3)) -> U31(active(X1), X2, X3),
                active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                           active(U33(X)) -> U33(active(X)),
                        active(U33(tt())) -> mark(tt()),
                      active(U41(X1, X2)) -> U41(active(X1), X2),
                     active(U41(tt(), N)) -> mark(N),
                             active(s(X)) -> s(active(X)),
                    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(plus(X1, X2)) -> plus(X1, active(X2)),
                     active(plus(X1, X2)) -> plus(active(X1), X2),
                  active(U51(X1, X2, X3)) -> U51(active(X1), X2, X3),
                  active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                           active(U61(X)) -> U61(active(X)),
                        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(x(X1, X2)) -> x(X1, active(X2)),
                        active(x(X1, X2)) -> x(active(X1), X2),
                  active(U71(X1, X2, X3)) -> U71(active(X1), X2, X3),
                  active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                      active(and(X1, X2)) -> and(active(X1), X2),
                     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(mark(X1), X2, X3) -> mark(U11(X1, X2, X3)),
              U11(ok(X1), ok(X2), ok(X3)) -> ok(U11(X1, X2, X3)),
                             U13(mark(X)) -> mark(U13(X)),
                               U13(ok(X)) -> ok(U13(X)),
                             U22(mark(X)) -> mark(U22(X)),
                               U22(ok(X)) -> ok(U22(X)),
                        U21(mark(X1), X2) -> mark(U21(X1, X2)),
                      U21(ok(X1), ok(X2)) -> ok(U21(X1, X2)),
                        U32(mark(X1), X2) -> mark(U32(X1, X2)),
                      U32(ok(X1), ok(X2)) -> ok(U32(X1, X2)),
                    U31(mark(X1), X2, X3) -> mark(U31(X1, X2, X3)),
              U31(ok(X1), ok(X2), ok(X3)) -> ok(U31(X1, X2, X3)),
                             U33(mark(X)) -> mark(U33(X)),
                               U33(ok(X)) -> ok(U33(X)),
                        U41(mark(X1), X2) -> mark(U41(X1, X2)),
                      U41(ok(X1), ok(X2)) -> ok(U41(X1, X2)),
                               s(mark(X)) -> mark(s(X)),
                                 s(ok(X)) -> ok(s(X)),
                       plus(X1, mark(X2)) -> mark(plus(X1, X2)),
                       plus(mark(X1), X2) -> mark(plus(X1, X2)),
                     plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)),
                    U51(mark(X1), X2, X3) -> mark(U51(X1, X2, X3)),
              U51(ok(X1), ok(X2), ok(X3)) -> ok(U51(X1, X2, X3)),
                             U61(mark(X)) -> mark(U61(X)),
                               U61(ok(X)) -> ok(U61(X)),
                          x(X1, mark(X2)) -> mark(x(X1, X2)),
                          x(mark(X1), X2) -> mark(x(X1, X2)),
                        x(ok(X1), ok(X2)) -> ok(x(X1, X2)),
                    U71(mark(X1), X2, X3) -> mark(U71(X1, X2, X3)),
              U71(ok(X1), ok(X2), ok(X3)) -> ok(U71(X1, X2, X3)),
                        and(mark(X1), X2) -> mark(and(X1, X2)),
                      and(ok(X1), ok(X2)) -> ok(and(X1, X2)),
                         isNatKind(ok(X)) -> ok(isNatKind(X)),
                      proper(U12(X1, X2)) -> U12(proper(X1), proper(X2)),
                         proper(isNat(X)) -> isNat(proper(X)),
                  proper(U11(X1, X2, X3)) -> U11(proper(X1), proper(X2), proper(X3)),
                             proper(tt()) -> ok(tt()),
                           proper(U13(X)) -> U13(proper(X)),
                           proper(U22(X)) -> U22(proper(X)),
                      proper(U21(X1, X2)) -> U21(proper(X1), proper(X2)),
                      proper(U32(X1, X2)) -> U32(proper(X1), proper(X2)),
                  proper(U31(X1, X2, X3)) -> U31(proper(X1), proper(X2), proper(X3)),
                           proper(U33(X)) -> U33(proper(X)),
                      proper(U41(X1, X2)) -> U41(proper(X1), proper(X2)),
                             proper(s(X)) -> s(proper(X)),
                     proper(plus(X1, X2)) -> plus(proper(X1), proper(X2)),
                  proper(U51(X1, X2, X3)) -> U51(proper(X1), proper(X2), proper(X3)),
                              proper(0()) -> ok(0()),
                           proper(U61(X)) -> U61(proper(X)),
                        proper(x(X1, X2)) -> x(proper(X1), proper(X2)),
                  proper(U71(X1, X2, X3)) -> U71(proper(X1), proper(X2), proper(X3)),
                      proper(and(X1, X2)) -> and(proper(X1), proper(X2)),
                     proper(isNatKind(X)) -> isNatKind(proper(X)),
                             top(mark(X)) -> top(proper(X)),
                               top(ok(X)) -> top(active(X))}
         SPSC:
          Simple Projection:
           pi(U31#) = 0
          Strict:
           {}
          Qed
    SCC:
     Strict:
      {  U32#(mark(X1), X2) -> U32#(X1, X2),
       U32#(ok(X1), ok(X2)) -> U32#(X1, X2)}
     Weak:
     {              U12(mark(X1), X2) -> mark(U12(X1, X2)),
                  U12(ok(X1), ok(X2)) -> ok(U12(X1, X2)),
                         isNat(ok(X)) -> ok(isNat(X)),
                  active(U12(X1, X2)) -> U12(active(X1), X2),
                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(X1, X2, X3)) -> U11(active(X1), X2, X3),
            active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                       active(U13(X)) -> U13(active(X)),
                    active(U13(tt())) -> mark(tt()),
                       active(U22(X)) -> U22(active(X)),
                    active(U22(tt())) -> mark(tt()),
                  active(U21(X1, X2)) -> U21(active(X1), X2),
                active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                  active(U32(X1, X2)) -> U32(active(X1), X2),
                active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
              active(U31(X1, X2, X3)) -> U31(active(X1), X2, X3),
            active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                       active(U33(X)) -> U33(active(X)),
                    active(U33(tt())) -> mark(tt()),
                  active(U41(X1, X2)) -> U41(active(X1), X2),
                 active(U41(tt(), N)) -> mark(N),
                         active(s(X)) -> s(active(X)),
                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(plus(X1, X2)) -> plus(X1, active(X2)),
                 active(plus(X1, X2)) -> plus(active(X1), X2),
              active(U51(X1, X2, X3)) -> U51(active(X1), X2, X3),
              active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                       active(U61(X)) -> U61(active(X)),
                    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(x(X1, X2)) -> x(X1, active(X2)),
                    active(x(X1, X2)) -> x(active(X1), X2),
              active(U71(X1, X2, X3)) -> U71(active(X1), X2, X3),
              active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                  active(and(X1, X2)) -> and(active(X1), X2),
                 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(mark(X1), X2, X3) -> mark(U11(X1, X2, X3)),
          U11(ok(X1), ok(X2), ok(X3)) -> ok(U11(X1, X2, X3)),
                         U13(mark(X)) -> mark(U13(X)),
                           U13(ok(X)) -> ok(U13(X)),
                         U22(mark(X)) -> mark(U22(X)),
                           U22(ok(X)) -> ok(U22(X)),
                    U21(mark(X1), X2) -> mark(U21(X1, X2)),
                  U21(ok(X1), ok(X2)) -> ok(U21(X1, X2)),
                    U32(mark(X1), X2) -> mark(U32(X1, X2)),
                  U32(ok(X1), ok(X2)) -> ok(U32(X1, X2)),
                U31(mark(X1), X2, X3) -> mark(U31(X1, X2, X3)),
          U31(ok(X1), ok(X2), ok(X3)) -> ok(U31(X1, X2, X3)),
                         U33(mark(X)) -> mark(U33(X)),
                           U33(ok(X)) -> ok(U33(X)),
                    U41(mark(X1), X2) -> mark(U41(X1, X2)),
                  U41(ok(X1), ok(X2)) -> ok(U41(X1, X2)),
                           s(mark(X)) -> mark(s(X)),
                             s(ok(X)) -> ok(s(X)),
                   plus(X1, mark(X2)) -> mark(plus(X1, X2)),
                   plus(mark(X1), X2) -> mark(plus(X1, X2)),
                 plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)),
                U51(mark(X1), X2, X3) -> mark(U51(X1, X2, X3)),
          U51(ok(X1), ok(X2), ok(X3)) -> ok(U51(X1, X2, X3)),
                         U61(mark(X)) -> mark(U61(X)),
                           U61(ok(X)) -> ok(U61(X)),
                      x(X1, mark(X2)) -> mark(x(X1, X2)),
                      x(mark(X1), X2) -> mark(x(X1, X2)),
                    x(ok(X1), ok(X2)) -> ok(x(X1, X2)),
                U71(mark(X1), X2, X3) -> mark(U71(X1, X2, X3)),
          U71(ok(X1), ok(X2), ok(X3)) -> ok(U71(X1, X2, X3)),
                    and(mark(X1), X2) -> mark(and(X1, X2)),
                  and(ok(X1), ok(X2)) -> ok(and(X1, X2)),
                     isNatKind(ok(X)) -> ok(isNatKind(X)),
                  proper(U12(X1, X2)) -> U12(proper(X1), proper(X2)),
                     proper(isNat(X)) -> isNat(proper(X)),
              proper(U11(X1, X2, X3)) -> U11(proper(X1), proper(X2), proper(X3)),
                         proper(tt()) -> ok(tt()),
                       proper(U13(X)) -> U13(proper(X)),
                       proper(U22(X)) -> U22(proper(X)),
                  proper(U21(X1, X2)) -> U21(proper(X1), proper(X2)),
                  proper(U32(X1, X2)) -> U32(proper(X1), proper(X2)),
              proper(U31(X1, X2, X3)) -> U31(proper(X1), proper(X2), proper(X3)),
                       proper(U33(X)) -> U33(proper(X)),
                  proper(U41(X1, X2)) -> U41(proper(X1), proper(X2)),
                         proper(s(X)) -> s(proper(X)),
                 proper(plus(X1, X2)) -> plus(proper(X1), proper(X2)),
              proper(U51(X1, X2, X3)) -> U51(proper(X1), proper(X2), proper(X3)),
                          proper(0()) -> ok(0()),
                       proper(U61(X)) -> U61(proper(X)),
                    proper(x(X1, X2)) -> x(proper(X1), proper(X2)),
              proper(U71(X1, X2, X3)) -> U71(proper(X1), proper(X2), proper(X3)),
                  proper(and(X1, X2)) -> and(proper(X1), proper(X2)),
                 proper(isNatKind(X)) -> isNatKind(proper(X)),
                         top(mark(X)) -> top(proper(X)),
                           top(ok(X)) -> top(active(X))}
     SPSC:
      Simple Projection:
       pi(U32#) = 0
      Strict:
       {U32#(mark(X1), X2) -> U32#(X1, X2)}
      EDG:
       {(U32#(mark(X1), X2) -> U32#(X1, X2), U32#(mark(X1), X2) -> U32#(X1, X2))}
       SCCS:
        Scc:
         {U32#(mark(X1), X2) -> U32#(X1, X2)}
        SCC:
         Strict:
          {U32#(mark(X1), X2) -> U32#(X1, X2)}
         Weak:
         {              U12(mark(X1), X2) -> mark(U12(X1, X2)),
                      U12(ok(X1), ok(X2)) -> ok(U12(X1, X2)),
                             isNat(ok(X)) -> ok(isNat(X)),
                      active(U12(X1, X2)) -> U12(active(X1), X2),
                    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(X1, X2, X3)) -> U11(active(X1), X2, X3),
                active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                           active(U13(X)) -> U13(active(X)),
                        active(U13(tt())) -> mark(tt()),
                           active(U22(X)) -> U22(active(X)),
                        active(U22(tt())) -> mark(tt()),
                      active(U21(X1, X2)) -> U21(active(X1), X2),
                    active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                      active(U32(X1, X2)) -> U32(active(X1), X2),
                    active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
                  active(U31(X1, X2, X3)) -> U31(active(X1), X2, X3),
                active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                           active(U33(X)) -> U33(active(X)),
                        active(U33(tt())) -> mark(tt()),
                      active(U41(X1, X2)) -> U41(active(X1), X2),
                     active(U41(tt(), N)) -> mark(N),
                             active(s(X)) -> s(active(X)),
                    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(plus(X1, X2)) -> plus(X1, active(X2)),
                     active(plus(X1, X2)) -> plus(active(X1), X2),
                  active(U51(X1, X2, X3)) -> U51(active(X1), X2, X3),
                  active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                           active(U61(X)) -> U61(active(X)),
                        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(x(X1, X2)) -> x(X1, active(X2)),
                        active(x(X1, X2)) -> x(active(X1), X2),
                  active(U71(X1, X2, X3)) -> U71(active(X1), X2, X3),
                  active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                      active(and(X1, X2)) -> and(active(X1), X2),
                     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(mark(X1), X2, X3) -> mark(U11(X1, X2, X3)),
              U11(ok(X1), ok(X2), ok(X3)) -> ok(U11(X1, X2, X3)),
                             U13(mark(X)) -> mark(U13(X)),
                               U13(ok(X)) -> ok(U13(X)),
                             U22(mark(X)) -> mark(U22(X)),
                               U22(ok(X)) -> ok(U22(X)),
                        U21(mark(X1), X2) -> mark(U21(X1, X2)),
                      U21(ok(X1), ok(X2)) -> ok(U21(X1, X2)),
                        U32(mark(X1), X2) -> mark(U32(X1, X2)),
                      U32(ok(X1), ok(X2)) -> ok(U32(X1, X2)),
                    U31(mark(X1), X2, X3) -> mark(U31(X1, X2, X3)),
              U31(ok(X1), ok(X2), ok(X3)) -> ok(U31(X1, X2, X3)),
                             U33(mark(X)) -> mark(U33(X)),
                               U33(ok(X)) -> ok(U33(X)),
                        U41(mark(X1), X2) -> mark(U41(X1, X2)),
                      U41(ok(X1), ok(X2)) -> ok(U41(X1, X2)),
                               s(mark(X)) -> mark(s(X)),
                                 s(ok(X)) -> ok(s(X)),
                       plus(X1, mark(X2)) -> mark(plus(X1, X2)),
                       plus(mark(X1), X2) -> mark(plus(X1, X2)),
                     plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)),
                    U51(mark(X1), X2, X3) -> mark(U51(X1, X2, X3)),
              U51(ok(X1), ok(X2), ok(X3)) -> ok(U51(X1, X2, X3)),
                             U61(mark(X)) -> mark(U61(X)),
                               U61(ok(X)) -> ok(U61(X)),
                          x(X1, mark(X2)) -> mark(x(X1, X2)),
                          x(mark(X1), X2) -> mark(x(X1, X2)),
                        x(ok(X1), ok(X2)) -> ok(x(X1, X2)),
                    U71(mark(X1), X2, X3) -> mark(U71(X1, X2, X3)),
              U71(ok(X1), ok(X2), ok(X3)) -> ok(U71(X1, X2, X3)),
                        and(mark(X1), X2) -> mark(and(X1, X2)),
                      and(ok(X1), ok(X2)) -> ok(and(X1, X2)),
                         isNatKind(ok(X)) -> ok(isNatKind(X)),
                      proper(U12(X1, X2)) -> U12(proper(X1), proper(X2)),
                         proper(isNat(X)) -> isNat(proper(X)),
                  proper(U11(X1, X2, X3)) -> U11(proper(X1), proper(X2), proper(X3)),
                             proper(tt()) -> ok(tt()),
                           proper(U13(X)) -> U13(proper(X)),
                           proper(U22(X)) -> U22(proper(X)),
                      proper(U21(X1, X2)) -> U21(proper(X1), proper(X2)),
                      proper(U32(X1, X2)) -> U32(proper(X1), proper(X2)),
                  proper(U31(X1, X2, X3)) -> U31(proper(X1), proper(X2), proper(X3)),
                           proper(U33(X)) -> U33(proper(X)),
                      proper(U41(X1, X2)) -> U41(proper(X1), proper(X2)),
                             proper(s(X)) -> s(proper(X)),
                     proper(plus(X1, X2)) -> plus(proper(X1), proper(X2)),
                  proper(U51(X1, X2, X3)) -> U51(proper(X1), proper(X2), proper(X3)),
                              proper(0()) -> ok(0()),
                           proper(U61(X)) -> U61(proper(X)),
                        proper(x(X1, X2)) -> x(proper(X1), proper(X2)),
                  proper(U71(X1, X2, X3)) -> U71(proper(X1), proper(X2), proper(X3)),
                      proper(and(X1, X2)) -> and(proper(X1), proper(X2)),
                     proper(isNatKind(X)) -> isNatKind(proper(X)),
                             top(mark(X)) -> top(proper(X)),
                               top(ok(X)) -> top(active(X))}
         SPSC:
          Simple Projection:
           pi(U32#) = 0
          Strict:
           {}
          Qed
    SCC:
     Strict:
      {  U21#(mark(X1), X2) -> U21#(X1, X2),
       U21#(ok(X1), ok(X2)) -> U21#(X1, X2)}
     Weak:
     {              U12(mark(X1), X2) -> mark(U12(X1, X2)),
                  U12(ok(X1), ok(X2)) -> ok(U12(X1, X2)),
                         isNat(ok(X)) -> ok(isNat(X)),
                  active(U12(X1, X2)) -> U12(active(X1), X2),
                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(X1, X2, X3)) -> U11(active(X1), X2, X3),
            active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                       active(U13(X)) -> U13(active(X)),
                    active(U13(tt())) -> mark(tt()),
                       active(U22(X)) -> U22(active(X)),
                    active(U22(tt())) -> mark(tt()),
                  active(U21(X1, X2)) -> U21(active(X1), X2),
                active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                  active(U32(X1, X2)) -> U32(active(X1), X2),
                active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
              active(U31(X1, X2, X3)) -> U31(active(X1), X2, X3),
            active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                       active(U33(X)) -> U33(active(X)),
                    active(U33(tt())) -> mark(tt()),
                  active(U41(X1, X2)) -> U41(active(X1), X2),
                 active(U41(tt(), N)) -> mark(N),
                         active(s(X)) -> s(active(X)),
                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(plus(X1, X2)) -> plus(X1, active(X2)),
                 active(plus(X1, X2)) -> plus(active(X1), X2),
              active(U51(X1, X2, X3)) -> U51(active(X1), X2, X3),
              active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                       active(U61(X)) -> U61(active(X)),
                    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(x(X1, X2)) -> x(X1, active(X2)),
                    active(x(X1, X2)) -> x(active(X1), X2),
              active(U71(X1, X2, X3)) -> U71(active(X1), X2, X3),
              active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                  active(and(X1, X2)) -> and(active(X1), X2),
                 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(mark(X1), X2, X3) -> mark(U11(X1, X2, X3)),
          U11(ok(X1), ok(X2), ok(X3)) -> ok(U11(X1, X2, X3)),
                         U13(mark(X)) -> mark(U13(X)),
                           U13(ok(X)) -> ok(U13(X)),
                         U22(mark(X)) -> mark(U22(X)),
                           U22(ok(X)) -> ok(U22(X)),
                    U21(mark(X1), X2) -> mark(U21(X1, X2)),
                  U21(ok(X1), ok(X2)) -> ok(U21(X1, X2)),
                    U32(mark(X1), X2) -> mark(U32(X1, X2)),
                  U32(ok(X1), ok(X2)) -> ok(U32(X1, X2)),
                U31(mark(X1), X2, X3) -> mark(U31(X1, X2, X3)),
          U31(ok(X1), ok(X2), ok(X3)) -> ok(U31(X1, X2, X3)),
                         U33(mark(X)) -> mark(U33(X)),
                           U33(ok(X)) -> ok(U33(X)),
                    U41(mark(X1), X2) -> mark(U41(X1, X2)),
                  U41(ok(X1), ok(X2)) -> ok(U41(X1, X2)),
                           s(mark(X)) -> mark(s(X)),
                             s(ok(X)) -> ok(s(X)),
                   plus(X1, mark(X2)) -> mark(plus(X1, X2)),
                   plus(mark(X1), X2) -> mark(plus(X1, X2)),
                 plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)),
                U51(mark(X1), X2, X3) -> mark(U51(X1, X2, X3)),
          U51(ok(X1), ok(X2), ok(X3)) -> ok(U51(X1, X2, X3)),
                         U61(mark(X)) -> mark(U61(X)),
                           U61(ok(X)) -> ok(U61(X)),
                      x(X1, mark(X2)) -> mark(x(X1, X2)),
                      x(mark(X1), X2) -> mark(x(X1, X2)),
                    x(ok(X1), ok(X2)) -> ok(x(X1, X2)),
                U71(mark(X1), X2, X3) -> mark(U71(X1, X2, X3)),
          U71(ok(X1), ok(X2), ok(X3)) -> ok(U71(X1, X2, X3)),
                    and(mark(X1), X2) -> mark(and(X1, X2)),
                  and(ok(X1), ok(X2)) -> ok(and(X1, X2)),
                     isNatKind(ok(X)) -> ok(isNatKind(X)),
                  proper(U12(X1, X2)) -> U12(proper(X1), proper(X2)),
                     proper(isNat(X)) -> isNat(proper(X)),
              proper(U11(X1, X2, X3)) -> U11(proper(X1), proper(X2), proper(X3)),
                         proper(tt()) -> ok(tt()),
                       proper(U13(X)) -> U13(proper(X)),
                       proper(U22(X)) -> U22(proper(X)),
                  proper(U21(X1, X2)) -> U21(proper(X1), proper(X2)),
                  proper(U32(X1, X2)) -> U32(proper(X1), proper(X2)),
              proper(U31(X1, X2, X3)) -> U31(proper(X1), proper(X2), proper(X3)),
                       proper(U33(X)) -> U33(proper(X)),
                  proper(U41(X1, X2)) -> U41(proper(X1), proper(X2)),
                         proper(s(X)) -> s(proper(X)),
                 proper(plus(X1, X2)) -> plus(proper(X1), proper(X2)),
              proper(U51(X1, X2, X3)) -> U51(proper(X1), proper(X2), proper(X3)),
                          proper(0()) -> ok(0()),
                       proper(U61(X)) -> U61(proper(X)),
                    proper(x(X1, X2)) -> x(proper(X1), proper(X2)),
              proper(U71(X1, X2, X3)) -> U71(proper(X1), proper(X2), proper(X3)),
                  proper(and(X1, X2)) -> and(proper(X1), proper(X2)),
                 proper(isNatKind(X)) -> isNatKind(proper(X)),
                         top(mark(X)) -> top(proper(X)),
                           top(ok(X)) -> top(active(X))}
     SPSC:
      Simple Projection:
       pi(U21#) = 0
      Strict:
       {U21#(mark(X1), X2) -> U21#(X1, X2)}
      EDG:
       {(U21#(mark(X1), X2) -> U21#(X1, X2), U21#(mark(X1), X2) -> U21#(X1, X2))}
       SCCS:
        Scc:
         {U21#(mark(X1), X2) -> U21#(X1, X2)}
        SCC:
         Strict:
          {U21#(mark(X1), X2) -> U21#(X1, X2)}
         Weak:
         {              U12(mark(X1), X2) -> mark(U12(X1, X2)),
                      U12(ok(X1), ok(X2)) -> ok(U12(X1, X2)),
                             isNat(ok(X)) -> ok(isNat(X)),
                      active(U12(X1, X2)) -> U12(active(X1), X2),
                    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(X1, X2, X3)) -> U11(active(X1), X2, X3),
                active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                           active(U13(X)) -> U13(active(X)),
                        active(U13(tt())) -> mark(tt()),
                           active(U22(X)) -> U22(active(X)),
                        active(U22(tt())) -> mark(tt()),
                      active(U21(X1, X2)) -> U21(active(X1), X2),
                    active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                      active(U32(X1, X2)) -> U32(active(X1), X2),
                    active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
                  active(U31(X1, X2, X3)) -> U31(active(X1), X2, X3),
                active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                           active(U33(X)) -> U33(active(X)),
                        active(U33(tt())) -> mark(tt()),
                      active(U41(X1, X2)) -> U41(active(X1), X2),
                     active(U41(tt(), N)) -> mark(N),
                             active(s(X)) -> s(active(X)),
                    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(plus(X1, X2)) -> plus(X1, active(X2)),
                     active(plus(X1, X2)) -> plus(active(X1), X2),
                  active(U51(X1, X2, X3)) -> U51(active(X1), X2, X3),
                  active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                           active(U61(X)) -> U61(active(X)),
                        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(x(X1, X2)) -> x(X1, active(X2)),
                        active(x(X1, X2)) -> x(active(X1), X2),
                  active(U71(X1, X2, X3)) -> U71(active(X1), X2, X3),
                  active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                      active(and(X1, X2)) -> and(active(X1), X2),
                     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(mark(X1), X2, X3) -> mark(U11(X1, X2, X3)),
              U11(ok(X1), ok(X2), ok(X3)) -> ok(U11(X1, X2, X3)),
                             U13(mark(X)) -> mark(U13(X)),
                               U13(ok(X)) -> ok(U13(X)),
                             U22(mark(X)) -> mark(U22(X)),
                               U22(ok(X)) -> ok(U22(X)),
                        U21(mark(X1), X2) -> mark(U21(X1, X2)),
                      U21(ok(X1), ok(X2)) -> ok(U21(X1, X2)),
                        U32(mark(X1), X2) -> mark(U32(X1, X2)),
                      U32(ok(X1), ok(X2)) -> ok(U32(X1, X2)),
                    U31(mark(X1), X2, X3) -> mark(U31(X1, X2, X3)),
              U31(ok(X1), ok(X2), ok(X3)) -> ok(U31(X1, X2, X3)),
                             U33(mark(X)) -> mark(U33(X)),
                               U33(ok(X)) -> ok(U33(X)),
                        U41(mark(X1), X2) -> mark(U41(X1, X2)),
                      U41(ok(X1), ok(X2)) -> ok(U41(X1, X2)),
                               s(mark(X)) -> mark(s(X)),
                                 s(ok(X)) -> ok(s(X)),
                       plus(X1, mark(X2)) -> mark(plus(X1, X2)),
                       plus(mark(X1), X2) -> mark(plus(X1, X2)),
                     plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)),
                    U51(mark(X1), X2, X3) -> mark(U51(X1, X2, X3)),
              U51(ok(X1), ok(X2), ok(X3)) -> ok(U51(X1, X2, X3)),
                             U61(mark(X)) -> mark(U61(X)),
                               U61(ok(X)) -> ok(U61(X)),
                          x(X1, mark(X2)) -> mark(x(X1, X2)),
                          x(mark(X1), X2) -> mark(x(X1, X2)),
                        x(ok(X1), ok(X2)) -> ok(x(X1, X2)),
                    U71(mark(X1), X2, X3) -> mark(U71(X1, X2, X3)),
              U71(ok(X1), ok(X2), ok(X3)) -> ok(U71(X1, X2, X3)),
                        and(mark(X1), X2) -> mark(and(X1, X2)),
                      and(ok(X1), ok(X2)) -> ok(and(X1, X2)),
                         isNatKind(ok(X)) -> ok(isNatKind(X)),
                      proper(U12(X1, X2)) -> U12(proper(X1), proper(X2)),
                         proper(isNat(X)) -> isNat(proper(X)),
                  proper(U11(X1, X2, X3)) -> U11(proper(X1), proper(X2), proper(X3)),
                             proper(tt()) -> ok(tt()),
                           proper(U13(X)) -> U13(proper(X)),
                           proper(U22(X)) -> U22(proper(X)),
                      proper(U21(X1, X2)) -> U21(proper(X1), proper(X2)),
                      proper(U32(X1, X2)) -> U32(proper(X1), proper(X2)),
                  proper(U31(X1, X2, X3)) -> U31(proper(X1), proper(X2), proper(X3)),
                           proper(U33(X)) -> U33(proper(X)),
                      proper(U41(X1, X2)) -> U41(proper(X1), proper(X2)),
                             proper(s(X)) -> s(proper(X)),
                     proper(plus(X1, X2)) -> plus(proper(X1), proper(X2)),
                  proper(U51(X1, X2, X3)) -> U51(proper(X1), proper(X2), proper(X3)),
                              proper(0()) -> ok(0()),
                           proper(U61(X)) -> U61(proper(X)),
                        proper(x(X1, X2)) -> x(proper(X1), proper(X2)),
                  proper(U71(X1, X2, X3)) -> U71(proper(X1), proper(X2), proper(X3)),
                      proper(and(X1, X2)) -> and(proper(X1), proper(X2)),
                     proper(isNatKind(X)) -> isNatKind(proper(X)),
                             top(mark(X)) -> top(proper(X)),
                               top(ok(X)) -> top(active(X))}
         SPSC:
          Simple Projection:
           pi(U21#) = 0
          Strict:
           {}
          Qed
    SCC:
     Strict:
      {U22#(mark(X)) -> U22#(X),
         U22#(ok(X)) -> U22#(X)}
     Weak:
     {              U12(mark(X1), X2) -> mark(U12(X1, X2)),
                  U12(ok(X1), ok(X2)) -> ok(U12(X1, X2)),
                         isNat(ok(X)) -> ok(isNat(X)),
                  active(U12(X1, X2)) -> U12(active(X1), X2),
                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(X1, X2, X3)) -> U11(active(X1), X2, X3),
            active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                       active(U13(X)) -> U13(active(X)),
                    active(U13(tt())) -> mark(tt()),
                       active(U22(X)) -> U22(active(X)),
                    active(U22(tt())) -> mark(tt()),
                  active(U21(X1, X2)) -> U21(active(X1), X2),
                active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                  active(U32(X1, X2)) -> U32(active(X1), X2),
                active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
              active(U31(X1, X2, X3)) -> U31(active(X1), X2, X3),
            active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                       active(U33(X)) -> U33(active(X)),
                    active(U33(tt())) -> mark(tt()),
                  active(U41(X1, X2)) -> U41(active(X1), X2),
                 active(U41(tt(), N)) -> mark(N),
                         active(s(X)) -> s(active(X)),
                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(plus(X1, X2)) -> plus(X1, active(X2)),
                 active(plus(X1, X2)) -> plus(active(X1), X2),
              active(U51(X1, X2, X3)) -> U51(active(X1), X2, X3),
              active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                       active(U61(X)) -> U61(active(X)),
                    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(x(X1, X2)) -> x(X1, active(X2)),
                    active(x(X1, X2)) -> x(active(X1), X2),
              active(U71(X1, X2, X3)) -> U71(active(X1), X2, X3),
              active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                  active(and(X1, X2)) -> and(active(X1), X2),
                 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(mark(X1), X2, X3) -> mark(U11(X1, X2, X3)),
          U11(ok(X1), ok(X2), ok(X3)) -> ok(U11(X1, X2, X3)),
                         U13(mark(X)) -> mark(U13(X)),
                           U13(ok(X)) -> ok(U13(X)),
                         U22(mark(X)) -> mark(U22(X)),
                           U22(ok(X)) -> ok(U22(X)),
                    U21(mark(X1), X2) -> mark(U21(X1, X2)),
                  U21(ok(X1), ok(X2)) -> ok(U21(X1, X2)),
                    U32(mark(X1), X2) -> mark(U32(X1, X2)),
                  U32(ok(X1), ok(X2)) -> ok(U32(X1, X2)),
                U31(mark(X1), X2, X3) -> mark(U31(X1, X2, X3)),
          U31(ok(X1), ok(X2), ok(X3)) -> ok(U31(X1, X2, X3)),
                         U33(mark(X)) -> mark(U33(X)),
                           U33(ok(X)) -> ok(U33(X)),
                    U41(mark(X1), X2) -> mark(U41(X1, X2)),
                  U41(ok(X1), ok(X2)) -> ok(U41(X1, X2)),
                           s(mark(X)) -> mark(s(X)),
                             s(ok(X)) -> ok(s(X)),
                   plus(X1, mark(X2)) -> mark(plus(X1, X2)),
                   plus(mark(X1), X2) -> mark(plus(X1, X2)),
                 plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)),
                U51(mark(X1), X2, X3) -> mark(U51(X1, X2, X3)),
          U51(ok(X1), ok(X2), ok(X3)) -> ok(U51(X1, X2, X3)),
                         U61(mark(X)) -> mark(U61(X)),
                           U61(ok(X)) -> ok(U61(X)),
                      x(X1, mark(X2)) -> mark(x(X1, X2)),
                      x(mark(X1), X2) -> mark(x(X1, X2)),
                    x(ok(X1), ok(X2)) -> ok(x(X1, X2)),
                U71(mark(X1), X2, X3) -> mark(U71(X1, X2, X3)),
          U71(ok(X1), ok(X2), ok(X3)) -> ok(U71(X1, X2, X3)),
                    and(mark(X1), X2) -> mark(and(X1, X2)),
                  and(ok(X1), ok(X2)) -> ok(and(X1, X2)),
                     isNatKind(ok(X)) -> ok(isNatKind(X)),
                  proper(U12(X1, X2)) -> U12(proper(X1), proper(X2)),
                     proper(isNat(X)) -> isNat(proper(X)),
              proper(U11(X1, X2, X3)) -> U11(proper(X1), proper(X2), proper(X3)),
                         proper(tt()) -> ok(tt()),
                       proper(U13(X)) -> U13(proper(X)),
                       proper(U22(X)) -> U22(proper(X)),
                  proper(U21(X1, X2)) -> U21(proper(X1), proper(X2)),
                  proper(U32(X1, X2)) -> U32(proper(X1), proper(X2)),
              proper(U31(X1, X2, X3)) -> U31(proper(X1), proper(X2), proper(X3)),
                       proper(U33(X)) -> U33(proper(X)),
                  proper(U41(X1, X2)) -> U41(proper(X1), proper(X2)),
                         proper(s(X)) -> s(proper(X)),
                 proper(plus(X1, X2)) -> plus(proper(X1), proper(X2)),
              proper(U51(X1, X2, X3)) -> U51(proper(X1), proper(X2), proper(X3)),
                          proper(0()) -> ok(0()),
                       proper(U61(X)) -> U61(proper(X)),
                    proper(x(X1, X2)) -> x(proper(X1), proper(X2)),
              proper(U71(X1, X2, X3)) -> U71(proper(X1), proper(X2), proper(X3)),
                  proper(and(X1, X2)) -> and(proper(X1), proper(X2)),
                 proper(isNatKind(X)) -> isNatKind(proper(X)),
                         top(mark(X)) -> top(proper(X)),
                           top(ok(X)) -> top(active(X))}
     SPSC:
      Simple Projection:
       pi(U22#) = 0
      Strict:
       {U22#(ok(X)) -> U22#(X)}
      EDG:
       {(U22#(ok(X)) -> U22#(X), U22#(ok(X)) -> U22#(X))}
       SCCS:
        Scc:
         {U22#(ok(X)) -> U22#(X)}
        SCC:
         Strict:
          {U22#(ok(X)) -> U22#(X)}
         Weak:
         {              U12(mark(X1), X2) -> mark(U12(X1, X2)),
                      U12(ok(X1), ok(X2)) -> ok(U12(X1, X2)),
                             isNat(ok(X)) -> ok(isNat(X)),
                      active(U12(X1, X2)) -> U12(active(X1), X2),
                    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(X1, X2, X3)) -> U11(active(X1), X2, X3),
                active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                           active(U13(X)) -> U13(active(X)),
                        active(U13(tt())) -> mark(tt()),
                           active(U22(X)) -> U22(active(X)),
                        active(U22(tt())) -> mark(tt()),
                      active(U21(X1, X2)) -> U21(active(X1), X2),
                    active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                      active(U32(X1, X2)) -> U32(active(X1), X2),
                    active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
                  active(U31(X1, X2, X3)) -> U31(active(X1), X2, X3),
                active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                           active(U33(X)) -> U33(active(X)),
                        active(U33(tt())) -> mark(tt()),
                      active(U41(X1, X2)) -> U41(active(X1), X2),
                     active(U41(tt(), N)) -> mark(N),
                             active(s(X)) -> s(active(X)),
                    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(plus(X1, X2)) -> plus(X1, active(X2)),
                     active(plus(X1, X2)) -> plus(active(X1), X2),
                  active(U51(X1, X2, X3)) -> U51(active(X1), X2, X3),
                  active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                           active(U61(X)) -> U61(active(X)),
                        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(x(X1, X2)) -> x(X1, active(X2)),
                        active(x(X1, X2)) -> x(active(X1), X2),
                  active(U71(X1, X2, X3)) -> U71(active(X1), X2, X3),
                  active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                      active(and(X1, X2)) -> and(active(X1), X2),
                     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(mark(X1), X2, X3) -> mark(U11(X1, X2, X3)),
              U11(ok(X1), ok(X2), ok(X3)) -> ok(U11(X1, X2, X3)),
                             U13(mark(X)) -> mark(U13(X)),
                               U13(ok(X)) -> ok(U13(X)),
                             U22(mark(X)) -> mark(U22(X)),
                               U22(ok(X)) -> ok(U22(X)),
                        U21(mark(X1), X2) -> mark(U21(X1, X2)),
                      U21(ok(X1), ok(X2)) -> ok(U21(X1, X2)),
                        U32(mark(X1), X2) -> mark(U32(X1, X2)),
                      U32(ok(X1), ok(X2)) -> ok(U32(X1, X2)),
                    U31(mark(X1), X2, X3) -> mark(U31(X1, X2, X3)),
              U31(ok(X1), ok(X2), ok(X3)) -> ok(U31(X1, X2, X3)),
                             U33(mark(X)) -> mark(U33(X)),
                               U33(ok(X)) -> ok(U33(X)),
                        U41(mark(X1), X2) -> mark(U41(X1, X2)),
                      U41(ok(X1), ok(X2)) -> ok(U41(X1, X2)),
                               s(mark(X)) -> mark(s(X)),
                                 s(ok(X)) -> ok(s(X)),
                       plus(X1, mark(X2)) -> mark(plus(X1, X2)),
                       plus(mark(X1), X2) -> mark(plus(X1, X2)),
                     plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)),
                    U51(mark(X1), X2, X3) -> mark(U51(X1, X2, X3)),
              U51(ok(X1), ok(X2), ok(X3)) -> ok(U51(X1, X2, X3)),
                             U61(mark(X)) -> mark(U61(X)),
                               U61(ok(X)) -> ok(U61(X)),
                          x(X1, mark(X2)) -> mark(x(X1, X2)),
                          x(mark(X1), X2) -> mark(x(X1, X2)),
                        x(ok(X1), ok(X2)) -> ok(x(X1, X2)),
                    U71(mark(X1), X2, X3) -> mark(U71(X1, X2, X3)),
              U71(ok(X1), ok(X2), ok(X3)) -> ok(U71(X1, X2, X3)),
                        and(mark(X1), X2) -> mark(and(X1, X2)),
                      and(ok(X1), ok(X2)) -> ok(and(X1, X2)),
                         isNatKind(ok(X)) -> ok(isNatKind(X)),
                      proper(U12(X1, X2)) -> U12(proper(X1), proper(X2)),
                         proper(isNat(X)) -> isNat(proper(X)),
                  proper(U11(X1, X2, X3)) -> U11(proper(X1), proper(X2), proper(X3)),
                             proper(tt()) -> ok(tt()),
                           proper(U13(X)) -> U13(proper(X)),
                           proper(U22(X)) -> U22(proper(X)),
                      proper(U21(X1, X2)) -> U21(proper(X1), proper(X2)),
                      proper(U32(X1, X2)) -> U32(proper(X1), proper(X2)),
                  proper(U31(X1, X2, X3)) -> U31(proper(X1), proper(X2), proper(X3)),
                           proper(U33(X)) -> U33(proper(X)),
                      proper(U41(X1, X2)) -> U41(proper(X1), proper(X2)),
                             proper(s(X)) -> s(proper(X)),
                     proper(plus(X1, X2)) -> plus(proper(X1), proper(X2)),
                  proper(U51(X1, X2, X3)) -> U51(proper(X1), proper(X2), proper(X3)),
                              proper(0()) -> ok(0()),
                           proper(U61(X)) -> U61(proper(X)),
                        proper(x(X1, X2)) -> x(proper(X1), proper(X2)),
                  proper(U71(X1, X2, X3)) -> U71(proper(X1), proper(X2), proper(X3)),
                      proper(and(X1, X2)) -> and(proper(X1), proper(X2)),
                     proper(isNatKind(X)) -> isNatKind(proper(X)),
                             top(mark(X)) -> top(proper(X)),
                               top(ok(X)) -> top(active(X))}
         SPSC:
          Simple Projection:
           pi(U22#) = 0
          Strict:
           {}
          Qed
    SCC:
     Strict:
      {U13#(mark(X)) -> U13#(X),
         U13#(ok(X)) -> U13#(X)}
     Weak:
     {              U12(mark(X1), X2) -> mark(U12(X1, X2)),
                  U12(ok(X1), ok(X2)) -> ok(U12(X1, X2)),
                         isNat(ok(X)) -> ok(isNat(X)),
                  active(U12(X1, X2)) -> U12(active(X1), X2),
                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(X1, X2, X3)) -> U11(active(X1), X2, X3),
            active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                       active(U13(X)) -> U13(active(X)),
                    active(U13(tt())) -> mark(tt()),
                       active(U22(X)) -> U22(active(X)),
                    active(U22(tt())) -> mark(tt()),
                  active(U21(X1, X2)) -> U21(active(X1), X2),
                active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                  active(U32(X1, X2)) -> U32(active(X1), X2),
                active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
              active(U31(X1, X2, X3)) -> U31(active(X1), X2, X3),
            active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                       active(U33(X)) -> U33(active(X)),
                    active(U33(tt())) -> mark(tt()),
                  active(U41(X1, X2)) -> U41(active(X1), X2),
                 active(U41(tt(), N)) -> mark(N),
                         active(s(X)) -> s(active(X)),
                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(plus(X1, X2)) -> plus(X1, active(X2)),
                 active(plus(X1, X2)) -> plus(active(X1), X2),
              active(U51(X1, X2, X3)) -> U51(active(X1), X2, X3),
              active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                       active(U61(X)) -> U61(active(X)),
                    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(x(X1, X2)) -> x(X1, active(X2)),
                    active(x(X1, X2)) -> x(active(X1), X2),
              active(U71(X1, X2, X3)) -> U71(active(X1), X2, X3),
              active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                  active(and(X1, X2)) -> and(active(X1), X2),
                 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(mark(X1), X2, X3) -> mark(U11(X1, X2, X3)),
          U11(ok(X1), ok(X2), ok(X3)) -> ok(U11(X1, X2, X3)),
                         U13(mark(X)) -> mark(U13(X)),
                           U13(ok(X)) -> ok(U13(X)),
                         U22(mark(X)) -> mark(U22(X)),
                           U22(ok(X)) -> ok(U22(X)),
                    U21(mark(X1), X2) -> mark(U21(X1, X2)),
                  U21(ok(X1), ok(X2)) -> ok(U21(X1, X2)),
                    U32(mark(X1), X2) -> mark(U32(X1, X2)),
                  U32(ok(X1), ok(X2)) -> ok(U32(X1, X2)),
                U31(mark(X1), X2, X3) -> mark(U31(X1, X2, X3)),
          U31(ok(X1), ok(X2), ok(X3)) -> ok(U31(X1, X2, X3)),
                         U33(mark(X)) -> mark(U33(X)),
                           U33(ok(X)) -> ok(U33(X)),
                    U41(mark(X1), X2) -> mark(U41(X1, X2)),
                  U41(ok(X1), ok(X2)) -> ok(U41(X1, X2)),
                           s(mark(X)) -> mark(s(X)),
                             s(ok(X)) -> ok(s(X)),
                   plus(X1, mark(X2)) -> mark(plus(X1, X2)),
                   plus(mark(X1), X2) -> mark(plus(X1, X2)),
                 plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)),
                U51(mark(X1), X2, X3) -> mark(U51(X1, X2, X3)),
          U51(ok(X1), ok(X2), ok(X3)) -> ok(U51(X1, X2, X3)),
                         U61(mark(X)) -> mark(U61(X)),
                           U61(ok(X)) -> ok(U61(X)),
                      x(X1, mark(X2)) -> mark(x(X1, X2)),
                      x(mark(X1), X2) -> mark(x(X1, X2)),
                    x(ok(X1), ok(X2)) -> ok(x(X1, X2)),
                U71(mark(X1), X2, X3) -> mark(U71(X1, X2, X3)),
          U71(ok(X1), ok(X2), ok(X3)) -> ok(U71(X1, X2, X3)),
                    and(mark(X1), X2) -> mark(and(X1, X2)),
                  and(ok(X1), ok(X2)) -> ok(and(X1, X2)),
                     isNatKind(ok(X)) -> ok(isNatKind(X)),
                  proper(U12(X1, X2)) -> U12(proper(X1), proper(X2)),
                     proper(isNat(X)) -> isNat(proper(X)),
              proper(U11(X1, X2, X3)) -> U11(proper(X1), proper(X2), proper(X3)),
                         proper(tt()) -> ok(tt()),
                       proper(U13(X)) -> U13(proper(X)),
                       proper(U22(X)) -> U22(proper(X)),
                  proper(U21(X1, X2)) -> U21(proper(X1), proper(X2)),
                  proper(U32(X1, X2)) -> U32(proper(X1), proper(X2)),
              proper(U31(X1, X2, X3)) -> U31(proper(X1), proper(X2), proper(X3)),
                       proper(U33(X)) -> U33(proper(X)),
                  proper(U41(X1, X2)) -> U41(proper(X1), proper(X2)),
                         proper(s(X)) -> s(proper(X)),
                 proper(plus(X1, X2)) -> plus(proper(X1), proper(X2)),
              proper(U51(X1, X2, X3)) -> U51(proper(X1), proper(X2), proper(X3)),
                          proper(0()) -> ok(0()),
                       proper(U61(X)) -> U61(proper(X)),
                    proper(x(X1, X2)) -> x(proper(X1), proper(X2)),
              proper(U71(X1, X2, X3)) -> U71(proper(X1), proper(X2), proper(X3)),
                  proper(and(X1, X2)) -> and(proper(X1), proper(X2)),
                 proper(isNatKind(X)) -> isNatKind(proper(X)),
                         top(mark(X)) -> top(proper(X)),
                           top(ok(X)) -> top(active(X))}
     SPSC:
      Simple Projection:
       pi(U13#) = 0
      Strict:
       {U13#(ok(X)) -> U13#(X)}
      EDG:
       {(U13#(ok(X)) -> U13#(X), U13#(ok(X)) -> U13#(X))}
       SCCS:
        Scc:
         {U13#(ok(X)) -> U13#(X)}
        SCC:
         Strict:
          {U13#(ok(X)) -> U13#(X)}
         Weak:
         {              U12(mark(X1), X2) -> mark(U12(X1, X2)),
                      U12(ok(X1), ok(X2)) -> ok(U12(X1, X2)),
                             isNat(ok(X)) -> ok(isNat(X)),
                      active(U12(X1, X2)) -> U12(active(X1), X2),
                    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(X1, X2, X3)) -> U11(active(X1), X2, X3),
                active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                           active(U13(X)) -> U13(active(X)),
                        active(U13(tt())) -> mark(tt()),
                           active(U22(X)) -> U22(active(X)),
                        active(U22(tt())) -> mark(tt()),
                      active(U21(X1, X2)) -> U21(active(X1), X2),
                    active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                      active(U32(X1, X2)) -> U32(active(X1), X2),
                    active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
                  active(U31(X1, X2, X3)) -> U31(active(X1), X2, X3),
                active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                           active(U33(X)) -> U33(active(X)),
                        active(U33(tt())) -> mark(tt()),
                      active(U41(X1, X2)) -> U41(active(X1), X2),
                     active(U41(tt(), N)) -> mark(N),
                             active(s(X)) -> s(active(X)),
                    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(plus(X1, X2)) -> plus(X1, active(X2)),
                     active(plus(X1, X2)) -> plus(active(X1), X2),
                  active(U51(X1, X2, X3)) -> U51(active(X1), X2, X3),
                  active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                           active(U61(X)) -> U61(active(X)),
                        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(x(X1, X2)) -> x(X1, active(X2)),
                        active(x(X1, X2)) -> x(active(X1), X2),
                  active(U71(X1, X2, X3)) -> U71(active(X1), X2, X3),
                  active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                      active(and(X1, X2)) -> and(active(X1), X2),
                     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(mark(X1), X2, X3) -> mark(U11(X1, X2, X3)),
              U11(ok(X1), ok(X2), ok(X3)) -> ok(U11(X1, X2, X3)),
                             U13(mark(X)) -> mark(U13(X)),
                               U13(ok(X)) -> ok(U13(X)),
                             U22(mark(X)) -> mark(U22(X)),
                               U22(ok(X)) -> ok(U22(X)),
                        U21(mark(X1), X2) -> mark(U21(X1, X2)),
                      U21(ok(X1), ok(X2)) -> ok(U21(X1, X2)),
                        U32(mark(X1), X2) -> mark(U32(X1, X2)),
                      U32(ok(X1), ok(X2)) -> ok(U32(X1, X2)),
                    U31(mark(X1), X2, X3) -> mark(U31(X1, X2, X3)),
              U31(ok(X1), ok(X2), ok(X3)) -> ok(U31(X1, X2, X3)),
                             U33(mark(X)) -> mark(U33(X)),
                               U33(ok(X)) -> ok(U33(X)),
                        U41(mark(X1), X2) -> mark(U41(X1, X2)),
                      U41(ok(X1), ok(X2)) -> ok(U41(X1, X2)),
                               s(mark(X)) -> mark(s(X)),
                                 s(ok(X)) -> ok(s(X)),
                       plus(X1, mark(X2)) -> mark(plus(X1, X2)),
                       plus(mark(X1), X2) -> mark(plus(X1, X2)),
                     plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)),
                    U51(mark(X1), X2, X3) -> mark(U51(X1, X2, X3)),
              U51(ok(X1), ok(X2), ok(X3)) -> ok(U51(X1, X2, X3)),
                             U61(mark(X)) -> mark(U61(X)),
                               U61(ok(X)) -> ok(U61(X)),
                          x(X1, mark(X2)) -> mark(x(X1, X2)),
                          x(mark(X1), X2) -> mark(x(X1, X2)),
                        x(ok(X1), ok(X2)) -> ok(x(X1, X2)),
                    U71(mark(X1), X2, X3) -> mark(U71(X1, X2, X3)),
              U71(ok(X1), ok(X2), ok(X3)) -> ok(U71(X1, X2, X3)),
                        and(mark(X1), X2) -> mark(and(X1, X2)),
                      and(ok(X1), ok(X2)) -> ok(and(X1, X2)),
                         isNatKind(ok(X)) -> ok(isNatKind(X)),
                      proper(U12(X1, X2)) -> U12(proper(X1), proper(X2)),
                         proper(isNat(X)) -> isNat(proper(X)),
                  proper(U11(X1, X2, X3)) -> U11(proper(X1), proper(X2), proper(X3)),
                             proper(tt()) -> ok(tt()),
                           proper(U13(X)) -> U13(proper(X)),
                           proper(U22(X)) -> U22(proper(X)),
                      proper(U21(X1, X2)) -> U21(proper(X1), proper(X2)),
                      proper(U32(X1, X2)) -> U32(proper(X1), proper(X2)),
                  proper(U31(X1, X2, X3)) -> U31(proper(X1), proper(X2), proper(X3)),
                           proper(U33(X)) -> U33(proper(X)),
                      proper(U41(X1, X2)) -> U41(proper(X1), proper(X2)),
                             proper(s(X)) -> s(proper(X)),
                     proper(plus(X1, X2)) -> plus(proper(X1), proper(X2)),
                  proper(U51(X1, X2, X3)) -> U51(proper(X1), proper(X2), proper(X3)),
                              proper(0()) -> ok(0()),
                           proper(U61(X)) -> U61(proper(X)),
                        proper(x(X1, X2)) -> x(proper(X1), proper(X2)),
                  proper(U71(X1, X2, X3)) -> U71(proper(X1), proper(X2), proper(X3)),
                      proper(and(X1, X2)) -> and(proper(X1), proper(X2)),
                     proper(isNatKind(X)) -> isNatKind(proper(X)),
                             top(mark(X)) -> top(proper(X)),
                               top(ok(X)) -> top(active(X))}
         SPSC:
          Simple Projection:
           pi(U13#) = 0
          Strict:
           {}
          Qed
    SCC:
     Strict:
      {      U11#(mark(X1), X2, X3) -> U11#(X1, X2, X3),
       U11#(ok(X1), ok(X2), ok(X3)) -> U11#(X1, X2, X3)}
     Weak:
     {              U12(mark(X1), X2) -> mark(U12(X1, X2)),
                  U12(ok(X1), ok(X2)) -> ok(U12(X1, X2)),
                         isNat(ok(X)) -> ok(isNat(X)),
                  active(U12(X1, X2)) -> U12(active(X1), X2),
                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(X1, X2, X3)) -> U11(active(X1), X2, X3),
            active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                       active(U13(X)) -> U13(active(X)),
                    active(U13(tt())) -> mark(tt()),
                       active(U22(X)) -> U22(active(X)),
                    active(U22(tt())) -> mark(tt()),
                  active(U21(X1, X2)) -> U21(active(X1), X2),
                active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                  active(U32(X1, X2)) -> U32(active(X1), X2),
                active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
              active(U31(X1, X2, X3)) -> U31(active(X1), X2, X3),
            active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                       active(U33(X)) -> U33(active(X)),
                    active(U33(tt())) -> mark(tt()),
                  active(U41(X1, X2)) -> U41(active(X1), X2),
                 active(U41(tt(), N)) -> mark(N),
                         active(s(X)) -> s(active(X)),
                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(plus(X1, X2)) -> plus(X1, active(X2)),
                 active(plus(X1, X2)) -> plus(active(X1), X2),
              active(U51(X1, X2, X3)) -> U51(active(X1), X2, X3),
              active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                       active(U61(X)) -> U61(active(X)),
                    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(x(X1, X2)) -> x(X1, active(X2)),
                    active(x(X1, X2)) -> x(active(X1), X2),
              active(U71(X1, X2, X3)) -> U71(active(X1), X2, X3),
              active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                  active(and(X1, X2)) -> and(active(X1), X2),
                 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(mark(X1), X2, X3) -> mark(U11(X1, X2, X3)),
          U11(ok(X1), ok(X2), ok(X3)) -> ok(U11(X1, X2, X3)),
                         U13(mark(X)) -> mark(U13(X)),
                           U13(ok(X)) -> ok(U13(X)),
                         U22(mark(X)) -> mark(U22(X)),
                           U22(ok(X)) -> ok(U22(X)),
                    U21(mark(X1), X2) -> mark(U21(X1, X2)),
                  U21(ok(X1), ok(X2)) -> ok(U21(X1, X2)),
                    U32(mark(X1), X2) -> mark(U32(X1, X2)),
                  U32(ok(X1), ok(X2)) -> ok(U32(X1, X2)),
                U31(mark(X1), X2, X3) -> mark(U31(X1, X2, X3)),
          U31(ok(X1), ok(X2), ok(X3)) -> ok(U31(X1, X2, X3)),
                         U33(mark(X)) -> mark(U33(X)),
                           U33(ok(X)) -> ok(U33(X)),
                    U41(mark(X1), X2) -> mark(U41(X1, X2)),
                  U41(ok(X1), ok(X2)) -> ok(U41(X1, X2)),
                           s(mark(X)) -> mark(s(X)),
                             s(ok(X)) -> ok(s(X)),
                   plus(X1, mark(X2)) -> mark(plus(X1, X2)),
                   plus(mark(X1), X2) -> mark(plus(X1, X2)),
                 plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)),
                U51(mark(X1), X2, X3) -> mark(U51(X1, X2, X3)),
          U51(ok(X1), ok(X2), ok(X3)) -> ok(U51(X1, X2, X3)),
                         U61(mark(X)) -> mark(U61(X)),
                           U61(ok(X)) -> ok(U61(X)),
                      x(X1, mark(X2)) -> mark(x(X1, X2)),
                      x(mark(X1), X2) -> mark(x(X1, X2)),
                    x(ok(X1), ok(X2)) -> ok(x(X1, X2)),
                U71(mark(X1), X2, X3) -> mark(U71(X1, X2, X3)),
          U71(ok(X1), ok(X2), ok(X3)) -> ok(U71(X1, X2, X3)),
                    and(mark(X1), X2) -> mark(and(X1, X2)),
                  and(ok(X1), ok(X2)) -> ok(and(X1, X2)),
                     isNatKind(ok(X)) -> ok(isNatKind(X)),
                  proper(U12(X1, X2)) -> U12(proper(X1), proper(X2)),
                     proper(isNat(X)) -> isNat(proper(X)),
              proper(U11(X1, X2, X3)) -> U11(proper(X1), proper(X2), proper(X3)),
                         proper(tt()) -> ok(tt()),
                       proper(U13(X)) -> U13(proper(X)),
                       proper(U22(X)) -> U22(proper(X)),
                  proper(U21(X1, X2)) -> U21(proper(X1), proper(X2)),
                  proper(U32(X1, X2)) -> U32(proper(X1), proper(X2)),
              proper(U31(X1, X2, X3)) -> U31(proper(X1), proper(X2), proper(X3)),
                       proper(U33(X)) -> U33(proper(X)),
                  proper(U41(X1, X2)) -> U41(proper(X1), proper(X2)),
                         proper(s(X)) -> s(proper(X)),
                 proper(plus(X1, X2)) -> plus(proper(X1), proper(X2)),
              proper(U51(X1, X2, X3)) -> U51(proper(X1), proper(X2), proper(X3)),
                          proper(0()) -> ok(0()),
                       proper(U61(X)) -> U61(proper(X)),
                    proper(x(X1, X2)) -> x(proper(X1), proper(X2)),
              proper(U71(X1, X2, X3)) -> U71(proper(X1), proper(X2), proper(X3)),
                  proper(and(X1, X2)) -> and(proper(X1), proper(X2)),
                 proper(isNatKind(X)) -> isNatKind(proper(X)),
                         top(mark(X)) -> top(proper(X)),
                           top(ok(X)) -> top(active(X))}
     SPSC:
      Simple Projection:
       pi(U11#) = 0
      Strict:
       {U11#(mark(X1), X2, X3) -> U11#(X1, X2, X3)}
      EDG:
       {(U11#(mark(X1), X2, X3) -> U11#(X1, X2, X3), U11#(mark(X1), X2, X3) -> U11#(X1, X2, X3))}
       SCCS:
        Scc:
         {U11#(mark(X1), X2, X3) -> U11#(X1, X2, X3)}
        SCC:
         Strict:
          {U11#(mark(X1), X2, X3) -> U11#(X1, X2, X3)}
         Weak:
         {              U12(mark(X1), X2) -> mark(U12(X1, X2)),
                      U12(ok(X1), ok(X2)) -> ok(U12(X1, X2)),
                             isNat(ok(X)) -> ok(isNat(X)),
                      active(U12(X1, X2)) -> U12(active(X1), X2),
                    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(X1, X2, X3)) -> U11(active(X1), X2, X3),
                active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                           active(U13(X)) -> U13(active(X)),
                        active(U13(tt())) -> mark(tt()),
                           active(U22(X)) -> U22(active(X)),
                        active(U22(tt())) -> mark(tt()),
                      active(U21(X1, X2)) -> U21(active(X1), X2),
                    active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                      active(U32(X1, X2)) -> U32(active(X1), X2),
                    active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
                  active(U31(X1, X2, X3)) -> U31(active(X1), X2, X3),
                active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                           active(U33(X)) -> U33(active(X)),
                        active(U33(tt())) -> mark(tt()),
                      active(U41(X1, X2)) -> U41(active(X1), X2),
                     active(U41(tt(), N)) -> mark(N),
                             active(s(X)) -> s(active(X)),
                    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(plus(X1, X2)) -> plus(X1, active(X2)),
                     active(plus(X1, X2)) -> plus(active(X1), X2),
                  active(U51(X1, X2, X3)) -> U51(active(X1), X2, X3),
                  active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                           active(U61(X)) -> U61(active(X)),
                        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(x(X1, X2)) -> x(X1, active(X2)),
                        active(x(X1, X2)) -> x(active(X1), X2),
                  active(U71(X1, X2, X3)) -> U71(active(X1), X2, X3),
                  active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                      active(and(X1, X2)) -> and(active(X1), X2),
                     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(mark(X1), X2, X3) -> mark(U11(X1, X2, X3)),
              U11(ok(X1), ok(X2), ok(X3)) -> ok(U11(X1, X2, X3)),
                             U13(mark(X)) -> mark(U13(X)),
                               U13(ok(X)) -> ok(U13(X)),
                             U22(mark(X)) -> mark(U22(X)),
                               U22(ok(X)) -> ok(U22(X)),
                        U21(mark(X1), X2) -> mark(U21(X1, X2)),
                      U21(ok(X1), ok(X2)) -> ok(U21(X1, X2)),
                        U32(mark(X1), X2) -> mark(U32(X1, X2)),
                      U32(ok(X1), ok(X2)) -> ok(U32(X1, X2)),
                    U31(mark(X1), X2, X3) -> mark(U31(X1, X2, X3)),
              U31(ok(X1), ok(X2), ok(X3)) -> ok(U31(X1, X2, X3)),
                             U33(mark(X)) -> mark(U33(X)),
                               U33(ok(X)) -> ok(U33(X)),
                        U41(mark(X1), X2) -> mark(U41(X1, X2)),
                      U41(ok(X1), ok(X2)) -> ok(U41(X1, X2)),
                               s(mark(X)) -> mark(s(X)),
                                 s(ok(X)) -> ok(s(X)),
                       plus(X1, mark(X2)) -> mark(plus(X1, X2)),
                       plus(mark(X1), X2) -> mark(plus(X1, X2)),
                     plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)),
                    U51(mark(X1), X2, X3) -> mark(U51(X1, X2, X3)),
              U51(ok(X1), ok(X2), ok(X3)) -> ok(U51(X1, X2, X3)),
                             U61(mark(X)) -> mark(U61(X)),
                               U61(ok(X)) -> ok(U61(X)),
                          x(X1, mark(X2)) -> mark(x(X1, X2)),
                          x(mark(X1), X2) -> mark(x(X1, X2)),
                        x(ok(X1), ok(X2)) -> ok(x(X1, X2)),
                    U71(mark(X1), X2, X3) -> mark(U71(X1, X2, X3)),
              U71(ok(X1), ok(X2), ok(X3)) -> ok(U71(X1, X2, X3)),
                        and(mark(X1), X2) -> mark(and(X1, X2)),
                      and(ok(X1), ok(X2)) -> ok(and(X1, X2)),
                         isNatKind(ok(X)) -> ok(isNatKind(X)),
                      proper(U12(X1, X2)) -> U12(proper(X1), proper(X2)),
                         proper(isNat(X)) -> isNat(proper(X)),
                  proper(U11(X1, X2, X3)) -> U11(proper(X1), proper(X2), proper(X3)),
                             proper(tt()) -> ok(tt()),
                           proper(U13(X)) -> U13(proper(X)),
                           proper(U22(X)) -> U22(proper(X)),
                      proper(U21(X1, X2)) -> U21(proper(X1), proper(X2)),
                      proper(U32(X1, X2)) -> U32(proper(X1), proper(X2)),
                  proper(U31(X1, X2, X3)) -> U31(proper(X1), proper(X2), proper(X3)),
                           proper(U33(X)) -> U33(proper(X)),
                      proper(U41(X1, X2)) -> U41(proper(X1), proper(X2)),
                             proper(s(X)) -> s(proper(X)),
                     proper(plus(X1, X2)) -> plus(proper(X1), proper(X2)),
                  proper(U51(X1, X2, X3)) -> U51(proper(X1), proper(X2), proper(X3)),
                              proper(0()) -> ok(0()),
                           proper(U61(X)) -> U61(proper(X)),
                        proper(x(X1, X2)) -> x(proper(X1), proper(X2)),
                  proper(U71(X1, X2, X3)) -> U71(proper(X1), proper(X2), proper(X3)),
                      proper(and(X1, X2)) -> and(proper(X1), proper(X2)),
                     proper(isNatKind(X)) -> isNatKind(proper(X)),
                             top(mark(X)) -> top(proper(X)),
                               top(ok(X)) -> top(active(X))}
         SPSC:
          Simple Projection:
           pi(U11#) = 0
          Strict:
           {}
          Qed
    SCC:
     Strict:
      {    active#(U12(X1, X2)) -> active#(X1),
       active#(U11(X1, X2, X3)) -> active#(X1),
                active#(U13(X)) -> active#(X),
                active#(U22(X)) -> active#(X),
           active#(U21(X1, X2)) -> active#(X1),
           active#(U32(X1, X2)) -> active#(X1),
       active#(U31(X1, X2, X3)) -> active#(X1),
                active#(U33(X)) -> active#(X),
           active#(U41(X1, X2)) -> active#(X1),
                  active#(s(X)) -> active#(X),
          active#(plus(X1, X2)) -> active#(X1),
          active#(plus(X1, X2)) -> active#(X2),
       active#(U51(X1, X2, X3)) -> active#(X1),
                active#(U61(X)) -> active#(X),
             active#(x(X1, X2)) -> active#(X1),
             active#(x(X1, X2)) -> active#(X2),
       active#(U71(X1, X2, X3)) -> active#(X1),
           active#(and(X1, X2)) -> active#(X1)}
     Weak:
     {              U12(mark(X1), X2) -> mark(U12(X1, X2)),
                  U12(ok(X1), ok(X2)) -> ok(U12(X1, X2)),
                         isNat(ok(X)) -> ok(isNat(X)),
                  active(U12(X1, X2)) -> U12(active(X1), X2),
                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(X1, X2, X3)) -> U11(active(X1), X2, X3),
            active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                       active(U13(X)) -> U13(active(X)),
                    active(U13(tt())) -> mark(tt()),
                       active(U22(X)) -> U22(active(X)),
                    active(U22(tt())) -> mark(tt()),
                  active(U21(X1, X2)) -> U21(active(X1), X2),
                active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                  active(U32(X1, X2)) -> U32(active(X1), X2),
                active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
              active(U31(X1, X2, X3)) -> U31(active(X1), X2, X3),
            active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                       active(U33(X)) -> U33(active(X)),
                    active(U33(tt())) -> mark(tt()),
                  active(U41(X1, X2)) -> U41(active(X1), X2),
                 active(U41(tt(), N)) -> mark(N),
                         active(s(X)) -> s(active(X)),
                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(plus(X1, X2)) -> plus(X1, active(X2)),
                 active(plus(X1, X2)) -> plus(active(X1), X2),
              active(U51(X1, X2, X3)) -> U51(active(X1), X2, X3),
              active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                       active(U61(X)) -> U61(active(X)),
                    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(x(X1, X2)) -> x(X1, active(X2)),
                    active(x(X1, X2)) -> x(active(X1), X2),
              active(U71(X1, X2, X3)) -> U71(active(X1), X2, X3),
              active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                  active(and(X1, X2)) -> and(active(X1), X2),
                 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(mark(X1), X2, X3) -> mark(U11(X1, X2, X3)),
          U11(ok(X1), ok(X2), ok(X3)) -> ok(U11(X1, X2, X3)),
                         U13(mark(X)) -> mark(U13(X)),
                           U13(ok(X)) -> ok(U13(X)),
                         U22(mark(X)) -> mark(U22(X)),
                           U22(ok(X)) -> ok(U22(X)),
                    U21(mark(X1), X2) -> mark(U21(X1, X2)),
                  U21(ok(X1), ok(X2)) -> ok(U21(X1, X2)),
                    U32(mark(X1), X2) -> mark(U32(X1, X2)),
                  U32(ok(X1), ok(X2)) -> ok(U32(X1, X2)),
                U31(mark(X1), X2, X3) -> mark(U31(X1, X2, X3)),
          U31(ok(X1), ok(X2), ok(X3)) -> ok(U31(X1, X2, X3)),
                         U33(mark(X)) -> mark(U33(X)),
                           U33(ok(X)) -> ok(U33(X)),
                    U41(mark(X1), X2) -> mark(U41(X1, X2)),
                  U41(ok(X1), ok(X2)) -> ok(U41(X1, X2)),
                           s(mark(X)) -> mark(s(X)),
                             s(ok(X)) -> ok(s(X)),
                   plus(X1, mark(X2)) -> mark(plus(X1, X2)),
                   plus(mark(X1), X2) -> mark(plus(X1, X2)),
                 plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)),
                U51(mark(X1), X2, X3) -> mark(U51(X1, X2, X3)),
          U51(ok(X1), ok(X2), ok(X3)) -> ok(U51(X1, X2, X3)),
                         U61(mark(X)) -> mark(U61(X)),
                           U61(ok(X)) -> ok(U61(X)),
                      x(X1, mark(X2)) -> mark(x(X1, X2)),
                      x(mark(X1), X2) -> mark(x(X1, X2)),
                    x(ok(X1), ok(X2)) -> ok(x(X1, X2)),
                U71(mark(X1), X2, X3) -> mark(U71(X1, X2, X3)),
          U71(ok(X1), ok(X2), ok(X3)) -> ok(U71(X1, X2, X3)),
                    and(mark(X1), X2) -> mark(and(X1, X2)),
                  and(ok(X1), ok(X2)) -> ok(and(X1, X2)),
                     isNatKind(ok(X)) -> ok(isNatKind(X)),
                  proper(U12(X1, X2)) -> U12(proper(X1), proper(X2)),
                     proper(isNat(X)) -> isNat(proper(X)),
              proper(U11(X1, X2, X3)) -> U11(proper(X1), proper(X2), proper(X3)),
                         proper(tt()) -> ok(tt()),
                       proper(U13(X)) -> U13(proper(X)),
                       proper(U22(X)) -> U22(proper(X)),
                  proper(U21(X1, X2)) -> U21(proper(X1), proper(X2)),
                  proper(U32(X1, X2)) -> U32(proper(X1), proper(X2)),
              proper(U31(X1, X2, X3)) -> U31(proper(X1), proper(X2), proper(X3)),
                       proper(U33(X)) -> U33(proper(X)),
                  proper(U41(X1, X2)) -> U41(proper(X1), proper(X2)),
                         proper(s(X)) -> s(proper(X)),
                 proper(plus(X1, X2)) -> plus(proper(X1), proper(X2)),
              proper(U51(X1, X2, X3)) -> U51(proper(X1), proper(X2), proper(X3)),
                          proper(0()) -> ok(0()),
                       proper(U61(X)) -> U61(proper(X)),
                    proper(x(X1, X2)) -> x(proper(X1), proper(X2)),
              proper(U71(X1, X2, X3)) -> U71(proper(X1), proper(X2), proper(X3)),
                  proper(and(X1, X2)) -> and(proper(X1), proper(X2)),
                 proper(isNatKind(X)) -> isNatKind(proper(X)),
                         top(mark(X)) -> top(proper(X)),
                           top(ok(X)) -> top(active(X))}
     SPSC:
      Simple Projection:
       pi(active#) = 0
      Strict:
       {    active#(U12(X1, X2)) -> active#(X1),
        active#(U11(X1, X2, X3)) -> active#(X1),
                 active#(U13(X)) -> active#(X),
                 active#(U22(X)) -> active#(X),
            active#(U21(X1, X2)) -> active#(X1),
            active#(U32(X1, X2)) -> active#(X1),
        active#(U31(X1, X2, X3)) -> active#(X1),
                 active#(U33(X)) -> active#(X),
            active#(U41(X1, X2)) -> active#(X1),
                   active#(s(X)) -> active#(X),
           active#(plus(X1, X2)) -> active#(X1),
           active#(plus(X1, X2)) -> active#(X2),
        active#(U51(X1, X2, X3)) -> active#(X1),
                 active#(U61(X)) -> active#(X),
              active#(x(X1, X2)) -> active#(X1),
              active#(x(X1, X2)) -> active#(X2),
        active#(U71(X1, X2, X3)) -> active#(X1)}
      EDG:
       {
        (active#(x(X1, X2)) -> active#(X2), active#(U71(X1, X2, X3)) -> active#(X1))
        (active#(x(X1, X2)) -> active#(X2), active#(x(X1, X2)) -> active#(X2))
        (active#(x(X1, X2)) -> active#(X2), active#(x(X1, X2)) -> active#(X1))
        (active#(x(X1, X2)) -> active#(X2), active#(U61(X)) -> active#(X))
        (active#(x(X1, X2)) -> active#(X2), active#(U51(X1, X2, X3)) -> active#(X1))
        (active#(x(X1, X2)) -> active#(X2), active#(plus(X1, X2)) -> active#(X2))
        (active#(x(X1, X2)) -> active#(X2), active#(plus(X1, X2)) -> active#(X1))
        (active#(x(X1, X2)) -> active#(X2), active#(s(X)) -> active#(X))
        (active#(x(X1, X2)) -> active#(X2), active#(U41(X1, X2)) -> active#(X1))
        (active#(x(X1, X2)) -> active#(X2), active#(U33(X)) -> active#(X))
        (active#(x(X1, X2)) -> active#(X2), active#(U31(X1, X2, X3)) -> active#(X1))
        (active#(x(X1, X2)) -> active#(X2), active#(U32(X1, X2)) -> active#(X1))
        (active#(x(X1, X2)) -> active#(X2), active#(U21(X1, X2)) -> active#(X1))
        (active#(x(X1, X2)) -> active#(X2), active#(U22(X)) -> active#(X))
        (active#(x(X1, X2)) -> active#(X2), active#(U13(X)) -> active#(X))
        (active#(x(X1, X2)) -> active#(X2), active#(U11(X1, X2, X3)) -> active#(X1))
        (active#(x(X1, X2)) -> active#(X2), active#(U12(X1, X2)) -> active#(X1))
        (active#(U11(X1, X2, X3)) -> active#(X1), active#(U71(X1, X2, X3)) -> active#(X1))
        (active#(U11(X1, X2, X3)) -> active#(X1), active#(x(X1, X2)) -> active#(X2))
        (active#(U11(X1, X2, X3)) -> active#(X1), active#(x(X1, X2)) -> active#(X1))
        (active#(U11(X1, X2, X3)) -> active#(X1), active#(U61(X)) -> active#(X))
        (active#(U11(X1, X2, X3)) -> active#(X1), active#(U51(X1, X2, X3)) -> active#(X1))
        (active#(U11(X1, X2, X3)) -> active#(X1), active#(plus(X1, X2)) -> active#(X2))
        (active#(U11(X1, X2, X3)) -> active#(X1), active#(plus(X1, X2)) -> active#(X1))
        (active#(U11(X1, X2, X3)) -> active#(X1), active#(s(X)) -> active#(X))
        (active#(U11(X1, X2, X3)) -> active#(X1), active#(U41(X1, X2)) -> active#(X1))
        (active#(U11(X1, X2, X3)) -> active#(X1), active#(U33(X)) -> active#(X))
        (active#(U11(X1, X2, X3)) -> active#(X1), active#(U31(X1, X2, X3)) -> active#(X1))
        (active#(U11(X1, X2, X3)) -> active#(X1), active#(U32(X1, X2)) -> active#(X1))
        (active#(U11(X1, X2, X3)) -> active#(X1), active#(U21(X1, X2)) -> active#(X1))
        (active#(U11(X1, X2, X3)) -> active#(X1), active#(U22(X)) -> active#(X))
        (active#(U11(X1, X2, X3)) -> active#(X1), active#(U13(X)) -> active#(X))
        (active#(U11(X1, X2, X3)) -> active#(X1), active#(U11(X1, X2, X3)) -> active#(X1))
        (active#(U11(X1, X2, X3)) -> active#(X1), active#(U12(X1, X2)) -> active#(X1))
        (active#(U32(X1, X2)) -> active#(X1), active#(U71(X1, X2, X3)) -> active#(X1))
        (active#(U32(X1, X2)) -> active#(X1), active#(x(X1, X2)) -> active#(X2))
        (active#(U32(X1, X2)) -> active#(X1), active#(x(X1, X2)) -> active#(X1))
        (active#(U32(X1, X2)) -> active#(X1), active#(U61(X)) -> active#(X))
        (active#(U32(X1, X2)) -> active#(X1), active#(U51(X1, X2, X3)) -> active#(X1))
        (active#(U32(X1, X2)) -> active#(X1), active#(plus(X1, X2)) -> active#(X2))
        (active#(U32(X1, X2)) -> active#(X1), active#(plus(X1, X2)) -> active#(X1))
        (active#(U32(X1, X2)) -> active#(X1), active#(s(X)) -> active#(X))
        (active#(U32(X1, X2)) -> active#(X1), active#(U41(X1, X2)) -> active#(X1))
        (active#(U32(X1, X2)) -> active#(X1), active#(U33(X)) -> active#(X))
        (active#(U32(X1, X2)) -> active#(X1), active#(U31(X1, X2, X3)) -> active#(X1))
        (active#(U32(X1, X2)) -> active#(X1), active#(U32(X1, X2)) -> active#(X1))
        (active#(U32(X1, X2)) -> active#(X1), active#(U21(X1, X2)) -> active#(X1))
        (active#(U32(X1, X2)) -> active#(X1), active#(U22(X)) -> active#(X))
        (active#(U32(X1, X2)) -> active#(X1), active#(U13(X)) -> active#(X))
        (active#(U32(X1, X2)) -> active#(X1), active#(U11(X1, X2, X3)) -> active#(X1))
        (active#(U32(X1, X2)) -> active#(X1), active#(U12(X1, X2)) -> active#(X1))
        (active#(U41(X1, X2)) -> active#(X1), active#(U71(X1, X2, X3)) -> active#(X1))
        (active#(U41(X1, X2)) -> active#(X1), active#(x(X1, X2)) -> active#(X2))
        (active#(U41(X1, X2)) -> active#(X1), active#(x(X1, X2)) -> active#(X1))
        (active#(U41(X1, X2)) -> active#(X1), active#(U61(X)) -> active#(X))
        (active#(U41(X1, X2)) -> active#(X1), active#(U51(X1, X2, X3)) -> active#(X1))
        (active#(U41(X1, X2)) -> active#(X1), active#(plus(X1, X2)) -> active#(X2))
        (active#(U41(X1, X2)) -> active#(X1), active#(plus(X1, X2)) -> active#(X1))
        (active#(U41(X1, X2)) -> active#(X1), active#(s(X)) -> active#(X))
        (active#(U41(X1, X2)) -> active#(X1), active#(U41(X1, X2)) -> active#(X1))
        (active#(U41(X1, X2)) -> active#(X1), active#(U33(X)) -> active#(X))
        (active#(U41(X1, X2)) -> active#(X1), active#(U31(X1, X2, X3)) -> active#(X1))
        (active#(U41(X1, X2)) -> active#(X1), active#(U32(X1, X2)) -> active#(X1))
        (active#(U41(X1, X2)) -> active#(X1), active#(U21(X1, X2)) -> active#(X1))
        (active#(U41(X1, X2)) -> active#(X1), active#(U22(X)) -> active#(X))
        (active#(U41(X1, X2)) -> active#(X1), active#(U13(X)) -> active#(X))
        (active#(U41(X1, X2)) -> active#(X1), active#(U11(X1, X2, X3)) -> active#(X1))
        (active#(U41(X1, X2)) -> active#(X1), active#(U12(X1, X2)) -> active#(X1))
        (active#(U51(X1, X2, X3)) -> active#(X1), active#(U71(X1, X2, X3)) -> active#(X1))
        (active#(U51(X1, X2, X3)) -> active#(X1), active#(x(X1, X2)) -> active#(X2))
        (active#(U51(X1, X2, X3)) -> active#(X1), active#(x(X1, X2)) -> active#(X1))
        (active#(U51(X1, X2, X3)) -> active#(X1), active#(U61(X)) -> active#(X))
        (active#(U51(X1, X2, X3)) -> active#(X1), active#(U51(X1, X2, X3)) -> active#(X1))
        (active#(U51(X1, X2, X3)) -> active#(X1), active#(plus(X1, X2)) -> active#(X2))
        (active#(U51(X1, X2, X3)) -> active#(X1), active#(plus(X1, X2)) -> active#(X1))
        (active#(U51(X1, X2, X3)) -> active#(X1), active#(s(X)) -> active#(X))
        (active#(U51(X1, X2, X3)) -> active#(X1), active#(U41(X1, X2)) -> active#(X1))
        (active#(U51(X1, X2, X3)) -> active#(X1), active#(U33(X)) -> active#(X))
        (active#(U51(X1, X2, X3)) -> active#(X1), active#(U31(X1, X2, X3)) -> active#(X1))
        (active#(U51(X1, X2, X3)) -> active#(X1), active#(U32(X1, X2)) -> active#(X1))
        (active#(U51(X1, X2, X3)) -> active#(X1), active#(U21(X1, X2)) -> active#(X1))
        (active#(U51(X1, X2, X3)) -> active#(X1), active#(U22(X)) -> active#(X))
        (active#(U51(X1, X2, X3)) -> active#(X1), active#(U13(X)) -> active#(X))
        (active#(U51(X1, X2, X3)) -> active#(X1), active#(U11(X1, X2, X3)) -> active#(X1))
        (active#(U51(X1, X2, X3)) -> active#(X1), active#(U12(X1, X2)) -> active#(X1))
        (active#(U71(X1, X2, X3)) -> active#(X1), active#(U71(X1, X2, X3)) -> active#(X1))
        (active#(U71(X1, X2, X3)) -> active#(X1), active#(x(X1, X2)) -> active#(X2))
        (active#(U71(X1, X2, X3)) -> active#(X1), active#(x(X1, X2)) -> active#(X1))
        (active#(U71(X1, X2, X3)) -> active#(X1), active#(U61(X)) -> active#(X))
        (active#(U71(X1, X2, X3)) -> active#(X1), active#(U51(X1, X2, X3)) -> active#(X1))
        (active#(U71(X1, X2, X3)) -> active#(X1), active#(plus(X1, X2)) -> active#(X2))
        (active#(U71(X1, X2, X3)) -> active#(X1), active#(plus(X1, X2)) -> active#(X1))
        (active#(U71(X1, X2, X3)) -> active#(X1), active#(s(X)) -> active#(X))
        (active#(U71(X1, X2, X3)) -> active#(X1), active#(U41(X1, X2)) -> active#(X1))
        (active#(U71(X1, X2, X3)) -> active#(X1), active#(U33(X)) -> active#(X))
        (active#(U71(X1, X2, X3)) -> active#(X1), active#(U31(X1, X2, X3)) -> active#(X1))
        (active#(U71(X1, X2, X3)) -> active#(X1), active#(U32(X1, X2)) -> active#(X1))
        (active#(U71(X1, X2, X3)) -> active#(X1), active#(U21(X1, X2)) -> active#(X1))
        (active#(U71(X1, X2, X3)) -> active#(X1), active#(U22(X)) -> active#(X))
        (active#(U71(X1, X2, X3)) -> active#(X1), active#(U13(X)) -> active#(X))
        (active#(U71(X1, X2, X3)) -> active#(X1), active#(U11(X1, X2, X3)) -> active#(X1))
        (active#(U71(X1, X2, X3)) -> active#(X1), active#(U12(X1, X2)) -> active#(X1))
        (active#(U22(X)) -> active#(X), active#(U71(X1, X2, X3)) -> active#(X1))
        (active#(U22(X)) -> active#(X), active#(x(X1, X2)) -> active#(X2))
        (active#(U22(X)) -> active#(X), active#(x(X1, X2)) -> active#(X1))
        (active#(U22(X)) -> active#(X), active#(U61(X)) -> active#(X))
        (active#(U22(X)) -> active#(X), active#(U51(X1, X2, X3)) -> active#(X1))
        (active#(U22(X)) -> active#(X), active#(plus(X1, X2)) -> active#(X2))
        (active#(U22(X)) -> active#(X), active#(plus(X1, X2)) -> active#(X1))
        (active#(U22(X)) -> active#(X), active#(s(X)) -> active#(X))
        (active#(U22(X)) -> active#(X), active#(U41(X1, X2)) -> active#(X1))
        (active#(U22(X)) -> active#(X), active#(U33(X)) -> active#(X))
        (active#(U22(X)) -> active#(X), active#(U31(X1, X2, X3)) -> active#(X1))
        (active#(U22(X)) -> active#(X), active#(U32(X1, X2)) -> active#(X1))
        (active#(U22(X)) -> active#(X), active#(U21(X1, X2)) -> active#(X1))
        (active#(U22(X)) -> active#(X), active#(U22(X)) -> active#(X))
        (active#(U22(X)) -> active#(X), active#(U13(X)) -> active#(X))
        (active#(U22(X)) -> active#(X), active#(U11(X1, X2, X3)) -> active#(X1))
        (active#(U22(X)) -> active#(X), active#(U12(X1, X2)) -> active#(X1))
        (active#(s(X)) -> active#(X), active#(U71(X1, X2, X3)) -> active#(X1))
        (active#(s(X)) -> active#(X), active#(x(X1, X2)) -> active#(X2))
        (active#(s(X)) -> active#(X), active#(x(X1, X2)) -> active#(X1))
        (active#(s(X)) -> active#(X), active#(U61(X)) -> active#(X))
        (active#(s(X)) -> active#(X), active#(U51(X1, X2, X3)) -> active#(X1))
        (active#(s(X)) -> active#(X), active#(plus(X1, X2)) -> active#(X2))
        (active#(s(X)) -> active#(X), active#(plus(X1, X2)) -> active#(X1))
        (active#(s(X)) -> active#(X), active#(s(X)) -> active#(X))
        (active#(s(X)) -> active#(X), active#(U41(X1, X2)) -> active#(X1))
        (active#(s(X)) -> active#(X), active#(U33(X)) -> active#(X))
        (active#(s(X)) -> active#(X), active#(U31(X1, X2, X3)) -> active#(X1))
        (active#(s(X)) -> active#(X), active#(U32(X1, X2)) -> active#(X1))
        (active#(s(X)) -> active#(X), active#(U21(X1, X2)) -> active#(X1))
        (active#(s(X)) -> active#(X), active#(U22(X)) -> active#(X))
        (active#(s(X)) -> active#(X), active#(U13(X)) -> active#(X))
        (active#(s(X)) -> active#(X), active#(U11(X1, X2, X3)) -> active#(X1))
        (active#(s(X)) -> active#(X), active#(U12(X1, X2)) -> active#(X1))
        (active#(U61(X)) -> active#(X), active#(U12(X1, X2)) -> active#(X1))
        (active#(U61(X)) -> active#(X), active#(U11(X1, X2, X3)) -> active#(X1))
        (active#(U61(X)) -> active#(X), active#(U13(X)) -> active#(X))
        (active#(U61(X)) -> active#(X), active#(U22(X)) -> active#(X))
        (active#(U61(X)) -> active#(X), active#(U21(X1, X2)) -> active#(X1))
        (active#(U61(X)) -> active#(X), active#(U32(X1, X2)) -> active#(X1))
        (active#(U61(X)) -> active#(X), active#(U31(X1, X2, X3)) -> active#(X1))
        (active#(U61(X)) -> active#(X), active#(U33(X)) -> active#(X))
        (active#(U61(X)) -> active#(X), active#(U41(X1, X2)) -> active#(X1))
        (active#(U61(X)) -> active#(X), active#(s(X)) -> active#(X))
        (active#(U61(X)) -> active#(X), active#(plus(X1, X2)) -> active#(X1))
        (active#(U61(X)) -> active#(X), active#(plus(X1, X2)) -> active#(X2))
        (active#(U61(X)) -> active#(X), active#(U51(X1, X2, X3)) -> active#(X1))
        (active#(U61(X)) -> active#(X), active#(U61(X)) -> active#(X))
        (active#(U61(X)) -> active#(X), active#(x(X1, X2)) -> active#(X1))
        (active#(U61(X)) -> active#(X), active#(x(X1, X2)) -> active#(X2))
        (active#(U61(X)) -> active#(X), active#(U71(X1, X2, X3)) -> active#(X1))
        (active#(U33(X)) -> active#(X), active#(U12(X1, X2)) -> active#(X1))
        (active#(U33(X)) -> active#(X), active#(U11(X1, X2, X3)) -> active#(X1))
        (active#(U33(X)) -> active#(X), active#(U13(X)) -> active#(X))
        (active#(U33(X)) -> active#(X), active#(U22(X)) -> active#(X))
        (active#(U33(X)) -> active#(X), active#(U21(X1, X2)) -> active#(X1))
        (active#(U33(X)) -> active#(X), active#(U32(X1, X2)) -> active#(X1))
        (active#(U33(X)) -> active#(X), active#(U31(X1, X2, X3)) -> active#(X1))
        (active#(U33(X)) -> active#(X), active#(U33(X)) -> active#(X))
        (active#(U33(X)) -> active#(X), active#(U41(X1, X2)) -> active#(X1))
        (active#(U33(X)) -> active#(X), active#(s(X)) -> active#(X))
        (active#(U33(X)) -> active#(X), active#(plus(X1, X2)) -> active#(X1))
        (active#(U33(X)) -> active#(X), active#(plus(X1, X2)) -> active#(X2))
        (active#(U33(X)) -> active#(X), active#(U51(X1, X2, X3)) -> active#(X1))
        (active#(U33(X)) -> active#(X), active#(U61(X)) -> active#(X))
        (active#(U33(X)) -> active#(X), active#(x(X1, X2)) -> active#(X1))
        (active#(U33(X)) -> active#(X), active#(x(X1, X2)) -> active#(X2))
        (active#(U33(X)) -> active#(X), active#(U71(X1, X2, X3)) -> active#(X1))
        (active#(U13(X)) -> active#(X), active#(U12(X1, X2)) -> active#(X1))
        (active#(U13(X)) -> active#(X), active#(U11(X1, X2, X3)) -> active#(X1))
        (active#(U13(X)) -> active#(X), active#(U13(X)) -> active#(X))
        (active#(U13(X)) -> active#(X), active#(U22(X)) -> active#(X))
        (active#(U13(X)) -> active#(X), active#(U21(X1, X2)) -> active#(X1))
        (active#(U13(X)) -> active#(X), active#(U32(X1, X2)) -> active#(X1))
        (active#(U13(X)) -> active#(X), active#(U31(X1, X2, X3)) -> active#(X1))
        (active#(U13(X)) -> active#(X), active#(U33(X)) -> active#(X))
        (active#(U13(X)) -> active#(X), active#(U41(X1, X2)) -> active#(X1))
        (active#(U13(X)) -> active#(X), active#(s(X)) -> active#(X))
        (active#(U13(X)) -> active#(X), active#(plus(X1, X2)) -> active#(X1))
        (active#(U13(X)) -> active#(X), active#(plus(X1, X2)) -> active#(X2))
        (active#(U13(X)) -> active#(X), active#(U51(X1, X2, X3)) -> active#(X1))
        (active#(U13(X)) -> active#(X), active#(U61(X)) -> active#(X))
        (active#(U13(X)) -> active#(X), active#(x(X1, X2)) -> active#(X1))
        (active#(U13(X)) -> active#(X), active#(x(X1, X2)) -> active#(X2))
        (active#(U13(X)) -> active#(X), active#(U71(X1, X2, X3)) -> active#(X1))
        (active#(x(X1, X2)) -> active#(X1), active#(U12(X1, X2)) -> active#(X1))
        (active#(x(X1, X2)) -> active#(X1), active#(U11(X1, X2, X3)) -> active#(X1))
        (active#(x(X1, X2)) -> active#(X1), active#(U13(X)) -> active#(X))
        (active#(x(X1, X2)) -> active#(X1), active#(U22(X)) -> active#(X))
        (active#(x(X1, X2)) -> active#(X1), active#(U21(X1, X2)) -> active#(X1))
        (active#(x(X1, X2)) -> active#(X1), active#(U32(X1, X2)) -> active#(X1))
        (active#(x(X1, X2)) -> active#(X1), active#(U31(X1, X2, X3)) -> active#(X1))
        (active#(x(X1, X2)) -> active#(X1), active#(U33(X)) -> active#(X))
        (active#(x(X1, X2)) -> active#(X1), active#(U41(X1, X2)) -> active#(X1))
        (active#(x(X1, X2)) -> active#(X1), active#(s(X)) -> active#(X))
        (active#(x(X1, X2)) -> active#(X1), active#(plus(X1, X2)) -> active#(X1))
        (active#(x(X1, X2)) -> active#(X1), active#(plus(X1, X2)) -> active#(X2))
        (active#(x(X1, X2)) -> active#(X1), active#(U51(X1, X2, X3)) -> active#(X1))
        (active#(x(X1, X2)) -> active#(X1), active#(U61(X)) -> active#(X))
        (active#(x(X1, X2)) -> active#(X1), active#(x(X1, X2)) -> active#(X1))
        (active#(x(X1, X2)) -> active#(X1), active#(x(X1, X2)) -> active#(X2))
        (active#(x(X1, X2)) -> active#(X1), active#(U71(X1, X2, X3)) -> active#(X1))
        (active#(plus(X1, X2)) -> active#(X1), active#(U12(X1, X2)) -> active#(X1))
        (active#(plus(X1, X2)) -> active#(X1), active#(U11(X1, X2, X3)) -> active#(X1))
        (active#(plus(X1, X2)) -> active#(X1), active#(U13(X)) -> active#(X))
        (active#(plus(X1, X2)) -> active#(X1), active#(U22(X)) -> active#(X))
        (active#(plus(X1, X2)) -> active#(X1), active#(U21(X1, X2)) -> active#(X1))
        (active#(plus(X1, X2)) -> active#(X1), active#(U32(X1, X2)) -> active#(X1))
        (active#(plus(X1, X2)) -> active#(X1), active#(U31(X1, X2, X3)) -> active#(X1))
        (active#(plus(X1, X2)) -> active#(X1), active#(U33(X)) -> active#(X))
        (active#(plus(X1, X2)) -> active#(X1), active#(U41(X1, X2)) -> active#(X1))
        (active#(plus(X1, X2)) -> active#(X1), active#(s(X)) -> active#(X))
        (active#(plus(X1, X2)) -> active#(X1), active#(plus(X1, X2)) -> active#(X1))
        (active#(plus(X1, X2)) -> active#(X1), active#(plus(X1, X2)) -> active#(X2))
        (active#(plus(X1, X2)) -> active#(X1), active#(U51(X1, X2, X3)) -> active#(X1))
        (active#(plus(X1, X2)) -> active#(X1), active#(U61(X)) -> active#(X))
        (active#(plus(X1, X2)) -> active#(X1), active#(x(X1, X2)) -> active#(X1))
        (active#(plus(X1, X2)) -> active#(X1), active#(x(X1, X2)) -> active#(X2))
        (active#(plus(X1, X2)) -> active#(X1), active#(U71(X1, X2, X3)) -> active#(X1))
        (active#(U31(X1, X2, X3)) -> active#(X1), active#(U12(X1, X2)) -> active#(X1))
        (active#(U31(X1, X2, X3)) -> active#(X1), active#(U11(X1, X2, X3)) -> active#(X1))
        (active#(U31(X1, X2, X3)) -> active#(X1), active#(U13(X)) -> active#(X))
        (active#(U31(X1, X2, X3)) -> active#(X1), active#(U22(X)) -> active#(X))
        (active#(U31(X1, X2, X3)) -> active#(X1), active#(U21(X1, X2)) -> active#(X1))
        (active#(U31(X1, X2, X3)) -> active#(X1), active#(U32(X1, X2)) -> active#(X1))
        (active#(U31(X1, X2, X3)) -> active#(X1), active#(U31(X1, X2, X3)) -> active#(X1))
        (active#(U31(X1, X2, X3)) -> active#(X1), active#(U33(X)) -> active#(X))
        (active#(U31(X1, X2, X3)) -> active#(X1), active#(U41(X1, X2)) -> active#(X1))
        (active#(U31(X1, X2, X3)) -> active#(X1), active#(s(X)) -> active#(X))
        (active#(U31(X1, X2, X3)) -> active#(X1), active#(plus(X1, X2)) -> active#(X1))
        (active#(U31(X1, X2, X3)) -> active#(X1), active#(plus(X1, X2)) -> active#(X2))
        (active#(U31(X1, X2, X3)) -> active#(X1), active#(U51(X1, X2, X3)) -> active#(X1))
        (active#(U31(X1, X2, X3)) -> active#(X1), active#(U61(X)) -> active#(X))
        (active#(U31(X1, X2, X3)) -> active#(X1), active#(x(X1, X2)) -> active#(X1))
        (active#(U31(X1, X2, X3)) -> active#(X1), active#(x(X1, X2)) -> active#(X2))
        (active#(U31(X1, X2, X3)) -> active#(X1), active#(U71(X1, X2, X3)) -> active#(X1))
        (active#(U21(X1, X2)) -> active#(X1), active#(U12(X1, X2)) -> active#(X1))
        (active#(U21(X1, X2)) -> active#(X1), active#(U11(X1, X2, X3)) -> active#(X1))
        (active#(U21(X1, X2)) -> active#(X1), active#(U13(X)) -> active#(X))
        (active#(U21(X1, X2)) -> active#(X1), active#(U22(X)) -> active#(X))
        (active#(U21(X1, X2)) -> active#(X1), active#(U21(X1, X2)) -> active#(X1))
        (active#(U21(X1, X2)) -> active#(X1), active#(U32(X1, X2)) -> active#(X1))
        (active#(U21(X1, X2)) -> active#(X1), active#(U31(X1, X2, X3)) -> active#(X1))
        (active#(U21(X1, X2)) -> active#(X1), active#(U33(X)) -> active#(X))
        (active#(U21(X1, X2)) -> active#(X1), active#(U41(X1, X2)) -> active#(X1))
        (active#(U21(X1, X2)) -> active#(X1), active#(s(X)) -> active#(X))
        (active#(U21(X1, X2)) -> active#(X1), active#(plus(X1, X2)) -> active#(X1))
        (active#(U21(X1, X2)) -> active#(X1), active#(plus(X1, X2)) -> active#(X2))
        (active#(U21(X1, X2)) -> active#(X1), active#(U51(X1, X2, X3)) -> active#(X1))
        (active#(U21(X1, X2)) -> active#(X1), active#(U61(X)) -> active#(X))
        (active#(U21(X1, X2)) -> active#(X1), active#(x(X1, X2)) -> active#(X1))
        (active#(U21(X1, X2)) -> active#(X1), active#(x(X1, X2)) -> active#(X2))
        (active#(U21(X1, X2)) -> active#(X1), active#(U71(X1, X2, X3)) -> active#(X1))
        (active#(U12(X1, X2)) -> active#(X1), active#(U12(X1, X2)) -> active#(X1))
        (active#(U12(X1, X2)) -> active#(X1), active#(U11(X1, X2, X3)) -> active#(X1))
        (active#(U12(X1, X2)) -> active#(X1), active#(U13(X)) -> active#(X))
        (active#(U12(X1, X2)) -> active#(X1), active#(U22(X)) -> active#(X))
        (active#(U12(X1, X2)) -> active#(X1), active#(U21(X1, X2)) -> active#(X1))
        (active#(U12(X1, X2)) -> active#(X1), active#(U32(X1, X2)) -> active#(X1))
        (active#(U12(X1, X2)) -> active#(X1), active#(U31(X1, X2, X3)) -> active#(X1))
        (active#(U12(X1, X2)) -> active#(X1), active#(U33(X)) -> active#(X))
        (active#(U12(X1, X2)) -> active#(X1), active#(U41(X1, X2)) -> active#(X1))
        (active#(U12(X1, X2)) -> active#(X1), active#(s(X)) -> active#(X))
        (active#(U12(X1, X2)) -> active#(X1), active#(plus(X1, X2)) -> active#(X1))
        (active#(U12(X1, X2)) -> active#(X1), active#(plus(X1, X2)) -> active#(X2))
        (active#(U12(X1, X2)) -> active#(X1), active#(U51(X1, X2, X3)) -> active#(X1))
        (active#(U12(X1, X2)) -> active#(X1), active#(U61(X)) -> active#(X))
        (active#(U12(X1, X2)) -> active#(X1), active#(x(X1, X2)) -> active#(X1))
        (active#(U12(X1, X2)) -> active#(X1), active#(x(X1, X2)) -> active#(X2))
        (active#(U12(X1, X2)) -> active#(X1), active#(U71(X1, X2, X3)) -> active#(X1))
        (active#(plus(X1, X2)) -> active#(X2), active#(U12(X1, X2)) -> active#(X1))
        (active#(plus(X1, X2)) -> active#(X2), active#(U11(X1, X2, X3)) -> active#(X1))
        (active#(plus(X1, X2)) -> active#(X2), active#(U13(X)) -> active#(X))
        (active#(plus(X1, X2)) -> active#(X2), active#(U22(X)) -> active#(X))
        (active#(plus(X1, X2)) -> active#(X2), active#(U21(X1, X2)) -> active#(X1))
        (active#(plus(X1, X2)) -> active#(X2), active#(U32(X1, X2)) -> active#(X1))
        (active#(plus(X1, X2)) -> active#(X2), active#(U31(X1, X2, X3)) -> active#(X1))
        (active#(plus(X1, X2)) -> active#(X2), active#(U33(X)) -> active#(X))
        (active#(plus(X1, X2)) -> active#(X2), active#(U41(X1, X2)) -> active#(X1))
        (active#(plus(X1, X2)) -> active#(X2), active#(s(X)) -> active#(X))
        (active#(plus(X1, X2)) -> active#(X2), active#(plus(X1, X2)) -> active#(X1))
        (active#(plus(X1, X2)) -> active#(X2), active#(plus(X1, X2)) -> active#(X2))
        (active#(plus(X1, X2)) -> active#(X2), active#(U51(X1, X2, X3)) -> active#(X1))
        (active#(plus(X1, X2)) -> active#(X2), active#(U61(X)) -> active#(X))
        (active#(plus(X1, X2)) -> active#(X2), active#(x(X1, X2)) -> active#(X1))
        (active#(plus(X1, X2)) -> active#(X2), active#(x(X1, X2)) -> active#(X2))
        (active#(plus(X1, X2)) -> active#(X2), active#(U71(X1, X2, X3)) -> active#(X1))
       }
       SCCS:
        Scc:
         {    active#(U12(X1, X2)) -> active#(X1),
          active#(U11(X1, X2, X3)) -> active#(X1),
                   active#(U13(X)) -> active#(X),
                   active#(U22(X)) -> active#(X),
              active#(U21(X1, X2)) -> active#(X1),
              active#(U32(X1, X2)) -> active#(X1),
          active#(U31(X1, X2, X3)) -> active#(X1),
                   active#(U33(X)) -> active#(X),
              active#(U41(X1, X2)) -> active#(X1),
                     active#(s(X)) -> active#(X),
             active#(plus(X1, X2)) -> active#(X1),
             active#(plus(X1, X2)) -> active#(X2),
          active#(U51(X1, X2, X3)) -> active#(X1),
                   active#(U61(X)) -> active#(X),
                active#(x(X1, X2)) -> active#(X1),
                active#(x(X1, X2)) -> active#(X2),
          active#(U71(X1, X2, X3)) -> active#(X1)}
        SCC:
         Strict:
          {    active#(U12(X1, X2)) -> active#(X1),
           active#(U11(X1, X2, X3)) -> active#(X1),
                    active#(U13(X)) -> active#(X),
                    active#(U22(X)) -> active#(X),
               active#(U21(X1, X2)) -> active#(X1),
               active#(U32(X1, X2)) -> active#(X1),
           active#(U31(X1, X2, X3)) -> active#(X1),
                    active#(U33(X)) -> active#(X),
               active#(U41(X1, X2)) -> active#(X1),
                      active#(s(X)) -> active#(X),
              active#(plus(X1, X2)) -> active#(X1),
              active#(plus(X1, X2)) -> active#(X2),
           active#(U51(X1, X2, X3)) -> active#(X1),
                    active#(U61(X)) -> active#(X),
                 active#(x(X1, X2)) -> active#(X1),
                 active#(x(X1, X2)) -> active#(X2),
           active#(U71(X1, X2, X3)) -> active#(X1)}
         Weak:
         {              U12(mark(X1), X2) -> mark(U12(X1, X2)),
                      U12(ok(X1), ok(X2)) -> ok(U12(X1, X2)),
                             isNat(ok(X)) -> ok(isNat(X)),
                      active(U12(X1, X2)) -> U12(active(X1), X2),
                    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(X1, X2, X3)) -> U11(active(X1), X2, X3),
                active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                           active(U13(X)) -> U13(active(X)),
                        active(U13(tt())) -> mark(tt()),
                           active(U22(X)) -> U22(active(X)),
                        active(U22(tt())) -> mark(tt()),
                      active(U21(X1, X2)) -> U21(active(X1), X2),
                    active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                      active(U32(X1, X2)) -> U32(active(X1), X2),
                    active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
                  active(U31(X1, X2, X3)) -> U31(active(X1), X2, X3),
                active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                           active(U33(X)) -> U33(active(X)),
                        active(U33(tt())) -> mark(tt()),
                      active(U41(X1, X2)) -> U41(active(X1), X2),
                     active(U41(tt(), N)) -> mark(N),
                             active(s(X)) -> s(active(X)),
                    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(plus(X1, X2)) -> plus(X1, active(X2)),
                     active(plus(X1, X2)) -> plus(active(X1), X2),
                  active(U51(X1, X2, X3)) -> U51(active(X1), X2, X3),
                  active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                           active(U61(X)) -> U61(active(X)),
                        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(x(X1, X2)) -> x(X1, active(X2)),
                        active(x(X1, X2)) -> x(active(X1), X2),
                  active(U71(X1, X2, X3)) -> U71(active(X1), X2, X3),
                  active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                      active(and(X1, X2)) -> and(active(X1), X2),
                     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(mark(X1), X2, X3) -> mark(U11(X1, X2, X3)),
              U11(ok(X1), ok(X2), ok(X3)) -> ok(U11(X1, X2, X3)),
                             U13(mark(X)) -> mark(U13(X)),
                               U13(ok(X)) -> ok(U13(X)),
                             U22(mark(X)) -> mark(U22(X)),
                               U22(ok(X)) -> ok(U22(X)),
                        U21(mark(X1), X2) -> mark(U21(X1, X2)),
                      U21(ok(X1), ok(X2)) -> ok(U21(X1, X2)),
                        U32(mark(X1), X2) -> mark(U32(X1, X2)),
                      U32(ok(X1), ok(X2)) -> ok(U32(X1, X2)),
                    U31(mark(X1), X2, X3) -> mark(U31(X1, X2, X3)),
              U31(ok(X1), ok(X2), ok(X3)) -> ok(U31(X1, X2, X3)),
                             U33(mark(X)) -> mark(U33(X)),
                               U33(ok(X)) -> ok(U33(X)),
                        U41(mark(X1), X2) -> mark(U41(X1, X2)),
                      U41(ok(X1), ok(X2)) -> ok(U41(X1, X2)),
                               s(mark(X)) -> mark(s(X)),
                                 s(ok(X)) -> ok(s(X)),
                       plus(X1, mark(X2)) -> mark(plus(X1, X2)),
                       plus(mark(X1), X2) -> mark(plus(X1, X2)),
                     plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)),
                    U51(mark(X1), X2, X3) -> mark(U51(X1, X2, X3)),
              U51(ok(X1), ok(X2), ok(X3)) -> ok(U51(X1, X2, X3)),
                             U61(mark(X)) -> mark(U61(X)),
                               U61(ok(X)) -> ok(U61(X)),
                          x(X1, mark(X2)) -> mark(x(X1, X2)),
                          x(mark(X1), X2) -> mark(x(X1, X2)),
                        x(ok(X1), ok(X2)) -> ok(x(X1, X2)),
                    U71(mark(X1), X2, X3) -> mark(U71(X1, X2, X3)),
              U71(ok(X1), ok(X2), ok(X3)) -> ok(U71(X1, X2, X3)),
                        and(mark(X1), X2) -> mark(and(X1, X2)),
                      and(ok(X1), ok(X2)) -> ok(and(X1, X2)),
                         isNatKind(ok(X)) -> ok(isNatKind(X)),
                      proper(U12(X1, X2)) -> U12(proper(X1), proper(X2)),
                         proper(isNat(X)) -> isNat(proper(X)),
                  proper(U11(X1, X2, X3)) -> U11(proper(X1), proper(X2), proper(X3)),
                             proper(tt()) -> ok(tt()),
                           proper(U13(X)) -> U13(proper(X)),
                           proper(U22(X)) -> U22(proper(X)),
                      proper(U21(X1, X2)) -> U21(proper(X1), proper(X2)),
                      proper(U32(X1, X2)) -> U32(proper(X1), proper(X2)),
                  proper(U31(X1, X2, X3)) -> U31(proper(X1), proper(X2), proper(X3)),
                           proper(U33(X)) -> U33(proper(X)),
                      proper(U41(X1, X2)) -> U41(proper(X1), proper(X2)),
                             proper(s(X)) -> s(proper(X)),
                     proper(plus(X1, X2)) -> plus(proper(X1), proper(X2)),
                  proper(U51(X1, X2, X3)) -> U51(proper(X1), proper(X2), proper(X3)),
                              proper(0()) -> ok(0()),
                           proper(U61(X)) -> U61(proper(X)),
                        proper(x(X1, X2)) -> x(proper(X1), proper(X2)),
                  proper(U71(X1, X2, X3)) -> U71(proper(X1), proper(X2), proper(X3)),
                      proper(and(X1, X2)) -> and(proper(X1), proper(X2)),
                     proper(isNatKind(X)) -> isNatKind(proper(X)),
                             top(mark(X)) -> top(proper(X)),
                               top(ok(X)) -> top(active(X))}
         SPSC:
          Simple Projection:
           pi(active#) = 0
          Strict:
           {    active#(U12(X1, X2)) -> active#(X1),
            active#(U11(X1, X2, X3)) -> active#(X1),
                     active#(U13(X)) -> active#(X),
                     active#(U22(X)) -> active#(X),
                active#(U21(X1, X2)) -> active#(X1),
                active#(U32(X1, X2)) -> active#(X1),
            active#(U31(X1, X2, X3)) -> active#(X1),
                     active#(U33(X)) -> active#(X),
                active#(U41(X1, X2)) -> active#(X1),
                       active#(s(X)) -> active#(X),
               active#(plus(X1, X2)) -> active#(X1),
               active#(plus(X1, X2)) -> active#(X2),
            active#(U51(X1, X2, X3)) -> active#(X1),
                     active#(U61(X)) -> active#(X),
                  active#(x(X1, X2)) -> active#(X1),
            active#(U71(X1, X2, X3)) -> active#(X1)}
          EDG:
           {
            (active#(U22(X)) -> active#(X), active#(U71(X1, X2, X3)) -> active#(X1))
            (active#(U22(X)) -> active#(X), active#(x(X1, X2)) -> active#(X1))
            (active#(U22(X)) -> active#(X), active#(U61(X)) -> active#(X))
            (active#(U22(X)) -> active#(X), active#(U51(X1, X2, X3)) -> active#(X1))
            (active#(U22(X)) -> active#(X), active#(plus(X1, X2)) -> active#(X2))
            (active#(U22(X)) -> active#(X), active#(plus(X1, X2)) -> active#(X1))
            (active#(U22(X)) -> active#(X), active#(s(X)) -> active#(X))
            (active#(U22(X)) -> active#(X), active#(U41(X1, X2)) -> active#(X1))
            (active#(U22(X)) -> active#(X), active#(U33(X)) -> active#(X))
            (active#(U22(X)) -> active#(X), active#(U31(X1, X2, X3)) -> active#(X1))
            (active#(U22(X)) -> active#(X), active#(U32(X1, X2)) -> active#(X1))
            (active#(U22(X)) -> active#(X), active#(U21(X1, X2)) -> active#(X1))
            (active#(U22(X)) -> active#(X), active#(U22(X)) -> active#(X))
            (active#(U22(X)) -> active#(X), active#(U13(X)) -> active#(X))
            (active#(U22(X)) -> active#(X), active#(U11(X1, X2, X3)) -> active#(X1))
            (active#(U22(X)) -> active#(X), active#(U12(X1, X2)) -> active#(X1))
            (active#(s(X)) -> active#(X), active#(U71(X1, X2, X3)) -> active#(X1))
            (active#(s(X)) -> active#(X), active#(x(X1, X2)) -> active#(X1))
            (active#(s(X)) -> active#(X), active#(U61(X)) -> active#(X))
            (active#(s(X)) -> active#(X), active#(U51(X1, X2, X3)) -> active#(X1))
            (active#(s(X)) -> active#(X), active#(plus(X1, X2)) -> active#(X2))
            (active#(s(X)) -> active#(X), active#(plus(X1, X2)) -> active#(X1))
            (active#(s(X)) -> active#(X), active#(s(X)) -> active#(X))
            (active#(s(X)) -> active#(X), active#(U41(X1, X2)) -> active#(X1))
            (active#(s(X)) -> active#(X), active#(U33(X)) -> active#(X))
            (active#(s(X)) -> active#(X), active#(U31(X1, X2, X3)) -> active#(X1))
            (active#(s(X)) -> active#(X), active#(U32(X1, X2)) -> active#(X1))
            (active#(s(X)) -> active#(X), active#(U21(X1, X2)) -> active#(X1))
            (active#(s(X)) -> active#(X), active#(U22(X)) -> active#(X))
            (active#(s(X)) -> active#(X), active#(U13(X)) -> active#(X))
            (active#(s(X)) -> active#(X), active#(U11(X1, X2, X3)) -> active#(X1))
            (active#(s(X)) -> active#(X), active#(U12(X1, X2)) -> active#(X1))
            (active#(U12(X1, X2)) -> active#(X1), active#(U71(X1, X2, X3)) -> active#(X1))
            (active#(U12(X1, X2)) -> active#(X1), active#(x(X1, X2)) -> active#(X1))
            (active#(U12(X1, X2)) -> active#(X1), active#(U61(X)) -> active#(X))
            (active#(U12(X1, X2)) -> active#(X1), active#(U51(X1, X2, X3)) -> active#(X1))
            (active#(U12(X1, X2)) -> active#(X1), active#(plus(X1, X2)) -> active#(X2))
            (active#(U12(X1, X2)) -> active#(X1), active#(plus(X1, X2)) -> active#(X1))
            (active#(U12(X1, X2)) -> active#(X1), active#(s(X)) -> active#(X))
            (active#(U12(X1, X2)) -> active#(X1), active#(U41(X1, X2)) -> active#(X1))
            (active#(U12(X1, X2)) -> active#(X1), active#(U33(X)) -> active#(X))
            (active#(U12(X1, X2)) -> active#(X1), active#(U31(X1, X2, X3)) -> active#(X1))
            (active#(U12(X1, X2)) -> active#(X1), active#(U32(X1, X2)) -> active#(X1))
            (active#(U12(X1, X2)) -> active#(X1), active#(U21(X1, X2)) -> active#(X1))
            (active#(U12(X1, X2)) -> active#(X1), active#(U22(X)) -> active#(X))
            (active#(U12(X1, X2)) -> active#(X1), active#(U13(X)) -> active#(X))
            (active#(U12(X1, X2)) -> active#(X1), active#(U11(X1, X2, X3)) -> active#(X1))
            (active#(U12(X1, X2)) -> active#(X1), active#(U12(X1, X2)) -> active#(X1))
            (active#(U21(X1, X2)) -> active#(X1), active#(U71(X1, X2, X3)) -> active#(X1))
            (active#(U21(X1, X2)) -> active#(X1), active#(x(X1, X2)) -> active#(X1))
            (active#(U21(X1, X2)) -> active#(X1), active#(U61(X)) -> active#(X))
            (active#(U21(X1, X2)) -> active#(X1), active#(U51(X1, X2, X3)) -> active#(X1))
            (active#(U21(X1, X2)) -> active#(X1), active#(plus(X1, X2)) -> active#(X2))
            (active#(U21(X1, X2)) -> active#(X1), active#(plus(X1, X2)) -> active#(X1))
            (active#(U21(X1, X2)) -> active#(X1), active#(s(X)) -> active#(X))
            (active#(U21(X1, X2)) -> active#(X1), active#(U41(X1, X2)) -> active#(X1))
            (active#(U21(X1, X2)) -> active#(X1), active#(U33(X)) -> active#(X))
            (active#(U21(X1, X2)) -> active#(X1), active#(U31(X1, X2, X3)) -> active#(X1))
            (active#(U21(X1, X2)) -> active#(X1), active#(U32(X1, X2)) -> active#(X1))
            (active#(U21(X1, X2)) -> active#(X1), active#(U21(X1, X2)) -> active#(X1))
            (active#(U21(X1, X2)) -> active#(X1), active#(U22(X)) -> active#(X))
            (active#(U21(X1, X2)) -> active#(X1), active#(U13(X)) -> active#(X))
            (active#(U21(X1, X2)) -> active#(X1), active#(U11(X1, X2, X3)) -> active#(X1))
            (active#(U21(X1, X2)) -> active#(X1), active#(U12(X1, X2)) -> active#(X1))
            (active#(U31(X1, X2, X3)) -> active#(X1), active#(U71(X1, X2, X3)) -> active#(X1))
            (active#(U31(X1, X2, X3)) -> active#(X1), active#(x(X1, X2)) -> active#(X1))
            (active#(U31(X1, X2, X3)) -> active#(X1), active#(U61(X)) -> active#(X))
            (active#(U31(X1, X2, X3)) -> active#(X1), active#(U51(X1, X2, X3)) -> active#(X1))
            (active#(U31(X1, X2, X3)) -> active#(X1), active#(plus(X1, X2)) -> active#(X2))
            (active#(U31(X1, X2, X3)) -> active#(X1), active#(plus(X1, X2)) -> active#(X1))
            (active#(U31(X1, X2, X3)) -> active#(X1), active#(s(X)) -> active#(X))
            (active#(U31(X1, X2, X3)) -> active#(X1), active#(U41(X1, X2)) -> active#(X1))
            (active#(U31(X1, X2, X3)) -> active#(X1), active#(U33(X)) -> active#(X))
            (active#(U31(X1, X2, X3)) -> active#(X1), active#(U31(X1, X2, X3)) -> active#(X1))
            (active#(U31(X1, X2, X3)) -> active#(X1), active#(U32(X1, X2)) -> active#(X1))
            (active#(U31(X1, X2, X3)) -> active#(X1), active#(U21(X1, X2)) -> active#(X1))
            (active#(U31(X1, X2, X3)) -> active#(X1), active#(U22(X)) -> active#(X))
            (active#(U31(X1, X2, X3)) -> active#(X1), active#(U13(X)) -> active#(X))
            (active#(U31(X1, X2, X3)) -> active#(X1), active#(U11(X1, X2, X3)) -> active#(X1))
            (active#(U31(X1, X2, X3)) -> active#(X1), active#(U12(X1, X2)) -> active#(X1))
            (active#(plus(X1, X2)) -> active#(X1), active#(U71(X1, X2, X3)) -> active#(X1))
            (active#(plus(X1, X2)) -> active#(X1), active#(x(X1, X2)) -> active#(X1))
            (active#(plus(X1, X2)) -> active#(X1), active#(U61(X)) -> active#(X))
            (active#(plus(X1, X2)) -> active#(X1), active#(U51(X1, X2, X3)) -> active#(X1))
            (active#(plus(X1, X2)) -> active#(X1), active#(plus(X1, X2)) -> active#(X2))
            (active#(plus(X1, X2)) -> active#(X1), active#(plus(X1, X2)) -> active#(X1))
            (active#(plus(X1, X2)) -> active#(X1), active#(s(X)) -> active#(X))
            (active#(plus(X1, X2)) -> active#(X1), active#(U41(X1, X2)) -> active#(X1))
            (active#(plus(X1, X2)) -> active#(X1), active#(U33(X)) -> active#(X))
            (active#(plus(X1, X2)) -> active#(X1), active#(U31(X1, X2, X3)) -> active#(X1))
            (active#(plus(X1, X2)) -> active#(X1), active#(U32(X1, X2)) -> active#(X1))
            (active#(plus(X1, X2)) -> active#(X1), active#(U21(X1, X2)) -> active#(X1))
            (active#(plus(X1, X2)) -> active#(X1), active#(U22(X)) -> active#(X))
            (active#(plus(X1, X2)) -> active#(X1), active#(U13(X)) -> active#(X))
            (active#(plus(X1, X2)) -> active#(X1), active#(U11(X1, X2, X3)) -> active#(X1))
            (active#(plus(X1, X2)) -> active#(X1), active#(U12(X1, X2)) -> active#(X1))
            (active#(x(X1, X2)) -> active#(X1), active#(U71(X1, X2, X3)) -> active#(X1))
            (active#(x(X1, X2)) -> active#(X1), active#(x(X1, X2)) -> active#(X1))
            (active#(x(X1, X2)) -> active#(X1), active#(U61(X)) -> active#(X))
            (active#(x(X1, X2)) -> active#(X1), active#(U51(X1, X2, X3)) -> active#(X1))
            (active#(x(X1, X2)) -> active#(X1), active#(plus(X1, X2)) -> active#(X2))
            (active#(x(X1, X2)) -> active#(X1), active#(plus(X1, X2)) -> active#(X1))
            (active#(x(X1, X2)) -> active#(X1), active#(s(X)) -> active#(X))
            (active#(x(X1, X2)) -> active#(X1), active#(U41(X1, X2)) -> active#(X1))
            (active#(x(X1, X2)) -> active#(X1), active#(U33(X)) -> active#(X))
            (active#(x(X1, X2)) -> active#(X1), active#(U31(X1, X2, X3)) -> active#(X1))
            (active#(x(X1, X2)) -> active#(X1), active#(U32(X1, X2)) -> active#(X1))
            (active#(x(X1, X2)) -> active#(X1), active#(U21(X1, X2)) -> active#(X1))
            (active#(x(X1, X2)) -> active#(X1), active#(U22(X)) -> active#(X))
            (active#(x(X1, X2)) -> active#(X1), active#(U13(X)) -> active#(X))
            (active#(x(X1, X2)) -> active#(X1), active#(U11(X1, X2, X3)) -> active#(X1))
            (active#(x(X1, X2)) -> active#(X1), active#(U12(X1, X2)) -> active#(X1))
            (active#(plus(X1, X2)) -> active#(X2), active#(U71(X1, X2, X3)) -> active#(X1))
            (active#(plus(X1, X2)) -> active#(X2), active#(x(X1, X2)) -> active#(X1))
            (active#(plus(X1, X2)) -> active#(X2), active#(U61(X)) -> active#(X))
            (active#(plus(X1, X2)) -> active#(X2), active#(U51(X1, X2, X3)) -> active#(X1))
            (active#(plus(X1, X2)) -> active#(X2), active#(plus(X1, X2)) -> active#(X2))
            (active#(plus(X1, X2)) -> active#(X2), active#(plus(X1, X2)) -> active#(X1))
            (active#(plus(X1, X2)) -> active#(X2), active#(s(X)) -> active#(X))
            (active#(plus(X1, X2)) -> active#(X2), active#(U41(X1, X2)) -> active#(X1))
            (active#(plus(X1, X2)) -> active#(X2), active#(U33(X)) -> active#(X))
            (active#(plus(X1, X2)) -> active#(X2), active#(U31(X1, X2, X3)) -> active#(X1))
            (active#(plus(X1, X2)) -> active#(X2), active#(U32(X1, X2)) -> active#(X1))
            (active#(plus(X1, X2)) -> active#(X2), active#(U21(X1, X2)) -> active#(X1))
            (active#(plus(X1, X2)) -> active#(X2), active#(U22(X)) -> active#(X))
            (active#(plus(X1, X2)) -> active#(X2), active#(U13(X)) -> active#(X))
            (active#(plus(X1, X2)) -> active#(X2), active#(U11(X1, X2, X3)) -> active#(X1))
            (active#(plus(X1, X2)) -> active#(X2), active#(U12(X1, X2)) -> active#(X1))
            (active#(U71(X1, X2, X3)) -> active#(X1), active#(U12(X1, X2)) -> active#(X1))
            (active#(U71(X1, X2, X3)) -> active#(X1), active#(U11(X1, X2, X3)) -> active#(X1))
            (active#(U71(X1, X2, X3)) -> active#(X1), active#(U13(X)) -> active#(X))
            (active#(U71(X1, X2, X3)) -> active#(X1), active#(U22(X)) -> active#(X))
            (active#(U71(X1, X2, X3)) -> active#(X1), active#(U21(X1, X2)) -> active#(X1))
            (active#(U71(X1, X2, X3)) -> active#(X1), active#(U32(X1, X2)) -> active#(X1))
            (active#(U71(X1, X2, X3)) -> active#(X1), active#(U31(X1, X2, X3)) -> active#(X1))
            (active#(U71(X1, X2, X3)) -> active#(X1), active#(U33(X)) -> active#(X))
            (active#(U71(X1, X2, X3)) -> active#(X1), active#(U41(X1, X2)) -> active#(X1))
            (active#(U71(X1, X2, X3)) -> active#(X1), active#(s(X)) -> active#(X))
            (active#(U71(X1, X2, X3)) -> active#(X1), active#(plus(X1, X2)) -> active#(X1))
            (active#(U71(X1, X2, X3)) -> active#(X1), active#(plus(X1, X2)) -> active#(X2))
            (active#(U71(X1, X2, X3)) -> active#(X1), active#(U51(X1, X2, X3)) -> active#(X1))
            (active#(U71(X1, X2, X3)) -> active#(X1), active#(U61(X)) -> active#(X))
            (active#(U71(X1, X2, X3)) -> active#(X1), active#(x(X1, X2)) -> active#(X1))
            (active#(U71(X1, X2, X3)) -> active#(X1), active#(U71(X1, X2, X3)) -> active#(X1))
            (active#(U51(X1, X2, X3)) -> active#(X1), active#(U12(X1, X2)) -> active#(X1))
            (active#(U51(X1, X2, X3)) -> active#(X1), active#(U11(X1, X2, X3)) -> active#(X1))
            (active#(U51(X1, X2, X3)) -> active#(X1), active#(U13(X)) -> active#(X))
            (active#(U51(X1, X2, X3)) -> active#(X1), active#(U22(X)) -> active#(X))
            (active#(U51(X1, X2, X3)) -> active#(X1), active#(U21(X1, X2)) -> active#(X1))
            (active#(U51(X1, X2, X3)) -> active#(X1), active#(U32(X1, X2)) -> active#(X1))
            (active#(U51(X1, X2, X3)) -> active#(X1), active#(U31(X1, X2, X3)) -> active#(X1))
            (active#(U51(X1, X2, X3)) -> active#(X1), active#(U33(X)) -> active#(X))
            (active#(U51(X1, X2, X3)) -> active#(X1), active#(U41(X1, X2)) -> active#(X1))
            (active#(U51(X1, X2, X3)) -> active#(X1), active#(s(X)) -> active#(X))
            (active#(U51(X1, X2, X3)) -> active#(X1), active#(plus(X1, X2)) -> active#(X1))
            (active#(U51(X1, X2, X3)) -> active#(X1), active#(plus(X1, X2)) -> active#(X2))
            (active#(U51(X1, X2, X3)) -> active#(X1), active#(U51(X1, X2, X3)) -> active#(X1))
            (active#(U51(X1, X2, X3)) -> active#(X1), active#(U61(X)) -> active#(X))
            (active#(U51(X1, X2, X3)) -> active#(X1), active#(x(X1, X2)) -> active#(X1))
            (active#(U51(X1, X2, X3)) -> active#(X1), active#(U71(X1, X2, X3)) -> active#(X1))
            (active#(U41(X1, X2)) -> active#(X1), active#(U12(X1, X2)) -> active#(X1))
            (active#(U41(X1, X2)) -> active#(X1), active#(U11(X1, X2, X3)) -> active#(X1))
            (active#(U41(X1, X2)) -> active#(X1), active#(U13(X)) -> active#(X))
            (active#(U41(X1, X2)) -> active#(X1), active#(U22(X)) -> active#(X))
            (active#(U41(X1, X2)) -> active#(X1), active#(U21(X1, X2)) -> active#(X1))
            (active#(U41(X1, X2)) -> active#(X1), active#(U32(X1, X2)) -> active#(X1))
            (active#(U41(X1, X2)) -> active#(X1), active#(U31(X1, X2, X3)) -> active#(X1))
            (active#(U41(X1, X2)) -> active#(X1), active#(U33(X)) -> active#(X))
            (active#(U41(X1, X2)) -> active#(X1), active#(U41(X1, X2)) -> active#(X1))
            (active#(U41(X1, X2)) -> active#(X1), active#(s(X)) -> active#(X))
            (active#(U41(X1, X2)) -> active#(X1), active#(plus(X1, X2)) -> active#(X1))
            (active#(U41(X1, X2)) -> active#(X1), active#(plus(X1, X2)) -> active#(X2))
            (active#(U41(X1, X2)) -> active#(X1), active#(U51(X1, X2, X3)) -> active#(X1))
            (active#(U41(X1, X2)) -> active#(X1), active#(U61(X)) -> active#(X))
            (active#(U41(X1, X2)) -> active#(X1), active#(x(X1, X2)) -> active#(X1))
            (active#(U41(X1, X2)) -> active#(X1), active#(U71(X1, X2, X3)) -> active#(X1))
            (active#(U32(X1, X2)) -> active#(X1), active#(U12(X1, X2)) -> active#(X1))
            (active#(U32(X1, X2)) -> active#(X1), active#(U11(X1, X2, X3)) -> active#(X1))
            (active#(U32(X1, X2)) -> active#(X1), active#(U13(X)) -> active#(X))
            (active#(U32(X1, X2)) -> active#(X1), active#(U22(X)) -> active#(X))
            (active#(U32(X1, X2)) -> active#(X1), active#(U21(X1, X2)) -> active#(X1))
            (active#(U32(X1, X2)) -> active#(X1), active#(U32(X1, X2)) -> active#(X1))
            (active#(U32(X1, X2)) -> active#(X1), active#(U31(X1, X2, X3)) -> active#(X1))
            (active#(U32(X1, X2)) -> active#(X1), active#(U33(X)) -> active#(X))
            (active#(U32(X1, X2)) -> active#(X1), active#(U41(X1, X2)) -> active#(X1))
            (active#(U32(X1, X2)) -> active#(X1), active#(s(X)) -> active#(X))
            (active#(U32(X1, X2)) -> active#(X1), active#(plus(X1, X2)) -> active#(X1))
            (active#(U32(X1, X2)) -> active#(X1), active#(plus(X1, X2)) -> active#(X2))
            (active#(U32(X1, X2)) -> active#(X1), active#(U51(X1, X2, X3)) -> active#(X1))
            (active#(U32(X1, X2)) -> active#(X1), active#(U61(X)) -> active#(X))
            (active#(U32(X1, X2)) -> active#(X1), active#(x(X1, X2)) -> active#(X1))
            (active#(U32(X1, X2)) -> active#(X1), active#(U71(X1, X2, X3)) -> active#(X1))
            (active#(U11(X1, X2, X3)) -> active#(X1), active#(U12(X1, X2)) -> active#(X1))
            (active#(U11(X1, X2, X3)) -> active#(X1), active#(U11(X1, X2, X3)) -> active#(X1))
            (active#(U11(X1, X2, X3)) -> active#(X1), active#(U13(X)) -> active#(X))
            (active#(U11(X1, X2, X3)) -> active#(X1), active#(U22(X)) -> active#(X))
            (active#(U11(X1, X2, X3)) -> active#(X1), active#(U21(X1, X2)) -> active#(X1))
            (active#(U11(X1, X2, X3)) -> active#(X1), active#(U32(X1, X2)) -> active#(X1))
            (active#(U11(X1, X2, X3)) -> active#(X1), active#(U31(X1, X2, X3)) -> active#(X1))
            (active#(U11(X1, X2, X3)) -> active#(X1), active#(U33(X)) -> active#(X))
            (active#(U11(X1, X2, X3)) -> active#(X1), active#(U41(X1, X2)) -> active#(X1))
            (active#(U11(X1, X2, X3)) -> active#(X1), active#(s(X)) -> active#(X))
            (active#(U11(X1, X2, X3)) -> active#(X1), active#(plus(X1, X2)) -> active#(X1))
            (active#(U11(X1, X2, X3)) -> active#(X1), active#(plus(X1, X2)) -> active#(X2))
            (active#(U11(X1, X2, X3)) -> active#(X1), active#(U51(X1, X2, X3)) -> active#(X1))
            (active#(U11(X1, X2, X3)) -> active#(X1), active#(U61(X)) -> active#(X))
            (active#(U11(X1, X2, X3)) -> active#(X1), active#(x(X1, X2)) -> active#(X1))
            (active#(U11(X1, X2, X3)) -> active#(X1), active#(U71(X1, X2, X3)) -> active#(X1))
            (active#(U61(X)) -> active#(X), active#(U12(X1, X2)) -> active#(X1))
            (active#(U61(X)) -> active#(X), active#(U11(X1, X2, X3)) -> active#(X1))
            (active#(U61(X)) -> active#(X), active#(U13(X)) -> active#(X))
            (active#(U61(X)) -> active#(X), active#(U22(X)) -> active#(X))
            (active#(U61(X)) -> active#(X), active#(U21(X1, X2)) -> active#(X1))
            (active#(U61(X)) -> active#(X), active#(U32(X1, X2)) -> active#(X1))
            (active#(U61(X)) -> active#(X), active#(U31(X1, X2, X3)) -> active#(X1))
            (active#(U61(X)) -> active#(X), active#(U33(X)) -> active#(X))
            (active#(U61(X)) -> active#(X), active#(U41(X1, X2)) -> active#(X1))
            (active#(U61(X)) -> active#(X), active#(s(X)) -> active#(X))
            (active#(U61(X)) -> active#(X), active#(plus(X1, X2)) -> active#(X1))
            (active#(U61(X)) -> active#(X), active#(plus(X1, X2)) -> active#(X2))
            (active#(U61(X)) -> active#(X), active#(U51(X1, X2, X3)) -> active#(X1))
            (active#(U61(X)) -> active#(X), active#(U61(X)) -> active#(X))
            (active#(U61(X)) -> active#(X), active#(x(X1, X2)) -> active#(X1))
            (active#(U61(X)) -> active#(X), active#(U71(X1, X2, X3)) -> active#(X1))
            (active#(U33(X)) -> active#(X), active#(U12(X1, X2)) -> active#(X1))
            (active#(U33(X)) -> active#(X), active#(U11(X1, X2, X3)) -> active#(X1))
            (active#(U33(X)) -> active#(X), active#(U13(X)) -> active#(X))
            (active#(U33(X)) -> active#(X), active#(U22(X)) -> active#(X))
            (active#(U33(X)) -> active#(X), active#(U21(X1, X2)) -> active#(X1))
            (active#(U33(X)) -> active#(X), active#(U32(X1, X2)) -> active#(X1))
            (active#(U33(X)) -> active#(X), active#(U31(X1, X2, X3)) -> active#(X1))
            (active#(U33(X)) -> active#(X), active#(U33(X)) -> active#(X))
            (active#(U33(X)) -> active#(X), active#(U41(X1, X2)) -> active#(X1))
            (active#(U33(X)) -> active#(X), active#(s(X)) -> active#(X))
            (active#(U33(X)) -> active#(X), active#(plus(X1, X2)) -> active#(X1))
            (active#(U33(X)) -> active#(X), active#(plus(X1, X2)) -> active#(X2))
            (active#(U33(X)) -> active#(X), active#(U51(X1, X2, X3)) -> active#(X1))
            (active#(U33(X)) -> active#(X), active#(U61(X)) -> active#(X))
            (active#(U33(X)) -> active#(X), active#(x(X1, X2)) -> active#(X1))
            (active#(U33(X)) -> active#(X), active#(U71(X1, X2, X3)) -> active#(X1))
            (active#(U13(X)) -> active#(X), active#(U12(X1, X2)) -> active#(X1))
            (active#(U13(X)) -> active#(X), active#(U11(X1, X2, X3)) -> active#(X1))
            (active#(U13(X)) -> active#(X), active#(U13(X)) -> active#(X))
            (active#(U13(X)) -> active#(X), active#(U22(X)) -> active#(X))
            (active#(U13(X)) -> active#(X), active#(U21(X1, X2)) -> active#(X1))
            (active#(U13(X)) -> active#(X), active#(U32(X1, X2)) -> active#(X1))
            (active#(U13(X)) -> active#(X), active#(U31(X1, X2, X3)) -> active#(X1))
            (active#(U13(X)) -> active#(X), active#(U33(X)) -> active#(X))
            (active#(U13(X)) -> active#(X), active#(U41(X1, X2)) -> active#(X1))
            (active#(U13(X)) -> active#(X), active#(s(X)) -> active#(X))
            (active#(U13(X)) -> active#(X), active#(plus(X1, X2)) -> active#(X1))
            (active#(U13(X)) -> active#(X), active#(plus(X1, X2)) -> active#(X2))
            (active#(U13(X)) -> active#(X), active#(U51(X1, X2, X3)) -> active#(X1))
            (active#(U13(X)) -> active#(X), active#(U61(X)) -> active#(X))
            (active#(U13(X)) -> active#(X), active#(x(X1, X2)) -> active#(X1))
            (active#(U13(X)) -> active#(X), active#(U71(X1, X2, X3)) -> active#(X1))
           }
           SCCS:
            Scc:
             {    active#(U12(X1, X2)) -> active#(X1),
              active#(U11(X1, X2, X3)) -> active#(X1),
                       active#(U13(X)) -> active#(X),
                       active#(U22(X)) -> active#(X),
                  active#(U21(X1, X2)) -> active#(X1),
                  active#(U32(X1, X2)) -> active#(X1),
              active#(U31(X1, X2, X3)) -> active#(X1),
                       active#(U33(X)) -> active#(X),
                  active#(U41(X1, X2)) -> active#(X1),
                         active#(s(X)) -> active#(X),
                 active#(plus(X1, X2)) -> active#(X1),
                 active#(plus(X1, X2)) -> active#(X2),
              active#(U51(X1, X2, X3)) -> active#(X1),
                       active#(U61(X)) -> active#(X),
                    active#(x(X1, X2)) -> active#(X1),
              active#(U71(X1, X2, X3)) -> active#(X1)}
            SCC:
             Strict:
              {    active#(U12(X1, X2)) -> active#(X1),
               active#(U11(X1, X2, X3)) -> active#(X1),
                        active#(U13(X)) -> active#(X),
                        active#(U22(X)) -> active#(X),
                   active#(U21(X1, X2)) -> active#(X1),
                   active#(U32(X1, X2)) -> active#(X1),
               active#(U31(X1, X2, X3)) -> active#(X1),
                        active#(U33(X)) -> active#(X),
                   active#(U41(X1, X2)) -> active#(X1),
                          active#(s(X)) -> active#(X),
                  active#(plus(X1, X2)) -> active#(X1),
                  active#(plus(X1, X2)) -> active#(X2),
               active#(U51(X1, X2, X3)) -> active#(X1),
                        active#(U61(X)) -> active#(X),
                     active#(x(X1, X2)) -> active#(X1),
               active#(U71(X1, X2, X3)) -> active#(X1)}
             Weak:
             {              U12(mark(X1), X2) -> mark(U12(X1, X2)),
                          U12(ok(X1), ok(X2)) -> ok(U12(X1, X2)),
                                 isNat(ok(X)) -> ok(isNat(X)),
                          active(U12(X1, X2)) -> U12(active(X1), X2),
                        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(X1, X2, X3)) -> U11(active(X1), X2, X3),
                    active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                               active(U13(X)) -> U13(active(X)),
                            active(U13(tt())) -> mark(tt()),
                               active(U22(X)) -> U22(active(X)),
                            active(U22(tt())) -> mark(tt()),
                          active(U21(X1, X2)) -> U21(active(X1), X2),
                        active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                          active(U32(X1, X2)) -> U32(active(X1), X2),
                        active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
                      active(U31(X1, X2, X3)) -> U31(active(X1), X2, X3),
                    active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                               active(U33(X)) -> U33(active(X)),
                            active(U33(tt())) -> mark(tt()),
                          active(U41(X1, X2)) -> U41(active(X1), X2),
                         active(U41(tt(), N)) -> mark(N),
                                 active(s(X)) -> s(active(X)),
                        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(plus(X1, X2)) -> plus(X1, active(X2)),
                         active(plus(X1, X2)) -> plus(active(X1), X2),
                      active(U51(X1, X2, X3)) -> U51(active(X1), X2, X3),
                      active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                               active(U61(X)) -> U61(active(X)),
                            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(x(X1, X2)) -> x(X1, active(X2)),
                            active(x(X1, X2)) -> x(active(X1), X2),
                      active(U71(X1, X2, X3)) -> U71(active(X1), X2, X3),
                      active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                          active(and(X1, X2)) -> and(active(X1), X2),
                         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(mark(X1), X2, X3) -> mark(U11(X1, X2, X3)),
                  U11(ok(X1), ok(X2), ok(X3)) -> ok(U11(X1, X2, X3)),
                                 U13(mark(X)) -> mark(U13(X)),
                                   U13(ok(X)) -> ok(U13(X)),
                                 U22(mark(X)) -> mark(U22(X)),
                                   U22(ok(X)) -> ok(U22(X)),
                            U21(mark(X1), X2) -> mark(U21(X1, X2)),
                          U21(ok(X1), ok(X2)) -> ok(U21(X1, X2)),
                            U32(mark(X1), X2) -> mark(U32(X1, X2)),
                          U32(ok(X1), ok(X2)) -> ok(U32(X1, X2)),
                        U31(mark(X1), X2, X3) -> mark(U31(X1, X2, X3)),
                  U31(ok(X1), ok(X2), ok(X3)) -> ok(U31(X1, X2, X3)),
                                 U33(mark(X)) -> mark(U33(X)),
                                   U33(ok(X)) -> ok(U33(X)),
                            U41(mark(X1), X2) -> mark(U41(X1, X2)),
                          U41(ok(X1), ok(X2)) -> ok(U41(X1, X2)),
                                   s(mark(X)) -> mark(s(X)),
                                     s(ok(X)) -> ok(s(X)),
                           plus(X1, mark(X2)) -> mark(plus(X1, X2)),
                           plus(mark(X1), X2) -> mark(plus(X1, X2)),
                         plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)),
                        U51(mark(X1), X2, X3) -> mark(U51(X1, X2, X3)),
                  U51(ok(X1), ok(X2), ok(X3)) -> ok(U51(X1, X2, X3)),
                                 U61(mark(X)) -> mark(U61(X)),
                                   U61(ok(X)) -> ok(U61(X)),
                              x(X1, mark(X2)) -> mark(x(X1, X2)),
                              x(mark(X1), X2) -> mark(x(X1, X2)),
                            x(ok(X1), ok(X2)) -> ok(x(X1, X2)),
                        U71(mark(X1), X2, X3) -> mark(U71(X1, X2, X3)),
                  U71(ok(X1), ok(X2), ok(X3)) -> ok(U71(X1, X2, X3)),
                            and(mark(X1), X2) -> mark(and(X1, X2)),
                          and(ok(X1), ok(X2)) -> ok(and(X1, X2)),
                             isNatKind(ok(X)) -> ok(isNatKind(X)),
                          proper(U12(X1, X2)) -> U12(proper(X1), proper(X2)),
                             proper(isNat(X)) -> isNat(proper(X)),
                      proper(U11(X1, X2, X3)) -> U11(proper(X1), proper(X2), proper(X3)),
                                 proper(tt()) -> ok(tt()),
                               proper(U13(X)) -> U13(proper(X)),
                               proper(U22(X)) -> U22(proper(X)),
                          proper(U21(X1, X2)) -> U21(proper(X1), proper(X2)),
                          proper(U32(X1, X2)) -> U32(proper(X1), proper(X2)),
                      proper(U31(X1, X2, X3)) -> U31(proper(X1), proper(X2), proper(X3)),
                               proper(U33(X)) -> U33(proper(X)),
                          proper(U41(X1, X2)) -> U41(proper(X1), proper(X2)),
                                 proper(s(X)) -> s(proper(X)),
                         proper(plus(X1, X2)) -> plus(proper(X1), proper(X2)),
                      proper(U51(X1, X2, X3)) -> U51(proper(X1), proper(X2), proper(X3)),
                                  proper(0()) -> ok(0()),
                               proper(U61(X)) -> U61(proper(X)),
                            proper(x(X1, X2)) -> x(proper(X1), proper(X2)),
                      proper(U71(X1, X2, X3)) -> U71(proper(X1), proper(X2), proper(X3)),
                          proper(and(X1, X2)) -> and(proper(X1), proper(X2)),
                         proper(isNatKind(X)) -> isNatKind(proper(X)),
                                 top(mark(X)) -> top(proper(X)),
                                   top(ok(X)) -> top(active(X))}
             SPSC:
              Simple Projection:
               pi(active#) = 0
              Strict:
               {    active#(U12(X1, X2)) -> active#(X1),
                active#(U11(X1, X2, X3)) -> active#(X1),
                         active#(U13(X)) -> active#(X),
                         active#(U22(X)) -> active#(X),
                    active#(U21(X1, X2)) -> active#(X1),
                    active#(U32(X1, X2)) -> active#(X1),
                active#(U31(X1, X2, X3)) -> active#(X1),
                         active#(U33(X)) -> active#(X),
                    active#(U41(X1, X2)) -> active#(X1),
                           active#(s(X)) -> active#(X),
                   active#(plus(X1, X2)) -> active#(X1),
                active#(U51(X1, X2, X3)) -> active#(X1),
                         active#(U61(X)) -> active#(X),
                      active#(x(X1, X2)) -> active#(X1),
                active#(U71(X1, X2, X3)) -> active#(X1)}
              EDG:
               {
                (active#(U11(X1, X2, X3)) -> active#(X1), active#(U71(X1, X2, X3)) -> active#(X1))
                (active#(U11(X1, X2, X3)) -> active#(X1), active#(x(X1, X2)) -> active#(X1))
                (active#(U11(X1, X2, X3)) -> active#(X1), active#(U61(X)) -> active#(X))
                (active#(U11(X1, X2, X3)) -> active#(X1), active#(U51(X1, X2, X3)) -> active#(X1))
                (active#(U11(X1, X2, X3)) -> active#(X1), active#(plus(X1, X2)) -> active#(X1))
                (active#(U11(X1, X2, X3)) -> active#(X1), active#(s(X)) -> active#(X))
                (active#(U11(X1, X2, X3)) -> active#(X1), active#(U41(X1, X2)) -> active#(X1))
                (active#(U11(X1, X2, X3)) -> active#(X1), active#(U33(X)) -> active#(X))
                (active#(U11(X1, X2, X3)) -> active#(X1), active#(U31(X1, X2, X3)) -> active#(X1))
                (active#(U11(X1, X2, X3)) -> active#(X1), active#(U32(X1, X2)) -> active#(X1))
                (active#(U11(X1, X2, X3)) -> active#(X1), active#(U21(X1, X2)) -> active#(X1))
                (active#(U11(X1, X2, X3)) -> active#(X1), active#(U22(X)) -> active#(X))
                (active#(U11(X1, X2, X3)) -> active#(X1), active#(U13(X)) -> active#(X))
                (active#(U11(X1, X2, X3)) -> active#(X1), active#(U11(X1, X2, X3)) -> active#(X1))
                (active#(U11(X1, X2, X3)) -> active#(X1), active#(U12(X1, X2)) -> active#(X1))
                (active#(U32(X1, X2)) -> active#(X1), active#(U71(X1, X2, X3)) -> active#(X1))
                (active#(U32(X1, X2)) -> active#(X1), active#(x(X1, X2)) -> active#(X1))
                (active#(U32(X1, X2)) -> active#(X1), active#(U61(X)) -> active#(X))
                (active#(U32(X1, X2)) -> active#(X1), active#(U51(X1, X2, X3)) -> active#(X1))
                (active#(U32(X1, X2)) -> active#(X1), active#(plus(X1, X2)) -> active#(X1))
                (active#(U32(X1, X2)) -> active#(X1), active#(s(X)) -> active#(X))
                (active#(U32(X1, X2)) -> active#(X1), active#(U41(X1, X2)) -> active#(X1))
                (active#(U32(X1, X2)) -> active#(X1), active#(U33(X)) -> active#(X))
                (active#(U32(X1, X2)) -> active#(X1), active#(U31(X1, X2, X3)) -> active#(X1))
                (active#(U32(X1, X2)) -> active#(X1), active#(U32(X1, X2)) -> active#(X1))
                (active#(U32(X1, X2)) -> active#(X1), active#(U21(X1, X2)) -> active#(X1))
                (active#(U32(X1, X2)) -> active#(X1), active#(U22(X)) -> active#(X))
                (active#(U32(X1, X2)) -> active#(X1), active#(U13(X)) -> active#(X))
                (active#(U32(X1, X2)) -> active#(X1), active#(U11(X1, X2, X3)) -> active#(X1))
                (active#(U32(X1, X2)) -> active#(X1), active#(U12(X1, X2)) -> active#(X1))
                (active#(U41(X1, X2)) -> active#(X1), active#(U71(X1, X2, X3)) -> active#(X1))
                (active#(U41(X1, X2)) -> active#(X1), active#(x(X1, X2)) -> active#(X1))
                (active#(U41(X1, X2)) -> active#(X1), active#(U61(X)) -> active#(X))
                (active#(U41(X1, X2)) -> active#(X1), active#(U51(X1, X2, X3)) -> active#(X1))
                (active#(U41(X1, X2)) -> active#(X1), active#(plus(X1, X2)) -> active#(X1))
                (active#(U41(X1, X2)) -> active#(X1), active#(s(X)) -> active#(X))
                (active#(U41(X1, X2)) -> active#(X1), active#(U41(X1, X2)) -> active#(X1))
                (active#(U41(X1, X2)) -> active#(X1), active#(U33(X)) -> active#(X))
                (active#(U41(X1, X2)) -> active#(X1), active#(U31(X1, X2, X3)) -> active#(X1))
                (active#(U41(X1, X2)) -> active#(X1), active#(U32(X1, X2)) -> active#(X1))
                (active#(U41(X1, X2)) -> active#(X1), active#(U21(X1, X2)) -> active#(X1))
                (active#(U41(X1, X2)) -> active#(X1), active#(U22(X)) -> active#(X))
                (active#(U41(X1, X2)) -> active#(X1), active#(U13(X)) -> active#(X))
                (active#(U41(X1, X2)) -> active#(X1), active#(U11(X1, X2, X3)) -> active#(X1))
                (active#(U41(X1, X2)) -> active#(X1), active#(U12(X1, X2)) -> active#(X1))
                (active#(U51(X1, X2, X3)) -> active#(X1), active#(U71(X1, X2, X3)) -> active#(X1))
                (active#(U51(X1, X2, X3)) -> active#(X1), active#(x(X1, X2)) -> active#(X1))
                (active#(U51(X1, X2, X3)) -> active#(X1), active#(U61(X)) -> active#(X))
                (active#(U51(X1, X2, X3)) -> active#(X1), active#(U51(X1, X2, X3)) -> active#(X1))
                (active#(U51(X1, X2, X3)) -> active#(X1), active#(plus(X1, X2)) -> active#(X1))
                (active#(U51(X1, X2, X3)) -> active#(X1), active#(s(X)) -> active#(X))
                (active#(U51(X1, X2, X3)) -> active#(X1), active#(U41(X1, X2)) -> active#(X1))
                (active#(U51(X1, X2, X3)) -> active#(X1), active#(U33(X)) -> active#(X))
                (active#(U51(X1, X2, X3)) -> active#(X1), active#(U31(X1, X2, X3)) -> active#(X1))
                (active#(U51(X1, X2, X3)) -> active#(X1), active#(U32(X1, X2)) -> active#(X1))
                (active#(U51(X1, X2, X3)) -> active#(X1), active#(U21(X1, X2)) -> active#(X1))
                (active#(U51(X1, X2, X3)) -> active#(X1), active#(U22(X)) -> active#(X))
                (active#(U51(X1, X2, X3)) -> active#(X1), active#(U13(X)) -> active#(X))
                (active#(U51(X1, X2, X3)) -> active#(X1), active#(U11(X1, X2, X3)) -> active#(X1))
                (active#(U51(X1, X2, X3)) -> active#(X1), active#(U12(X1, X2)) -> active#(X1))
                (active#(U71(X1, X2, X3)) -> active#(X1), active#(U71(X1, X2, X3)) -> active#(X1))
                (active#(U71(X1, X2, X3)) -> active#(X1), active#(x(X1, X2)) -> active#(X1))
                (active#(U71(X1, X2, X3)) -> active#(X1), active#(U61(X)) -> active#(X))
                (active#(U71(X1, X2, X3)) -> active#(X1), active#(U51(X1, X2, X3)) -> active#(X1))
                (active#(U71(X1, X2, X3)) -> active#(X1), active#(plus(X1, X2)) -> active#(X1))
                (active#(U71(X1, X2, X3)) -> active#(X1), active#(s(X)) -> active#(X))
                (active#(U71(X1, X2, X3)) -> active#(X1), active#(U41(X1, X2)) -> active#(X1))
                (active#(U71(X1, X2, X3)) -> active#(X1), active#(U33(X)) -> active#(X))
                (active#(U71(X1, X2, X3)) -> active#(X1), active#(U31(X1, X2, X3)) -> active#(X1))
                (active#(U71(X1, X2, X3)) -> active#(X1), active#(U32(X1, X2)) -> active#(X1))
                (active#(U71(X1, X2, X3)) -> active#(X1), active#(U21(X1, X2)) -> active#(X1))
                (active#(U71(X1, X2, X3)) -> active#(X1), active#(U22(X)) -> active#(X))
                (active#(U71(X1, X2, X3)) -> active#(X1), active#(U13(X)) -> active#(X))
                (active#(U71(X1, X2, X3)) -> active#(X1), active#(U11(X1, X2, X3)) -> active#(X1))
                (active#(U71(X1, X2, X3)) -> active#(X1), active#(U12(X1, X2)) -> active#(X1))
                (active#(U22(X)) -> active#(X), active#(U71(X1, X2, X3)) -> active#(X1))
                (active#(U22(X)) -> active#(X), active#(x(X1, X2)) -> active#(X1))
                (active#(U22(X)) -> active#(X), active#(U61(X)) -> active#(X))
                (active#(U22(X)) -> active#(X), active#(U51(X1, X2, X3)) -> active#(X1))
                (active#(U22(X)) -> active#(X), active#(plus(X1, X2)) -> active#(X1))
                (active#(U22(X)) -> active#(X), active#(s(X)) -> active#(X))
                (active#(U22(X)) -> active#(X), active#(U41(X1, X2)) -> active#(X1))
                (active#(U22(X)) -> active#(X), active#(U33(X)) -> active#(X))
                (active#(U22(X)) -> active#(X), active#(U31(X1, X2, X3)) -> active#(X1))
                (active#(U22(X)) -> active#(X), active#(U32(X1, X2)) -> active#(X1))
                (active#(U22(X)) -> active#(X), active#(U21(X1, X2)) -> active#(X1))
                (active#(U22(X)) -> active#(X), active#(U22(X)) -> active#(X))
                (active#(U22(X)) -> active#(X), active#(U13(X)) -> active#(X))
                (active#(U22(X)) -> active#(X), active#(U11(X1, X2, X3)) -> active#(X1))
                (active#(U22(X)) -> active#(X), active#(U12(X1, X2)) -> active#(X1))
                (active#(s(X)) -> active#(X), active#(U71(X1, X2, X3)) -> active#(X1))
                (active#(s(X)) -> active#(X), active#(x(X1, X2)) -> active#(X1))
                (active#(s(X)) -> active#(X), active#(U61(X)) -> active#(X))
                (active#(s(X)) -> active#(X), active#(U51(X1, X2, X3)) -> active#(X1))
                (active#(s(X)) -> active#(X), active#(plus(X1, X2)) -> active#(X1))
                (active#(s(X)) -> active#(X), active#(s(X)) -> active#(X))
                (active#(s(X)) -> active#(X), active#(U41(X1, X2)) -> active#(X1))
                (active#(s(X)) -> active#(X), active#(U33(X)) -> active#(X))
                (active#(s(X)) -> active#(X), active#(U31(X1, X2, X3)) -> active#(X1))
                (active#(s(X)) -> active#(X), active#(U32(X1, X2)) -> active#(X1))
                (active#(s(X)) -> active#(X), active#(U21(X1, X2)) -> active#(X1))
                (active#(s(X)) -> active#(X), active#(U22(X)) -> active#(X))
                (active#(s(X)) -> active#(X), active#(U13(X)) -> active#(X))
                (active#(s(X)) -> active#(X), active#(U11(X1, X2, X3)) -> active#(X1))
                (active#(s(X)) -> active#(X), active#(U12(X1, X2)) -> active#(X1))
                (active#(U61(X)) -> active#(X), active#(U12(X1, X2)) -> active#(X1))
                (active#(U61(X)) -> active#(X), active#(U11(X1, X2, X3)) -> active#(X1))
                (active#(U61(X)) -> active#(X), active#(U13(X)) -> active#(X))
                (active#(U61(X)) -> active#(X), active#(U22(X)) -> active#(X))
                (active#(U61(X)) -> active#(X), active#(U21(X1, X2)) -> active#(X1))
                (active#(U61(X)) -> active#(X), active#(U32(X1, X2)) -> active#(X1))
                (active#(U61(X)) -> active#(X), active#(U31(X1, X2, X3)) -> active#(X1))
                (active#(U61(X)) -> active#(X), active#(U33(X)) -> active#(X))
                (active#(U61(X)) -> active#(X), active#(U41(X1, X2)) -> active#(X1))
                (active#(U61(X)) -> active#(X), active#(s(X)) -> active#(X))
                (active#(U61(X)) -> active#(X), active#(plus(X1, X2)) -> active#(X1))
                (active#(U61(X)) -> active#(X), active#(U51(X1, X2, X3)) -> active#(X1))
                (active#(U61(X)) -> active#(X), active#(U61(X)) -> active#(X))
                (active#(U61(X)) -> active#(X), active#(x(X1, X2)) -> active#(X1))
                (active#(U61(X)) -> active#(X), active#(U71(X1, X2, X3)) -> active#(X1))
                (active#(U33(X)) -> active#(X), active#(U12(X1, X2)) -> active#(X1))
                (active#(U33(X)) -> active#(X), active#(U11(X1, X2, X3)) -> active#(X1))
                (active#(U33(X)) -> active#(X), active#(U13(X)) -> active#(X))
                (active#(U33(X)) -> active#(X), active#(U22(X)) -> active#(X))
                (active#(U33(X)) -> active#(X), active#(U21(X1, X2)) -> active#(X1))
                (active#(U33(X)) -> active#(X), active#(U32(X1, X2)) -> active#(X1))
                (active#(U33(X)) -> active#(X), active#(U31(X1, X2, X3)) -> active#(X1))
                (active#(U33(X)) -> active#(X), active#(U33(X)) -> active#(X))
                (active#(U33(X)) -> active#(X), active#(U41(X1, X2)) -> active#(X1))
                (active#(U33(X)) -> active#(X), active#(s(X)) -> active#(X))
                (active#(U33(X)) -> active#(X), active#(plus(X1, X2)) -> active#(X1))
                (active#(U33(X)) -> active#(X), active#(U51(X1, X2, X3)) -> active#(X1))
                (active#(U33(X)) -> active#(X), active#(U61(X)) -> active#(X))
                (active#(U33(X)) -> active#(X), active#(x(X1, X2)) -> active#(X1))
                (active#(U33(X)) -> active#(X), active#(U71(X1, X2, X3)) -> active#(X1))
                (active#(U13(X)) -> active#(X), active#(U12(X1, X2)) -> active#(X1))
                (active#(U13(X)) -> active#(X), active#(U11(X1, X2, X3)) -> active#(X1))
                (active#(U13(X)) -> active#(X), active#(U13(X)) -> active#(X))
                (active#(U13(X)) -> active#(X), active#(U22(X)) -> active#(X))
                (active#(U13(X)) -> active#(X), active#(U21(X1, X2)) -> active#(X1))
                (active#(U13(X)) -> active#(X), active#(U32(X1, X2)) -> active#(X1))
                (active#(U13(X)) -> active#(X), active#(U31(X1, X2, X3)) -> active#(X1))
                (active#(U13(X)) -> active#(X), active#(U33(X)) -> active#(X))
                (active#(U13(X)) -> active#(X), active#(U41(X1, X2)) -> active#(X1))
                (active#(U13(X)) -> active#(X), active#(s(X)) -> active#(X))
                (active#(U13(X)) -> active#(X), active#(plus(X1, X2)) -> active#(X1))
                (active#(U13(X)) -> active#(X), active#(U51(X1, X2, X3)) -> active#(X1))
                (active#(U13(X)) -> active#(X), active#(U61(X)) -> active#(X))
                (active#(U13(X)) -> active#(X), active#(x(X1, X2)) -> active#(X1))
                (active#(U13(X)) -> active#(X), active#(U71(X1, X2, X3)) -> active#(X1))
                (active#(x(X1, X2)) -> active#(X1), active#(U12(X1, X2)) -> active#(X1))
                (active#(x(X1, X2)) -> active#(X1), active#(U11(X1, X2, X3)) -> active#(X1))
                (active#(x(X1, X2)) -> active#(X1), active#(U13(X)) -> active#(X))
                (active#(x(X1, X2)) -> active#(X1), active#(U22(X)) -> active#(X))
                (active#(x(X1, X2)) -> active#(X1), active#(U21(X1, X2)) -> active#(X1))
                (active#(x(X1, X2)) -> active#(X1), active#(U32(X1, X2)) -> active#(X1))
                (active#(x(X1, X2)) -> active#(X1), active#(U31(X1, X2, X3)) -> active#(X1))
                (active#(x(X1, X2)) -> active#(X1), active#(U33(X)) -> active#(X))
                (active#(x(X1, X2)) -> active#(X1), active#(U41(X1, X2)) -> active#(X1))
                (active#(x(X1, X2)) -> active#(X1), active#(s(X)) -> active#(X))
                (active#(x(X1, X2)) -> active#(X1), active#(plus(X1, X2)) -> active#(X1))
                (active#(x(X1, X2)) -> active#(X1), active#(U51(X1, X2, X3)) -> active#(X1))
                (active#(x(X1, X2)) -> active#(X1), active#(U61(X)) -> active#(X))
                (active#(x(X1, X2)) -> active#(X1), active#(x(X1, X2)) -> active#(X1))
                (active#(x(X1, X2)) -> active#(X1), active#(U71(X1, X2, X3)) -> active#(X1))
                (active#(plus(X1, X2)) -> active#(X1), active#(U12(X1, X2)) -> active#(X1))
                (active#(plus(X1, X2)) -> active#(X1), active#(U11(X1, X2, X3)) -> active#(X1))
                (active#(plus(X1, X2)) -> active#(X1), active#(U13(X)) -> active#(X))
                (active#(plus(X1, X2)) -> active#(X1), active#(U22(X)) -> active#(X))
                (active#(plus(X1, X2)) -> active#(X1), active#(U21(X1, X2)) -> active#(X1))
                (active#(plus(X1, X2)) -> active#(X1), active#(U32(X1, X2)) -> active#(X1))
                (active#(plus(X1, X2)) -> active#(X1), active#(U31(X1, X2, X3)) -> active#(X1))
                (active#(plus(X1, X2)) -> active#(X1), active#(U33(X)) -> active#(X))
                (active#(plus(X1, X2)) -> active#(X1), active#(U41(X1, X2)) -> active#(X1))
                (active#(plus(X1, X2)) -> active#(X1), active#(s(X)) -> active#(X))
                (active#(plus(X1, X2)) -> active#(X1), active#(plus(X1, X2)) -> active#(X1))
                (active#(plus(X1, X2)) -> active#(X1), active#(U51(X1, X2, X3)) -> active#(X1))
                (active#(plus(X1, X2)) -> active#(X1), active#(U61(X)) -> active#(X))
                (active#(plus(X1, X2)) -> active#(X1), active#(x(X1, X2)) -> active#(X1))
                (active#(plus(X1, X2)) -> active#(X1), active#(U71(X1, X2, X3)) -> active#(X1))
                (active#(U31(X1, X2, X3)) -> active#(X1), active#(U12(X1, X2)) -> active#(X1))
                (active#(U31(X1, X2, X3)) -> active#(X1), active#(U11(X1, X2, X3)) -> active#(X1))
                (active#(U31(X1, X2, X3)) -> active#(X1), active#(U13(X)) -> active#(X))
                (active#(U31(X1, X2, X3)) -> active#(X1), active#(U22(X)) -> active#(X))
                (active#(U31(X1, X2, X3)) -> active#(X1), active#(U21(X1, X2)) -> active#(X1))
                (active#(U31(X1, X2, X3)) -> active#(X1), active#(U32(X1, X2)) -> active#(X1))
                (active#(U31(X1, X2, X3)) -> active#(X1), active#(U31(X1, X2, X3)) -> active#(X1))
                (active#(U31(X1, X2, X3)) -> active#(X1), active#(U33(X)) -> active#(X))
                (active#(U31(X1, X2, X3)) -> active#(X1), active#(U41(X1, X2)) -> active#(X1))
                (active#(U31(X1, X2, X3)) -> active#(X1), active#(s(X)) -> active#(X))
                (active#(U31(X1, X2, X3)) -> active#(X1), active#(plus(X1, X2)) -> active#(X1))
                (active#(U31(X1, X2, X3)) -> active#(X1), active#(U51(X1, X2, X3)) -> active#(X1))
                (active#(U31(X1, X2, X3)) -> active#(X1), active#(U61(X)) -> active#(X))
                (active#(U31(X1, X2, X3)) -> active#(X1), active#(x(X1, X2)) -> active#(X1))
                (active#(U31(X1, X2, X3)) -> active#(X1), active#(U71(X1, X2, X3)) -> active#(X1))
                (active#(U21(X1, X2)) -> active#(X1), active#(U12(X1, X2)) -> active#(X1))
                (active#(U21(X1, X2)) -> active#(X1), active#(U11(X1, X2, X3)) -> active#(X1))
                (active#(U21(X1, X2)) -> active#(X1), active#(U13(X)) -> active#(X))
                (active#(U21(X1, X2)) -> active#(X1), active#(U22(X)) -> active#(X))
                (active#(U21(X1, X2)) -> active#(X1), active#(U21(X1, X2)) -> active#(X1))
                (active#(U21(X1, X2)) -> active#(X1), active#(U32(X1, X2)) -> active#(X1))
                (active#(U21(X1, X2)) -> active#(X1), active#(U31(X1, X2, X3)) -> active#(X1))
                (active#(U21(X1, X2)) -> active#(X1), active#(U33(X)) -> active#(X))
                (active#(U21(X1, X2)) -> active#(X1), active#(U41(X1, X2)) -> active#(X1))
                (active#(U21(X1, X2)) -> active#(X1), active#(s(X)) -> active#(X))
                (active#(U21(X1, X2)) -> active#(X1), active#(plus(X1, X2)) -> active#(X1))
                (active#(U21(X1, X2)) -> active#(X1), active#(U51(X1, X2, X3)) -> active#(X1))
                (active#(U21(X1, X2)) -> active#(X1), active#(U61(X)) -> active#(X))
                (active#(U21(X1, X2)) -> active#(X1), active#(x(X1, X2)) -> active#(X1))
                (active#(U21(X1, X2)) -> active#(X1), active#(U71(X1, X2, X3)) -> active#(X1))
                (active#(U12(X1, X2)) -> active#(X1), active#(U12(X1, X2)) -> active#(X1))
                (active#(U12(X1, X2)) -> active#(X1), active#(U11(X1, X2, X3)) -> active#(X1))
                (active#(U12(X1, X2)) -> active#(X1), active#(U13(X)) -> active#(X))
                (active#(U12(X1, X2)) -> active#(X1), active#(U22(X)) -> active#(X))
                (active#(U12(X1, X2)) -> active#(X1), active#(U21(X1, X2)) -> active#(X1))
                (active#(U12(X1, X2)) -> active#(X1), active#(U32(X1, X2)) -> active#(X1))
                (active#(U12(X1, X2)) -> active#(X1), active#(U31(X1, X2, X3)) -> active#(X1))
                (active#(U12(X1, X2)) -> active#(X1), active#(U33(X)) -> active#(X))
                (active#(U12(X1, X2)) -> active#(X1), active#(U41(X1, X2)) -> active#(X1))
                (active#(U12(X1, X2)) -> active#(X1), active#(s(X)) -> active#(X))
                (active#(U12(X1, X2)) -> active#(X1), active#(plus(X1, X2)) -> active#(X1))
                (active#(U12(X1, X2)) -> active#(X1), active#(U51(X1, X2, X3)) -> active#(X1))
                (active#(U12(X1, X2)) -> active#(X1), active#(U61(X)) -> active#(X))
                (active#(U12(X1, X2)) -> active#(X1), active#(x(X1, X2)) -> active#(X1))
                (active#(U12(X1, X2)) -> active#(X1), active#(U71(X1, X2, X3)) -> active#(X1))
               }
               SCCS:
                Scc:
                 {    active#(U12(X1, X2)) -> active#(X1),
                  active#(U11(X1, X2, X3)) -> active#(X1),
                           active#(U13(X)) -> active#(X),
                           active#(U22(X)) -> active#(X),
                      active#(U21(X1, X2)) -> active#(X1),
                      active#(U32(X1, X2)) -> active#(X1),
                  active#(U31(X1, X2, X3)) -> active#(X1),
                           active#(U33(X)) -> active#(X),
                      active#(U41(X1, X2)) -> active#(X1),
                             active#(s(X)) -> active#(X),
                     active#(plus(X1, X2)) -> active#(X1),
                  active#(U51(X1, X2, X3)) -> active#(X1),
                           active#(U61(X)) -> active#(X),
                        active#(x(X1, X2)) -> active#(X1),
                  active#(U71(X1, X2, X3)) -> active#(X1)}
                SCC:
                 Strict:
                  {    active#(U12(X1, X2)) -> active#(X1),
                   active#(U11(X1, X2, X3)) -> active#(X1),
                            active#(U13(X)) -> active#(X),
                            active#(U22(X)) -> active#(X),
                       active#(U21(X1, X2)) -> active#(X1),
                       active#(U32(X1, X2)) -> active#(X1),
                   active#(U31(X1, X2, X3)) -> active#(X1),
                            active#(U33(X)) -> active#(X),
                       active#(U41(X1, X2)) -> active#(X1),
                              active#(s(X)) -> active#(X),
                      active#(plus(X1, X2)) -> active#(X1),
                   active#(U51(X1, X2, X3)) -> active#(X1),
                            active#(U61(X)) -> active#(X),
                         active#(x(X1, X2)) -> active#(X1),
                   active#(U71(X1, X2, X3)) -> active#(X1)}
                 Weak:
                 {              U12(mark(X1), X2) -> mark(U12(X1, X2)),
                              U12(ok(X1), ok(X2)) -> ok(U12(X1, X2)),
                                     isNat(ok(X)) -> ok(isNat(X)),
                              active(U12(X1, X2)) -> U12(active(X1), X2),
                            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(X1, X2, X3)) -> U11(active(X1), X2, X3),
                        active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                                   active(U13(X)) -> U13(active(X)),
                                active(U13(tt())) -> mark(tt()),
                                   active(U22(X)) -> U22(active(X)),
                                active(U22(tt())) -> mark(tt()),
                              active(U21(X1, X2)) -> U21(active(X1), X2),
                            active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                              active(U32(X1, X2)) -> U32(active(X1), X2),
                            active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
                          active(U31(X1, X2, X3)) -> U31(active(X1), X2, X3),
                        active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                                   active(U33(X)) -> U33(active(X)),
                                active(U33(tt())) -> mark(tt()),
                              active(U41(X1, X2)) -> U41(active(X1), X2),
                             active(U41(tt(), N)) -> mark(N),
                                     active(s(X)) -> s(active(X)),
                            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(plus(X1, X2)) -> plus(X1, active(X2)),
                             active(plus(X1, X2)) -> plus(active(X1), X2),
                          active(U51(X1, X2, X3)) -> U51(active(X1), X2, X3),
                          active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                                   active(U61(X)) -> U61(active(X)),
                                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(x(X1, X2)) -> x(X1, active(X2)),
                                active(x(X1, X2)) -> x(active(X1), X2),
                          active(U71(X1, X2, X3)) -> U71(active(X1), X2, X3),
                          active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                              active(and(X1, X2)) -> and(active(X1), X2),
                             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(mark(X1), X2, X3) -> mark(U11(X1, X2, X3)),
                      U11(ok(X1), ok(X2), ok(X3)) -> ok(U11(X1, X2, X3)),
                                     U13(mark(X)) -> mark(U13(X)),
                                       U13(ok(X)) -> ok(U13(X)),
                                     U22(mark(X)) -> mark(U22(X)),
                                       U22(ok(X)) -> ok(U22(X)),
                                U21(mark(X1), X2) -> mark(U21(X1, X2)),
                              U21(ok(X1), ok(X2)) -> ok(U21(X1, X2)),
                                U32(mark(X1), X2) -> mark(U32(X1, X2)),
                              U32(ok(X1), ok(X2)) -> ok(U32(X1, X2)),
                            U31(mark(X1), X2, X3) -> mark(U31(X1, X2, X3)),
                      U31(ok(X1), ok(X2), ok(X3)) -> ok(U31(X1, X2, X3)),
                                     U33(mark(X)) -> mark(U33(X)),
                                       U33(ok(X)) -> ok(U33(X)),
                                U41(mark(X1), X2) -> mark(U41(X1, X2)),
                              U41(ok(X1), ok(X2)) -> ok(U41(X1, X2)),
                                       s(mark(X)) -> mark(s(X)),
                                         s(ok(X)) -> ok(s(X)),
                               plus(X1, mark(X2)) -> mark(plus(X1, X2)),
                               plus(mark(X1), X2) -> mark(plus(X1, X2)),
                             plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)),
                            U51(mark(X1), X2, X3) -> mark(U51(X1, X2, X3)),
                      U51(ok(X1), ok(X2), ok(X3)) -> ok(U51(X1, X2, X3)),
                                     U61(mark(X)) -> mark(U61(X)),
                                       U61(ok(X)) -> ok(U61(X)),
                                  x(X1, mark(X2)) -> mark(x(X1, X2)),
                                  x(mark(X1), X2) -> mark(x(X1, X2)),
                                x(ok(X1), ok(X2)) -> ok(x(X1, X2)),
                            U71(mark(X1), X2, X3) -> mark(U71(X1, X2, X3)),
                      U71(ok(X1), ok(X2), ok(X3)) -> ok(U71(X1, X2, X3)),
                                and(mark(X1), X2) -> mark(and(X1, X2)),
                              and(ok(X1), ok(X2)) -> ok(and(X1, X2)),
                                 isNatKind(ok(X)) -> ok(isNatKind(X)),
                              proper(U12(X1, X2)) -> U12(proper(X1), proper(X2)),
                                 proper(isNat(X)) -> isNat(proper(X)),
                          proper(U11(X1, X2, X3)) -> U11(proper(X1), proper(X2), proper(X3)),
                                     proper(tt()) -> ok(tt()),
                                   proper(U13(X)) -> U13(proper(X)),
                                   proper(U22(X)) -> U22(proper(X)),
                              proper(U21(X1, X2)) -> U21(proper(X1), proper(X2)),
                              proper(U32(X1, X2)) -> U32(proper(X1), proper(X2)),
                          proper(U31(X1, X2, X3)) -> U31(proper(X1), proper(X2), proper(X3)),
                                   proper(U33(X)) -> U33(proper(X)),
                              proper(U41(X1, X2)) -> U41(proper(X1), proper(X2)),
                                     proper(s(X)) -> s(proper(X)),
                             proper(plus(X1, X2)) -> plus(proper(X1), proper(X2)),
                          proper(U51(X1, X2, X3)) -> U51(proper(X1), proper(X2), proper(X3)),
                                      proper(0()) -> ok(0()),
                                   proper(U61(X)) -> U61(proper(X)),
                                proper(x(X1, X2)) -> x(proper(X1), proper(X2)),
                          proper(U71(X1, X2, X3)) -> U71(proper(X1), proper(X2), proper(X3)),
                              proper(and(X1, X2)) -> and(proper(X1), proper(X2)),
                             proper(isNatKind(X)) -> isNatKind(proper(X)),
                                     top(mark(X)) -> top(proper(X)),
                                       top(ok(X)) -> top(active(X))}
                 SPSC:
                  Simple Projection:
                   pi(active#) = 0
                  Strict:
                   {    active#(U12(X1, X2)) -> active#(X1),
                    active#(U11(X1, X2, X3)) -> active#(X1),
                             active#(U13(X)) -> active#(X),
                             active#(U22(X)) -> active#(X),
                        active#(U21(X1, X2)) -> active#(X1),
                        active#(U32(X1, X2)) -> active#(X1),
                    active#(U31(X1, X2, X3)) -> active#(X1),
                             active#(U33(X)) -> active#(X),
                               active#(s(X)) -> active#(X),
                       active#(plus(X1, X2)) -> active#(X1),
                    active#(U51(X1, X2, X3)) -> active#(X1),
                             active#(U61(X)) -> active#(X),
                          active#(x(X1, X2)) -> active#(X1),
                    active#(U71(X1, X2, X3)) -> active#(X1)}
                  EDG:
                   {
                    (active#(U22(X)) -> active#(X), active#(U71(X1, X2, X3)) -> active#(X1))
                    (active#(U22(X)) -> active#(X), active#(x(X1, X2)) -> active#(X1))
                    (active#(U22(X)) -> active#(X), active#(U61(X)) -> active#(X))
                    (active#(U22(X)) -> active#(X), active#(U51(X1, X2, X3)) -> active#(X1))
                    (active#(U22(X)) -> active#(X), active#(plus(X1, X2)) -> active#(X1))
                    (active#(U22(X)) -> active#(X), active#(s(X)) -> active#(X))
                    (active#(U22(X)) -> active#(X), active#(U33(X)) -> active#(X))
                    (active#(U22(X)) -> active#(X), active#(U31(X1, X2, X3)) -> active#(X1))
                    (active#(U22(X)) -> active#(X), active#(U32(X1, X2)) -> active#(X1))
                    (active#(U22(X)) -> active#(X), active#(U21(X1, X2)) -> active#(X1))
                    (active#(U22(X)) -> active#(X), active#(U22(X)) -> active#(X))
                    (active#(U22(X)) -> active#(X), active#(U13(X)) -> active#(X))
                    (active#(U22(X)) -> active#(X), active#(U11(X1, X2, X3)) -> active#(X1))
                    (active#(U22(X)) -> active#(X), active#(U12(X1, X2)) -> active#(X1))
                    (active#(s(X)) -> active#(X), active#(U71(X1, X2, X3)) -> active#(X1))
                    (active#(s(X)) -> active#(X), active#(x(X1, X2)) -> active#(X1))
                    (active#(s(X)) -> active#(X), active#(U61(X)) -> active#(X))
                    (active#(s(X)) -> active#(X), active#(U51(X1, X2, X3)) -> active#(X1))
                    (active#(s(X)) -> active#(X), active#(plus(X1, X2)) -> active#(X1))
                    (active#(s(X)) -> active#(X), active#(s(X)) -> active#(X))
                    (active#(s(X)) -> active#(X), active#(U33(X)) -> active#(X))
                    (active#(s(X)) -> active#(X), active#(U31(X1, X2, X3)) -> active#(X1))
                    (active#(s(X)) -> active#(X), active#(U32(X1, X2)) -> active#(X1))
                    (active#(s(X)) -> active#(X), active#(U21(X1, X2)) -> active#(X1))
                    (active#(s(X)) -> active#(X), active#(U22(X)) -> active#(X))
                    (active#(s(X)) -> active#(X), active#(U13(X)) -> active#(X))
                    (active#(s(X)) -> active#(X), active#(U11(X1, X2, X3)) -> active#(X1))
                    (active#(s(X)) -> active#(X), active#(U12(X1, X2)) -> active#(X1))
                    (active#(U12(X1, X2)) -> active#(X1), active#(U71(X1, X2, X3)) -> active#(X1))
                    (active#(U12(X1, X2)) -> active#(X1), active#(x(X1, X2)) -> active#(X1))
                    (active#(U12(X1, X2)) -> active#(X1), active#(U61(X)) -> active#(X))
                    (active#(U12(X1, X2)) -> active#(X1), active#(U51(X1, X2, X3)) -> active#(X1))
                    (active#(U12(X1, X2)) -> active#(X1), active#(plus(X1, X2)) -> active#(X1))
                    (active#(U12(X1, X2)) -> active#(X1), active#(s(X)) -> active#(X))
                    (active#(U12(X1, X2)) -> active#(X1), active#(U33(X)) -> active#(X))
                    (active#(U12(X1, X2)) -> active#(X1), active#(U31(X1, X2, X3)) -> active#(X1))
                    (active#(U12(X1, X2)) -> active#(X1), active#(U32(X1, X2)) -> active#(X1))
                    (active#(U12(X1, X2)) -> active#(X1), active#(U21(X1, X2)) -> active#(X1))
                    (active#(U12(X1, X2)) -> active#(X1), active#(U22(X)) -> active#(X))
                    (active#(U12(X1, X2)) -> active#(X1), active#(U13(X)) -> active#(X))
                    (active#(U12(X1, X2)) -> active#(X1), active#(U11(X1, X2, X3)) -> active#(X1))
                    (active#(U12(X1, X2)) -> active#(X1), active#(U12(X1, X2)) -> active#(X1))
                    (active#(U21(X1, X2)) -> active#(X1), active#(U71(X1, X2, X3)) -> active#(X1))
                    (active#(U21(X1, X2)) -> active#(X1), active#(x(X1, X2)) -> active#(X1))
                    (active#(U21(X1, X2)) -> active#(X1), active#(U61(X)) -> active#(X))
                    (active#(U21(X1, X2)) -> active#(X1), active#(U51(X1, X2, X3)) -> active#(X1))
                    (active#(U21(X1, X2)) -> active#(X1), active#(plus(X1, X2)) -> active#(X1))
                    (active#(U21(X1, X2)) -> active#(X1), active#(s(X)) -> active#(X))
                    (active#(U21(X1, X2)) -> active#(X1), active#(U33(X)) -> active#(X))
                    (active#(U21(X1, X2)) -> active#(X1), active#(U31(X1, X2, X3)) -> active#(X1))
                    (active#(U21(X1, X2)) -> active#(X1), active#(U32(X1, X2)) -> active#(X1))
                    (active#(U21(X1, X2)) -> active#(X1), active#(U21(X1, X2)) -> active#(X1))
                    (active#(U21(X1, X2)) -> active#(X1), active#(U22(X)) -> active#(X))
                    (active#(U21(X1, X2)) -> active#(X1), active#(U13(X)) -> active#(X))
                    (active#(U21(X1, X2)) -> active#(X1), active#(U11(X1, X2, X3)) -> active#(X1))
                    (active#(U21(X1, X2)) -> active#(X1), active#(U12(X1, X2)) -> active#(X1))
                    (active#(U31(X1, X2, X3)) -> active#(X1), active#(U71(X1, X2, X3)) -> active#(X1))
                    (active#(U31(X1, X2, X3)) -> active#(X1), active#(x(X1, X2)) -> active#(X1))
                    (active#(U31(X1, X2, X3)) -> active#(X1), active#(U61(X)) -> active#(X))
                    (active#(U31(X1, X2, X3)) -> active#(X1), active#(U51(X1, X2, X3)) -> active#(X1))
                    (active#(U31(X1, X2, X3)) -> active#(X1), active#(plus(X1, X2)) -> active#(X1))
                    (active#(U31(X1, X2, X3)) -> active#(X1), active#(s(X)) -> active#(X))
                    (active#(U31(X1, X2, X3)) -> active#(X1), active#(U33(X)) -> active#(X))
                    (active#(U31(X1, X2, X3)) -> active#(X1), active#(U31(X1, X2, X3)) -> active#(X1))
                    (active#(U31(X1, X2, X3)) -> active#(X1), active#(U32(X1, X2)) -> active#(X1))
                    (active#(U31(X1, X2, X3)) -> active#(X1), active#(U21(X1, X2)) -> active#(X1))
                    (active#(U31(X1, X2, X3)) -> active#(X1), active#(U22(X)) -> active#(X))
                    (active#(U31(X1, X2, X3)) -> active#(X1), active#(U13(X)) -> active#(X))
                    (active#(U31(X1, X2, X3)) -> active#(X1), active#(U11(X1, X2, X3)) -> active#(X1))
                    (active#(U31(X1, X2, X3)) -> active#(X1), active#(U12(X1, X2)) -> active#(X1))
                    (active#(U51(X1, X2, X3)) -> active#(X1), active#(U71(X1, X2, X3)) -> active#(X1))
                    (active#(U51(X1, X2, X3)) -> active#(X1), active#(x(X1, X2)) -> active#(X1))
                    (active#(U51(X1, X2, X3)) -> active#(X1), active#(U61(X)) -> active#(X))
                    (active#(U51(X1, X2, X3)) -> active#(X1), active#(U51(X1, X2, X3)) -> active#(X1))
                    (active#(U51(X1, X2, X3)) -> active#(X1), active#(plus(X1, X2)) -> active#(X1))
                    (active#(U51(X1, X2, X3)) -> active#(X1), active#(s(X)) -> active#(X))
                    (active#(U51(X1, X2, X3)) -> active#(X1), active#(U33(X)) -> active#(X))
                    (active#(U51(X1, X2, X3)) -> active#(X1), active#(U31(X1, X2, X3)) -> active#(X1))
                    (active#(U51(X1, X2, X3)) -> active#(X1), active#(U32(X1, X2)) -> active#(X1))
                    (active#(U51(X1, X2, X3)) -> active#(X1), active#(U21(X1, X2)) -> active#(X1))
                    (active#(U51(X1, X2, X3)) -> active#(X1), active#(U22(X)) -> active#(X))
                    (active#(U51(X1, X2, X3)) -> active#(X1), active#(U13(X)) -> active#(X))
                    (active#(U51(X1, X2, X3)) -> active#(X1), active#(U11(X1, X2, X3)) -> active#(X1))
                    (active#(U51(X1, X2, X3)) -> active#(X1), active#(U12(X1, X2)) -> active#(X1))
                    (active#(U71(X1, X2, X3)) -> active#(X1), active#(U71(X1, X2, X3)) -> active#(X1))
                    (active#(U71(X1, X2, X3)) -> active#(X1), active#(x(X1, X2)) -> active#(X1))
                    (active#(U71(X1, X2, X3)) -> active#(X1), active#(U61(X)) -> active#(X))
                    (active#(U71(X1, X2, X3)) -> active#(X1), active#(U51(X1, X2, X3)) -> active#(X1))
                    (active#(U71(X1, X2, X3)) -> active#(X1), active#(plus(X1, X2)) -> active#(X1))
                    (active#(U71(X1, X2, X3)) -> active#(X1), active#(s(X)) -> active#(X))
                    (active#(U71(X1, X2, X3)) -> active#(X1), active#(U33(X)) -> active#(X))
                    (active#(U71(X1, X2, X3)) -> active#(X1), active#(U31(X1, X2, X3)) -> active#(X1))
                    (active#(U71(X1, X2, X3)) -> active#(X1), active#(U32(X1, X2)) -> active#(X1))
                    (active#(U71(X1, X2, X3)) -> active#(X1), active#(U21(X1, X2)) -> active#(X1))
                    (active#(U71(X1, X2, X3)) -> active#(X1), active#(U22(X)) -> active#(X))
                    (active#(U71(X1, X2, X3)) -> active#(X1), active#(U13(X)) -> active#(X))
                    (active#(U71(X1, X2, X3)) -> active#(X1), active#(U11(X1, X2, X3)) -> active#(X1))
                    (active#(U71(X1, X2, X3)) -> active#(X1), active#(U12(X1, X2)) -> active#(X1))
                    (active#(x(X1, X2)) -> active#(X1), active#(U12(X1, X2)) -> active#(X1))
                    (active#(x(X1, X2)) -> active#(X1), active#(U11(X1, X2, X3)) -> active#(X1))
                    (active#(x(X1, X2)) -> active#(X1), active#(U13(X)) -> active#(X))
                    (active#(x(X1, X2)) -> active#(X1), active#(U22(X)) -> active#(X))
                    (active#(x(X1, X2)) -> active#(X1), active#(U21(X1, X2)) -> active#(X1))
                    (active#(x(X1, X2)) -> active#(X1), active#(U32(X1, X2)) -> active#(X1))
                    (active#(x(X1, X2)) -> active#(X1), active#(U31(X1, X2, X3)) -> active#(X1))
                    (active#(x(X1, X2)) -> active#(X1), active#(U33(X)) -> active#(X))
                    (active#(x(X1, X2)) -> active#(X1), active#(s(X)) -> active#(X))
                    (active#(x(X1, X2)) -> active#(X1), active#(plus(X1, X2)) -> active#(X1))
                    (active#(x(X1, X2)) -> active#(X1), active#(U51(X1, X2, X3)) -> active#(X1))
                    (active#(x(X1, X2)) -> active#(X1), active#(U61(X)) -> active#(X))
                    (active#(x(X1, X2)) -> active#(X1), active#(x(X1, X2)) -> active#(X1))
                    (active#(x(X1, X2)) -> active#(X1), active#(U71(X1, X2, X3)) -> active#(X1))
                    (active#(plus(X1, X2)) -> active#(X1), active#(U12(X1, X2)) -> active#(X1))
                    (active#(plus(X1, X2)) -> active#(X1), active#(U11(X1, X2, X3)) -> active#(X1))
                    (active#(plus(X1, X2)) -> active#(X1), active#(U13(X)) -> active#(X))
                    (active#(plus(X1, X2)) -> active#(X1), active#(U22(X)) -> active#(X))
                    (active#(plus(X1, X2)) -> active#(X1), active#(U21(X1, X2)) -> active#(X1))
                    (active#(plus(X1, X2)) -> active#(X1), active#(U32(X1, X2)) -> active#(X1))
                    (active#(plus(X1, X2)) -> active#(X1), active#(U31(X1, X2, X3)) -> active#(X1))
                    (active#(plus(X1, X2)) -> active#(X1), active#(U33(X)) -> active#(X))
                    (active#(plus(X1, X2)) -> active#(X1), active#(s(X)) -> active#(X))
                    (active#(plus(X1, X2)) -> active#(X1), active#(plus(X1, X2)) -> active#(X1))
                    (active#(plus(X1, X2)) -> active#(X1), active#(U51(X1, X2, X3)) -> active#(X1))
                    (active#(plus(X1, X2)) -> active#(X1), active#(U61(X)) -> active#(X))
                    (active#(plus(X1, X2)) -> active#(X1), active#(x(X1, X2)) -> active#(X1))
                    (active#(plus(X1, X2)) -> active#(X1), active#(U71(X1, X2, X3)) -> active#(X1))
                    (active#(U32(X1, X2)) -> active#(X1), active#(U12(X1, X2)) -> active#(X1))
                    (active#(U32(X1, X2)) -> active#(X1), active#(U11(X1, X2, X3)) -> active#(X1))
                    (active#(U32(X1, X2)) -> active#(X1), active#(U13(X)) -> active#(X))
                    (active#(U32(X1, X2)) -> active#(X1), active#(U22(X)) -> active#(X))
                    (active#(U32(X1, X2)) -> active#(X1), active#(U21(X1, X2)) -> active#(X1))
                    (active#(U32(X1, X2)) -> active#(X1), active#(U32(X1, X2)) -> active#(X1))
                    (active#(U32(X1, X2)) -> active#(X1), active#(U31(X1, X2, X3)) -> active#(X1))
                    (active#(U32(X1, X2)) -> active#(X1), active#(U33(X)) -> active#(X))
                    (active#(U32(X1, X2)) -> active#(X1), active#(s(X)) -> active#(X))
                    (active#(U32(X1, X2)) -> active#(X1), active#(plus(X1, X2)) -> active#(X1))
                    (active#(U32(X1, X2)) -> active#(X1), active#(U51(X1, X2, X3)) -> active#(X1))
                    (active#(U32(X1, X2)) -> active#(X1), active#(U61(X)) -> active#(X))
                    (active#(U32(X1, X2)) -> active#(X1), active#(x(X1, X2)) -> active#(X1))
                    (active#(U32(X1, X2)) -> active#(X1), active#(U71(X1, X2, X3)) -> active#(X1))
                    (active#(U11(X1, X2, X3)) -> active#(X1), active#(U12(X1, X2)) -> active#(X1))
                    (active#(U11(X1, X2, X3)) -> active#(X1), active#(U11(X1, X2, X3)) -> active#(X1))
                    (active#(U11(X1, X2, X3)) -> active#(X1), active#(U13(X)) -> active#(X))
                    (active#(U11(X1, X2, X3)) -> active#(X1), active#(U22(X)) -> active#(X))
                    (active#(U11(X1, X2, X3)) -> active#(X1), active#(U21(X1, X2)) -> active#(X1))
                    (active#(U11(X1, X2, X3)) -> active#(X1), active#(U32(X1, X2)) -> active#(X1))
                    (active#(U11(X1, X2, X3)) -> active#(X1), active#(U31(X1, X2, X3)) -> active#(X1))
                    (active#(U11(X1, X2, X3)) -> active#(X1), active#(U33(X)) -> active#(X))
                    (active#(U11(X1, X2, X3)) -> active#(X1), active#(s(X)) -> active#(X))
                    (active#(U11(X1, X2, X3)) -> active#(X1), active#(plus(X1, X2)) -> active#(X1))
                    (active#(U11(X1, X2, X3)) -> active#(X1), active#(U51(X1, X2, X3)) -> active#(X1))
                    (active#(U11(X1, X2, X3)) -> active#(X1), active#(U61(X)) -> active#(X))
                    (active#(U11(X1, X2, X3)) -> active#(X1), active#(x(X1, X2)) -> active#(X1))
                    (active#(U11(X1, X2, X3)) -> active#(X1), active#(U71(X1, X2, X3)) -> active#(X1))
                    (active#(U61(X)) -> active#(X), active#(U12(X1, X2)) -> active#(X1))
                    (active#(U61(X)) -> active#(X), active#(U11(X1, X2, X3)) -> active#(X1))
                    (active#(U61(X)) -> active#(X), active#(U13(X)) -> active#(X))
                    (active#(U61(X)) -> active#(X), active#(U22(X)) -> active#(X))
                    (active#(U61(X)) -> active#(X), active#(U21(X1, X2)) -> active#(X1))
                    (active#(U61(X)) -> active#(X), active#(U32(X1, X2)) -> active#(X1))
                    (active#(U61(X)) -> active#(X), active#(U31(X1, X2, X3)) -> active#(X1))
                    (active#(U61(X)) -> active#(X), active#(U33(X)) -> active#(X))
                    (active#(U61(X)) -> active#(X), active#(s(X)) -> active#(X))
                    (active#(U61(X)) -> active#(X), active#(plus(X1, X2)) -> active#(X1))
                    (active#(U61(X)) -> active#(X), active#(U51(X1, X2, X3)) -> active#(X1))
                    (active#(U61(X)) -> active#(X), active#(U61(X)) -> active#(X))
                    (active#(U61(X)) -> active#(X), active#(x(X1, X2)) -> active#(X1))
                    (active#(U61(X)) -> active#(X), active#(U71(X1, X2, X3)) -> active#(X1))
                    (active#(U33(X)) -> active#(X), active#(U12(X1, X2)) -> active#(X1))
                    (active#(U33(X)) -> active#(X), active#(U11(X1, X2, X3)) -> active#(X1))
                    (active#(U33(X)) -> active#(X), active#(U13(X)) -> active#(X))
                    (active#(U33(X)) -> active#(X), active#(U22(X)) -> active#(X))
                    (active#(U33(X)) -> active#(X), active#(U21(X1, X2)) -> active#(X1))
                    (active#(U33(X)) -> active#(X), active#(U32(X1, X2)) -> active#(X1))
                    (active#(U33(X)) -> active#(X), active#(U31(X1, X2, X3)) -> active#(X1))
                    (active#(U33(X)) -> active#(X), active#(U33(X)) -> active#(X))
                    (active#(U33(X)) -> active#(X), active#(s(X)) -> active#(X))
                    (active#(U33(X)) -> active#(X), active#(plus(X1, X2)) -> active#(X1))
                    (active#(U33(X)) -> active#(X), active#(U51(X1, X2, X3)) -> active#(X1))
                    (active#(U33(X)) -> active#(X), active#(U61(X)) -> active#(X))
                    (active#(U33(X)) -> active#(X), active#(x(X1, X2)) -> active#(X1))
                    (active#(U33(X)) -> active#(X), active#(U71(X1, X2, X3)) -> active#(X1))
                    (active#(U13(X)) -> active#(X), active#(U12(X1, X2)) -> active#(X1))
                    (active#(U13(X)) -> active#(X), active#(U11(X1, X2, X3)) -> active#(X1))
                    (active#(U13(X)) -> active#(X), active#(U13(X)) -> active#(X))
                    (active#(U13(X)) -> active#(X), active#(U22(X)) -> active#(X))
                    (active#(U13(X)) -> active#(X), active#(U21(X1, X2)) -> active#(X1))
                    (active#(U13(X)) -> active#(X), active#(U32(X1, X2)) -> active#(X1))
                    (active#(U13(X)) -> active#(X), active#(U31(X1, X2, X3)) -> active#(X1))
                    (active#(U13(X)) -> active#(X), active#(U33(X)) -> active#(X))
                    (active#(U13(X)) -> active#(X), active#(s(X)) -> active#(X))
                    (active#(U13(X)) -> active#(X), active#(plus(X1, X2)) -> active#(X1))
                    (active#(U13(X)) -> active#(X), active#(U51(X1, X2, X3)) -> active#(X1))
                    (active#(U13(X)) -> active#(X), active#(U61(X)) -> active#(X))
                    (active#(U13(X)) -> active#(X), active#(x(X1, X2)) -> active#(X1))
                    (active#(U13(X)) -> active#(X), active#(U71(X1, X2, X3)) -> active#(X1))
                   }
                   SCCS:
                    Scc:
                     {    active#(U12(X1, X2)) -> active#(X1),
                      active#(U11(X1, X2, X3)) -> active#(X1),
                               active#(U13(X)) -> active#(X),
                               active#(U22(X)) -> active#(X),
                          active#(U21(X1, X2)) -> active#(X1),
                          active#(U32(X1, X2)) -> active#(X1),
                      active#(U31(X1, X2, X3)) -> active#(X1),
                               active#(U33(X)) -> active#(X),
                                 active#(s(X)) -> active#(X),
                         active#(plus(X1, X2)) -> active#(X1),
                      active#(U51(X1, X2, X3)) -> active#(X1),
                               active#(U61(X)) -> active#(X),
                            active#(x(X1, X2)) -> active#(X1),
                      active#(U71(X1, X2, X3)) -> active#(X1)}
                    SCC:
                     Strict:
                      {    active#(U12(X1, X2)) -> active#(X1),
                       active#(U11(X1, X2, X3)) -> active#(X1),
                                active#(U13(X)) -> active#(X),
                                active#(U22(X)) -> active#(X),
                           active#(U21(X1, X2)) -> active#(X1),
                           active#(U32(X1, X2)) -> active#(X1),
                       active#(U31(X1, X2, X3)) -> active#(X1),
                                active#(U33(X)) -> active#(X),
                                  active#(s(X)) -> active#(X),
                          active#(plus(X1, X2)) -> active#(X1),
                       active#(U51(X1, X2, X3)) -> active#(X1),
                                active#(U61(X)) -> active#(X),
                             active#(x(X1, X2)) -> active#(X1),
                       active#(U71(X1, X2, X3)) -> active#(X1)}
                     Weak:
                     {              U12(mark(X1), X2) -> mark(U12(X1, X2)),
                                  U12(ok(X1), ok(X2)) -> ok(U12(X1, X2)),
                                         isNat(ok(X)) -> ok(isNat(X)),
                                  active(U12(X1, X2)) -> U12(active(X1), X2),
                                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(X1, X2, X3)) -> U11(active(X1), X2, X3),
                            active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                                       active(U13(X)) -> U13(active(X)),
                                    active(U13(tt())) -> mark(tt()),
                                       active(U22(X)) -> U22(active(X)),
                                    active(U22(tt())) -> mark(tt()),
                                  active(U21(X1, X2)) -> U21(active(X1), X2),
                                active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                                  active(U32(X1, X2)) -> U32(active(X1), X2),
                                active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
                              active(U31(X1, X2, X3)) -> U31(active(X1), X2, X3),
                            active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                                       active(U33(X)) -> U33(active(X)),
                                    active(U33(tt())) -> mark(tt()),
                                  active(U41(X1, X2)) -> U41(active(X1), X2),
                                 active(U41(tt(), N)) -> mark(N),
                                         active(s(X)) -> s(active(X)),
                                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(plus(X1, X2)) -> plus(X1, active(X2)),
                                 active(plus(X1, X2)) -> plus(active(X1), X2),
                              active(U51(X1, X2, X3)) -> U51(active(X1), X2, X3),
                              active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                                       active(U61(X)) -> U61(active(X)),
                                    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(x(X1, X2)) -> x(X1, active(X2)),
                                    active(x(X1, X2)) -> x(active(X1), X2),
                              active(U71(X1, X2, X3)) -> U71(active(X1), X2, X3),
                              active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                                  active(and(X1, X2)) -> and(active(X1), X2),
                                 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(mark(X1), X2, X3) -> mark(U11(X1, X2, X3)),
                          U11(ok(X1), ok(X2), ok(X3)) -> ok(U11(X1, X2, X3)),
                                         U13(mark(X)) -> mark(U13(X)),
                                           U13(ok(X)) -> ok(U13(X)),
                                         U22(mark(X)) -> mark(U22(X)),
                                           U22(ok(X)) -> ok(U22(X)),
                                    U21(mark(X1), X2) -> mark(U21(X1, X2)),
                                  U21(ok(X1), ok(X2)) -> ok(U21(X1, X2)),
                                    U32(mark(X1), X2) -> mark(U32(X1, X2)),
                                  U32(ok(X1), ok(X2)) -> ok(U32(X1, X2)),
                                U31(mark(X1), X2, X3) -> mark(U31(X1, X2, X3)),
                          U31(ok(X1), ok(X2), ok(X3)) -> ok(U31(X1, X2, X3)),
                                         U33(mark(X)) -> mark(U33(X)),
                                           U33(ok(X)) -> ok(U33(X)),
                                    U41(mark(X1), X2) -> mark(U41(X1, X2)),
                                  U41(ok(X1), ok(X2)) -> ok(U41(X1, X2)),
                                           s(mark(X)) -> mark(s(X)),
                                             s(ok(X)) -> ok(s(X)),
                                   plus(X1, mark(X2)) -> mark(plus(X1, X2)),
                                   plus(mark(X1), X2) -> mark(plus(X1, X2)),
                                 plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)),
                                U51(mark(X1), X2, X3) -> mark(U51(X1, X2, X3)),
                          U51(ok(X1), ok(X2), ok(X3)) -> ok(U51(X1, X2, X3)),
                                         U61(mark(X)) -> mark(U61(X)),
                                           U61(ok(X)) -> ok(U61(X)),
                                      x(X1, mark(X2)) -> mark(x(X1, X2)),
                                      x(mark(X1), X2) -> mark(x(X1, X2)),
                                    x(ok(X1), ok(X2)) -> ok(x(X1, X2)),
                                U71(mark(X1), X2, X3) -> mark(U71(X1, X2, X3)),
                          U71(ok(X1), ok(X2), ok(X3)) -> ok(U71(X1, X2, X3)),
                                    and(mark(X1), X2) -> mark(and(X1, X2)),
                                  and(ok(X1), ok(X2)) -> ok(and(X1, X2)),
                                     isNatKind(ok(X)) -> ok(isNatKind(X)),
                                  proper(U12(X1, X2)) -> U12(proper(X1), proper(X2)),
                                     proper(isNat(X)) -> isNat(proper(X)),
                              proper(U11(X1, X2, X3)) -> U11(proper(X1), proper(X2), proper(X3)),
                                         proper(tt()) -> ok(tt()),
                                       proper(U13(X)) -> U13(proper(X)),
                                       proper(U22(X)) -> U22(proper(X)),
                                  proper(U21(X1, X2)) -> U21(proper(X1), proper(X2)),
                                  proper(U32(X1, X2)) -> U32(proper(X1), proper(X2)),
                              proper(U31(X1, X2, X3)) -> U31(proper(X1), proper(X2), proper(X3)),
                                       proper(U33(X)) -> U33(proper(X)),
                                  proper(U41(X1, X2)) -> U41(proper(X1), proper(X2)),
                                         proper(s(X)) -> s(proper(X)),
                                 proper(plus(X1, X2)) -> plus(proper(X1), proper(X2)),
                              proper(U51(X1, X2, X3)) -> U51(proper(X1), proper(X2), proper(X3)),
                                          proper(0()) -> ok(0()),
                                       proper(U61(X)) -> U61(proper(X)),
                                    proper(x(X1, X2)) -> x(proper(X1), proper(X2)),
                              proper(U71(X1, X2, X3)) -> U71(proper(X1), proper(X2), proper(X3)),
                                  proper(and(X1, X2)) -> and(proper(X1), proper(X2)),
                                 proper(isNatKind(X)) -> isNatKind(proper(X)),
                                         top(mark(X)) -> top(proper(X)),
                                           top(ok(X)) -> top(active(X))}
                     SPSC:
                      Simple Projection:
                       pi(active#) = 0
                      Strict:
                       {    active#(U12(X1, X2)) -> active#(X1),
                        active#(U11(X1, X2, X3)) -> active#(X1),
                                 active#(U13(X)) -> active#(X),
                                 active#(U22(X)) -> active#(X),
                            active#(U21(X1, X2)) -> active#(X1),
                            active#(U32(X1, X2)) -> active#(X1),
                        active#(U31(X1, X2, X3)) -> active#(X1),
                                   active#(s(X)) -> active#(X),
                           active#(plus(X1, X2)) -> active#(X1),
                        active#(U51(X1, X2, X3)) -> active#(X1),
                                 active#(U61(X)) -> active#(X),
                              active#(x(X1, X2)) -> active#(X1),
                        active#(U71(X1, X2, X3)) -> active#(X1)}
                      EDG:
                       {
                        (active#(U22(X)) -> active#(X), active#(U71(X1, X2, X3)) -> active#(X1))
                        (active#(U22(X)) -> active#(X), active#(x(X1, X2)) -> active#(X1))
                        (active#(U22(X)) -> active#(X), active#(U61(X)) -> active#(X))
                        (active#(U22(X)) -> active#(X), active#(U51(X1, X2, X3)) -> active#(X1))
                        (active#(U22(X)) -> active#(X), active#(plus(X1, X2)) -> active#(X1))
                        (active#(U22(X)) -> active#(X), active#(s(X)) -> active#(X))
                        (active#(U22(X)) -> active#(X), active#(U31(X1, X2, X3)) -> active#(X1))
                        (active#(U22(X)) -> active#(X), active#(U32(X1, X2)) -> active#(X1))
                        (active#(U22(X)) -> active#(X), active#(U21(X1, X2)) -> active#(X1))
                        (active#(U22(X)) -> active#(X), active#(U22(X)) -> active#(X))
                        (active#(U22(X)) -> active#(X), active#(U13(X)) -> active#(X))
                        (active#(U22(X)) -> active#(X), active#(U11(X1, X2, X3)) -> active#(X1))
                        (active#(U22(X)) -> active#(X), active#(U12(X1, X2)) -> active#(X1))
                        (active#(U61(X)) -> active#(X), active#(U71(X1, X2, X3)) -> active#(X1))
                        (active#(U61(X)) -> active#(X), active#(x(X1, X2)) -> active#(X1))
                        (active#(U61(X)) -> active#(X), active#(U61(X)) -> active#(X))
                        (active#(U61(X)) -> active#(X), active#(U51(X1, X2, X3)) -> active#(X1))
                        (active#(U61(X)) -> active#(X), active#(plus(X1, X2)) -> active#(X1))
                        (active#(U61(X)) -> active#(X), active#(s(X)) -> active#(X))
                        (active#(U61(X)) -> active#(X), active#(U31(X1, X2, X3)) -> active#(X1))
                        (active#(U61(X)) -> active#(X), active#(U32(X1, X2)) -> active#(X1))
                        (active#(U61(X)) -> active#(X), active#(U21(X1, X2)) -> active#(X1))
                        (active#(U61(X)) -> active#(X), active#(U22(X)) -> active#(X))
                        (active#(U61(X)) -> active#(X), active#(U13(X)) -> active#(X))
                        (active#(U61(X)) -> active#(X), active#(U11(X1, X2, X3)) -> active#(X1))
                        (active#(U61(X)) -> active#(X), active#(U12(X1, X2)) -> active#(X1))
                        (active#(U11(X1, X2, X3)) -> active#(X1), active#(U71(X1, X2, X3)) -> active#(X1))
                        (active#(U11(X1, X2, X3)) -> active#(X1), active#(x(X1, X2)) -> active#(X1))
                        (active#(U11(X1, X2, X3)) -> active#(X1), active#(U61(X)) -> active#(X))
                        (active#(U11(X1, X2, X3)) -> active#(X1), active#(U51(X1, X2, X3)) -> active#(X1))
                        (active#(U11(X1, X2, X3)) -> active#(X1), active#(plus(X1, X2)) -> active#(X1))
                        (active#(U11(X1, X2, X3)) -> active#(X1), active#(s(X)) -> active#(X))
                        (active#(U11(X1, X2, X3)) -> active#(X1), active#(U31(X1, X2, X3)) -> active#(X1))
                        (active#(U11(X1, X2, X3)) -> active#(X1), active#(U32(X1, X2)) -> active#(X1))
                        (active#(U11(X1, X2, X3)) -> active#(X1), active#(U21(X1, X2)) -> active#(X1))
                        (active#(U11(X1, X2, X3)) -> active#(X1), active#(U22(X)) -> active#(X))
                        (active#(U11(X1, X2, X3)) -> active#(X1), active#(U13(X)) -> active#(X))
                        (active#(U11(X1, X2, X3)) -> active#(X1), active#(U11(X1, X2, X3)) -> active#(X1))
                        (active#(U11(X1, X2, X3)) -> active#(X1), active#(U12(X1, X2)) -> active#(X1))
                        (active#(U32(X1, X2)) -> active#(X1), active#(U71(X1, X2, X3)) -> active#(X1))
                        (active#(U32(X1, X2)) -> active#(X1), active#(x(X1, X2)) -> active#(X1))
                        (active#(U32(X1, X2)) -> active#(X1), active#(U61(X)) -> active#(X))
                        (active#(U32(X1, X2)) -> active#(X1), active#(U51(X1, X2, X3)) -> active#(X1))
                        (active#(U32(X1, X2)) -> active#(X1), active#(plus(X1, X2)) -> active#(X1))
                        (active#(U32(X1, X2)) -> active#(X1), active#(s(X)) -> active#(X))
                        (active#(U32(X1, X2)) -> active#(X1), active#(U31(X1, X2, X3)) -> active#(X1))
                        (active#(U32(X1, X2)) -> active#(X1), active#(U32(X1, X2)) -> active#(X1))
                        (active#(U32(X1, X2)) -> active#(X1), active#(U21(X1, X2)) -> active#(X1))
                        (active#(U32(X1, X2)) -> active#(X1), active#(U22(X)) -> active#(X))
                        (active#(U32(X1, X2)) -> active#(X1), active#(U13(X)) -> active#(X))
                        (active#(U32(X1, X2)) -> active#(X1), active#(U11(X1, X2, X3)) -> active#(X1))
                        (active#(U32(X1, X2)) -> active#(X1), active#(U12(X1, X2)) -> active#(X1))
                        (active#(plus(X1, X2)) -> active#(X1), active#(U71(X1, X2, X3)) -> active#(X1))
                        (active#(plus(X1, X2)) -> active#(X1), active#(x(X1, X2)) -> active#(X1))
                        (active#(plus(X1, X2)) -> active#(X1), active#(U61(X)) -> active#(X))
                        (active#(plus(X1, X2)) -> active#(X1), active#(U51(X1, X2, X3)) -> active#(X1))
                        (active#(plus(X1, X2)) -> active#(X1), active#(plus(X1, X2)) -> active#(X1))
                        (active#(plus(X1, X2)) -> active#(X1), active#(s(X)) -> active#(X))
                        (active#(plus(X1, X2)) -> active#(X1), active#(U31(X1, X2, X3)) -> active#(X1))
                        (active#(plus(X1, X2)) -> active#(X1), active#(U32(X1, X2)) -> active#(X1))
                        (active#(plus(X1, X2)) -> active#(X1), active#(U21(X1, X2)) -> active#(X1))
                        (active#(plus(X1, X2)) -> active#(X1), active#(U22(X)) -> active#(X))
                        (active#(plus(X1, X2)) -> active#(X1), active#(U13(X)) -> active#(X))
                        (active#(plus(X1, X2)) -> active#(X1), active#(U11(X1, X2, X3)) -> active#(X1))
                        (active#(plus(X1, X2)) -> active#(X1), active#(U12(X1, X2)) -> active#(X1))
                        (active#(x(X1, X2)) -> active#(X1), active#(U71(X1, X2, X3)) -> active#(X1))
                        (active#(x(X1, X2)) -> active#(X1), active#(x(X1, X2)) -> active#(X1))
                        (active#(x(X1, X2)) -> active#(X1), active#(U61(X)) -> active#(X))
                        (active#(x(X1, X2)) -> active#(X1), active#(U51(X1, X2, X3)) -> active#(X1))
                        (active#(x(X1, X2)) -> active#(X1), active#(plus(X1, X2)) -> active#(X1))
                        (active#(x(X1, X2)) -> active#(X1), active#(s(X)) -> active#(X))
                        (active#(x(X1, X2)) -> active#(X1), active#(U31(X1, X2, X3)) -> active#(X1))
                        (active#(x(X1, X2)) -> active#(X1), active#(U32(X1, X2)) -> active#(X1))
                        (active#(x(X1, X2)) -> active#(X1), active#(U21(X1, X2)) -> active#(X1))
                        (active#(x(X1, X2)) -> active#(X1), active#(U22(X)) -> active#(X))
                        (active#(x(X1, X2)) -> active#(X1), active#(U13(X)) -> active#(X))
                        (active#(x(X1, X2)) -> active#(X1), active#(U11(X1, X2, X3)) -> active#(X1))
                        (active#(x(X1, X2)) -> active#(X1), active#(U12(X1, X2)) -> active#(X1))
                        (active#(U71(X1, X2, X3)) -> active#(X1), active#(U12(X1, X2)) -> active#(X1))
                        (active#(U71(X1, X2, X3)) -> active#(X1), active#(U11(X1, X2, X3)) -> active#(X1))
                        (active#(U71(X1, X2, X3)) -> active#(X1), active#(U13(X)) -> active#(X))
                        (active#(U71(X1, X2, X3)) -> active#(X1), active#(U22(X)) -> active#(X))
                        (active#(U71(X1, X2, X3)) -> active#(X1), active#(U21(X1, X2)) -> active#(X1))
                        (active#(U71(X1, X2, X3)) -> active#(X1), active#(U32(X1, X2)) -> active#(X1))
                        (active#(U71(X1, X2, X3)) -> active#(X1), active#(U31(X1, X2, X3)) -> active#(X1))
                        (active#(U71(X1, X2, X3)) -> active#(X1), active#(s(X)) -> active#(X))
                        (active#(U71(X1, X2, X3)) -> active#(X1), active#(plus(X1, X2)) -> active#(X1))
                        (active#(U71(X1, X2, X3)) -> active#(X1), active#(U51(X1, X2, X3)) -> active#(X1))
                        (active#(U71(X1, X2, X3)) -> active#(X1), active#(U61(X)) -> active#(X))
                        (active#(U71(X1, X2, X3)) -> active#(X1), active#(x(X1, X2)) -> active#(X1))
                        (active#(U71(X1, X2, X3)) -> active#(X1), active#(U71(X1, X2, X3)) -> active#(X1))
                        (active#(U51(X1, X2, X3)) -> active#(X1), active#(U12(X1, X2)) -> active#(X1))
                        (active#(U51(X1, X2, X3)) -> active#(X1), active#(U11(X1, X2, X3)) -> active#(X1))
                        (active#(U51(X1, X2, X3)) -> active#(X1), active#(U13(X)) -> active#(X))
                        (active#(U51(X1, X2, X3)) -> active#(X1), active#(U22(X)) -> active#(X))
                        (active#(U51(X1, X2, X3)) -> active#(X1), active#(U21(X1, X2)) -> active#(X1))
                        (active#(U51(X1, X2, X3)) -> active#(X1), active#(U32(X1, X2)) -> active#(X1))
                        (active#(U51(X1, X2, X3)) -> active#(X1), active#(U31(X1, X2, X3)) -> active#(X1))
                        (active#(U51(X1, X2, X3)) -> active#(X1), active#(s(X)) -> active#(X))
                        (active#(U51(X1, X2, X3)) -> active#(X1), active#(plus(X1, X2)) -> active#(X1))
                        (active#(U51(X1, X2, X3)) -> active#(X1), active#(U51(X1, X2, X3)) -> active#(X1))
                        (active#(U51(X1, X2, X3)) -> active#(X1), active#(U61(X)) -> active#(X))
                        (active#(U51(X1, X2, X3)) -> active#(X1), active#(x(X1, X2)) -> active#(X1))
                        (active#(U51(X1, X2, X3)) -> active#(X1), active#(U71(X1, X2, X3)) -> active#(X1))
                        (active#(U31(X1, X2, X3)) -> active#(X1), active#(U12(X1, X2)) -> active#(X1))
                        (active#(U31(X1, X2, X3)) -> active#(X1), active#(U11(X1, X2, X3)) -> active#(X1))
                        (active#(U31(X1, X2, X3)) -> active#(X1), active#(U13(X)) -> active#(X))
                        (active#(U31(X1, X2, X3)) -> active#(X1), active#(U22(X)) -> active#(X))
                        (active#(U31(X1, X2, X3)) -> active#(X1), active#(U21(X1, X2)) -> active#(X1))
                        (active#(U31(X1, X2, X3)) -> active#(X1), active#(U32(X1, X2)) -> active#(X1))
                        (active#(U31(X1, X2, X3)) -> active#(X1), active#(U31(X1, X2, X3)) -> active#(X1))
                        (active#(U31(X1, X2, X3)) -> active#(X1), active#(s(X)) -> active#(X))
                        (active#(U31(X1, X2, X3)) -> active#(X1), active#(plus(X1, X2)) -> active#(X1))
                        (active#(U31(X1, X2, X3)) -> active#(X1), active#(U51(X1, X2, X3)) -> active#(X1))
                        (active#(U31(X1, X2, X3)) -> active#(X1), active#(U61(X)) -> active#(X))
                        (active#(U31(X1, X2, X3)) -> active#(X1), active#(x(X1, X2)) -> active#(X1))
                        (active#(U31(X1, X2, X3)) -> active#(X1), active#(U71(X1, X2, X3)) -> active#(X1))
                        (active#(U21(X1, X2)) -> active#(X1), active#(U12(X1, X2)) -> active#(X1))
                        (active#(U21(X1, X2)) -> active#(X1), active#(U11(X1, X2, X3)) -> active#(X1))
                        (active#(U21(X1, X2)) -> active#(X1), active#(U13(X)) -> active#(X))
                        (active#(U21(X1, X2)) -> active#(X1), active#(U22(X)) -> active#(X))
                        (active#(U21(X1, X2)) -> active#(X1), active#(U21(X1, X2)) -> active#(X1))
                        (active#(U21(X1, X2)) -> active#(X1), active#(U32(X1, X2)) -> active#(X1))
                        (active#(U21(X1, X2)) -> active#(X1), active#(U31(X1, X2, X3)) -> active#(X1))
                        (active#(U21(X1, X2)) -> active#(X1), active#(s(X)) -> active#(X))
                        (active#(U21(X1, X2)) -> active#(X1), active#(plus(X1, X2)) -> active#(X1))
                        (active#(U21(X1, X2)) -> active#(X1), active#(U51(X1, X2, X3)) -> active#(X1))
                        (active#(U21(X1, X2)) -> active#(X1), active#(U61(X)) -> active#(X))
                        (active#(U21(X1, X2)) -> active#(X1), active#(x(X1, X2)) -> active#(X1))
                        (active#(U21(X1, X2)) -> active#(X1), active#(U71(X1, X2, X3)) -> active#(X1))
                        (active#(U12(X1, X2)) -> active#(X1), active#(U12(X1, X2)) -> active#(X1))
                        (active#(U12(X1, X2)) -> active#(X1), active#(U11(X1, X2, X3)) -> active#(X1))
                        (active#(U12(X1, X2)) -> active#(X1), active#(U13(X)) -> active#(X))
                        (active#(U12(X1, X2)) -> active#(X1), active#(U22(X)) -> active#(X))
                        (active#(U12(X1, X2)) -> active#(X1), active#(U21(X1, X2)) -> active#(X1))
                        (active#(U12(X1, X2)) -> active#(X1), active#(U32(X1, X2)) -> active#(X1))
                        (active#(U12(X1, X2)) -> active#(X1), active#(U31(X1, X2, X3)) -> active#(X1))
                        (active#(U12(X1, X2)) -> active#(X1), active#(s(X)) -> active#(X))
                        (active#(U12(X1, X2)) -> active#(X1), active#(plus(X1, X2)) -> active#(X1))
                        (active#(U12(X1, X2)) -> active#(X1), active#(U51(X1, X2, X3)) -> active#(X1))
                        (active#(U12(X1, X2)) -> active#(X1), active#(U61(X)) -> active#(X))
                        (active#(U12(X1, X2)) -> active#(X1), active#(x(X1, X2)) -> active#(X1))
                        (active#(U12(X1, X2)) -> active#(X1), active#(U71(X1, X2, X3)) -> active#(X1))
                        (active#(s(X)) -> active#(X), active#(U12(X1, X2)) -> active#(X1))
                        (active#(s(X)) -> active#(X), active#(U11(X1, X2, X3)) -> active#(X1))
                        (active#(s(X)) -> active#(X), active#(U13(X)) -> active#(X))
                        (active#(s(X)) -> active#(X), active#(U22(X)) -> active#(X))
                        (active#(s(X)) -> active#(X), active#(U21(X1, X2)) -> active#(X1))
                        (active#(s(X)) -> active#(X), active#(U32(X1, X2)) -> active#(X1))
                        (active#(s(X)) -> active#(X), active#(U31(X1, X2, X3)) -> active#(X1))
                        (active#(s(X)) -> active#(X), active#(s(X)) -> active#(X))
                        (active#(s(X)) -> active#(X), active#(plus(X1, X2)) -> active#(X1))
                        (active#(s(X)) -> active#(X), active#(U51(X1, X2, X3)) -> active#(X1))
                        (active#(s(X)) -> active#(X), active#(U61(X)) -> active#(X))
                        (active#(s(X)) -> active#(X), active#(x(X1, X2)) -> active#(X1))
                        (active#(s(X)) -> active#(X), active#(U71(X1, X2, X3)) -> active#(X1))
                        (active#(U13(X)) -> active#(X), active#(U12(X1, X2)) -> active#(X1))
                        (active#(U13(X)) -> active#(X), active#(U11(X1, X2, X3)) -> active#(X1))
                        (active#(U13(X)) -> active#(X), active#(U13(X)) -> active#(X))
                        (active#(U13(X)) -> active#(X), active#(U22(X)) -> active#(X))
                        (active#(U13(X)) -> active#(X), active#(U21(X1, X2)) -> active#(X1))
                        (active#(U13(X)) -> active#(X), active#(U32(X1, X2)) -> active#(X1))
                        (active#(U13(X)) -> active#(X), active#(U31(X1, X2, X3)) -> active#(X1))
                        (active#(U13(X)) -> active#(X), active#(s(X)) -> active#(X))
                        (active#(U13(X)) -> active#(X), active#(plus(X1, X2)) -> active#(X1))
                        (active#(U13(X)) -> active#(X), active#(U51(X1, X2, X3)) -> active#(X1))
                        (active#(U13(X)) -> active#(X), active#(U61(X)) -> active#(X))
                        (active#(U13(X)) -> active#(X), active#(x(X1, X2)) -> active#(X1))
                        (active#(U13(X)) -> active#(X), active#(U71(X1, X2, X3)) -> active#(X1))
                       }
                       SCCS:
                        Scc:
                         {    active#(U12(X1, X2)) -> active#(X1),
                          active#(U11(X1, X2, X3)) -> active#(X1),
                                   active#(U13(X)) -> active#(X),
                                   active#(U22(X)) -> active#(X),
                              active#(U21(X1, X2)) -> active#(X1),
                              active#(U32(X1, X2)) -> active#(X1),
                          active#(U31(X1, X2, X3)) -> active#(X1),
                                     active#(s(X)) -> active#(X),
                             active#(plus(X1, X2)) -> active#(X1),
                          active#(U51(X1, X2, X3)) -> active#(X1),
                                   active#(U61(X)) -> active#(X),
                                active#(x(X1, X2)) -> active#(X1),
                          active#(U71(X1, X2, X3)) -> active#(X1)}
                        SCC:
                         Strict:
                          {    active#(U12(X1, X2)) -> active#(X1),
                           active#(U11(X1, X2, X3)) -> active#(X1),
                                    active#(U13(X)) -> active#(X),
                                    active#(U22(X)) -> active#(X),
                               active#(U21(X1, X2)) -> active#(X1),
                               active#(U32(X1, X2)) -> active#(X1),
                           active#(U31(X1, X2, X3)) -> active#(X1),
                                      active#(s(X)) -> active#(X),
                              active#(plus(X1, X2)) -> active#(X1),
                           active#(U51(X1, X2, X3)) -> active#(X1),
                                    active#(U61(X)) -> active#(X),
                                 active#(x(X1, X2)) -> active#(X1),
                           active#(U71(X1, X2, X3)) -> active#(X1)}
                         Weak:
                         {              U12(mark(X1), X2) -> mark(U12(X1, X2)),
                                      U12(ok(X1), ok(X2)) -> ok(U12(X1, X2)),
                                             isNat(ok(X)) -> ok(isNat(X)),
                                      active(U12(X1, X2)) -> U12(active(X1), X2),
                                    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(X1, X2, X3)) -> U11(active(X1), X2, X3),
                                active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                                           active(U13(X)) -> U13(active(X)),
                                        active(U13(tt())) -> mark(tt()),
                                           active(U22(X)) -> U22(active(X)),
                                        active(U22(tt())) -> mark(tt()),
                                      active(U21(X1, X2)) -> U21(active(X1), X2),
                                    active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                                      active(U32(X1, X2)) -> U32(active(X1), X2),
                                    active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
                                  active(U31(X1, X2, X3)) -> U31(active(X1), X2, X3),
                                active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                                           active(U33(X)) -> U33(active(X)),
                                        active(U33(tt())) -> mark(tt()),
                                      active(U41(X1, X2)) -> U41(active(X1), X2),
                                     active(U41(tt(), N)) -> mark(N),
                                             active(s(X)) -> s(active(X)),
                                    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(plus(X1, X2)) -> plus(X1, active(X2)),
                                     active(plus(X1, X2)) -> plus(active(X1), X2),
                                  active(U51(X1, X2, X3)) -> U51(active(X1), X2, X3),
                                  active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                                           active(U61(X)) -> U61(active(X)),
                                        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(x(X1, X2)) -> x(X1, active(X2)),
                                        active(x(X1, X2)) -> x(active(X1), X2),
                                  active(U71(X1, X2, X3)) -> U71(active(X1), X2, X3),
                                  active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                                      active(and(X1, X2)) -> and(active(X1), X2),
                                     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(mark(X1), X2, X3) -> mark(U11(X1, X2, X3)),
                              U11(ok(X1), ok(X2), ok(X3)) -> ok(U11(X1, X2, X3)),
                                             U13(mark(X)) -> mark(U13(X)),
                                               U13(ok(X)) -> ok(U13(X)),
                                             U22(mark(X)) -> mark(U22(X)),
                                               U22(ok(X)) -> ok(U22(X)),
                                        U21(mark(X1), X2) -> mark(U21(X1, X2)),
                                      U21(ok(X1), ok(X2)) -> ok(U21(X1, X2)),
                                        U32(mark(X1), X2) -> mark(U32(X1, X2)),
                                      U32(ok(X1), ok(X2)) -> ok(U32(X1, X2)),
                                    U31(mark(X1), X2, X3) -> mark(U31(X1, X2, X3)),
                              U31(ok(X1), ok(X2), ok(X3)) -> ok(U31(X1, X2, X3)),
                                             U33(mark(X)) -> mark(U33(X)),
                                               U33(ok(X)) -> ok(U33(X)),
                                        U41(mark(X1), X2) -> mark(U41(X1, X2)),
                                      U41(ok(X1), ok(X2)) -> ok(U41(X1, X2)),
                                               s(mark(X)) -> mark(s(X)),
                                                 s(ok(X)) -> ok(s(X)),
                                       plus(X1, mark(X2)) -> mark(plus(X1, X2)),
                                       plus(mark(X1), X2) -> mark(plus(X1, X2)),
                                     plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)),
                                    U51(mark(X1), X2, X3) -> mark(U51(X1, X2, X3)),
                              U51(ok(X1), ok(X2), ok(X3)) -> ok(U51(X1, X2, X3)),
                                             U61(mark(X)) -> mark(U61(X)),
                                               U61(ok(X)) -> ok(U61(X)),
                                          x(X1, mark(X2)) -> mark(x(X1, X2)),
                                          x(mark(X1), X2) -> mark(x(X1, X2)),
                                        x(ok(X1), ok(X2)) -> ok(x(X1, X2)),
                                    U71(mark(X1), X2, X3) -> mark(U71(X1, X2, X3)),
                              U71(ok(X1), ok(X2), ok(X3)) -> ok(U71(X1, X2, X3)),
                                        and(mark(X1), X2) -> mark(and(X1, X2)),
                                      and(ok(X1), ok(X2)) -> ok(and(X1, X2)),
                                         isNatKind(ok(X)) -> ok(isNatKind(X)),
                                      proper(U12(X1, X2)) -> U12(proper(X1), proper(X2)),
                                         proper(isNat(X)) -> isNat(proper(X)),
                                  proper(U11(X1, X2, X3)) -> U11(proper(X1), proper(X2), proper(X3)),
                                             proper(tt()) -> ok(tt()),
                                           proper(U13(X)) -> U13(proper(X)),
                                           proper(U22(X)) -> U22(proper(X)),
                                      proper(U21(X1, X2)) -> U21(proper(X1), proper(X2)),
                                      proper(U32(X1, X2)) -> U32(proper(X1), proper(X2)),
                                  proper(U31(X1, X2, X3)) -> U31(proper(X1), proper(X2), proper(X3)),
                                           proper(U33(X)) -> U33(proper(X)),
                                      proper(U41(X1, X2)) -> U41(proper(X1), proper(X2)),
                                             proper(s(X)) -> s(proper(X)),
                                     proper(plus(X1, X2)) -> plus(proper(X1), proper(X2)),
                                  proper(U51(X1, X2, X3)) -> U51(proper(X1), proper(X2), proper(X3)),
                                              proper(0()) -> ok(0()),
                                           proper(U61(X)) -> U61(proper(X)),
                                        proper(x(X1, X2)) -> x(proper(X1), proper(X2)),
                                  proper(U71(X1, X2, X3)) -> U71(proper(X1), proper(X2), proper(X3)),
                                      proper(and(X1, X2)) -> and(proper(X1), proper(X2)),
                                     proper(isNatKind(X)) -> isNatKind(proper(X)),
                                             top(mark(X)) -> top(proper(X)),
                                               top(ok(X)) -> top(active(X))}
                         SPSC:
                          Simple Projection:
                           pi(active#) = 0
                          Strict:
                           {    active#(U12(X1, X2)) -> active#(X1),
                            active#(U11(X1, X2, X3)) -> active#(X1),
                                     active#(U13(X)) -> active#(X),
                                     active#(U22(X)) -> active#(X),
                                active#(U21(X1, X2)) -> active#(X1),
                                active#(U32(X1, X2)) -> active#(X1),
                            active#(U31(X1, X2, X3)) -> active#(X1),
                                       active#(s(X)) -> active#(X),
                            active#(U51(X1, X2, X3)) -> active#(X1),
                                     active#(U61(X)) -> active#(X),
                                  active#(x(X1, X2)) -> active#(X1),
                            active#(U71(X1, X2, X3)) -> active#(X1)}
                          EDG:
                           {
                            (active#(U22(X)) -> active#(X), active#(U71(X1, X2, X3)) -> active#(X1))
                            (active#(U22(X)) -> active#(X), active#(x(X1, X2)) -> active#(X1))
                            (active#(U22(X)) -> active#(X), active#(U61(X)) -> active#(X))
                            (active#(U22(X)) -> active#(X), active#(U51(X1, X2, X3)) -> active#(X1))
                            (active#(U22(X)) -> active#(X), active#(s(X)) -> active#(X))
                            (active#(U22(X)) -> active#(X), active#(U31(X1, X2, X3)) -> active#(X1))
                            (active#(U22(X)) -> active#(X), active#(U32(X1, X2)) -> active#(X1))
                            (active#(U22(X)) -> active#(X), active#(U21(X1, X2)) -> active#(X1))
                            (active#(U22(X)) -> active#(X), active#(U22(X)) -> active#(X))
                            (active#(U22(X)) -> active#(X), active#(U13(X)) -> active#(X))
                            (active#(U22(X)) -> active#(X), active#(U11(X1, X2, X3)) -> active#(X1))
                            (active#(U22(X)) -> active#(X), active#(U12(X1, X2)) -> active#(X1))
                            (active#(U61(X)) -> active#(X), active#(U71(X1, X2, X3)) -> active#(X1))
                            (active#(U61(X)) -> active#(X), active#(x(X1, X2)) -> active#(X1))
                            (active#(U61(X)) -> active#(X), active#(U61(X)) -> active#(X))
                            (active#(U61(X)) -> active#(X), active#(U51(X1, X2, X3)) -> active#(X1))
                            (active#(U61(X)) -> active#(X), active#(s(X)) -> active#(X))
                            (active#(U61(X)) -> active#(X), active#(U31(X1, X2, X3)) -> active#(X1))
                            (active#(U61(X)) -> active#(X), active#(U32(X1, X2)) -> active#(X1))
                            (active#(U61(X)) -> active#(X), active#(U21(X1, X2)) -> active#(X1))
                            (active#(U61(X)) -> active#(X), active#(U22(X)) -> active#(X))
                            (active#(U61(X)) -> active#(X), active#(U13(X)) -> active#(X))
                            (active#(U61(X)) -> active#(X), active#(U11(X1, X2, X3)) -> active#(X1))
                            (active#(U61(X)) -> active#(X), active#(U12(X1, X2)) -> active#(X1))
                            (active#(U11(X1, X2, X3)) -> active#(X1), active#(U71(X1, X2, X3)) -> active#(X1))
                            (active#(U11(X1, X2, X3)) -> active#(X1), active#(x(X1, X2)) -> active#(X1))
                            (active#(U11(X1, X2, X3)) -> active#(X1), active#(U61(X)) -> active#(X))
                            (active#(U11(X1, X2, X3)) -> active#(X1), active#(U51(X1, X2, X3)) -> active#(X1))
                            (active#(U11(X1, X2, X3)) -> active#(X1), active#(s(X)) -> active#(X))
                            (active#(U11(X1, X2, X3)) -> active#(X1), active#(U31(X1, X2, X3)) -> active#(X1))
                            (active#(U11(X1, X2, X3)) -> active#(X1), active#(U32(X1, X2)) -> active#(X1))
                            (active#(U11(X1, X2, X3)) -> active#(X1), active#(U21(X1, X2)) -> active#(X1))
                            (active#(U11(X1, X2, X3)) -> active#(X1), active#(U22(X)) -> active#(X))
                            (active#(U11(X1, X2, X3)) -> active#(X1), active#(U13(X)) -> active#(X))
                            (active#(U11(X1, X2, X3)) -> active#(X1), active#(U11(X1, X2, X3)) -> active#(X1))
                            (active#(U11(X1, X2, X3)) -> active#(X1), active#(U12(X1, X2)) -> active#(X1))
                            (active#(U32(X1, X2)) -> active#(X1), active#(U71(X1, X2, X3)) -> active#(X1))
                            (active#(U32(X1, X2)) -> active#(X1), active#(x(X1, X2)) -> active#(X1))
                            (active#(U32(X1, X2)) -> active#(X1), active#(U61(X)) -> active#(X))
                            (active#(U32(X1, X2)) -> active#(X1), active#(U51(X1, X2, X3)) -> active#(X1))
                            (active#(U32(X1, X2)) -> active#(X1), active#(s(X)) -> active#(X))
                            (active#(U32(X1, X2)) -> active#(X1), active#(U31(X1, X2, X3)) -> active#(X1))
                            (active#(U32(X1, X2)) -> active#(X1), active#(U32(X1, X2)) -> active#(X1))
                            (active#(U32(X1, X2)) -> active#(X1), active#(U21(X1, X2)) -> active#(X1))
                            (active#(U32(X1, X2)) -> active#(X1), active#(U22(X)) -> active#(X))
                            (active#(U32(X1, X2)) -> active#(X1), active#(U13(X)) -> active#(X))
                            (active#(U32(X1, X2)) -> active#(X1), active#(U11(X1, X2, X3)) -> active#(X1))
                            (active#(U32(X1, X2)) -> active#(X1), active#(U12(X1, X2)) -> active#(X1))
                            (active#(U51(X1, X2, X3)) -> active#(X1), active#(U71(X1, X2, X3)) -> active#(X1))
                            (active#(U51(X1, X2, X3)) -> active#(X1), active#(x(X1, X2)) -> active#(X1))
                            (active#(U51(X1, X2, X3)) -> active#(X1), active#(U61(X)) -> active#(X))
                            (active#(U51(X1, X2, X3)) -> active#(X1), active#(U51(X1, X2, X3)) -> active#(X1))
                            (active#(U51(X1, X2, X3)) -> active#(X1), active#(s(X)) -> active#(X))
                            (active#(U51(X1, X2, X3)) -> active#(X1), active#(U31(X1, X2, X3)) -> active#(X1))
                            (active#(U51(X1, X2, X3)) -> active#(X1), active#(U32(X1, X2)) -> active#(X1))
                            (active#(U51(X1, X2, X3)) -> active#(X1), active#(U21(X1, X2)) -> active#(X1))
                            (active#(U51(X1, X2, X3)) -> active#(X1), active#(U22(X)) -> active#(X))
                            (active#(U51(X1, X2, X3)) -> active#(X1), active#(U13(X)) -> active#(X))
                            (active#(U51(X1, X2, X3)) -> active#(X1), active#(U11(X1, X2, X3)) -> active#(X1))
                            (active#(U51(X1, X2, X3)) -> active#(X1), active#(U12(X1, X2)) -> active#(X1))
                            (active#(U71(X1, X2, X3)) -> active#(X1), active#(U71(X1, X2, X3)) -> active#(X1))
                            (active#(U71(X1, X2, X3)) -> active#(X1), active#(x(X1, X2)) -> active#(X1))
                            (active#(U71(X1, X2, X3)) -> active#(X1), active#(U61(X)) -> active#(X))
                            (active#(U71(X1, X2, X3)) -> active#(X1), active#(U51(X1, X2, X3)) -> active#(X1))
                            (active#(U71(X1, X2, X3)) -> active#(X1), active#(s(X)) -> active#(X))
                            (active#(U71(X1, X2, X3)) -> active#(X1), active#(U31(X1, X2, X3)) -> active#(X1))
                            (active#(U71(X1, X2, X3)) -> active#(X1), active#(U32(X1, X2)) -> active#(X1))
                            (active#(U71(X1, X2, X3)) -> active#(X1), active#(U21(X1, X2)) -> active#(X1))
                            (active#(U71(X1, X2, X3)) -> active#(X1), active#(U22(X)) -> active#(X))
                            (active#(U71(X1, X2, X3)) -> active#(X1), active#(U13(X)) -> active#(X))
                            (active#(U71(X1, X2, X3)) -> active#(X1), active#(U11(X1, X2, X3)) -> active#(X1))
                            (active#(U71(X1, X2, X3)) -> active#(X1), active#(U12(X1, X2)) -> active#(X1))
                            (active#(x(X1, X2)) -> active#(X1), active#(U12(X1, X2)) -> active#(X1))
                            (active#(x(X1, X2)) -> active#(X1), active#(U11(X1, X2, X3)) -> active#(X1))
                            (active#(x(X1, X2)) -> active#(X1), active#(U13(X)) -> active#(X))
                            (active#(x(X1, X2)) -> active#(X1), active#(U22(X)) -> active#(X))
                            (active#(x(X1, X2)) -> active#(X1), active#(U21(X1, X2)) -> active#(X1))
                            (active#(x(X1, X2)) -> active#(X1), active#(U32(X1, X2)) -> active#(X1))
                            (active#(x(X1, X2)) -> active#(X1), active#(U31(X1, X2, X3)) -> active#(X1))
                            (active#(x(X1, X2)) -> active#(X1), active#(s(X)) -> active#(X))
                            (active#(x(X1, X2)) -> active#(X1), active#(U51(X1, X2, X3)) -> active#(X1))
                            (active#(x(X1, X2)) -> active#(X1), active#(U61(X)) -> active#(X))
                            (active#(x(X1, X2)) -> active#(X1), active#(x(X1, X2)) -> active#(X1))
                            (active#(x(X1, X2)) -> active#(X1), active#(U71(X1, X2, X3)) -> active#(X1))
                            (active#(U31(X1, X2, X3)) -> active#(X1), active#(U12(X1, X2)) -> active#(X1))
                            (active#(U31(X1, X2, X3)) -> active#(X1), active#(U11(X1, X2, X3)) -> active#(X1))
                            (active#(U31(X1, X2, X3)) -> active#(X1), active#(U13(X)) -> active#(X))
                            (active#(U31(X1, X2, X3)) -> active#(X1), active#(U22(X)) -> active#(X))
                            (active#(U31(X1, X2, X3)) -> active#(X1), active#(U21(X1, X2)) -> active#(X1))
                            (active#(U31(X1, X2, X3)) -> active#(X1), active#(U32(X1, X2)) -> active#(X1))
                            (active#(U31(X1, X2, X3)) -> active#(X1), active#(U31(X1, X2, X3)) -> active#(X1))
                            (active#(U31(X1, X2, X3)) -> active#(X1), active#(s(X)) -> active#(X))
                            (active#(U31(X1, X2, X3)) -> active#(X1), active#(U51(X1, X2, X3)) -> active#(X1))
                            (active#(U31(X1, X2, X3)) -> active#(X1), active#(U61(X)) -> active#(X))
                            (active#(U31(X1, X2, X3)) -> active#(X1), active#(x(X1, X2)) -> active#(X1))
                            (active#(U31(X1, X2, X3)) -> active#(X1), active#(U71(X1, X2, X3)) -> active#(X1))
                            (active#(U21(X1, X2)) -> active#(X1), active#(U12(X1, X2)) -> active#(X1))
                            (active#(U21(X1, X2)) -> active#(X1), active#(U11(X1, X2, X3)) -> active#(X1))
                            (active#(U21(X1, X2)) -> active#(X1), active#(U13(X)) -> active#(X))
                            (active#(U21(X1, X2)) -> active#(X1), active#(U22(X)) -> active#(X))
                            (active#(U21(X1, X2)) -> active#(X1), active#(U21(X1, X2)) -> active#(X1))
                            (active#(U21(X1, X2)) -> active#(X1), active#(U32(X1, X2)) -> active#(X1))
                            (active#(U21(X1, X2)) -> active#(X1), active#(U31(X1, X2, X3)) -> active#(X1))
                            (active#(U21(X1, X2)) -> active#(X1), active#(s(X)) -> active#(X))
                            (active#(U21(X1, X2)) -> active#(X1), active#(U51(X1, X2, X3)) -> active#(X1))
                            (active#(U21(X1, X2)) -> active#(X1), active#(U61(X)) -> active#(X))
                            (active#(U21(X1, X2)) -> active#(X1), active#(x(X1, X2)) -> active#(X1))
                            (active#(U21(X1, X2)) -> active#(X1), active#(U71(X1, X2, X3)) -> active#(X1))
                            (active#(U12(X1, X2)) -> active#(X1), active#(U12(X1, X2)) -> active#(X1))
                            (active#(U12(X1, X2)) -> active#(X1), active#(U11(X1, X2, X3)) -> active#(X1))
                            (active#(U12(X1, X2)) -> active#(X1), active#(U13(X)) -> active#(X))
                            (active#(U12(X1, X2)) -> active#(X1), active#(U22(X)) -> active#(X))
                            (active#(U12(X1, X2)) -> active#(X1), active#(U21(X1, X2)) -> active#(X1))
                            (active#(U12(X1, X2)) -> active#(X1), active#(U32(X1, X2)) -> active#(X1))
                            (active#(U12(X1, X2)) -> active#(X1), active#(U31(X1, X2, X3)) -> active#(X1))
                            (active#(U12(X1, X2)) -> active#(X1), active#(s(X)) -> active#(X))
                            (active#(U12(X1, X2)) -> active#(X1), active#(U51(X1, X2, X3)) -> active#(X1))
                            (active#(U12(X1, X2)) -> active#(X1), active#(U61(X)) -> active#(X))
                            (active#(U12(X1, X2)) -> active#(X1), active#(x(X1, X2)) -> active#(X1))
                            (active#(U12(X1, X2)) -> active#(X1), active#(U71(X1, X2, X3)) -> active#(X1))
                            (active#(s(X)) -> active#(X), active#(U12(X1, X2)) -> active#(X1))
                            (active#(s(X)) -> active#(X), active#(U11(X1, X2, X3)) -> active#(X1))
                            (active#(s(X)) -> active#(X), active#(U13(X)) -> active#(X))
                            (active#(s(X)) -> active#(X), active#(U22(X)) -> active#(X))
                            (active#(s(X)) -> active#(X), active#(U21(X1, X2)) -> active#(X1))
                            (active#(s(X)) -> active#(X), active#(U32(X1, X2)) -> active#(X1))
                            (active#(s(X)) -> active#(X), active#(U31(X1, X2, X3)) -> active#(X1))
                            (active#(s(X)) -> active#(X), active#(s(X)) -> active#(X))
                            (active#(s(X)) -> active#(X), active#(U51(X1, X2, X3)) -> active#(X1))
                            (active#(s(X)) -> active#(X), active#(U61(X)) -> active#(X))
                            (active#(s(X)) -> active#(X), active#(x(X1, X2)) -> active#(X1))
                            (active#(s(X)) -> active#(X), active#(U71(X1, X2, X3)) -> active#(X1))
                            (active#(U13(X)) -> active#(X), active#(U12(X1, X2)) -> active#(X1))
                            (active#(U13(X)) -> active#(X), active#(U11(X1, X2, X3)) -> active#(X1))
                            (active#(U13(X)) -> active#(X), active#(U13(X)) -> active#(X))
                            (active#(U13(X)) -> active#(X), active#(U22(X)) -> active#(X))
                            (active#(U13(X)) -> active#(X), active#(U21(X1, X2)) -> active#(X1))
                            (active#(U13(X)) -> active#(X), active#(U32(X1, X2)) -> active#(X1))
                            (active#(U13(X)) -> active#(X), active#(U31(X1, X2, X3)) -> active#(X1))
                            (active#(U13(X)) -> active#(X), active#(s(X)) -> active#(X))
                            (active#(U13(X)) -> active#(X), active#(U51(X1, X2, X3)) -> active#(X1))
                            (active#(U13(X)) -> active#(X), active#(U61(X)) -> active#(X))
                            (active#(U13(X)) -> active#(X), active#(x(X1, X2)) -> active#(X1))
                            (active#(U13(X)) -> active#(X), active#(U71(X1, X2, X3)) -> active#(X1))
                           }
                           SCCS:
                            Scc:
                             {    active#(U12(X1, X2)) -> active#(X1),
                              active#(U11(X1, X2, X3)) -> active#(X1),
                                       active#(U13(X)) -> active#(X),
                                       active#(U22(X)) -> active#(X),
                                  active#(U21(X1, X2)) -> active#(X1),
                                  active#(U32(X1, X2)) -> active#(X1),
                              active#(U31(X1, X2, X3)) -> active#(X1),
                                         active#(s(X)) -> active#(X),
                              active#(U51(X1, X2, X3)) -> active#(X1),
                                       active#(U61(X)) -> active#(X),
                                    active#(x(X1, X2)) -> active#(X1),
                              active#(U71(X1, X2, X3)) -> active#(X1)}
                            SCC:
                             Strict:
                              {    active#(U12(X1, X2)) -> active#(X1),
                               active#(U11(X1, X2, X3)) -> active#(X1),
                                        active#(U13(X)) -> active#(X),
                                        active#(U22(X)) -> active#(X),
                                   active#(U21(X1, X2)) -> active#(X1),
                                   active#(U32(X1, X2)) -> active#(X1),
                               active#(U31(X1, X2, X3)) -> active#(X1),
                                          active#(s(X)) -> active#(X),
                               active#(U51(X1, X2, X3)) -> active#(X1),
                                        active#(U61(X)) -> active#(X),
                                     active#(x(X1, X2)) -> active#(X1),
                               active#(U71(X1, X2, X3)) -> active#(X1)}
                             Weak:
                             {              U12(mark(X1), X2) -> mark(U12(X1, X2)),
                                          U12(ok(X1), ok(X2)) -> ok(U12(X1, X2)),
                                                 isNat(ok(X)) -> ok(isNat(X)),
                                          active(U12(X1, X2)) -> U12(active(X1), X2),
                                        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(X1, X2, X3)) -> U11(active(X1), X2, X3),
                                    active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                                               active(U13(X)) -> U13(active(X)),
                                            active(U13(tt())) -> mark(tt()),
                                               active(U22(X)) -> U22(active(X)),
                                            active(U22(tt())) -> mark(tt()),
                                          active(U21(X1, X2)) -> U21(active(X1), X2),
                                        active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                                          active(U32(X1, X2)) -> U32(active(X1), X2),
                                        active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
                                      active(U31(X1, X2, X3)) -> U31(active(X1), X2, X3),
                                    active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                                               active(U33(X)) -> U33(active(X)),
                                            active(U33(tt())) -> mark(tt()),
                                          active(U41(X1, X2)) -> U41(active(X1), X2),
                                         active(U41(tt(), N)) -> mark(N),
                                                 active(s(X)) -> s(active(X)),
                                        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(plus(X1, X2)) -> plus(X1, active(X2)),
                                         active(plus(X1, X2)) -> plus(active(X1), X2),
                                      active(U51(X1, X2, X3)) -> U51(active(X1), X2, X3),
                                      active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                                               active(U61(X)) -> U61(active(X)),
                                            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(x(X1, X2)) -> x(X1, active(X2)),
                                            active(x(X1, X2)) -> x(active(X1), X2),
                                      active(U71(X1, X2, X3)) -> U71(active(X1), X2, X3),
                                      active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                                          active(and(X1, X2)) -> and(active(X1), X2),
                                         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(mark(X1), X2, X3) -> mark(U11(X1, X2, X3)),
                                  U11(ok(X1), ok(X2), ok(X3)) -> ok(U11(X1, X2, X3)),
                                                 U13(mark(X)) -> mark(U13(X)),
                                                   U13(ok(X)) -> ok(U13(X)),
                                                 U22(mark(X)) -> mark(U22(X)),
                                                   U22(ok(X)) -> ok(U22(X)),
                                            U21(mark(X1), X2) -> mark(U21(X1, X2)),
                                          U21(ok(X1), ok(X2)) -> ok(U21(X1, X2)),
                                            U32(mark(X1), X2) -> mark(U32(X1, X2)),
                                          U32(ok(X1), ok(X2)) -> ok(U32(X1, X2)),
                                        U31(mark(X1), X2, X3) -> mark(U31(X1, X2, X3)),
                                  U31(ok(X1), ok(X2), ok(X3)) -> ok(U31(X1, X2, X3)),
                                                 U33(mark(X)) -> mark(U33(X)),
                                                   U33(ok(X)) -> ok(U33(X)),
                                            U41(mark(X1), X2) -> mark(U41(X1, X2)),
                                          U41(ok(X1), ok(X2)) -> ok(U41(X1, X2)),
                                                   s(mark(X)) -> mark(s(X)),
                                                     s(ok(X)) -> ok(s(X)),
                                           plus(X1, mark(X2)) -> mark(plus(X1, X2)),
                                           plus(mark(X1), X2) -> mark(plus(X1, X2)),
                                         plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)),
                                        U51(mark(X1), X2, X3) -> mark(U51(X1, X2, X3)),
                                  U51(ok(X1), ok(X2), ok(X3)) -> ok(U51(X1, X2, X3)),
                                                 U61(mark(X)) -> mark(U61(X)),
                                                   U61(ok(X)) -> ok(U61(X)),
                                              x(X1, mark(X2)) -> mark(x(X1, X2)),
                                              x(mark(X1), X2) -> mark(x(X1, X2)),
                                            x(ok(X1), ok(X2)) -> ok(x(X1, X2)),
                                        U71(mark(X1), X2, X3) -> mark(U71(X1, X2, X3)),
                                  U71(ok(X1), ok(X2), ok(X3)) -> ok(U71(X1, X2, X3)),
                                            and(mark(X1), X2) -> mark(and(X1, X2)),
                                          and(ok(X1), ok(X2)) -> ok(and(X1, X2)),
                                             isNatKind(ok(X)) -> ok(isNatKind(X)),
                                          proper(U12(X1, X2)) -> U12(proper(X1), proper(X2)),
                                             proper(isNat(X)) -> isNat(proper(X)),
                                      proper(U11(X1, X2, X3)) -> U11(proper(X1), proper(X2), proper(X3)),
                                                 proper(tt()) -> ok(tt()),
                                               proper(U13(X)) -> U13(proper(X)),
                                               proper(U22(X)) -> U22(proper(X)),
                                          proper(U21(X1, X2)) -> U21(proper(X1), proper(X2)),
                                          proper(U32(X1, X2)) -> U32(proper(X1), proper(X2)),
                                      proper(U31(X1, X2, X3)) -> U31(proper(X1), proper(X2), proper(X3)),
                                               proper(U33(X)) -> U33(proper(X)),
                                          proper(U41(X1, X2)) -> U41(proper(X1), proper(X2)),
                                                 proper(s(X)) -> s(proper(X)),
                                         proper(plus(X1, X2)) -> plus(proper(X1), proper(X2)),
                                      proper(U51(X1, X2, X3)) -> U51(proper(X1), proper(X2), proper(X3)),
                                                  proper(0()) -> ok(0()),
                                               proper(U61(X)) -> U61(proper(X)),
                                            proper(x(X1, X2)) -> x(proper(X1), proper(X2)),
                                      proper(U71(X1, X2, X3)) -> U71(proper(X1), proper(X2), proper(X3)),
                                          proper(and(X1, X2)) -> and(proper(X1), proper(X2)),
                                         proper(isNatKind(X)) -> isNatKind(proper(X)),
                                                 top(mark(X)) -> top(proper(X)),
                                                   top(ok(X)) -> top(active(X))}
                             SPSC:
                              Simple Projection:
                               pi(active#) = 0
                              Strict:
                               {    active#(U12(X1, X2)) -> active#(X1),
                                active#(U11(X1, X2, X3)) -> active#(X1),
                                         active#(U13(X)) -> active#(X),
                                         active#(U22(X)) -> active#(X),
                                    active#(U21(X1, X2)) -> active#(X1),
                                    active#(U32(X1, X2)) -> active#(X1),
                                active#(U31(X1, X2, X3)) -> active#(X1),
                                           active#(s(X)) -> active#(X),
                                active#(U51(X1, X2, X3)) -> active#(X1),
                                         active#(U61(X)) -> active#(X),
                                active#(U71(X1, X2, X3)) -> active#(X1)}
                              EDG:
                               {(active#(U22(X)) -> active#(X), active#(U71(X1, X2, X3)) -> active#(X1))
                                (active#(U22(X)) -> active#(X), active#(U61(X)) -> active#(X))
                                (active#(U22(X)) -> active#(X), active#(U51(X1, X2, X3)) -> active#(X1))
                                (active#(U22(X)) -> active#(X), active#(s(X)) -> active#(X))
                                (active#(U22(X)) -> active#(X), active#(U31(X1, X2, X3)) -> active#(X1))
                                (active#(U22(X)) -> active#(X), active#(U32(X1, X2)) -> active#(X1))
                                (active#(U22(X)) -> active#(X), active#(U21(X1, X2)) -> active#(X1))
                                (active#(U22(X)) -> active#(X), active#(U22(X)) -> active#(X))
                                (active#(U22(X)) -> active#(X), active#(U13(X)) -> active#(X))
                                (active#(U22(X)) -> active#(X), active#(U11(X1, X2, X3)) -> active#(X1))
                                (active#(U22(X)) -> active#(X), active#(U12(X1, X2)) -> active#(X1))
                                (active#(U61(X)) -> active#(X), active#(U71(X1, X2, X3)) -> active#(X1))
                                (active#(U61(X)) -> active#(X), active#(U61(X)) -> active#(X))
                                (active#(U61(X)) -> active#(X), active#(U51(X1, X2, X3)) -> active#(X1))
                                (active#(U61(X)) -> active#(X), active#(s(X)) -> active#(X))
                                (active#(U61(X)) -> active#(X), active#(U31(X1, X2, X3)) -> active#(X1))
                                (active#(U61(X)) -> active#(X), active#(U32(X1, X2)) -> active#(X1))
                                (active#(U61(X)) -> active#(X), active#(U21(X1, X2)) -> active#(X1))
                                (active#(U61(X)) -> active#(X), active#(U22(X)) -> active#(X))
                                (active#(U61(X)) -> active#(X), active#(U13(X)) -> active#(X))
                                (active#(U61(X)) -> active#(X), active#(U11(X1, X2, X3)) -> active#(X1))
                                (active#(U61(X)) -> active#(X), active#(U12(X1, X2)) -> active#(X1))
                                (active#(U11(X1, X2, X3)) -> active#(X1), active#(U71(X1, X2, X3)) -> active#(X1))
                                (active#(U11(X1, X2, X3)) -> active#(X1), active#(U61(X)) -> active#(X))
                                (active#(U11(X1, X2, X3)) -> active#(X1), active#(U51(X1, X2, X3)) -> active#(X1))
                                (active#(U11(X1, X2, X3)) -> active#(X1), active#(s(X)) -> active#(X))
                                (active#(U11(X1, X2, X3)) -> active#(X1), active#(U31(X1, X2, X3)) -> active#(X1))
                                (active#(U11(X1, X2, X3)) -> active#(X1), active#(U32(X1, X2)) -> active#(X1))
                                (active#(U11(X1, X2, X3)) -> active#(X1), active#(U21(X1, X2)) -> active#(X1))
                                (active#(U11(X1, X2, X3)) -> active#(X1), active#(U22(X)) -> active#(X))
                                (active#(U11(X1, X2, X3)) -> active#(X1), active#(U13(X)) -> active#(X))
                                (active#(U11(X1, X2, X3)) -> active#(X1), active#(U11(X1, X2, X3)) -> active#(X1))
                                (active#(U11(X1, X2, X3)) -> active#(X1), active#(U12(X1, X2)) -> active#(X1))
                                (active#(U32(X1, X2)) -> active#(X1), active#(U71(X1, X2, X3)) -> active#(X1))
                                (active#(U32(X1, X2)) -> active#(X1), active#(U61(X)) -> active#(X))
                                (active#(U32(X1, X2)) -> active#(X1), active#(U51(X1, X2, X3)) -> active#(X1))
                                (active#(U32(X1, X2)) -> active#(X1), active#(s(X)) -> active#(X))
                                (active#(U32(X1, X2)) -> active#(X1), active#(U31(X1, X2, X3)) -> active#(X1))
                                (active#(U32(X1, X2)) -> active#(X1), active#(U32(X1, X2)) -> active#(X1))
                                (active#(U32(X1, X2)) -> active#(X1), active#(U21(X1, X2)) -> active#(X1))
                                (active#(U32(X1, X2)) -> active#(X1), active#(U22(X)) -> active#(X))
                                (active#(U32(X1, X2)) -> active#(X1), active#(U13(X)) -> active#(X))
                                (active#(U32(X1, X2)) -> active#(X1), active#(U11(X1, X2, X3)) -> active#(X1))
                                (active#(U32(X1, X2)) -> active#(X1), active#(U12(X1, X2)) -> active#(X1))
                                (active#(U51(X1, X2, X3)) -> active#(X1), active#(U71(X1, X2, X3)) -> active#(X1))
                                (active#(U51(X1, X2, X3)) -> active#(X1), active#(U61(X)) -> active#(X))
                                (active#(U51(X1, X2, X3)) -> active#(X1), active#(U51(X1, X2, X3)) -> active#(X1))
                                (active#(U51(X1, X2, X3)) -> active#(X1), active#(s(X)) -> active#(X))
                                (active#(U51(X1, X2, X3)) -> active#(X1), active#(U31(X1, X2, X3)) -> active#(X1))
                                (active#(U51(X1, X2, X3)) -> active#(X1), active#(U32(X1, X2)) -> active#(X1))
                                (active#(U51(X1, X2, X3)) -> active#(X1), active#(U21(X1, X2)) -> active#(X1))
                                (active#(U51(X1, X2, X3)) -> active#(X1), active#(U22(X)) -> active#(X))
                                (active#(U51(X1, X2, X3)) -> active#(X1), active#(U13(X)) -> active#(X))
                                (active#(U51(X1, X2, X3)) -> active#(X1), active#(U11(X1, X2, X3)) -> active#(X1))
                                (active#(U51(X1, X2, X3)) -> active#(X1), active#(U12(X1, X2)) -> active#(X1))
                                (active#(U71(X1, X2, X3)) -> active#(X1), active#(U12(X1, X2)) -> active#(X1))
                                (active#(U71(X1, X2, X3)) -> active#(X1), active#(U11(X1, X2, X3)) -> active#(X1))
                                (active#(U71(X1, X2, X3)) -> active#(X1), active#(U13(X)) -> active#(X))
                                (active#(U71(X1, X2, X3)) -> active#(X1), active#(U22(X)) -> active#(X))
                                (active#(U71(X1, X2, X3)) -> active#(X1), active#(U21(X1, X2)) -> active#(X1))
                                (active#(U71(X1, X2, X3)) -> active#(X1), active#(U32(X1, X2)) -> active#(X1))
                                (active#(U71(X1, X2, X3)) -> active#(X1), active#(U31(X1, X2, X3)) -> active#(X1))
                                (active#(U71(X1, X2, X3)) -> active#(X1), active#(s(X)) -> active#(X))
                                (active#(U71(X1, X2, X3)) -> active#(X1), active#(U51(X1, X2, X3)) -> active#(X1))
                                (active#(U71(X1, X2, X3)) -> active#(X1), active#(U61(X)) -> active#(X))
                                (active#(U71(X1, X2, X3)) -> active#(X1), active#(U71(X1, X2, X3)) -> active#(X1))
                                (active#(U31(X1, X2, X3)) -> active#(X1), active#(U12(X1, X2)) -> active#(X1))
                                (active#(U31(X1, X2, X3)) -> active#(X1), active#(U11(X1, X2, X3)) -> active#(X1))
                                (active#(U31(X1, X2, X3)) -> active#(X1), active#(U13(X)) -> active#(X))
                                (active#(U31(X1, X2, X3)) -> active#(X1), active#(U22(X)) -> active#(X))
                                (active#(U31(X1, X2, X3)) -> active#(X1), active#(U21(X1, X2)) -> active#(X1))
                                (active#(U31(X1, X2, X3)) -> active#(X1), active#(U32(X1, X2)) -> active#(X1))
                                (active#(U31(X1, X2, X3)) -> active#(X1), active#(U31(X1, X2, X3)) -> active#(X1))
                                (active#(U31(X1, X2, X3)) -> active#(X1), active#(s(X)) -> active#(X))
                                (active#(U31(X1, X2, X3)) -> active#(X1), active#(U51(X1, X2, X3)) -> active#(X1))
                                (active#(U31(X1, X2, X3)) -> active#(X1), active#(U61(X)) -> active#(X))
                                (active#(U31(X1, X2, X3)) -> active#(X1), active#(U71(X1, X2, X3)) -> active#(X1))
                                (active#(U21(X1, X2)) -> active#(X1), active#(U12(X1, X2)) -> active#(X1))
                                (active#(U21(X1, X2)) -> active#(X1), active#(U11(X1, X2, X3)) -> active#(X1))
                                (active#(U21(X1, X2)) -> active#(X1), active#(U13(X)) -> active#(X))
                                (active#(U21(X1, X2)) -> active#(X1), active#(U22(X)) -> active#(X))
                                (active#(U21(X1, X2)) -> active#(X1), active#(U21(X1, X2)) -> active#(X1))
                                (active#(U21(X1, X2)) -> active#(X1), active#(U32(X1, X2)) -> active#(X1))
                                (active#(U21(X1, X2)) -> active#(X1), active#(U31(X1, X2, X3)) -> active#(X1))
                                (active#(U21(X1, X2)) -> active#(X1), active#(s(X)) -> active#(X))
                                (active#(U21(X1, X2)) -> active#(X1), active#(U51(X1, X2, X3)) -> active#(X1))
                                (active#(U21(X1, X2)) -> active#(X1), active#(U61(X)) -> active#(X))
                                (active#(U21(X1, X2)) -> active#(X1), active#(U71(X1, X2, X3)) -> active#(X1))
                                (active#(U12(X1, X2)) -> active#(X1), active#(U12(X1, X2)) -> active#(X1))
                                (active#(U12(X1, X2)) -> active#(X1), active#(U11(X1, X2, X3)) -> active#(X1))
                                (active#(U12(X1, X2)) -> active#(X1), active#(U13(X)) -> active#(X))
                                (active#(U12(X1, X2)) -> active#(X1), active#(U22(X)) -> active#(X))
                                (active#(U12(X1, X2)) -> active#(X1), active#(U21(X1, X2)) -> active#(X1))
                                (active#(U12(X1, X2)) -> active#(X1), active#(U32(X1, X2)) -> active#(X1))
                                (active#(U12(X1, X2)) -> active#(X1), active#(U31(X1, X2, X3)) -> active#(X1))
                                (active#(U12(X1, X2)) -> active#(X1), active#(s(X)) -> active#(X))
                                (active#(U12(X1, X2)) -> active#(X1), active#(U51(X1, X2, X3)) -> active#(X1))
                                (active#(U12(X1, X2)) -> active#(X1), active#(U61(X)) -> active#(X))
                                (active#(U12(X1, X2)) -> active#(X1), active#(U71(X1, X2, X3)) -> active#(X1))
                                (active#(s(X)) -> active#(X), active#(U12(X1, X2)) -> active#(X1))
                                (active#(s(X)) -> active#(X), active#(U11(X1, X2, X3)) -> active#(X1))
                                (active#(s(X)) -> active#(X), active#(U13(X)) -> active#(X))
                                (active#(s(X)) -> active#(X), active#(U22(X)) -> active#(X))
                                (active#(s(X)) -> active#(X), active#(U21(X1, X2)) -> active#(X1))
                                (active#(s(X)) -> active#(X), active#(U32(X1, X2)) -> active#(X1))
                                (active#(s(X)) -> active#(X), active#(U31(X1, X2, X3)) -> active#(X1))
                                (active#(s(X)) -> active#(X), active#(s(X)) -> active#(X))
                                (active#(s(X)) -> active#(X), active#(U51(X1, X2, X3)) -> active#(X1))
                                (active#(s(X)) -> active#(X), active#(U61(X)) -> active#(X))
                                (active#(s(X)) -> active#(X), active#(U71(X1, X2, X3)) -> active#(X1))
                                (active#(U13(X)) -> active#(X), active#(U12(X1, X2)) -> active#(X1))
                                (active#(U13(X)) -> active#(X), active#(U11(X1, X2, X3)) -> active#(X1))
                                (active#(U13(X)) -> active#(X), active#(U13(X)) -> active#(X))
                                (active#(U13(X)) -> active#(X), active#(U22(X)) -> active#(X))
                                (active#(U13(X)) -> active#(X), active#(U21(X1, X2)) -> active#(X1))
                                (active#(U13(X)) -> active#(X), active#(U32(X1, X2)) -> active#(X1))
                                (active#(U13(X)) -> active#(X), active#(U31(X1, X2, X3)) -> active#(X1))
                                (active#(U13(X)) -> active#(X), active#(s(X)) -> active#(X))
                                (active#(U13(X)) -> active#(X), active#(U51(X1, X2, X3)) -> active#(X1))
                                (active#(U13(X)) -> active#(X), active#(U61(X)) -> active#(X))
                                (active#(U13(X)) -> active#(X), active#(U71(X1, X2, X3)) -> active#(X1))}
                               SCCS:
                                Scc:
                                 {    active#(U12(X1, X2)) -> active#(X1),
                                  active#(U11(X1, X2, X3)) -> active#(X1),
                                           active#(U13(X)) -> active#(X),
                                           active#(U22(X)) -> active#(X),
                                      active#(U21(X1, X2)) -> active#(X1),
                                      active#(U32(X1, X2)) -> active#(X1),
                                  active#(U31(X1, X2, X3)) -> active#(X1),
                                             active#(s(X)) -> active#(X),
                                  active#(U51(X1, X2, X3)) -> active#(X1),
                                           active#(U61(X)) -> active#(X),
                                  active#(U71(X1, X2, X3)) -> active#(X1)}
                                SCC:
                                 Strict:
                                  {    active#(U12(X1, X2)) -> active#(X1),
                                   active#(U11(X1, X2, X3)) -> active#(X1),
                                            active#(U13(X)) -> active#(X),
                                            active#(U22(X)) -> active#(X),
                                       active#(U21(X1, X2)) -> active#(X1),
                                       active#(U32(X1, X2)) -> active#(X1),
                                   active#(U31(X1, X2, X3)) -> active#(X1),
                                              active#(s(X)) -> active#(X),
                                   active#(U51(X1, X2, X3)) -> active#(X1),
                                            active#(U61(X)) -> active#(X),
                                   active#(U71(X1, X2, X3)) -> active#(X1)}
                                 Weak:
                                 {              U12(mark(X1), X2) -> mark(U12(X1, X2)),
                                              U12(ok(X1), ok(X2)) -> ok(U12(X1, X2)),
                                                     isNat(ok(X)) -> ok(isNat(X)),
                                              active(U12(X1, X2)) -> U12(active(X1), X2),
                                            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(X1, X2, X3)) -> U11(active(X1), X2, X3),
                                        active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                                                   active(U13(X)) -> U13(active(X)),
                                                active(U13(tt())) -> mark(tt()),
                                                   active(U22(X)) -> U22(active(X)),
                                                active(U22(tt())) -> mark(tt()),
                                              active(U21(X1, X2)) -> U21(active(X1), X2),
                                            active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                                              active(U32(X1, X2)) -> U32(active(X1), X2),
                                            active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
                                          active(U31(X1, X2, X3)) -> U31(active(X1), X2, X3),
                                        active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                                                   active(U33(X)) -> U33(active(X)),
                                                active(U33(tt())) -> mark(tt()),
                                              active(U41(X1, X2)) -> U41(active(X1), X2),
                                             active(U41(tt(), N)) -> mark(N),
                                                     active(s(X)) -> s(active(X)),
                                            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(plus(X1, X2)) -> plus(X1, active(X2)),
                                             active(plus(X1, X2)) -> plus(active(X1), X2),
                                          active(U51(X1, X2, X3)) -> U51(active(X1), X2, X3),
                                          active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                                                   active(U61(X)) -> U61(active(X)),
                                                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(x(X1, X2)) -> x(X1, active(X2)),
                                                active(x(X1, X2)) -> x(active(X1), X2),
                                          active(U71(X1, X2, X3)) -> U71(active(X1), X2, X3),
                                          active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                                              active(and(X1, X2)) -> and(active(X1), X2),
                                             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(mark(X1), X2, X3) -> mark(U11(X1, X2, X3)),
                                      U11(ok(X1), ok(X2), ok(X3)) -> ok(U11(X1, X2, X3)),
                                                     U13(mark(X)) -> mark(U13(X)),
                                                       U13(ok(X)) -> ok(U13(X)),
                                                     U22(mark(X)) -> mark(U22(X)),
                                                       U22(ok(X)) -> ok(U22(X)),
                                                U21(mark(X1), X2) -> mark(U21(X1, X2)),
                                              U21(ok(X1), ok(X2)) -> ok(U21(X1, X2)),
                                                U32(mark(X1), X2) -> mark(U32(X1, X2)),
                                              U32(ok(X1), ok(X2)) -> ok(U32(X1, X2)),
                                            U31(mark(X1), X2, X3) -> mark(U31(X1, X2, X3)),
                                      U31(ok(X1), ok(X2), ok(X3)) -> ok(U31(X1, X2, X3)),
                                                     U33(mark(X)) -> mark(U33(X)),
                                                       U33(ok(X)) -> ok(U33(X)),
                                                U41(mark(X1), X2) -> mark(U41(X1, X2)),
                                              U41(ok(X1), ok(X2)) -> ok(U41(X1, X2)),
                                                       s(mark(X)) -> mark(s(X)),
                                                         s(ok(X)) -> ok(s(X)),
                                               plus(X1, mark(X2)) -> mark(plus(X1, X2)),
                                               plus(mark(X1), X2) -> mark(plus(X1, X2)),
                                             plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)),
                                            U51(mark(X1), X2, X3) -> mark(U51(X1, X2, X3)),
                                      U51(ok(X1), ok(X2), ok(X3)) -> ok(U51(X1, X2, X3)),
                                                     U61(mark(X)) -> mark(U61(X)),
                                                       U61(ok(X)) -> ok(U61(X)),
                                                  x(X1, mark(X2)) -> mark(x(X1, X2)),
                                                  x(mark(X1), X2) -> mark(x(X1, X2)),
                                                x(ok(X1), ok(X2)) -> ok(x(X1, X2)),
                                            U71(mark(X1), X2, X3) -> mark(U71(X1, X2, X3)),
                                      U71(ok(X1), ok(X2), ok(X3)) -> ok(U71(X1, X2, X3)),
                                                and(mark(X1), X2) -> mark(and(X1, X2)),
                                              and(ok(X1), ok(X2)) -> ok(and(X1, X2)),
                                                 isNatKind(ok(X)) -> ok(isNatKind(X)),
                                              proper(U12(X1, X2)) -> U12(proper(X1), proper(X2)),
                                                 proper(isNat(X)) -> isNat(proper(X)),
                                          proper(U11(X1, X2, X3)) -> U11(proper(X1), proper(X2), proper(X3)),
                                                     proper(tt()) -> ok(tt()),
                                                   proper(U13(X)) -> U13(proper(X)),
                                                   proper(U22(X)) -> U22(proper(X)),
                                              proper(U21(X1, X2)) -> U21(proper(X1), proper(X2)),
                                              proper(U32(X1, X2)) -> U32(proper(X1), proper(X2)),
                                          proper(U31(X1, X2, X3)) -> U31(proper(X1), proper(X2), proper(X3)),
                                                   proper(U33(X)) -> U33(proper(X)),
                                              proper(U41(X1, X2)) -> U41(proper(X1), proper(X2)),
                                                     proper(s(X)) -> s(proper(X)),
                                             proper(plus(X1, X2)) -> plus(proper(X1), proper(X2)),
                                          proper(U51(X1, X2, X3)) -> U51(proper(X1), proper(X2), proper(X3)),
                                                      proper(0()) -> ok(0()),
                                                   proper(U61(X)) -> U61(proper(X)),
                                                proper(x(X1, X2)) -> x(proper(X1), proper(X2)),
                                          proper(U71(X1, X2, X3)) -> U71(proper(X1), proper(X2), proper(X3)),
                                              proper(and(X1, X2)) -> and(proper(X1), proper(X2)),
                                             proper(isNatKind(X)) -> isNatKind(proper(X)),
                                                     top(mark(X)) -> top(proper(X)),
                                                       top(ok(X)) -> top(active(X))}
                                 SPSC:
                                  Simple Projection:
                                   pi(active#) = 0
                                  Strict:
                                   {active#(U11(X1, X2, X3)) -> active#(X1),
                                             active#(U13(X)) -> active#(X),
                                             active#(U22(X)) -> active#(X),
                                        active#(U21(X1, X2)) -> active#(X1),
                                        active#(U32(X1, X2)) -> active#(X1),
                                    active#(U31(X1, X2, X3)) -> active#(X1),
                                               active#(s(X)) -> active#(X),
                                    active#(U51(X1, X2, X3)) -> active#(X1),
                                             active#(U61(X)) -> active#(X),
                                    active#(U71(X1, X2, X3)) -> active#(X1)}
                                  EDG:
                                   {(active#(U22(X)) -> active#(X), active#(U71(X1, X2, X3)) -> active#(X1))
                                    (active#(U22(X)) -> active#(X), active#(U61(X)) -> active#(X))
                                    (active#(U22(X)) -> active#(X), active#(U51(X1, X2, X3)) -> active#(X1))
                                    (active#(U22(X)) -> active#(X), active#(s(X)) -> active#(X))
                                    (active#(U22(X)) -> active#(X), active#(U31(X1, X2, X3)) -> active#(X1))
                                    (active#(U22(X)) -> active#(X), active#(U32(X1, X2)) -> active#(X1))
                                    (active#(U22(X)) -> active#(X), active#(U21(X1, X2)) -> active#(X1))
                                    (active#(U22(X)) -> active#(X), active#(U22(X)) -> active#(X))
                                    (active#(U22(X)) -> active#(X), active#(U13(X)) -> active#(X))
                                    (active#(U22(X)) -> active#(X), active#(U11(X1, X2, X3)) -> active#(X1))
                                    (active#(U61(X)) -> active#(X), active#(U71(X1, X2, X3)) -> active#(X1))
                                    (active#(U61(X)) -> active#(X), active#(U61(X)) -> active#(X))
                                    (active#(U61(X)) -> active#(X), active#(U51(X1, X2, X3)) -> active#(X1))
                                    (active#(U61(X)) -> active#(X), active#(s(X)) -> active#(X))
                                    (active#(U61(X)) -> active#(X), active#(U31(X1, X2, X3)) -> active#(X1))
                                    (active#(U61(X)) -> active#(X), active#(U32(X1, X2)) -> active#(X1))
                                    (active#(U61(X)) -> active#(X), active#(U21(X1, X2)) -> active#(X1))
                                    (active#(U61(X)) -> active#(X), active#(U22(X)) -> active#(X))
                                    (active#(U61(X)) -> active#(X), active#(U13(X)) -> active#(X))
                                    (active#(U61(X)) -> active#(X), active#(U11(X1, X2, X3)) -> active#(X1))
                                    (active#(U21(X1, X2)) -> active#(X1), active#(U71(X1, X2, X3)) -> active#(X1))
                                    (active#(U21(X1, X2)) -> active#(X1), active#(U61(X)) -> active#(X))
                                    (active#(U21(X1, X2)) -> active#(X1), active#(U51(X1, X2, X3)) -> active#(X1))
                                    (active#(U21(X1, X2)) -> active#(X1), active#(s(X)) -> active#(X))
                                    (active#(U21(X1, X2)) -> active#(X1), active#(U31(X1, X2, X3)) -> active#(X1))
                                    (active#(U21(X1, X2)) -> active#(X1), active#(U32(X1, X2)) -> active#(X1))
                                    (active#(U21(X1, X2)) -> active#(X1), active#(U21(X1, X2)) -> active#(X1))
                                    (active#(U21(X1, X2)) -> active#(X1), active#(U22(X)) -> active#(X))
                                    (active#(U21(X1, X2)) -> active#(X1), active#(U13(X)) -> active#(X))
                                    (active#(U21(X1, X2)) -> active#(X1), active#(U11(X1, X2, X3)) -> active#(X1))
                                    (active#(U31(X1, X2, X3)) -> active#(X1), active#(U71(X1, X2, X3)) -> active#(X1))
                                    (active#(U31(X1, X2, X3)) -> active#(X1), active#(U61(X)) -> active#(X))
                                    (active#(U31(X1, X2, X3)) -> active#(X1), active#(U51(X1, X2, X3)) -> active#(X1))
                                    (active#(U31(X1, X2, X3)) -> active#(X1), active#(s(X)) -> active#(X))
                                    (active#(U31(X1, X2, X3)) -> active#(X1), active#(U31(X1, X2, X3)) -> active#(X1))
                                    (active#(U31(X1, X2, X3)) -> active#(X1), active#(U32(X1, X2)) -> active#(X1))
                                    (active#(U31(X1, X2, X3)) -> active#(X1), active#(U21(X1, X2)) -> active#(X1))
                                    (active#(U31(X1, X2, X3)) -> active#(X1), active#(U22(X)) -> active#(X))
                                    (active#(U31(X1, X2, X3)) -> active#(X1), active#(U13(X)) -> active#(X))
                                    (active#(U31(X1, X2, X3)) -> active#(X1), active#(U11(X1, X2, X3)) -> active#(X1))
                                    (active#(U71(X1, X2, X3)) -> active#(X1), active#(U71(X1, X2, X3)) -> active#(X1))
                                    (active#(U71(X1, X2, X3)) -> active#(X1), active#(U61(X)) -> active#(X))
                                    (active#(U71(X1, X2, X3)) -> active#(X1), active#(U51(X1, X2, X3)) -> active#(X1))
                                    (active#(U71(X1, X2, X3)) -> active#(X1), active#(s(X)) -> active#(X))
                                    (active#(U71(X1, X2, X3)) -> active#(X1), active#(U31(X1, X2, X3)) -> active#(X1))
                                    (active#(U71(X1, X2, X3)) -> active#(X1), active#(U32(X1, X2)) -> active#(X1))
                                    (active#(U71(X1, X2, X3)) -> active#(X1), active#(U21(X1, X2)) -> active#(X1))
                                    (active#(U71(X1, X2, X3)) -> active#(X1), active#(U22(X)) -> active#(X))
                                    (active#(U71(X1, X2, X3)) -> active#(X1), active#(U13(X)) -> active#(X))
                                    (active#(U71(X1, X2, X3)) -> active#(X1), active#(U11(X1, X2, X3)) -> active#(X1))
                                    (active#(U51(X1, X2, X3)) -> active#(X1), active#(U11(X1, X2, X3)) -> active#(X1))
                                    (active#(U51(X1, X2, X3)) -> active#(X1), active#(U13(X)) -> active#(X))
                                    (active#(U51(X1, X2, X3)) -> active#(X1), active#(U22(X)) -> active#(X))
                                    (active#(U51(X1, X2, X3)) -> active#(X1), active#(U21(X1, X2)) -> active#(X1))
                                    (active#(U51(X1, X2, X3)) -> active#(X1), active#(U32(X1, X2)) -> active#(X1))
                                    (active#(U51(X1, X2, X3)) -> active#(X1), active#(U31(X1, X2, X3)) -> active#(X1))
                                    (active#(U51(X1, X2, X3)) -> active#(X1), active#(s(X)) -> active#(X))
                                    (active#(U51(X1, X2, X3)) -> active#(X1), active#(U51(X1, X2, X3)) -> active#(X1))
                                    (active#(U51(X1, X2, X3)) -> active#(X1), active#(U61(X)) -> active#(X))
                                    (active#(U51(X1, X2, X3)) -> active#(X1), active#(U71(X1, X2, X3)) -> active#(X1))
                                    (active#(U32(X1, X2)) -> active#(X1), active#(U11(X1, X2, X3)) -> active#(X1))
                                    (active#(U32(X1, X2)) -> active#(X1), active#(U13(X)) -> active#(X))
                                    (active#(U32(X1, X2)) -> active#(X1), active#(U22(X)) -> active#(X))
                                    (active#(U32(X1, X2)) -> active#(X1), active#(U21(X1, X2)) -> active#(X1))
                                    (active#(U32(X1, X2)) -> active#(X1), active#(U32(X1, X2)) -> active#(X1))
                                    (active#(U32(X1, X2)) -> active#(X1), active#(U31(X1, X2, X3)) -> active#(X1))
                                    (active#(U32(X1, X2)) -> active#(X1), active#(s(X)) -> active#(X))
                                    (active#(U32(X1, X2)) -> active#(X1), active#(U51(X1, X2, X3)) -> active#(X1))
                                    (active#(U32(X1, X2)) -> active#(X1), active#(U61(X)) -> active#(X))
                                    (active#(U32(X1, X2)) -> active#(X1), active#(U71(X1, X2, X3)) -> active#(X1))
                                    (active#(U11(X1, X2, X3)) -> active#(X1), active#(U11(X1, X2, X3)) -> active#(X1))
                                    (active#(U11(X1, X2, X3)) -> active#(X1), active#(U13(X)) -> active#(X))
                                    (active#(U11(X1, X2, X3)) -> active#(X1), active#(U22(X)) -> active#(X))
                                    (active#(U11(X1, X2, X3)) -> active#(X1), active#(U21(X1, X2)) -> active#(X1))
                                    (active#(U11(X1, X2, X3)) -> active#(X1), active#(U32(X1, X2)) -> active#(X1))
                                    (active#(U11(X1, X2, X3)) -> active#(X1), active#(U31(X1, X2, X3)) -> active#(X1))
                                    (active#(U11(X1, X2, X3)) -> active#(X1), active#(s(X)) -> active#(X))
                                    (active#(U11(X1, X2, X3)) -> active#(X1), active#(U51(X1, X2, X3)) -> active#(X1))
                                    (active#(U11(X1, X2, X3)) -> active#(X1), active#(U61(X)) -> active#(X))
                                    (active#(U11(X1, X2, X3)) -> active#(X1), active#(U71(X1, X2, X3)) -> active#(X1))
                                    (active#(s(X)) -> active#(X), active#(U11(X1, X2, X3)) -> active#(X1))
                                    (active#(s(X)) -> active#(X), active#(U13(X)) -> active#(X))
                                    (active#(s(X)) -> active#(X), active#(U22(X)) -> active#(X))
                                    (active#(s(X)) -> active#(X), active#(U21(X1, X2)) -> active#(X1))
                                    (active#(s(X)) -> active#(X), active#(U32(X1, X2)) -> active#(X1))
                                    (active#(s(X)) -> active#(X), active#(U31(X1, X2, X3)) -> active#(X1))
                                    (active#(s(X)) -> active#(X), active#(s(X)) -> active#(X))
                                    (active#(s(X)) -> active#(X), active#(U51(X1, X2, X3)) -> active#(X1))
                                    (active#(s(X)) -> active#(X), active#(U61(X)) -> active#(X))
                                    (active#(s(X)) -> active#(X), active#(U71(X1, X2, X3)) -> active#(X1))
                                    (active#(U13(X)) -> active#(X), active#(U11(X1, X2, X3)) -> active#(X1))
                                    (active#(U13(X)) -> active#(X), active#(U13(X)) -> active#(X))
                                    (active#(U13(X)) -> active#(X), active#(U22(X)) -> active#(X))
                                    (active#(U13(X)) -> active#(X), active#(U21(X1, X2)) -> active#(X1))
                                    (active#(U13(X)) -> active#(X), active#(U32(X1, X2)) -> active#(X1))
                                    (active#(U13(X)) -> active#(X), active#(U31(X1, X2, X3)) -> active#(X1))
                                    (active#(U13(X)) -> active#(X), active#(s(X)) -> active#(X))
                                    (active#(U13(X)) -> active#(X), active#(U51(X1, X2, X3)) -> active#(X1))
                                    (active#(U13(X)) -> active#(X), active#(U61(X)) -> active#(X))
                                    (active#(U13(X)) -> active#(X), active#(U71(X1, X2, X3)) -> active#(X1))}
                                   SCCS:
                                    Scc:
                                     {active#(U11(X1, X2, X3)) -> active#(X1),
                                               active#(U13(X)) -> active#(X),
                                               active#(U22(X)) -> active#(X),
                                          active#(U21(X1, X2)) -> active#(X1),
                                          active#(U32(X1, X2)) -> active#(X1),
                                      active#(U31(X1, X2, X3)) -> active#(X1),
                                                 active#(s(X)) -> active#(X),
                                      active#(U51(X1, X2, X3)) -> active#(X1),
                                               active#(U61(X)) -> active#(X),
                                      active#(U71(X1, X2, X3)) -> active#(X1)}
                                    SCC:
                                     Strict:
                                      {active#(U11(X1, X2, X3)) -> active#(X1),
                                                active#(U13(X)) -> active#(X),
                                                active#(U22(X)) -> active#(X),
                                           active#(U21(X1, X2)) -> active#(X1),
                                           active#(U32(X1, X2)) -> active#(X1),
                                       active#(U31(X1, X2, X3)) -> active#(X1),
                                                  active#(s(X)) -> active#(X),
                                       active#(U51(X1, X2, X3)) -> active#(X1),
                                                active#(U61(X)) -> active#(X),
                                       active#(U71(X1, X2, X3)) -> active#(X1)}
                                     Weak:
                                     {              U12(mark(X1), X2) -> mark(U12(X1, X2)),
                                                  U12(ok(X1), ok(X2)) -> ok(U12(X1, X2)),
                                                         isNat(ok(X)) -> ok(isNat(X)),
                                                  active(U12(X1, X2)) -> U12(active(X1), X2),
                                                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(X1, X2, X3)) -> U11(active(X1), X2, X3),
                                            active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                                                       active(U13(X)) -> U13(active(X)),
                                                    active(U13(tt())) -> mark(tt()),
                                                       active(U22(X)) -> U22(active(X)),
                                                    active(U22(tt())) -> mark(tt()),
                                                  active(U21(X1, X2)) -> U21(active(X1), X2),
                                                active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                                                  active(U32(X1, X2)) -> U32(active(X1), X2),
                                                active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
                                              active(U31(X1, X2, X3)) -> U31(active(X1), X2, X3),
                                            active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                                                       active(U33(X)) -> U33(active(X)),
                                                    active(U33(tt())) -> mark(tt()),
                                                  active(U41(X1, X2)) -> U41(active(X1), X2),
                                                 active(U41(tt(), N)) -> mark(N),
                                                         active(s(X)) -> s(active(X)),
                                                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(plus(X1, X2)) -> plus(X1, active(X2)),
                                                 active(plus(X1, X2)) -> plus(active(X1), X2),
                                              active(U51(X1, X2, X3)) -> U51(active(X1), X2, X3),
                                              active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                                                       active(U61(X)) -> U61(active(X)),
                                                    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(x(X1, X2)) -> x(X1, active(X2)),
                                                    active(x(X1, X2)) -> x(active(X1), X2),
                                              active(U71(X1, X2, X3)) -> U71(active(X1), X2, X3),
                                              active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                                                  active(and(X1, X2)) -> and(active(X1), X2),
                                                 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(mark(X1), X2, X3) -> mark(U11(X1, X2, X3)),
                                          U11(ok(X1), ok(X2), ok(X3)) -> ok(U11(X1, X2, X3)),
                                                         U13(mark(X)) -> mark(U13(X)),
                                                           U13(ok(X)) -> ok(U13(X)),
                                                         U22(mark(X)) -> mark(U22(X)),
                                                           U22(ok(X)) -> ok(U22(X)),
                                                    U21(mark(X1), X2) -> mark(U21(X1, X2)),
                                                  U21(ok(X1), ok(X2)) -> ok(U21(X1, X2)),
                                                    U32(mark(X1), X2) -> mark(U32(X1, X2)),
                                                  U32(ok(X1), ok(X2)) -> ok(U32(X1, X2)),
                                                U31(mark(X1), X2, X3) -> mark(U31(X1, X2, X3)),
                                          U31(ok(X1), ok(X2), ok(X3)) -> ok(U31(X1, X2, X3)),
                                                         U33(mark(X)) -> mark(U33(X)),
                                                           U33(ok(X)) -> ok(U33(X)),
                                                    U41(mark(X1), X2) -> mark(U41(X1, X2)),
                                                  U41(ok(X1), ok(X2)) -> ok(U41(X1, X2)),
                                                           s(mark(X)) -> mark(s(X)),
                                                             s(ok(X)) -> ok(s(X)),
                                                   plus(X1, mark(X2)) -> mark(plus(X1, X2)),
                                                   plus(mark(X1), X2) -> mark(plus(X1, X2)),
                                                 plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)),
                                                U51(mark(X1), X2, X3) -> mark(U51(X1, X2, X3)),
                                          U51(ok(X1), ok(X2), ok(X3)) -> ok(U51(X1, X2, X3)),
                                                         U61(mark(X)) -> mark(U61(X)),
                                                           U61(ok(X)) -> ok(U61(X)),
                                                      x(X1, mark(X2)) -> mark(x(X1, X2)),
                                                      x(mark(X1), X2) -> mark(x(X1, X2)),
                                                    x(ok(X1), ok(X2)) -> ok(x(X1, X2)),
                                                U71(mark(X1), X2, X3) -> mark(U71(X1, X2, X3)),
                                          U71(ok(X1), ok(X2), ok(X3)) -> ok(U71(X1, X2, X3)),
                                                    and(mark(X1), X2) -> mark(and(X1, X2)),
                                                  and(ok(X1), ok(X2)) -> ok(and(X1, X2)),
                                                     isNatKind(ok(X)) -> ok(isNatKind(X)),
                                                  proper(U12(X1, X2)) -> U12(proper(X1), proper(X2)),
                                                     proper(isNat(X)) -> isNat(proper(X)),
                                              proper(U11(X1, X2, X3)) -> U11(proper(X1), proper(X2), proper(X3)),
                                                         proper(tt()) -> ok(tt()),
                                                       proper(U13(X)) -> U13(proper(X)),
                                                       proper(U22(X)) -> U22(proper(X)),
                                                  proper(U21(X1, X2)) -> U21(proper(X1), proper(X2)),
                                                  proper(U32(X1, X2)) -> U32(proper(X1), proper(X2)),
                                              proper(U31(X1, X2, X3)) -> U31(proper(X1), proper(X2), proper(X3)),
                                                       proper(U33(X)) -> U33(proper(X)),
                                                  proper(U41(X1, X2)) -> U41(proper(X1), proper(X2)),
                                                         proper(s(X)) -> s(proper(X)),
                                                 proper(plus(X1, X2)) -> plus(proper(X1), proper(X2)),
                                              proper(U51(X1, X2, X3)) -> U51(proper(X1), proper(X2), proper(X3)),
                                                          proper(0()) -> ok(0()),
                                                       proper(U61(X)) -> U61(proper(X)),
                                                    proper(x(X1, X2)) -> x(proper(X1), proper(X2)),
                                              proper(U71(X1, X2, X3)) -> U71(proper(X1), proper(X2), proper(X3)),
                                                  proper(and(X1, X2)) -> and(proper(X1), proper(X2)),
                                                 proper(isNatKind(X)) -> isNatKind(proper(X)),
                                                         top(mark(X)) -> top(proper(X)),
                                                           top(ok(X)) -> top(active(X))}
                                     SPSC:
                                      Simple Projection:
                                       pi(active#) = 0
                                      Strict:
                                       {active#(U11(X1, X2, X3)) -> active#(X1),
                                                 active#(U13(X)) -> active#(X),
                                                 active#(U22(X)) -> active#(X),
                                            active#(U21(X1, X2)) -> active#(X1),
                                            active#(U32(X1, X2)) -> active#(X1),
                                        active#(U31(X1, X2, X3)) -> active#(X1),
                                                   active#(s(X)) -> active#(X),
                                        active#(U51(X1, X2, X3)) -> active#(X1),
                                                 active#(U61(X)) -> active#(X)}
                                      EDG:
                                       {(active#(U22(X)) -> active#(X), active#(U61(X)) -> active#(X))
                                        (active#(U22(X)) -> active#(X), active#(U51(X1, X2, X3)) -> active#(X1))
                                        (active#(U22(X)) -> active#(X), active#(s(X)) -> active#(X))
                                        (active#(U22(X)) -> active#(X), active#(U31(X1, X2, X3)) -> active#(X1))
                                        (active#(U22(X)) -> active#(X), active#(U32(X1, X2)) -> active#(X1))
                                        (active#(U22(X)) -> active#(X), active#(U21(X1, X2)) -> active#(X1))
                                        (active#(U22(X)) -> active#(X), active#(U22(X)) -> active#(X))
                                        (active#(U22(X)) -> active#(X), active#(U13(X)) -> active#(X))
                                        (active#(U22(X)) -> active#(X), active#(U11(X1, X2, X3)) -> active#(X1))
                                        (active#(U61(X)) -> active#(X), active#(U61(X)) -> active#(X))
                                        (active#(U61(X)) -> active#(X), active#(U51(X1, X2, X3)) -> active#(X1))
                                        (active#(U61(X)) -> active#(X), active#(s(X)) -> active#(X))
                                        (active#(U61(X)) -> active#(X), active#(U31(X1, X2, X3)) -> active#(X1))
                                        (active#(U61(X)) -> active#(X), active#(U32(X1, X2)) -> active#(X1))
                                        (active#(U61(X)) -> active#(X), active#(U21(X1, X2)) -> active#(X1))
                                        (active#(U61(X)) -> active#(X), active#(U22(X)) -> active#(X))
                                        (active#(U61(X)) -> active#(X), active#(U13(X)) -> active#(X))
                                        (active#(U61(X)) -> active#(X), active#(U11(X1, X2, X3)) -> active#(X1))
                                        (active#(U21(X1, X2)) -> active#(X1), active#(U61(X)) -> active#(X))
                                        (active#(U21(X1, X2)) -> active#(X1), active#(U51(X1, X2, X3)) -> active#(X1))
                                        (active#(U21(X1, X2)) -> active#(X1), active#(s(X)) -> active#(X))
                                        (active#(U21(X1, X2)) -> active#(X1), active#(U31(X1, X2, X3)) -> active#(X1))
                                        (active#(U21(X1, X2)) -> active#(X1), active#(U32(X1, X2)) -> active#(X1))
                                        (active#(U21(X1, X2)) -> active#(X1), active#(U21(X1, X2)) -> active#(X1))
                                        (active#(U21(X1, X2)) -> active#(X1), active#(U22(X)) -> active#(X))
                                        (active#(U21(X1, X2)) -> active#(X1), active#(U13(X)) -> active#(X))
                                        (active#(U21(X1, X2)) -> active#(X1), active#(U11(X1, X2, X3)) -> active#(X1))
                                        (active#(U31(X1, X2, X3)) -> active#(X1), active#(U61(X)) -> active#(X))
                                        (active#(U31(X1, X2, X3)) -> active#(X1), active#(U51(X1, X2, X3)) -> active#(X1))
                                        (active#(U31(X1, X2, X3)) -> active#(X1), active#(s(X)) -> active#(X))
                                        (active#(U31(X1, X2, X3)) -> active#(X1), active#(U31(X1, X2, X3)) -> active#(X1))
                                        (active#(U31(X1, X2, X3)) -> active#(X1), active#(U32(X1, X2)) -> active#(X1))
                                        (active#(U31(X1, X2, X3)) -> active#(X1), active#(U21(X1, X2)) -> active#(X1))
                                        (active#(U31(X1, X2, X3)) -> active#(X1), active#(U22(X)) -> active#(X))
                                        (active#(U31(X1, X2, X3)) -> active#(X1), active#(U13(X)) -> active#(X))
                                        (active#(U31(X1, X2, X3)) -> active#(X1), active#(U11(X1, X2, X3)) -> active#(X1))
                                        (active#(U51(X1, X2, X3)) -> active#(X1), active#(U11(X1, X2, X3)) -> active#(X1))
                                        (active#(U51(X1, X2, X3)) -> active#(X1), active#(U13(X)) -> active#(X))
                                        (active#(U51(X1, X2, X3)) -> active#(X1), active#(U22(X)) -> active#(X))
                                        (active#(U51(X1, X2, X3)) -> active#(X1), active#(U21(X1, X2)) -> active#(X1))
                                        (active#(U51(X1, X2, X3)) -> active#(X1), active#(U32(X1, X2)) -> active#(X1))
                                        (active#(U51(X1, X2, X3)) -> active#(X1), active#(U31(X1, X2, X3)) -> active#(X1))
                                        (active#(U51(X1, X2, X3)) -> active#(X1), active#(s(X)) -> active#(X))
                                        (active#(U51(X1, X2, X3)) -> active#(X1), active#(U51(X1, X2, X3)) -> active#(X1))
                                        (active#(U51(X1, X2, X3)) -> active#(X1), active#(U61(X)) -> active#(X))
                                        (active#(U32(X1, X2)) -> active#(X1), active#(U11(X1, X2, X3)) -> active#(X1))
                                        (active#(U32(X1, X2)) -> active#(X1), active#(U13(X)) -> active#(X))
                                        (active#(U32(X1, X2)) -> active#(X1), active#(U22(X)) -> active#(X))
                                        (active#(U32(X1, X2)) -> active#(X1), active#(U21(X1, X2)) -> active#(X1))
                                        (active#(U32(X1, X2)) -> active#(X1), active#(U32(X1, X2)) -> active#(X1))
                                        (active#(U32(X1, X2)) -> active#(X1), active#(U31(X1, X2, X3)) -> active#(X1))
                                        (active#(U32(X1, X2)) -> active#(X1), active#(s(X)) -> active#(X))
                                        (active#(U32(X1, X2)) -> active#(X1), active#(U51(X1, X2, X3)) -> active#(X1))
                                        (active#(U32(X1, X2)) -> active#(X1), active#(U61(X)) -> active#(X))
                                        (active#(U11(X1, X2, X3)) -> active#(X1), active#(U11(X1, X2, X3)) -> active#(X1))
                                        (active#(U11(X1, X2, X3)) -> active#(X1), active#(U13(X)) -> active#(X))
                                        (active#(U11(X1, X2, X3)) -> active#(X1), active#(U22(X)) -> active#(X))
                                        (active#(U11(X1, X2, X3)) -> active#(X1), active#(U21(X1, X2)) -> active#(X1))
                                        (active#(U11(X1, X2, X3)) -> active#(X1), active#(U32(X1, X2)) -> active#(X1))
                                        (active#(U11(X1, X2, X3)) -> active#(X1), active#(U31(X1, X2, X3)) -> active#(X1))
                                        (active#(U11(X1, X2, X3)) -> active#(X1), active#(s(X)) -> active#(X))
                                        (active#(U11(X1, X2, X3)) -> active#(X1), active#(U51(X1, X2, X3)) -> active#(X1))
                                        (active#(U11(X1, X2, X3)) -> active#(X1), active#(U61(X)) -> active#(X))
                                        (active#(s(X)) -> active#(X), active#(U11(X1, X2, X3)) -> active#(X1))
                                        (active#(s(X)) -> active#(X), active#(U13(X)) -> active#(X))
                                        (active#(s(X)) -> active#(X), active#(U22(X)) -> active#(X))
                                        (active#(s(X)) -> active#(X), active#(U21(X1, X2)) -> active#(X1))
                                        (active#(s(X)) -> active#(X), active#(U32(X1, X2)) -> active#(X1))
                                        (active#(s(X)) -> active#(X), active#(U31(X1, X2, X3)) -> active#(X1))
                                        (active#(s(X)) -> active#(X), active#(s(X)) -> active#(X))
                                        (active#(s(X)) -> active#(X), active#(U51(X1, X2, X3)) -> active#(X1))
                                        (active#(s(X)) -> active#(X), active#(U61(X)) -> active#(X))
                                        (active#(U13(X)) -> active#(X), active#(U11(X1, X2, X3)) -> active#(X1))
                                        (active#(U13(X)) -> active#(X), active#(U13(X)) -> active#(X))
                                        (active#(U13(X)) -> active#(X), active#(U22(X)) -> active#(X))
                                        (active#(U13(X)) -> active#(X), active#(U21(X1, X2)) -> active#(X1))
                                        (active#(U13(X)) -> active#(X), active#(U32(X1, X2)) -> active#(X1))
                                        (active#(U13(X)) -> active#(X), active#(U31(X1, X2, X3)) -> active#(X1))
                                        (active#(U13(X)) -> active#(X), active#(s(X)) -> active#(X))
                                        (active#(U13(X)) -> active#(X), active#(U51(X1, X2, X3)) -> active#(X1))
                                        (active#(U13(X)) -> active#(X), active#(U61(X)) -> active#(X))}
                                       SCCS:
                                        Scc:
                                         {active#(U11(X1, X2, X3)) -> active#(X1),
                                                   active#(U13(X)) -> active#(X),
                                                   active#(U22(X)) -> active#(X),
                                              active#(U21(X1, X2)) -> active#(X1),
                                              active#(U32(X1, X2)) -> active#(X1),
                                          active#(U31(X1, X2, X3)) -> active#(X1),
                                                     active#(s(X)) -> active#(X),
                                          active#(U51(X1, X2, X3)) -> active#(X1),
                                                   active#(U61(X)) -> active#(X)}
                                        SCC:
                                         Strict:
                                          {active#(U11(X1, X2, X3)) -> active#(X1),
                                                    active#(U13(X)) -> active#(X),
                                                    active#(U22(X)) -> active#(X),
                                               active#(U21(X1, X2)) -> active#(X1),
                                               active#(U32(X1, X2)) -> active#(X1),
                                           active#(U31(X1, X2, X3)) -> active#(X1),
                                                      active#(s(X)) -> active#(X),
                                           active#(U51(X1, X2, X3)) -> active#(X1),
                                                    active#(U61(X)) -> active#(X)}
                                         Weak:
                                         {              U12(mark(X1), X2) -> mark(U12(X1, X2)),
                                                      U12(ok(X1), ok(X2)) -> ok(U12(X1, X2)),
                                                             isNat(ok(X)) -> ok(isNat(X)),
                                                      active(U12(X1, X2)) -> U12(active(X1), X2),
                                                    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(X1, X2, X3)) -> U11(active(X1), X2, X3),
                                                active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                                                           active(U13(X)) -> U13(active(X)),
                                                        active(U13(tt())) -> mark(tt()),
                                                           active(U22(X)) -> U22(active(X)),
                                                        active(U22(tt())) -> mark(tt()),
                                                      active(U21(X1, X2)) -> U21(active(X1), X2),
                                                    active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                                                      active(U32(X1, X2)) -> U32(active(X1), X2),
                                                    active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
                                                  active(U31(X1, X2, X3)) -> U31(active(X1), X2, X3),
                                                active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                                                           active(U33(X)) -> U33(active(X)),
                                                        active(U33(tt())) -> mark(tt()),
                                                      active(U41(X1, X2)) -> U41(active(X1), X2),
                                                     active(U41(tt(), N)) -> mark(N),
                                                             active(s(X)) -> s(active(X)),
                                                    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(plus(X1, X2)) -> plus(X1, active(X2)),
                                                     active(plus(X1, X2)) -> plus(active(X1), X2),
                                                  active(U51(X1, X2, X3)) -> U51(active(X1), X2, X3),
                                                  active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                                                           active(U61(X)) -> U61(active(X)),
                                                        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(x(X1, X2)) -> x(X1, active(X2)),
                                                        active(x(X1, X2)) -> x(active(X1), X2),
                                                  active(U71(X1, X2, X3)) -> U71(active(X1), X2, X3),
                                                  active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                                                      active(and(X1, X2)) -> and(active(X1), X2),
                                                     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(mark(X1), X2, X3) -> mark(U11(X1, X2, X3)),
                                              U11(ok(X1), ok(X2), ok(X3)) -> ok(U11(X1, X2, X3)),
                                                             U13(mark(X)) -> mark(U13(X)),
                                                               U13(ok(X)) -> ok(U13(X)),
                                                             U22(mark(X)) -> mark(U22(X)),
                                                               U22(ok(X)) -> ok(U22(X)),
                                                        U21(mark(X1), X2) -> mark(U21(X1, X2)),
                                                      U21(ok(X1), ok(X2)) -> ok(U21(X1, X2)),
                                                        U32(mark(X1), X2) -> mark(U32(X1, X2)),
                                                      U32(ok(X1), ok(X2)) -> ok(U32(X1, X2)),
                                                    U31(mark(X1), X2, X3) -> mark(U31(X1, X2, X3)),
                                              U31(ok(X1), ok(X2), ok(X3)) -> ok(U31(X1, X2, X3)),
                                                             U33(mark(X)) -> mark(U33(X)),
                                                               U33(ok(X)) -> ok(U33(X)),
                                                        U41(mark(X1), X2) -> mark(U41(X1, X2)),
                                                      U41(ok(X1), ok(X2)) -> ok(U41(X1, X2)),
                                                               s(mark(X)) -> mark(s(X)),
                                                                 s(ok(X)) -> ok(s(X)),
                                                       plus(X1, mark(X2)) -> mark(plus(X1, X2)),
                                                       plus(mark(X1), X2) -> mark(plus(X1, X2)),
                                                     plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)),
                                                    U51(mark(X1), X2, X3) -> mark(U51(X1, X2, X3)),
                                              U51(ok(X1), ok(X2), ok(X3)) -> ok(U51(X1, X2, X3)),
                                                             U61(mark(X)) -> mark(U61(X)),
                                                               U61(ok(X)) -> ok(U61(X)),
                                                          x(X1, mark(X2)) -> mark(x(X1, X2)),
                                                          x(mark(X1), X2) -> mark(x(X1, X2)),
                                                        x(ok(X1), ok(X2)) -> ok(x(X1, X2)),
                                                    U71(mark(X1), X2, X3) -> mark(U71(X1, X2, X3)),
                                              U71(ok(X1), ok(X2), ok(X3)) -> ok(U71(X1, X2, X3)),
                                                        and(mark(X1), X2) -> mark(and(X1, X2)),
                                                      and(ok(X1), ok(X2)) -> ok(and(X1, X2)),
                                                         isNatKind(ok(X)) -> ok(isNatKind(X)),
                                                      proper(U12(X1, X2)) -> U12(proper(X1), proper(X2)),
                                                         proper(isNat(X)) -> isNat(proper(X)),
                                                  proper(U11(X1, X2, X3)) -> U11(proper(X1), proper(X2), proper(X3)),
                                                             proper(tt()) -> ok(tt()),
                                                           proper(U13(X)) -> U13(proper(X)),
                                                           proper(U22(X)) -> U22(proper(X)),
                                                      proper(U21(X1, X2)) -> U21(proper(X1), proper(X2)),
                                                      proper(U32(X1, X2)) -> U32(proper(X1), proper(X2)),
                                                  proper(U31(X1, X2, X3)) -> U31(proper(X1), proper(X2), proper(X3)),
                                                           proper(U33(X)) -> U33(proper(X)),
                                                      proper(U41(X1, X2)) -> U41(proper(X1), proper(X2)),
                                                             proper(s(X)) -> s(proper(X)),
                                                     proper(plus(X1, X2)) -> plus(proper(X1), proper(X2)),
                                                  proper(U51(X1, X2, X3)) -> U51(proper(X1), proper(X2), proper(X3)),
                                                              proper(0()) -> ok(0()),
                                                           proper(U61(X)) -> U61(proper(X)),
                                                        proper(x(X1, X2)) -> x(proper(X1), proper(X2)),
                                                  proper(U71(X1, X2, X3)) -> U71(proper(X1), proper(X2), proper(X3)),
                                                      proper(and(X1, X2)) -> and(proper(X1), proper(X2)),
                                                     proper(isNatKind(X)) -> isNatKind(proper(X)),
                                                             top(mark(X)) -> top(proper(X)),
                                                               top(ok(X)) -> top(active(X))}
                                         SPSC:
                                          Simple Projection:
                                           pi(active#) = 0
                                          Strict:
                                           {active#(U11(X1, X2, X3)) -> active#(X1),
                                                     active#(U13(X)) -> active#(X),
                                                     active#(U22(X)) -> active#(X),
                                                active#(U21(X1, X2)) -> active#(X1),
                                                active#(U32(X1, X2)) -> active#(X1),
                                                       active#(s(X)) -> active#(X),
                                            active#(U51(X1, X2, X3)) -> active#(X1),
                                                     active#(U61(X)) -> active#(X)}
                                          EDG:
                                           {(active#(U22(X)) -> active#(X), active#(U61(X)) -> active#(X))
                                            (active#(U22(X)) -> active#(X), active#(U51(X1, X2, X3)) -> active#(X1))
                                            (active#(U22(X)) -> active#(X), active#(s(X)) -> active#(X))
                                            (active#(U22(X)) -> active#(X), active#(U32(X1, X2)) -> active#(X1))
                                            (active#(U22(X)) -> active#(X), active#(U21(X1, X2)) -> active#(X1))
                                            (active#(U22(X)) -> active#(X), active#(U22(X)) -> active#(X))
                                            (active#(U22(X)) -> active#(X), active#(U13(X)) -> active#(X))
                                            (active#(U22(X)) -> active#(X), active#(U11(X1, X2, X3)) -> active#(X1))
                                            (active#(U61(X)) -> active#(X), active#(U61(X)) -> active#(X))
                                            (active#(U61(X)) -> active#(X), active#(U51(X1, X2, X3)) -> active#(X1))
                                            (active#(U61(X)) -> active#(X), active#(s(X)) -> active#(X))
                                            (active#(U61(X)) -> active#(X), active#(U32(X1, X2)) -> active#(X1))
                                            (active#(U61(X)) -> active#(X), active#(U21(X1, X2)) -> active#(X1))
                                            (active#(U61(X)) -> active#(X), active#(U22(X)) -> active#(X))
                                            (active#(U61(X)) -> active#(X), active#(U13(X)) -> active#(X))
                                            (active#(U61(X)) -> active#(X), active#(U11(X1, X2, X3)) -> active#(X1))
                                            (active#(U21(X1, X2)) -> active#(X1), active#(U61(X)) -> active#(X))
                                            (active#(U21(X1, X2)) -> active#(X1), active#(U51(X1, X2, X3)) -> active#(X1))
                                            (active#(U21(X1, X2)) -> active#(X1), active#(s(X)) -> active#(X))
                                            (active#(U21(X1, X2)) -> active#(X1), active#(U32(X1, X2)) -> active#(X1))
                                            (active#(U21(X1, X2)) -> active#(X1), active#(U21(X1, X2)) -> active#(X1))
                                            (active#(U21(X1, X2)) -> active#(X1), active#(U22(X)) -> active#(X))
                                            (active#(U21(X1, X2)) -> active#(X1), active#(U13(X)) -> active#(X))
                                            (active#(U21(X1, X2)) -> active#(X1), active#(U11(X1, X2, X3)) -> active#(X1))
                                            (active#(U51(X1, X2, X3)) -> active#(X1), active#(U61(X)) -> active#(X))
                                            (active#(U51(X1, X2, X3)) -> active#(X1), active#(U51(X1, X2, X3)) -> active#(X1))
                                            (active#(U51(X1, X2, X3)) -> active#(X1), active#(s(X)) -> active#(X))
                                            (active#(U51(X1, X2, X3)) -> active#(X1), active#(U32(X1, X2)) -> active#(X1))
                                            (active#(U51(X1, X2, X3)) -> active#(X1), active#(U21(X1, X2)) -> active#(X1))
                                            (active#(U51(X1, X2, X3)) -> active#(X1), active#(U22(X)) -> active#(X))
                                            (active#(U51(X1, X2, X3)) -> active#(X1), active#(U13(X)) -> active#(X))
                                            (active#(U51(X1, X2, X3)) -> active#(X1), active#(U11(X1, X2, X3)) -> active#(X1))
                                            (active#(U32(X1, X2)) -> active#(X1), active#(U11(X1, X2, X3)) -> active#(X1))
                                            (active#(U32(X1, X2)) -> active#(X1), active#(U13(X)) -> active#(X))
                                            (active#(U32(X1, X2)) -> active#(X1), active#(U22(X)) -> active#(X))
                                            (active#(U32(X1, X2)) -> active#(X1), active#(U21(X1, X2)) -> active#(X1))
                                            (active#(U32(X1, X2)) -> active#(X1), active#(U32(X1, X2)) -> active#(X1))
                                            (active#(U32(X1, X2)) -> active#(X1), active#(s(X)) -> active#(X))
                                            (active#(U32(X1, X2)) -> active#(X1), active#(U51(X1, X2, X3)) -> active#(X1))
                                            (active#(U32(X1, X2)) -> active#(X1), active#(U61(X)) -> active#(X))
                                            (active#(U11(X1, X2, X3)) -> active#(X1), active#(U11(X1, X2, X3)) -> active#(X1))
                                            (active#(U11(X1, X2, X3)) -> active#(X1), active#(U13(X)) -> active#(X))
                                            (active#(U11(X1, X2, X3)) -> active#(X1), active#(U22(X)) -> active#(X))
                                            (active#(U11(X1, X2, X3)) -> active#(X1), active#(U21(X1, X2)) -> active#(X1))
                                            (active#(U11(X1, X2, X3)) -> active#(X1), active#(U32(X1, X2)) -> active#(X1))
                                            (active#(U11(X1, X2, X3)) -> active#(X1), active#(s(X)) -> active#(X))
                                            (active#(U11(X1, X2, X3)) -> active#(X1), active#(U51(X1, X2, X3)) -> active#(X1))
                                            (active#(U11(X1, X2, X3)) -> active#(X1), active#(U61(X)) -> active#(X))
                                            (active#(s(X)) -> active#(X), active#(U11(X1, X2, X3)) -> active#(X1))
                                            (active#(s(X)) -> active#(X), active#(U13(X)) -> active#(X))
                                            (active#(s(X)) -> active#(X), active#(U22(X)) -> active#(X))
                                            (active#(s(X)) -> active#(X), active#(U21(X1, X2)) -> active#(X1))
                                            (active#(s(X)) -> active#(X), active#(U32(X1, X2)) -> active#(X1))
                                            (active#(s(X)) -> active#(X), active#(s(X)) -> active#(X))
                                            (active#(s(X)) -> active#(X), active#(U51(X1, X2, X3)) -> active#(X1))
                                            (active#(s(X)) -> active#(X), active#(U61(X)) -> active#(X))
                                            (active#(U13(X)) -> active#(X), active#(U11(X1, X2, X3)) -> active#(X1))
                                            (active#(U13(X)) -> active#(X), active#(U13(X)) -> active#(X))
                                            (active#(U13(X)) -> active#(X), active#(U22(X)) -> active#(X))
                                            (active#(U13(X)) -> active#(X), active#(U21(X1, X2)) -> active#(X1))
                                            (active#(U13(X)) -> active#(X), active#(U32(X1, X2)) -> active#(X1))
                                            (active#(U13(X)) -> active#(X), active#(s(X)) -> active#(X))
                                            (active#(U13(X)) -> active#(X), active#(U51(X1, X2, X3)) -> active#(X1))
                                            (active#(U13(X)) -> active#(X), active#(U61(X)) -> active#(X))}
                                           SCCS:
                                            Scc:
                                             {active#(U11(X1, X2, X3)) -> active#(X1),
                                                       active#(U13(X)) -> active#(X),
                                                       active#(U22(X)) -> active#(X),
                                                  active#(U21(X1, X2)) -> active#(X1),
                                                  active#(U32(X1, X2)) -> active#(X1),
                                                         active#(s(X)) -> active#(X),
                                              active#(U51(X1, X2, X3)) -> active#(X1),
                                                       active#(U61(X)) -> active#(X)}
                                            SCC:
                                             Strict:
                                              {active#(U11(X1, X2, X3)) -> active#(X1),
                                                        active#(U13(X)) -> active#(X),
                                                        active#(U22(X)) -> active#(X),
                                                   active#(U21(X1, X2)) -> active#(X1),
                                                   active#(U32(X1, X2)) -> active#(X1),
                                                          active#(s(X)) -> active#(X),
                                               active#(U51(X1, X2, X3)) -> active#(X1),
                                                        active#(U61(X)) -> active#(X)}
                                             Weak:
                                             {              U12(mark(X1), X2) -> mark(U12(X1, X2)),
                                                          U12(ok(X1), ok(X2)) -> ok(U12(X1, X2)),
                                                                 isNat(ok(X)) -> ok(isNat(X)),
                                                          active(U12(X1, X2)) -> U12(active(X1), X2),
                                                        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(X1, X2, X3)) -> U11(active(X1), X2, X3),
                                                    active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                                                               active(U13(X)) -> U13(active(X)),
                                                            active(U13(tt())) -> mark(tt()),
                                                               active(U22(X)) -> U22(active(X)),
                                                            active(U22(tt())) -> mark(tt()),
                                                          active(U21(X1, X2)) -> U21(active(X1), X2),
                                                        active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                                                          active(U32(X1, X2)) -> U32(active(X1), X2),
                                                        active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
                                                      active(U31(X1, X2, X3)) -> U31(active(X1), X2, X3),
                                                    active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                                                               active(U33(X)) -> U33(active(X)),
                                                            active(U33(tt())) -> mark(tt()),
                                                          active(U41(X1, X2)) -> U41(active(X1), X2),
                                                         active(U41(tt(), N)) -> mark(N),
                                                                 active(s(X)) -> s(active(X)),
                                                        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(plus(X1, X2)) -> plus(X1, active(X2)),
                                                         active(plus(X1, X2)) -> plus(active(X1), X2),
                                                      active(U51(X1, X2, X3)) -> U51(active(X1), X2, X3),
                                                      active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                                                               active(U61(X)) -> U61(active(X)),
                                                            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(x(X1, X2)) -> x(X1, active(X2)),
                                                            active(x(X1, X2)) -> x(active(X1), X2),
                                                      active(U71(X1, X2, X3)) -> U71(active(X1), X2, X3),
                                                      active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                                                          active(and(X1, X2)) -> and(active(X1), X2),
                                                         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(mark(X1), X2, X3) -> mark(U11(X1, X2, X3)),
                                                  U11(ok(X1), ok(X2), ok(X3)) -> ok(U11(X1, X2, X3)),
                                                                 U13(mark(X)) -> mark(U13(X)),
                                                                   U13(ok(X)) -> ok(U13(X)),
                                                                 U22(mark(X)) -> mark(U22(X)),
                                                                   U22(ok(X)) -> ok(U22(X)),
                                                            U21(mark(X1), X2) -> mark(U21(X1, X2)),
                                                          U21(ok(X1), ok(X2)) -> ok(U21(X1, X2)),
                                                            U32(mark(X1), X2) -> mark(U32(X1, X2)),
                                                          U32(ok(X1), ok(X2)) -> ok(U32(X1, X2)),
                                                        U31(mark(X1), X2, X3) -> mark(U31(X1, X2, X3)),
                                                  U31(ok(X1), ok(X2), ok(X3)) -> ok(U31(X1, X2, X3)),
                                                                 U33(mark(X)) -> mark(U33(X)),
                                                                   U33(ok(X)) -> ok(U33(X)),
                                                            U41(mark(X1), X2) -> mark(U41(X1, X2)),
                                                          U41(ok(X1), ok(X2)) -> ok(U41(X1, X2)),
                                                                   s(mark(X)) -> mark(s(X)),
                                                                     s(ok(X)) -> ok(s(X)),
                                                           plus(X1, mark(X2)) -> mark(plus(X1, X2)),
                                                           plus(mark(X1), X2) -> mark(plus(X1, X2)),
                                                         plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)),
                                                        U51(mark(X1), X2, X3) -> mark(U51(X1, X2, X3)),
                                                  U51(ok(X1), ok(X2), ok(X3)) -> ok(U51(X1, X2, X3)),
                                                                 U61(mark(X)) -> mark(U61(X)),
                                                                   U61(ok(X)) -> ok(U61(X)),
                                                              x(X1, mark(X2)) -> mark(x(X1, X2)),
                                                              x(mark(X1), X2) -> mark(x(X1, X2)),
                                                            x(ok(X1), ok(X2)) -> ok(x(X1, X2)),
                                                        U71(mark(X1), X2, X3) -> mark(U71(X1, X2, X3)),
                                                  U71(ok(X1), ok(X2), ok(X3)) -> ok(U71(X1, X2, X3)),
                                                            and(mark(X1), X2) -> mark(and(X1, X2)),
                                                          and(ok(X1), ok(X2)) -> ok(and(X1, X2)),
                                                             isNatKind(ok(X)) -> ok(isNatKind(X)),
                                                          proper(U12(X1, X2)) -> U12(proper(X1), proper(X2)),
                                                             proper(isNat(X)) -> isNat(proper(X)),
                                                      proper(U11(X1, X2, X3)) -> U11(proper(X1), proper(X2), proper(X3)),
                                                                 proper(tt()) -> ok(tt()),
                                                               proper(U13(X)) -> U13(proper(X)),
                                                               proper(U22(X)) -> U22(proper(X)),
                                                          proper(U21(X1, X2)) -> U21(proper(X1), proper(X2)),
                                                          proper(U32(X1, X2)) -> U32(proper(X1), proper(X2)),
                                                      proper(U31(X1, X2, X3)) -> U31(proper(X1), proper(X2), proper(X3)),
                                                               proper(U33(X)) -> U33(proper(X)),
                                                          proper(U41(X1, X2)) -> U41(proper(X1), proper(X2)),
                                                                 proper(s(X)) -> s(proper(X)),
                                                         proper(plus(X1, X2)) -> plus(proper(X1), proper(X2)),
                                                      proper(U51(X1, X2, X3)) -> U51(proper(X1), proper(X2), proper(X3)),
                                                                  proper(0()) -> ok(0()),
                                                               proper(U61(X)) -> U61(proper(X)),
                                                            proper(x(X1, X2)) -> x(proper(X1), proper(X2)),
                                                      proper(U71(X1, X2, X3)) -> U71(proper(X1), proper(X2), proper(X3)),
                                                          proper(and(X1, X2)) -> and(proper(X1), proper(X2)),
                                                         proper(isNatKind(X)) -> isNatKind(proper(X)),
                                                                 top(mark(X)) -> top(proper(X)),
                                                                   top(ok(X)) -> top(active(X))}
                                             SPSC:
                                              Simple Projection:
                                               pi(active#) = 0
                                              Strict:
                                               {active#(U11(X1, X2, X3)) -> active#(X1),
                                                         active#(U13(X)) -> active#(X),
                                                         active#(U22(X)) -> active#(X),
                                                    active#(U21(X1, X2)) -> active#(X1),
                                                    active#(U32(X1, X2)) -> active#(X1),
                                                           active#(s(X)) -> active#(X),
                                                         active#(U61(X)) -> active#(X)}
                                              EDG:
                                               {(active#(U21(X1, X2)) -> active#(X1), active#(U61(X)) -> active#(X))
                                                (active#(U21(X1, X2)) -> active#(X1), active#(s(X)) -> active#(X))
                                                (active#(U21(X1, X2)) -> active#(X1), active#(U32(X1, X2)) -> active#(X1))
                                                (active#(U21(X1, X2)) -> active#(X1), active#(U21(X1, X2)) -> active#(X1))
                                                (active#(U21(X1, X2)) -> active#(X1), active#(U22(X)) -> active#(X))
                                                (active#(U21(X1, X2)) -> active#(X1), active#(U13(X)) -> active#(X))
                                                (active#(U21(X1, X2)) -> active#(X1), active#(U11(X1, X2, X3)) -> active#(X1))
                                                (active#(U13(X)) -> active#(X), active#(U61(X)) -> active#(X))
                                                (active#(U13(X)) -> active#(X), active#(s(X)) -> active#(X))
                                                (active#(U13(X)) -> active#(X), active#(U32(X1, X2)) -> active#(X1))
                                                (active#(U13(X)) -> active#(X), active#(U21(X1, X2)) -> active#(X1))
                                                (active#(U13(X)) -> active#(X), active#(U22(X)) -> active#(X))
                                                (active#(U13(X)) -> active#(X), active#(U13(X)) -> active#(X))
                                                (active#(U13(X)) -> active#(X), active#(U11(X1, X2, X3)) -> active#(X1))
                                                (active#(s(X)) -> active#(X), active#(U61(X)) -> active#(X))
                                                (active#(s(X)) -> active#(X), active#(s(X)) -> active#(X))
                                                (active#(s(X)) -> active#(X), active#(U32(X1, X2)) -> active#(X1))
                                                (active#(s(X)) -> active#(X), active#(U21(X1, X2)) -> active#(X1))
                                                (active#(s(X)) -> active#(X), active#(U22(X)) -> active#(X))
                                                (active#(s(X)) -> active#(X), active#(U13(X)) -> active#(X))
                                                (active#(s(X)) -> active#(X), active#(U11(X1, X2, X3)) -> active#(X1))
                                                (active#(U61(X)) -> active#(X), active#(U11(X1, X2, X3)) -> active#(X1))
                                                (active#(U61(X)) -> active#(X), active#(U13(X)) -> active#(X))
                                                (active#(U61(X)) -> active#(X), active#(U22(X)) -> active#(X))
                                                (active#(U61(X)) -> active#(X), active#(U21(X1, X2)) -> active#(X1))
                                                (active#(U61(X)) -> active#(X), active#(U32(X1, X2)) -> active#(X1))
                                                (active#(U61(X)) -> active#(X), active#(s(X)) -> active#(X))
                                                (active#(U61(X)) -> active#(X), active#(U61(X)) -> active#(X))
                                                (active#(U22(X)) -> active#(X), active#(U11(X1, X2, X3)) -> active#(X1))
                                                (active#(U22(X)) -> active#(X), active#(U13(X)) -> active#(X))
                                                (active#(U22(X)) -> active#(X), active#(U22(X)) -> active#(X))
                                                (active#(U22(X)) -> active#(X), active#(U21(X1, X2)) -> active#(X1))
                                                (active#(U22(X)) -> active#(X), active#(U32(X1, X2)) -> active#(X1))
                                                (active#(U22(X)) -> active#(X), active#(s(X)) -> active#(X))
                                                (active#(U22(X)) -> active#(X), active#(U61(X)) -> active#(X))
                                                (active#(U32(X1, X2)) -> active#(X1), active#(U11(X1, X2, X3)) -> active#(X1))
                                                (active#(U32(X1, X2)) -> active#(X1), active#(U13(X)) -> active#(X))
                                                (active#(U32(X1, X2)) -> active#(X1), active#(U22(X)) -> active#(X))
                                                (active#(U32(X1, X2)) -> active#(X1), active#(U21(X1, X2)) -> active#(X1))
                                                (active#(U32(X1, X2)) -> active#(X1), active#(U32(X1, X2)) -> active#(X1))
                                                (active#(U32(X1, X2)) -> active#(X1), active#(s(X)) -> active#(X))
                                                (active#(U32(X1, X2)) -> active#(X1), active#(U61(X)) -> active#(X))
                                                (active#(U11(X1, X2, X3)) -> active#(X1), active#(U11(X1, X2, X3)) -> active#(X1))
                                                (active#(U11(X1, X2, X3)) -> active#(X1), active#(U13(X)) -> active#(X))
                                                (active#(U11(X1, X2, X3)) -> active#(X1), active#(U22(X)) -> active#(X))
                                                (active#(U11(X1, X2, X3)) -> active#(X1), active#(U21(X1, X2)) -> active#(X1))
                                                (active#(U11(X1, X2, X3)) -> active#(X1), active#(U32(X1, X2)) -> active#(X1))
                                                (active#(U11(X1, X2, X3)) -> active#(X1), active#(s(X)) -> active#(X))
                                                (active#(U11(X1, X2, X3)) -> active#(X1), active#(U61(X)) -> active#(X))}
                                               SCCS:
                                                Scc:
                                                 {active#(U11(X1, X2, X3)) -> active#(X1),
                                                           active#(U13(X)) -> active#(X),
                                                           active#(U22(X)) -> active#(X),
                                                      active#(U21(X1, X2)) -> active#(X1),
                                                      active#(U32(X1, X2)) -> active#(X1),
                                                             active#(s(X)) -> active#(X),
                                                           active#(U61(X)) -> active#(X)}
                                                SCC:
                                                 Strict:
                                                  {active#(U11(X1, X2, X3)) -> active#(X1),
                                                            active#(U13(X)) -> active#(X),
                                                            active#(U22(X)) -> active#(X),
                                                       active#(U21(X1, X2)) -> active#(X1),
                                                       active#(U32(X1, X2)) -> active#(X1),
                                                              active#(s(X)) -> active#(X),
                                                            active#(U61(X)) -> active#(X)}
                                                 Weak:
                                                 {              U12(mark(X1), X2) -> mark(U12(X1, X2)),
                                                              U12(ok(X1), ok(X2)) -> ok(U12(X1, X2)),
                                                                     isNat(ok(X)) -> ok(isNat(X)),
                                                              active(U12(X1, X2)) -> U12(active(X1), X2),
                                                            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(X1, X2, X3)) -> U11(active(X1), X2, X3),
                                                        active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                                                                   active(U13(X)) -> U13(active(X)),
                                                                active(U13(tt())) -> mark(tt()),
                                                                   active(U22(X)) -> U22(active(X)),
                                                                active(U22(tt())) -> mark(tt()),
                                                              active(U21(X1, X2)) -> U21(active(X1), X2),
                                                            active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                                                              active(U32(X1, X2)) -> U32(active(X1), X2),
                                                            active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
                                                          active(U31(X1, X2, X3)) -> U31(active(X1), X2, X3),
                                                        active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                                                                   active(U33(X)) -> U33(active(X)),
                                                                active(U33(tt())) -> mark(tt()),
                                                              active(U41(X1, X2)) -> U41(active(X1), X2),
                                                             active(U41(tt(), N)) -> mark(N),
                                                                     active(s(X)) -> s(active(X)),
                                                            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(plus(X1, X2)) -> plus(X1, active(X2)),
                                                             active(plus(X1, X2)) -> plus(active(X1), X2),
                                                          active(U51(X1, X2, X3)) -> U51(active(X1), X2, X3),
                                                          active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                                                                   active(U61(X)) -> U61(active(X)),
                                                                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(x(X1, X2)) -> x(X1, active(X2)),
                                                                active(x(X1, X2)) -> x(active(X1), X2),
                                                          active(U71(X1, X2, X3)) -> U71(active(X1), X2, X3),
                                                          active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                                                              active(and(X1, X2)) -> and(active(X1), X2),
                                                             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(mark(X1), X2, X3) -> mark(U11(X1, X2, X3)),
                                                      U11(ok(X1), ok(X2), ok(X3)) -> ok(U11(X1, X2, X3)),
                                                                     U13(mark(X)) -> mark(U13(X)),
                                                                       U13(ok(X)) -> ok(U13(X)),
                                                                     U22(mark(X)) -> mark(U22(X)),
                                                                       U22(ok(X)) -> ok(U22(X)),
                                                                U21(mark(X1), X2) -> mark(U21(X1, X2)),
                                                              U21(ok(X1), ok(X2)) -> ok(U21(X1, X2)),
                                                                U32(mark(X1), X2) -> mark(U32(X1, X2)),
                                                              U32(ok(X1), ok(X2)) -> ok(U32(X1, X2)),
                                                            U31(mark(X1), X2, X3) -> mark(U31(X1, X2, X3)),
                                                      U31(ok(X1), ok(X2), ok(X3)) -> ok(U31(X1, X2, X3)),
                                                                     U33(mark(X)) -> mark(U33(X)),
                                                                       U33(ok(X)) -> ok(U33(X)),
                                                                U41(mark(X1), X2) -> mark(U41(X1, X2)),
                                                              U41(ok(X1), ok(X2)) -> ok(U41(X1, X2)),
                                                                       s(mark(X)) -> mark(s(X)),
                                                                         s(ok(X)) -> ok(s(X)),
                                                               plus(X1, mark(X2)) -> mark(plus(X1, X2)),
                                                               plus(mark(X1), X2) -> mark(plus(X1, X2)),
                                                             plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)),
                                                            U51(mark(X1), X2, X3) -> mark(U51(X1, X2, X3)),
                                                      U51(ok(X1), ok(X2), ok(X3)) -> ok(U51(X1, X2, X3)),
                                                                     U61(mark(X)) -> mark(U61(X)),
                                                                       U61(ok(X)) -> ok(U61(X)),
                                                                  x(X1, mark(X2)) -> mark(x(X1, X2)),
                                                                  x(mark(X1), X2) -> mark(x(X1, X2)),
                                                                x(ok(X1), ok(X2)) -> ok(x(X1, X2)),
                                                            U71(mark(X1), X2, X3) -> mark(U71(X1, X2, X3)),
                                                      U71(ok(X1), ok(X2), ok(X3)) -> ok(U71(X1, X2, X3)),
                                                                and(mark(X1), X2) -> mark(and(X1, X2)),
                                                              and(ok(X1), ok(X2)) -> ok(and(X1, X2)),
                                                                 isNatKind(ok(X)) -> ok(isNatKind(X)),
                                                              proper(U12(X1, X2)) -> U12(proper(X1), proper(X2)),
                                                                 proper(isNat(X)) -> isNat(proper(X)),
                                                          proper(U11(X1, X2, X3)) -> U11(proper(X1), proper(X2), proper(X3)),
                                                                     proper(tt()) -> ok(tt()),
                                                                   proper(U13(X)) -> U13(proper(X)),
                                                                   proper(U22(X)) -> U22(proper(X)),
                                                              proper(U21(X1, X2)) -> U21(proper(X1), proper(X2)),
                                                              proper(U32(X1, X2)) -> U32(proper(X1), proper(X2)),
                                                          proper(U31(X1, X2, X3)) -> U31(proper(X1), proper(X2), proper(X3)),
                                                                   proper(U33(X)) -> U33(proper(X)),
                                                              proper(U41(X1, X2)) -> U41(proper(X1), proper(X2)),
                                                                     proper(s(X)) -> s(proper(X)),
                                                             proper(plus(X1, X2)) -> plus(proper(X1), proper(X2)),
                                                          proper(U51(X1, X2, X3)) -> U51(proper(X1), proper(X2), proper(X3)),
                                                                      proper(0()) -> ok(0()),
                                                                   proper(U61(X)) -> U61(proper(X)),
                                                                proper(x(X1, X2)) -> x(proper(X1), proper(X2)),
                                                          proper(U71(X1, X2, X3)) -> U71(proper(X1), proper(X2), proper(X3)),
                                                              proper(and(X1, X2)) -> and(proper(X1), proper(X2)),
                                                             proper(isNatKind(X)) -> isNatKind(proper(X)),
                                                                     top(mark(X)) -> top(proper(X)),
                                                                       top(ok(X)) -> top(active(X))}
                                                 SPSC:
                                                  Simple Projection:
                                                   pi(active#) = 0
                                                  Strict:
                                                   {active#(U11(X1, X2, X3)) -> active#(X1),
                                                             active#(U22(X)) -> active#(X),
                                                        active#(U21(X1, X2)) -> active#(X1),
                                                        active#(U32(X1, X2)) -> active#(X1),
                                                               active#(s(X)) -> active#(X),
                                                             active#(U61(X)) -> active#(X)}
                                                  EDG:
                                                   {(active#(s(X)) -> active#(X), active#(U61(X)) -> active#(X))
                                                    (active#(s(X)) -> active#(X), active#(s(X)) -> active#(X))
                                                    (active#(s(X)) -> active#(X), active#(U32(X1, X2)) -> active#(X1))
                                                    (active#(s(X)) -> active#(X), active#(U21(X1, X2)) -> active#(X1))
                                                    (active#(s(X)) -> active#(X), active#(U22(X)) -> active#(X))
                                                    (active#(s(X)) -> active#(X), active#(U11(X1, X2, X3)) -> active#(X1))
                                                    (active#(U11(X1, X2, X3)) -> active#(X1), active#(U61(X)) -> active#(X))
                                                    (active#(U11(X1, X2, X3)) -> active#(X1), active#(s(X)) -> active#(X))
                                                    (active#(U11(X1, X2, X3)) -> active#(X1), active#(U32(X1, X2)) -> active#(X1))
                                                    (active#(U11(X1, X2, X3)) -> active#(X1), active#(U21(X1, X2)) -> active#(X1))
                                                    (active#(U11(X1, X2, X3)) -> active#(X1), active#(U22(X)) -> active#(X))
                                                    (active#(U11(X1, X2, X3)) -> active#(X1), active#(U11(X1, X2, X3)) -> active#(X1))
                                                    (active#(U32(X1, X2)) -> active#(X1), active#(U61(X)) -> active#(X))
                                                    (active#(U32(X1, X2)) -> active#(X1), active#(s(X)) -> active#(X))
                                                    (active#(U32(X1, X2)) -> active#(X1), active#(U32(X1, X2)) -> active#(X1))
                                                    (active#(U32(X1, X2)) -> active#(X1), active#(U21(X1, X2)) -> active#(X1))
                                                    (active#(U32(X1, X2)) -> active#(X1), active#(U22(X)) -> active#(X))
                                                    (active#(U32(X1, X2)) -> active#(X1), active#(U11(X1, X2, X3)) -> active#(X1))
                                                    (active#(U21(X1, X2)) -> active#(X1), active#(U11(X1, X2, X3)) -> active#(X1))
                                                    (active#(U21(X1, X2)) -> active#(X1), active#(U22(X)) -> active#(X))
                                                    (active#(U21(X1, X2)) -> active#(X1), active#(U21(X1, X2)) -> active#(X1))
                                                    (active#(U21(X1, X2)) -> active#(X1), active#(U32(X1, X2)) -> active#(X1))
                                                    (active#(U21(X1, X2)) -> active#(X1), active#(s(X)) -> active#(X))
                                                    (active#(U21(X1, X2)) -> active#(X1), active#(U61(X)) -> active#(X))
                                                    (active#(U61(X)) -> active#(X), active#(U11(X1, X2, X3)) -> active#(X1))
                                                    (active#(U61(X)) -> active#(X), active#(U22(X)) -> active#(X))
                                                    (active#(U61(X)) -> active#(X), active#(U21(X1, X2)) -> active#(X1))
                                                    (active#(U61(X)) -> active#(X), active#(U32(X1, X2)) -> active#(X1))
                                                    (active#(U61(X)) -> active#(X), active#(s(X)) -> active#(X))
                                                    (active#(U61(X)) -> active#(X), active#(U61(X)) -> active#(X))
                                                    (active#(U22(X)) -> active#(X), active#(U11(X1, X2, X3)) -> active#(X1))
                                                    (active#(U22(X)) -> active#(X), active#(U22(X)) -> active#(X))
                                                    (active#(U22(X)) -> active#(X), active#(U21(X1, X2)) -> active#(X1))
                                                    (active#(U22(X)) -> active#(X), active#(U32(X1, X2)) -> active#(X1))
                                                    (active#(U22(X)) -> active#(X), active#(s(X)) -> active#(X))
                                                    (active#(U22(X)) -> active#(X), active#(U61(X)) -> active#(X))}
                                                   SCCS:
                                                    Scc:
                                                     {active#(U11(X1, X2, X3)) -> active#(X1),
                                                               active#(U22(X)) -> active#(X),
                                                          active#(U21(X1, X2)) -> active#(X1),
                                                          active#(U32(X1, X2)) -> active#(X1),
                                                                 active#(s(X)) -> active#(X),
                                                               active#(U61(X)) -> active#(X)}
                                                    SCC:
                                                     Strict:
                                                      {active#(U11(X1, X2, X3)) -> active#(X1),
                                                                active#(U22(X)) -> active#(X),
                                                           active#(U21(X1, X2)) -> active#(X1),
                                                           active#(U32(X1, X2)) -> active#(X1),
                                                                  active#(s(X)) -> active#(X),
                                                                active#(U61(X)) -> active#(X)}
                                                     Weak:
                                                     {              U12(mark(X1), X2) -> mark(U12(X1, X2)),
                                                                  U12(ok(X1), ok(X2)) -> ok(U12(X1, X2)),
                                                                         isNat(ok(X)) -> ok(isNat(X)),
                                                                  active(U12(X1, X2)) -> U12(active(X1), X2),
                                                                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(X1, X2, X3)) -> U11(active(X1), X2, X3),
                                                            active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                                                                       active(U13(X)) -> U13(active(X)),
                                                                    active(U13(tt())) -> mark(tt()),
                                                                       active(U22(X)) -> U22(active(X)),
                                                                    active(U22(tt())) -> mark(tt()),
                                                                  active(U21(X1, X2)) -> U21(active(X1), X2),
                                                                active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                                                                  active(U32(X1, X2)) -> U32(active(X1), X2),
                                                                active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
                                                              active(U31(X1, X2, X3)) -> U31(active(X1), X2, X3),
                                                            active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                                                                       active(U33(X)) -> U33(active(X)),
                                                                    active(U33(tt())) -> mark(tt()),
                                                                  active(U41(X1, X2)) -> U41(active(X1), X2),
                                                                 active(U41(tt(), N)) -> mark(N),
                                                                         active(s(X)) -> s(active(X)),
                                                                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(plus(X1, X2)) -> plus(X1, active(X2)),
                                                                 active(plus(X1, X2)) -> plus(active(X1), X2),
                                                              active(U51(X1, X2, X3)) -> U51(active(X1), X2, X3),
                                                              active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                                                                       active(U61(X)) -> U61(active(X)),
                                                                    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(x(X1, X2)) -> x(X1, active(X2)),
                                                                    active(x(X1, X2)) -> x(active(X1), X2),
                                                              active(U71(X1, X2, X3)) -> U71(active(X1), X2, X3),
                                                              active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                                                                  active(and(X1, X2)) -> and(active(X1), X2),
                                                                 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(mark(X1), X2, X3) -> mark(U11(X1, X2, X3)),
                                                          U11(ok(X1), ok(X2), ok(X3)) -> ok(U11(X1, X2, X3)),
                                                                         U13(mark(X)) -> mark(U13(X)),
                                                                           U13(ok(X)) -> ok(U13(X)),
                                                                         U22(mark(X)) -> mark(U22(X)),
                                                                           U22(ok(X)) -> ok(U22(X)),
                                                                    U21(mark(X1), X2) -> mark(U21(X1, X2)),
                                                                  U21(ok(X1), ok(X2)) -> ok(U21(X1, X2)),
                                                                    U32(mark(X1), X2) -> mark(U32(X1, X2)),
                                                                  U32(ok(X1), ok(X2)) -> ok(U32(X1, X2)),
                                                                U31(mark(X1), X2, X3) -> mark(U31(X1, X2, X3)),
                                                          U31(ok(X1), ok(X2), ok(X3)) -> ok(U31(X1, X2, X3)),
                                                                         U33(mark(X)) -> mark(U33(X)),
                                                                           U33(ok(X)) -> ok(U33(X)),
                                                                    U41(mark(X1), X2) -> mark(U41(X1, X2)),
                                                                  U41(ok(X1), ok(X2)) -> ok(U41(X1, X2)),
                                                                           s(mark(X)) -> mark(s(X)),
                                                                             s(ok(X)) -> ok(s(X)),
                                                                   plus(X1, mark(X2)) -> mark(plus(X1, X2)),
                                                                   plus(mark(X1), X2) -> mark(plus(X1, X2)),
                                                                 plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)),
                                                                U51(mark(X1), X2, X3) -> mark(U51(X1, X2, X3)),
                                                          U51(ok(X1), ok(X2), ok(X3)) -> ok(U51(X1, X2, X3)),
                                                                         U61(mark(X)) -> mark(U61(X)),
                                                                           U61(ok(X)) -> ok(U61(X)),
                                                                      x(X1, mark(X2)) -> mark(x(X1, X2)),
                                                                      x(mark(X1), X2) -> mark(x(X1, X2)),
                                                                    x(ok(X1), ok(X2)) -> ok(x(X1, X2)),
                                                                U71(mark(X1), X2, X3) -> mark(U71(X1, X2, X3)),
                                                          U71(ok(X1), ok(X2), ok(X3)) -> ok(U71(X1, X2, X3)),
                                                                    and(mark(X1), X2) -> mark(and(X1, X2)),
                                                                  and(ok(X1), ok(X2)) -> ok(and(X1, X2)),
                                                                     isNatKind(ok(X)) -> ok(isNatKind(X)),
                                                                  proper(U12(X1, X2)) -> U12(proper(X1), proper(X2)),
                                                                     proper(isNat(X)) -> isNat(proper(X)),
                                                              proper(U11(X1, X2, X3)) -> U11(proper(X1), proper(X2), proper(X3)),
                                                                         proper(tt()) -> ok(tt()),
                                                                       proper(U13(X)) -> U13(proper(X)),
                                                                       proper(U22(X)) -> U22(proper(X)),
                                                                  proper(U21(X1, X2)) -> U21(proper(X1), proper(X2)),
                                                                  proper(U32(X1, X2)) -> U32(proper(X1), proper(X2)),
                                                              proper(U31(X1, X2, X3)) -> U31(proper(X1), proper(X2), proper(X3)),
                                                                       proper(U33(X)) -> U33(proper(X)),
                                                                  proper(U41(X1, X2)) -> U41(proper(X1), proper(X2)),
                                                                         proper(s(X)) -> s(proper(X)),
                                                                 proper(plus(X1, X2)) -> plus(proper(X1), proper(X2)),
                                                              proper(U51(X1, X2, X3)) -> U51(proper(X1), proper(X2), proper(X3)),
                                                                          proper(0()) -> ok(0()),
                                                                       proper(U61(X)) -> U61(proper(X)),
                                                                    proper(x(X1, X2)) -> x(proper(X1), proper(X2)),
                                                              proper(U71(X1, X2, X3)) -> U71(proper(X1), proper(X2), proper(X3)),
                                                                  proper(and(X1, X2)) -> and(proper(X1), proper(X2)),
                                                                 proper(isNatKind(X)) -> isNatKind(proper(X)),
                                                                         top(mark(X)) -> top(proper(X)),
                                                                           top(ok(X)) -> top(active(X))}
                                                     SPSC:
                                                      Simple Projection:
                                                       pi(active#) = 0
                                                      Strict:
                                                       {active#(U11(X1, X2, X3)) -> active#(X1),
                                                                 active#(U22(X)) -> active#(X),
                                                            active#(U21(X1, X2)) -> active#(X1),
                                                            active#(U32(X1, X2)) -> active#(X1),
                                                                 active#(U61(X)) -> active#(X)}
                                                      EDG:
                                                       {(active#(U61(X)) -> active#(X), active#(U61(X)) -> active#(X))
                                                        (active#(U61(X)) -> active#(X), active#(U32(X1, X2)) -> active#(X1))
                                                        (active#(U61(X)) -> active#(X), active#(U21(X1, X2)) -> active#(X1))
                                                        (active#(U61(X)) -> active#(X), active#(U22(X)) -> active#(X))
                                                        (active#(U61(X)) -> active#(X), active#(U11(X1, X2, X3)) -> active#(X1))
                                                        (active#(U21(X1, X2)) -> active#(X1), active#(U61(X)) -> active#(X))
                                                        (active#(U21(X1, X2)) -> active#(X1), active#(U32(X1, X2)) -> active#(X1))
                                                        (active#(U21(X1, X2)) -> active#(X1), active#(U21(X1, X2)) -> active#(X1))
                                                        (active#(U21(X1, X2)) -> active#(X1), active#(U22(X)) -> active#(X))
                                                        (active#(U21(X1, X2)) -> active#(X1), active#(U11(X1, X2, X3)) -> active#(X1))
                                                        (active#(U32(X1, X2)) -> active#(X1), active#(U11(X1, X2, X3)) -> active#(X1))
                                                        (active#(U32(X1, X2)) -> active#(X1), active#(U22(X)) -> active#(X))
                                                        (active#(U32(X1, X2)) -> active#(X1), active#(U21(X1, X2)) -> active#(X1))
                                                        (active#(U32(X1, X2)) -> active#(X1), active#(U32(X1, X2)) -> active#(X1))
                                                        (active#(U32(X1, X2)) -> active#(X1), active#(U61(X)) -> active#(X))
                                                        (active#(U11(X1, X2, X3)) -> active#(X1), active#(U11(X1, X2, X3)) -> active#(X1))
                                                        (active#(U11(X1, X2, X3)) -> active#(X1), active#(U22(X)) -> active#(X))
                                                        (active#(U11(X1, X2, X3)) -> active#(X1), active#(U21(X1, X2)) -> active#(X1))
                                                        (active#(U11(X1, X2, X3)) -> active#(X1), active#(U32(X1, X2)) -> active#(X1))
                                                        (active#(U11(X1, X2, X3)) -> active#(X1), active#(U61(X)) -> active#(X))
                                                        (active#(U22(X)) -> active#(X), active#(U11(X1, X2, X3)) -> active#(X1))
                                                        (active#(U22(X)) -> active#(X), active#(U22(X)) -> active#(X))
                                                        (active#(U22(X)) -> active#(X), active#(U21(X1, X2)) -> active#(X1))
                                                        (active#(U22(X)) -> active#(X), active#(U32(X1, X2)) -> active#(X1))
                                                        (active#(U22(X)) -> active#(X), active#(U61(X)) -> active#(X))}
                                                       SCCS:
                                                        Scc:
                                                         {active#(U11(X1, X2, X3)) -> active#(X1),
                                                                   active#(U22(X)) -> active#(X),
                                                              active#(U21(X1, X2)) -> active#(X1),
                                                              active#(U32(X1, X2)) -> active#(X1),
                                                                   active#(U61(X)) -> active#(X)}
                                                        SCC:
                                                         Strict:
                                                          {active#(U11(X1, X2, X3)) -> active#(X1),
                                                                    active#(U22(X)) -> active#(X),
                                                               active#(U21(X1, X2)) -> active#(X1),
                                                               active#(U32(X1, X2)) -> active#(X1),
                                                                    active#(U61(X)) -> active#(X)}
                                                         Weak:
                                                         {              U12(mark(X1), X2) -> mark(U12(X1, X2)),
                                                                      U12(ok(X1), ok(X2)) -> ok(U12(X1, X2)),
                                                                             isNat(ok(X)) -> ok(isNat(X)),
                                                                      active(U12(X1, X2)) -> U12(active(X1), X2),
                                                                    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(X1, X2, X3)) -> U11(active(X1), X2, X3),
                                                                active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                                                                           active(U13(X)) -> U13(active(X)),
                                                                        active(U13(tt())) -> mark(tt()),
                                                                           active(U22(X)) -> U22(active(X)),
                                                                        active(U22(tt())) -> mark(tt()),
                                                                      active(U21(X1, X2)) -> U21(active(X1), X2),
                                                                    active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                                                                      active(U32(X1, X2)) -> U32(active(X1), X2),
                                                                    active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
                                                                  active(U31(X1, X2, X3)) -> U31(active(X1), X2, X3),
                                                                active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                                                                           active(U33(X)) -> U33(active(X)),
                                                                        active(U33(tt())) -> mark(tt()),
                                                                      active(U41(X1, X2)) -> U41(active(X1), X2),
                                                                     active(U41(tt(), N)) -> mark(N),
                                                                             active(s(X)) -> s(active(X)),
                                                                    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(plus(X1, X2)) -> plus(X1, active(X2)),
                                                                     active(plus(X1, X2)) -> plus(active(X1), X2),
                                                                  active(U51(X1, X2, X3)) -> U51(active(X1), X2, X3),
                                                                  active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                                                                           active(U61(X)) -> U61(active(X)),
                                                                        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(x(X1, X2)) -> x(X1, active(X2)),
                                                                        active(x(X1, X2)) -> x(active(X1), X2),
                                                                  active(U71(X1, X2, X3)) -> U71(active(X1), X2, X3),
                                                                  active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                                                                      active(and(X1, X2)) -> and(active(X1), X2),
                                                                     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(mark(X1), X2, X3) -> mark(U11(X1, X2, X3)),
                                                              U11(ok(X1), ok(X2), ok(X3)) -> ok(U11(X1, X2, X3)),
                                                                             U13(mark(X)) -> mark(U13(X)),
                                                                               U13(ok(X)) -> ok(U13(X)),
                                                                             U22(mark(X)) -> mark(U22(X)),
                                                                               U22(ok(X)) -> ok(U22(X)),
                                                                        U21(mark(X1), X2) -> mark(U21(X1, X2)),
                                                                      U21(ok(X1), ok(X2)) -> ok(U21(X1, X2)),
                                                                        U32(mark(X1), X2) -> mark(U32(X1, X2)),
                                                                      U32(ok(X1), ok(X2)) -> ok(U32(X1, X2)),
                                                                    U31(mark(X1), X2, X3) -> mark(U31(X1, X2, X3)),
                                                              U31(ok(X1), ok(X2), ok(X3)) -> ok(U31(X1, X2, X3)),
                                                                             U33(mark(X)) -> mark(U33(X)),
                                                                               U33(ok(X)) -> ok(U33(X)),
                                                                        U41(mark(X1), X2) -> mark(U41(X1, X2)),
                                                                      U41(ok(X1), ok(X2)) -> ok(U41(X1, X2)),
                                                                               s(mark(X)) -> mark(s(X)),
                                                                                 s(ok(X)) -> ok(s(X)),
                                                                       plus(X1, mark(X2)) -> mark(plus(X1, X2)),
                                                                       plus(mark(X1), X2) -> mark(plus(X1, X2)),
                                                                     plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)),
                                                                    U51(mark(X1), X2, X3) -> mark(U51(X1, X2, X3)),
                                                              U51(ok(X1), ok(X2), ok(X3)) -> ok(U51(X1, X2, X3)),
                                                                             U61(mark(X)) -> mark(U61(X)),
                                                                               U61(ok(X)) -> ok(U61(X)),
                                                                          x(X1, mark(X2)) -> mark(x(X1, X2)),
                                                                          x(mark(X1), X2) -> mark(x(X1, X2)),
                                                                        x(ok(X1), ok(X2)) -> ok(x(X1, X2)),
                                                                    U71(mark(X1), X2, X3) -> mark(U71(X1, X2, X3)),
                                                              U71(ok(X1), ok(X2), ok(X3)) -> ok(U71(X1, X2, X3)),
                                                                        and(mark(X1), X2) -> mark(and(X1, X2)),
                                                                      and(ok(X1), ok(X2)) -> ok(and(X1, X2)),
                                                                         isNatKind(ok(X)) -> ok(isNatKind(X)),
                                                                      proper(U12(X1, X2)) -> U12(proper(X1), proper(X2)),
                                                                         proper(isNat(X)) -> isNat(proper(X)),
                                                                  proper(U11(X1, X2, X3)) -> U11(proper(X1), proper(X2), proper(X3)),
                                                                             proper(tt()) -> ok(tt()),
                                                                           proper(U13(X)) -> U13(proper(X)),
                                                                           proper(U22(X)) -> U22(proper(X)),
                                                                      proper(U21(X1, X2)) -> U21(proper(X1), proper(X2)),
                                                                      proper(U32(X1, X2)) -> U32(proper(X1), proper(X2)),
                                                                  proper(U31(X1, X2, X3)) -> U31(proper(X1), proper(X2), proper(X3)),
                                                                           proper(U33(X)) -> U33(proper(X)),
                                                                      proper(U41(X1, X2)) -> U41(proper(X1), proper(X2)),
                                                                             proper(s(X)) -> s(proper(X)),
                                                                     proper(plus(X1, X2)) -> plus(proper(X1), proper(X2)),
                                                                  proper(U51(X1, X2, X3)) -> U51(proper(X1), proper(X2), proper(X3)),
                                                                              proper(0()) -> ok(0()),
                                                                           proper(U61(X)) -> U61(proper(X)),
                                                                        proper(x(X1, X2)) -> x(proper(X1), proper(X2)),
                                                                  proper(U71(X1, X2, X3)) -> U71(proper(X1), proper(X2), proper(X3)),
                                                                      proper(and(X1, X2)) -> and(proper(X1), proper(X2)),
                                                                     proper(isNatKind(X)) -> isNatKind(proper(X)),
                                                                             top(mark(X)) -> top(proper(X)),
                                                                               top(ok(X)) -> top(active(X))}
                                                         SPSC:
                                                          Simple Projection:
                                                           pi(active#) = 0
                                                          Strict:
                                                           {active#(U11(X1, X2, X3)) -> active#(X1),
                                                                     active#(U22(X)) -> active#(X),
                                                                active#(U21(X1, X2)) -> active#(X1),
                                                                     active#(U61(X)) -> active#(X)}
                                                          EDG:
                                                           {(active#(U61(X)) -> active#(X), active#(U61(X)) -> active#(X))
                                                            (active#(U61(X)) -> active#(X), active#(U21(X1, X2)) -> active#(X1))
                                                            (active#(U61(X)) -> active#(X), active#(U22(X)) -> active#(X))
                                                            (active#(U61(X)) -> active#(X), active#(U11(X1, X2, X3)) -> active#(X1))
                                                            (active#(U21(X1, X2)) -> active#(X1), active#(U61(X)) -> active#(X))
                                                            (active#(U21(X1, X2)) -> active#(X1), active#(U21(X1, X2)) -> active#(X1))
                                                            (active#(U21(X1, X2)) -> active#(X1), active#(U22(X)) -> active#(X))
                                                            (active#(U21(X1, X2)) -> active#(X1), active#(U11(X1, X2, X3)) -> active#(X1))
                                                            (active#(U11(X1, X2, X3)) -> active#(X1), active#(U11(X1, X2, X3)) -> active#(X1))
                                                            (active#(U11(X1, X2, X3)) -> active#(X1), active#(U22(X)) -> active#(X))
                                                            (active#(U11(X1, X2, X3)) -> active#(X1), active#(U21(X1, X2)) -> active#(X1))
                                                            (active#(U11(X1, X2, X3)) -> active#(X1), active#(U61(X)) -> active#(X))
                                                            (active#(U22(X)) -> active#(X), active#(U11(X1, X2, X3)) -> active#(X1))
                                                            (active#(U22(X)) -> active#(X), active#(U22(X)) -> active#(X))
                                                            (active#(U22(X)) -> active#(X), active#(U21(X1, X2)) -> active#(X1))
                                                            (active#(U22(X)) -> active#(X), active#(U61(X)) -> active#(X))}
                                                           SCCS:
                                                            Scc:
                                                             {active#(U11(X1, X2, X3)) -> active#(X1),
                                                                       active#(U22(X)) -> active#(X),
                                                                  active#(U21(X1, X2)) -> active#(X1),
                                                                       active#(U61(X)) -> active#(X)}
                                                            SCC:
                                                             Strict:
                                                              {active#(U11(X1, X2, X3)) -> active#(X1),
                                                                        active#(U22(X)) -> active#(X),
                                                                   active#(U21(X1, X2)) -> active#(X1),
                                                                        active#(U61(X)) -> active#(X)}
                                                             Weak:
                                                             {              U12(mark(X1), X2) -> mark(U12(X1, X2)),
                                                                          U12(ok(X1), ok(X2)) -> ok(U12(X1, X2)),
                                                                                 isNat(ok(X)) -> ok(isNat(X)),
                                                                          active(U12(X1, X2)) -> U12(active(X1), X2),
                                                                        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(X1, X2, X3)) -> U11(active(X1), X2, X3),
                                                                    active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                                                                               active(U13(X)) -> U13(active(X)),
                                                                            active(U13(tt())) -> mark(tt()),
                                                                               active(U22(X)) -> U22(active(X)),
                                                                            active(U22(tt())) -> mark(tt()),
                                                                          active(U21(X1, X2)) -> U21(active(X1), X2),
                                                                        active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                                                                          active(U32(X1, X2)) -> U32(active(X1), X2),
                                                                        active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
                                                                      active(U31(X1, X2, X3)) -> U31(active(X1), X2, X3),
                                                                    active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                                                                               active(U33(X)) -> U33(active(X)),
                                                                            active(U33(tt())) -> mark(tt()),
                                                                          active(U41(X1, X2)) -> U41(active(X1), X2),
                                                                         active(U41(tt(), N)) -> mark(N),
                                                                                 active(s(X)) -> s(active(X)),
                                                                        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(plus(X1, X2)) -> plus(X1, active(X2)),
                                                                         active(plus(X1, X2)) -> plus(active(X1), X2),
                                                                      active(U51(X1, X2, X3)) -> U51(active(X1), X2, X3),
                                                                      active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                                                                               active(U61(X)) -> U61(active(X)),
                                                                            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(x(X1, X2)) -> x(X1, active(X2)),
                                                                            active(x(X1, X2)) -> x(active(X1), X2),
                                                                      active(U71(X1, X2, X3)) -> U71(active(X1), X2, X3),
                                                                      active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                                                                          active(and(X1, X2)) -> and(active(X1), X2),
                                                                         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(mark(X1), X2, X3) -> mark(U11(X1, X2, X3)),
                                                                  U11(ok(X1), ok(X2), ok(X3)) -> ok(U11(X1, X2, X3)),
                                                                                 U13(mark(X)) -> mark(U13(X)),
                                                                                   U13(ok(X)) -> ok(U13(X)),
                                                                                 U22(mark(X)) -> mark(U22(X)),
                                                                                   U22(ok(X)) -> ok(U22(X)),
                                                                            U21(mark(X1), X2) -> mark(U21(X1, X2)),
                                                                          U21(ok(X1), ok(X2)) -> ok(U21(X1, X2)),
                                                                            U32(mark(X1), X2) -> mark(U32(X1, X2)),
                                                                          U32(ok(X1), ok(X2)) -> ok(U32(X1, X2)),
                                                                        U31(mark(X1), X2, X3) -> mark(U31(X1, X2, X3)),
                                                                  U31(ok(X1), ok(X2), ok(X3)) -> ok(U31(X1, X2, X3)),
                                                                                 U33(mark(X)) -> mark(U33(X)),
                                                                                   U33(ok(X)) -> ok(U33(X)),
                                                                            U41(mark(X1), X2) -> mark(U41(X1, X2)),
                                                                          U41(ok(X1), ok(X2)) -> ok(U41(X1, X2)),
                                                                                   s(mark(X)) -> mark(s(X)),
                                                                                     s(ok(X)) -> ok(s(X)),
                                                                           plus(X1, mark(X2)) -> mark(plus(X1, X2)),
                                                                           plus(mark(X1), X2) -> mark(plus(X1, X2)),
                                                                         plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)),
                                                                        U51(mark(X1), X2, X3) -> mark(U51(X1, X2, X3)),
                                                                  U51(ok(X1), ok(X2), ok(X3)) -> ok(U51(X1, X2, X3)),
                                                                                 U61(mark(X)) -> mark(U61(X)),
                                                                                   U61(ok(X)) -> ok(U61(X)),
                                                                              x(X1, mark(X2)) -> mark(x(X1, X2)),
                                                                              x(mark(X1), X2) -> mark(x(X1, X2)),
                                                                            x(ok(X1), ok(X2)) -> ok(x(X1, X2)),
                                                                        U71(mark(X1), X2, X3) -> mark(U71(X1, X2, X3)),
                                                                  U71(ok(X1), ok(X2), ok(X3)) -> ok(U71(X1, X2, X3)),
                                                                            and(mark(X1), X2) -> mark(and(X1, X2)),
                                                                          and(ok(X1), ok(X2)) -> ok(and(X1, X2)),
                                                                             isNatKind(ok(X)) -> ok(isNatKind(X)),
                                                                          proper(U12(X1, X2)) -> U12(proper(X1), proper(X2)),
                                                                             proper(isNat(X)) -> isNat(proper(X)),
                                                                      proper(U11(X1, X2, X3)) -> U11(proper(X1), proper(X2), proper(X3)),
                                                                                 proper(tt()) -> ok(tt()),
                                                                               proper(U13(X)) -> U13(proper(X)),
                                                                               proper(U22(X)) -> U22(proper(X)),
                                                                          proper(U21(X1, X2)) -> U21(proper(X1), proper(X2)),
                                                                          proper(U32(X1, X2)) -> U32(proper(X1), proper(X2)),
                                                                      proper(U31(X1, X2, X3)) -> U31(proper(X1), proper(X2), proper(X3)),
                                                                               proper(U33(X)) -> U33(proper(X)),
                                                                          proper(U41(X1, X2)) -> U41(proper(X1), proper(X2)),
                                                                                 proper(s(X)) -> s(proper(X)),
                                                                         proper(plus(X1, X2)) -> plus(proper(X1), proper(X2)),
                                                                      proper(U51(X1, X2, X3)) -> U51(proper(X1), proper(X2), proper(X3)),
                                                                                  proper(0()) -> ok(0()),
                                                                               proper(U61(X)) -> U61(proper(X)),
                                                                            proper(x(X1, X2)) -> x(proper(X1), proper(X2)),
                                                                      proper(U71(X1, X2, X3)) -> U71(proper(X1), proper(X2), proper(X3)),
                                                                          proper(and(X1, X2)) -> and(proper(X1), proper(X2)),
                                                                         proper(isNatKind(X)) -> isNatKind(proper(X)),
                                                                                 top(mark(X)) -> top(proper(X)),
                                                                                   top(ok(X)) -> top(active(X))}
                                                             SPSC:
                                                              Simple Projection:
                                                               pi(active#) = 0
                                                              Strict:
                                                               {active#(U11(X1, X2, X3)) -> active#(X1),
                                                                    active#(U21(X1, X2)) -> active#(X1),
                                                                         active#(U61(X)) -> active#(X)}
                                                              EDG:
                                                               {(active#(U11(X1, X2, X3)) -> active#(X1), active#(U61(X)) -> active#(X))
                                                                (active#(U11(X1, X2, X3)) -> active#(X1), active#(U21(X1, X2)) -> active#(X1))
                                                                (active#(U11(X1, X2, X3)) -> active#(X1), active#(U11(X1, X2, X3)) -> active#(X1))
                                                                (active#(U21(X1, X2)) -> active#(X1), active#(U11(X1, X2, X3)) -> active#(X1))
                                                                (active#(U21(X1, X2)) -> active#(X1), active#(U21(X1, X2)) -> active#(X1))
                                                                (active#(U21(X1, X2)) -> active#(X1), active#(U61(X)) -> active#(X))
                                                                (active#(U61(X)) -> active#(X), active#(U11(X1, X2, X3)) -> active#(X1))
                                                                (active#(U61(X)) -> active#(X), active#(U21(X1, X2)) -> active#(X1))
                                                                (active#(U61(X)) -> active#(X), active#(U61(X)) -> active#(X))}
                                                               SCCS:
                                                                Scc:
                                                                 {active#(U11(X1, X2, X3)) -> active#(X1),
                                                                      active#(U21(X1, X2)) -> active#(X1),
                                                                           active#(U61(X)) -> active#(X)}
                                                                SCC:
                                                                 Strict:
                                                                  {active#(U11(X1, X2, X3)) -> active#(X1),
                                                                       active#(U21(X1, X2)) -> active#(X1),
                                                                            active#(U61(X)) -> active#(X)}
                                                                 Weak:
                                                                 {              U12(mark(X1), X2) -> mark(U12(X1, X2)),
                                                                              U12(ok(X1), ok(X2)) -> ok(U12(X1, X2)),
                                                                                     isNat(ok(X)) -> ok(isNat(X)),
                                                                              active(U12(X1, X2)) -> U12(active(X1), X2),
                                                                            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(X1, X2, X3)) -> U11(active(X1), X2, X3),
                                                                        active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                                                                                   active(U13(X)) -> U13(active(X)),
                                                                                active(U13(tt())) -> mark(tt()),
                                                                                   active(U22(X)) -> U22(active(X)),
                                                                                active(U22(tt())) -> mark(tt()),
                                                                              active(U21(X1, X2)) -> U21(active(X1), X2),
                                                                            active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                                                                              active(U32(X1, X2)) -> U32(active(X1), X2),
                                                                            active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
                                                                          active(U31(X1, X2, X3)) -> U31(active(X1), X2, X3),
                                                                        active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                                                                                   active(U33(X)) -> U33(active(X)),
                                                                                active(U33(tt())) -> mark(tt()),
                                                                              active(U41(X1, X2)) -> U41(active(X1), X2),
                                                                             active(U41(tt(), N)) -> mark(N),
                                                                                     active(s(X)) -> s(active(X)),
                                                                            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(plus(X1, X2)) -> plus(X1, active(X2)),
                                                                             active(plus(X1, X2)) -> plus(active(X1), X2),
                                                                          active(U51(X1, X2, X3)) -> U51(active(X1), X2, X3),
                                                                          active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                                                                                   active(U61(X)) -> U61(active(X)),
                                                                                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(x(X1, X2)) -> x(X1, active(X2)),
                                                                                active(x(X1, X2)) -> x(active(X1), X2),
                                                                          active(U71(X1, X2, X3)) -> U71(active(X1), X2, X3),
                                                                          active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                                                                              active(and(X1, X2)) -> and(active(X1), X2),
                                                                             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(mark(X1), X2, X3) -> mark(U11(X1, X2, X3)),
                                                                      U11(ok(X1), ok(X2), ok(X3)) -> ok(U11(X1, X2, X3)),
                                                                                     U13(mark(X)) -> mark(U13(X)),
                                                                                       U13(ok(X)) -> ok(U13(X)),
                                                                                     U22(mark(X)) -> mark(U22(X)),
                                                                                       U22(ok(X)) -> ok(U22(X)),
                                                                                U21(mark(X1), X2) -> mark(U21(X1, X2)),
                                                                              U21(ok(X1), ok(X2)) -> ok(U21(X1, X2)),
                                                                                U32(mark(X1), X2) -> mark(U32(X1, X2)),
                                                                              U32(ok(X1), ok(X2)) -> ok(U32(X1, X2)),
                                                                            U31(mark(X1), X2, X3) -> mark(U31(X1, X2, X3)),
                                                                      U31(ok(X1), ok(X2), ok(X3)) -> ok(U31(X1, X2, X3)),
                                                                                     U33(mark(X)) -> mark(U33(X)),
                                                                                       U33(ok(X)) -> ok(U33(X)),
                                                                                U41(mark(X1), X2) -> mark(U41(X1, X2)),
                                                                              U41(ok(X1), ok(X2)) -> ok(U41(X1, X2)),
                                                                                       s(mark(X)) -> mark(s(X)),
                                                                                         s(ok(X)) -> ok(s(X)),
                                                                               plus(X1, mark(X2)) -> mark(plus(X1, X2)),
                                                                               plus(mark(X1), X2) -> mark(plus(X1, X2)),
                                                                             plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)),
                                                                            U51(mark(X1), X2, X3) -> mark(U51(X1, X2, X3)),
                                                                      U51(ok(X1), ok(X2), ok(X3)) -> ok(U51(X1, X2, X3)),
                                                                                     U61(mark(X)) -> mark(U61(X)),
                                                                                       U61(ok(X)) -> ok(U61(X)),
                                                                                  x(X1, mark(X2)) -> mark(x(X1, X2)),
                                                                                  x(mark(X1), X2) -> mark(x(X1, X2)),
                                                                                x(ok(X1), ok(X2)) -> ok(x(X1, X2)),
                                                                            U71(mark(X1), X2, X3) -> mark(U71(X1, X2, X3)),
                                                                      U71(ok(X1), ok(X2), ok(X3)) -> ok(U71(X1, X2, X3)),
                                                                                and(mark(X1), X2) -> mark(and(X1, X2)),
                                                                              and(ok(X1), ok(X2)) -> ok(and(X1, X2)),
                                                                                 isNatKind(ok(X)) -> ok(isNatKind(X)),
                                                                              proper(U12(X1, X2)) -> U12(proper(X1), proper(X2)),
                                                                                 proper(isNat(X)) -> isNat(proper(X)),
                                                                          proper(U11(X1, X2, X3)) -> U11(proper(X1), proper(X2), proper(X3)),
                                                                                     proper(tt()) -> ok(tt()),
                                                                                   proper(U13(X)) -> U13(proper(X)),
                                                                                   proper(U22(X)) -> U22(proper(X)),
                                                                              proper(U21(X1, X2)) -> U21(proper(X1), proper(X2)),
                                                                              proper(U32(X1, X2)) -> U32(proper(X1), proper(X2)),
                                                                          proper(U31(X1, X2, X3)) -> U31(proper(X1), proper(X2), proper(X3)),
                                                                                   proper(U33(X)) -> U33(proper(X)),
                                                                              proper(U41(X1, X2)) -> U41(proper(X1), proper(X2)),
                                                                                     proper(s(X)) -> s(proper(X)),
                                                                             proper(plus(X1, X2)) -> plus(proper(X1), proper(X2)),
                                                                          proper(U51(X1, X2, X3)) -> U51(proper(X1), proper(X2), proper(X3)),
                                                                                      proper(0()) -> ok(0()),
                                                                                   proper(U61(X)) -> U61(proper(X)),
                                                                                proper(x(X1, X2)) -> x(proper(X1), proper(X2)),
                                                                          proper(U71(X1, X2, X3)) -> U71(proper(X1), proper(X2), proper(X3)),
                                                                              proper(and(X1, X2)) -> and(proper(X1), proper(X2)),
                                                                             proper(isNatKind(X)) -> isNatKind(proper(X)),
                                                                                     top(mark(X)) -> top(proper(X)),
                                                                                       top(ok(X)) -> top(active(X))}
                                                                 SPSC:
                                                                  Simple Projection:
                                                                   pi(active#) = 0
                                                                  Strict:
                                                                   {active#(U11(X1, X2, X3)) -> active#(X1),
                                                                             active#(U61(X)) -> active#(X)}
                                                                  EDG:
                                                                   {(active#(U11(X1, X2, X3)) -> active#(X1), active#(U61(X)) -> active#(X))
                                                                    (active#(U11(X1, X2, X3)) -> active#(X1), active#(U11(X1, X2, X3)) -> active#(X1))
                                                                    (active#(U61(X)) -> active#(X), active#(U11(X1, X2, X3)) -> active#(X1))
                                                                    (active#(U61(X)) -> active#(X), active#(U61(X)) -> active#(X))}
                                                                   SCCS:
                                                                    Scc:
                                                                    {active#(U11(X1, X2, X3)) -> active#(X1),
                                                                             active#(U61(X)) -> active#(X)}
                                                                    SCC:
                                                                    Strict:
                                                                    {active#(U11(X1, X2, X3)) -> active#(X1),
                                                                             active#(U61(X)) -> active#(X)}
                                                                    Weak:
                                                                    {              U12(mark(X1), X2) -> mark(U12(X1, X2)),
                                                                                U12(ok(X1), ok(X2)) -> ok(U12(X1, X2)),
                                                                                       isNat(ok(X)) -> ok(isNat(X)),
                                                                                active(U12(X1, X2)) -> U12(active(X1), X2),
                                                                              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(X1, X2, X3)) -> U11(active(X1), X2, X3),
                                                                          active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                                                                                     active(U13(X)) -> U13(active(X)),
                                                                                  active(U13(tt())) -> mark(tt()),
                                                                                     active(U22(X)) -> U22(active(X)),
                                                                                  active(U22(tt())) -> mark(tt()),
                                                                                active(U21(X1, X2)) -> U21(active(X1), X2),
                                                                              active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                                                                                active(U32(X1, X2)) -> U32(active(X1), X2),
                                                                              active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
                                                                            active(U31(X1, X2, X3)) -> U31(active(X1), X2, X3),
                                                                          active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                                                                                     active(U33(X)) -> U33(active(X)),
                                                                                  active(U33(tt())) -> mark(tt()),
                                                                                active(U41(X1, X2)) -> U41(active(X1), X2),
                                                                               active(U41(tt(), N)) -> mark(N),
                                                                                       active(s(X)) -> s(active(X)),
                                                                              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(plus(X1, X2)) -> plus(X1, active(X2)),
                                                                               active(plus(X1, X2)) -> plus(active(X1), X2),
                                                                            active(U51(X1, X2, X3)) -> U51(active(X1), X2, X3),
                                                                            active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                                                                                     active(U61(X)) -> U61(active(X)),
                                                                                  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(x(X1, X2)) -> x(X1, active(X2)),
                                                                                  active(x(X1, X2)) -> x(active(X1), X2),
                                                                            active(U71(X1, X2, X3)) -> U71(active(X1), X2, X3),
                                                                            active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                                                                                active(and(X1, X2)) -> and(active(X1), X2),
                                                                               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(mark(X1), X2, X3) -> mark(U11(X1, X2, X3)),
                                                                        U11(ok(X1), ok(X2), ok(X3)) -> ok(U11(X1, X2, X3)),
                                                                                       U13(mark(X)) -> mark(U13(X)),
                                                                                         U13(ok(X)) -> ok(U13(X)),
                                                                                       U22(mark(X)) -> mark(U22(X)),
                                                                                         U22(ok(X)) -> ok(U22(X)),
                                                                                  U21(mark(X1), X2) -> mark(U21(X1, X2)),
                                                                                U21(ok(X1), ok(X2)) -> ok(U21(X1, X2)),
                                                                                  U32(mark(X1), X2) -> mark(U32(X1, X2)),
                                                                                U32(ok(X1), ok(X2)) -> ok(U32(X1, X2)),
                                                                              U31(mark(X1), X2, X3) -> mark(U31(X1, X2, X3)),
                                                                        U31(ok(X1), ok(X2), ok(X3)) -> ok(U31(X1, X2, X3)),
                                                                                       U33(mark(X)) -> mark(U33(X)),
                                                                                         U33(ok(X)) -> ok(U33(X)),
                                                                                  U41(mark(X1), X2) -> mark(U41(X1, X2)),
                                                                                U41(ok(X1), ok(X2)) -> ok(U41(X1, X2)),
                                                                                         s(mark(X)) -> mark(s(X)),
                                                                                           s(ok(X)) -> ok(s(X)),
                                                                                 plus(X1, mark(X2)) -> mark(plus(X1, X2)),
                                                                                 plus(mark(X1), X2) -> mark(plus(X1, X2)),
                                                                               plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)),
                                                                              U51(mark(X1), X2, X3) -> mark(U51(X1, X2, X3)),
                                                                        U51(ok(X1), ok(X2), ok(X3)) -> ok(U51(X1, X2, X3)),
                                                                                       U61(mark(X)) -> mark(U61(X)),
                                                                                         U61(ok(X)) -> ok(U61(X)),
                                                                                    x(X1, mark(X2)) -> mark(x(X1, X2)),
                                                                                    x(mark(X1), X2) -> mark(x(X1, X2)),
                                                                                  x(ok(X1), ok(X2)) -> ok(x(X1, X2)),
                                                                              U71(mark(X1), X2, X3) -> mark(U71(X1, X2, X3)),
                                                                        U71(ok(X1), ok(X2), ok(X3)) -> ok(U71(X1, X2, X3)),
                                                                                  and(mark(X1), X2) -> mark(and(X1, X2)),
                                                                                and(ok(X1), ok(X2)) -> ok(and(X1, X2)),
                                                                                   isNatKind(ok(X)) -> ok(isNatKind(X)),
                                                                                proper(U12(X1, X2)) -> U12(proper(X1), proper(X2)),
                                                                                   proper(isNat(X)) -> isNat(proper(X)),
                                                                            proper(U11(X1, X2, X3)) -> U11(proper(X1), proper(X2), proper(X3)),
                                                                                       proper(tt()) -> ok(tt()),
                                                                                     proper(U13(X)) -> U13(proper(X)),
                                                                                     proper(U22(X)) -> U22(proper(X)),
                                                                                proper(U21(X1, X2)) -> U21(proper(X1), proper(X2)),
                                                                                proper(U32(X1, X2)) -> U32(proper(X1), proper(X2)),
                                                                            proper(U31(X1, X2, X3)) -> U31(proper(X1), proper(X2), proper(X3)),
                                                                                     proper(U33(X)) -> U33(proper(X)),
                                                                                proper(U41(X1, X2)) -> U41(proper(X1), proper(X2)),
                                                                                       proper(s(X)) -> s(proper(X)),
                                                                               proper(plus(X1, X2)) -> plus(proper(X1), proper(X2)),
                                                                            proper(U51(X1, X2, X3)) -> U51(proper(X1), proper(X2), proper(X3)),
                                                                                        proper(0()) -> ok(0()),
                                                                                     proper(U61(X)) -> U61(proper(X)),
                                                                                  proper(x(X1, X2)) -> x(proper(X1), proper(X2)),
                                                                            proper(U71(X1, X2, X3)) -> U71(proper(X1), proper(X2), proper(X3)),
                                                                                proper(and(X1, X2)) -> and(proper(X1), proper(X2)),
                                                                               proper(isNatKind(X)) -> isNatKind(proper(X)),
                                                                                       top(mark(X)) -> top(proper(X)),
                                                                                         top(ok(X)) -> top(active(X))}
                                                                    SPSC:
                                                                    Simple Projection:
                                                                    pi(active#) = 0
                                                                    Strict:
                                                                    {active#(U61(X)) -> active#(X)}
                                                                    EDG:
                                                                    {(active#(U61(X)) -> active#(X), active#(U61(X)) -> active#(X))}
                                                                    SCCS:
                                                                    Scc:
                                                                    {active#(U61(X)) -> active#(X)}
                                                                    SCC:
                                                                    Strict:
                                                                    {active#(U61(X)) -> active#(X)}
                                                                    Weak:
                                                                    {              U12(mark(X1), X2) -> mark(U12(X1, X2)),
                                                                                U12(ok(X1), ok(X2)) -> ok(U12(X1, X2)),
                                                                                       isNat(ok(X)) -> ok(isNat(X)),
                                                                                active(U12(X1, X2)) -> U12(active(X1), X2),
                                                                              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(X1, X2, X3)) -> U11(active(X1), X2, X3),
                                                                          active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                                                                                     active(U13(X)) -> U13(active(X)),
                                                                                  active(U13(tt())) -> mark(tt()),
                                                                                     active(U22(X)) -> U22(active(X)),
                                                                                  active(U22(tt())) -> mark(tt()),
                                                                                active(U21(X1, X2)) -> U21(active(X1), X2),
                                                                              active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                                                                                active(U32(X1, X2)) -> U32(active(X1), X2),
                                                                              active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
                                                                            active(U31(X1, X2, X3)) -> U31(active(X1), X2, X3),
                                                                          active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                                                                                     active(U33(X)) -> U33(active(X)),
                                                                                  active(U33(tt())) -> mark(tt()),
                                                                                active(U41(X1, X2)) -> U41(active(X1), X2),
                                                                               active(U41(tt(), N)) -> mark(N),
                                                                                       active(s(X)) -> s(active(X)),
                                                                              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(plus(X1, X2)) -> plus(X1, active(X2)),
                                                                               active(plus(X1, X2)) -> plus(active(X1), X2),
                                                                            active(U51(X1, X2, X3)) -> U51(active(X1), X2, X3),
                                                                            active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                                                                                     active(U61(X)) -> U61(active(X)),
                                                                                  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(x(X1, X2)) -> x(X1, active(X2)),
                                                                                  active(x(X1, X2)) -> x(active(X1), X2),
                                                                            active(U71(X1, X2, X3)) -> U71(active(X1), X2, X3),
                                                                            active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                                                                                active(and(X1, X2)) -> and(active(X1), X2),
                                                                               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(mark(X1), X2, X3) -> mark(U11(X1, X2, X3)),
                                                                        U11(ok(X1), ok(X2), ok(X3)) -> ok(U11(X1, X2, X3)),
                                                                                       U13(mark(X)) -> mark(U13(X)),
                                                                                         U13(ok(X)) -> ok(U13(X)),
                                                                                       U22(mark(X)) -> mark(U22(X)),
                                                                                         U22(ok(X)) -> ok(U22(X)),
                                                                                  U21(mark(X1), X2) -> mark(U21(X1, X2)),
                                                                                U21(ok(X1), ok(X2)) -> ok(U21(X1, X2)),
                                                                                  U32(mark(X1), X2) -> mark(U32(X1, X2)),
                                                                                U32(ok(X1), ok(X2)) -> ok(U32(X1, X2)),
                                                                              U31(mark(X1), X2, X3) -> mark(U31(X1, X2, X3)),
                                                                        U31(ok(X1), ok(X2), ok(X3)) -> ok(U31(X1, X2, X3)),
                                                                                       U33(mark(X)) -> mark(U33(X)),
                                                                                         U33(ok(X)) -> ok(U33(X)),
                                                                                  U41(mark(X1), X2) -> mark(U41(X1, X2)),
                                                                                U41(ok(X1), ok(X2)) -> ok(U41(X1, X2)),
                                                                                         s(mark(X)) -> mark(s(X)),
                                                                                           s(ok(X)) -> ok(s(X)),
                                                                                 plus(X1, mark(X2)) -> mark(plus(X1, X2)),
                                                                                 plus(mark(X1), X2) -> mark(plus(X1, X2)),
                                                                               plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)),
                                                                              U51(mark(X1), X2, X3) -> mark(U51(X1, X2, X3)),
                                                                        U51(ok(X1), ok(X2), ok(X3)) -> ok(U51(X1, X2, X3)),
                                                                                       U61(mark(X)) -> mark(U61(X)),
                                                                                         U61(ok(X)) -> ok(U61(X)),
                                                                                    x(X1, mark(X2)) -> mark(x(X1, X2)),
                                                                                    x(mark(X1), X2) -> mark(x(X1, X2)),
                                                                                  x(ok(X1), ok(X2)) -> ok(x(X1, X2)),
                                                                              U71(mark(X1), X2, X3) -> mark(U71(X1, X2, X3)),
                                                                        U71(ok(X1), ok(X2), ok(X3)) -> ok(U71(X1, X2, X3)),
                                                                                  and(mark(X1), X2) -> mark(and(X1, X2)),
                                                                                and(ok(X1), ok(X2)) -> ok(and(X1, X2)),
                                                                                   isNatKind(ok(X)) -> ok(isNatKind(X)),
                                                                                proper(U12(X1, X2)) -> U12(proper(X1), proper(X2)),
                                                                                   proper(isNat(X)) -> isNat(proper(X)),
                                                                            proper(U11(X1, X2, X3)) -> U11(proper(X1), proper(X2), proper(X3)),
                                                                                       proper(tt()) -> ok(tt()),
                                                                                     proper(U13(X)) -> U13(proper(X)),
                                                                                     proper(U22(X)) -> U22(proper(X)),
                                                                                proper(U21(X1, X2)) -> U21(proper(X1), proper(X2)),
                                                                                proper(U32(X1, X2)) -> U32(proper(X1), proper(X2)),
                                                                            proper(U31(X1, X2, X3)) -> U31(proper(X1), proper(X2), proper(X3)),
                                                                                     proper(U33(X)) -> U33(proper(X)),
                                                                                proper(U41(X1, X2)) -> U41(proper(X1), proper(X2)),
                                                                                       proper(s(X)) -> s(proper(X)),
                                                                               proper(plus(X1, X2)) -> plus(proper(X1), proper(X2)),
                                                                            proper(U51(X1, X2, X3)) -> U51(proper(X1), proper(X2), proper(X3)),
                                                                                        proper(0()) -> ok(0()),
                                                                                     proper(U61(X)) -> U61(proper(X)),
                                                                                  proper(x(X1, X2)) -> x(proper(X1), proper(X2)),
                                                                            proper(U71(X1, X2, X3)) -> U71(proper(X1), proper(X2), proper(X3)),
                                                                                proper(and(X1, X2)) -> and(proper(X1), proper(X2)),
                                                                               proper(isNatKind(X)) -> isNatKind(proper(X)),
                                                                                       top(mark(X)) -> top(proper(X)),
                                                                                         top(ok(X)) -> top(active(X))}
                                                                    SPSC:
                                                                    Simple Projection:
                                                                    pi(active#) = 0
                                                                    Strict:
                                                                    {}
                                                                    Qed
    SCC:
     Strict:
      {isNat#(ok(X)) -> isNat#(X)}
     Weak:
     {              U12(mark(X1), X2) -> mark(U12(X1, X2)),
                  U12(ok(X1), ok(X2)) -> ok(U12(X1, X2)),
                         isNat(ok(X)) -> ok(isNat(X)),
                  active(U12(X1, X2)) -> U12(active(X1), X2),
                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(X1, X2, X3)) -> U11(active(X1), X2, X3),
            active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                       active(U13(X)) -> U13(active(X)),
                    active(U13(tt())) -> mark(tt()),
                       active(U22(X)) -> U22(active(X)),
                    active(U22(tt())) -> mark(tt()),
                  active(U21(X1, X2)) -> U21(active(X1), X2),
                active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                  active(U32(X1, X2)) -> U32(active(X1), X2),
                active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
              active(U31(X1, X2, X3)) -> U31(active(X1), X2, X3),
            active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                       active(U33(X)) -> U33(active(X)),
                    active(U33(tt())) -> mark(tt()),
                  active(U41(X1, X2)) -> U41(active(X1), X2),
                 active(U41(tt(), N)) -> mark(N),
                         active(s(X)) -> s(active(X)),
                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(plus(X1, X2)) -> plus(X1, active(X2)),
                 active(plus(X1, X2)) -> plus(active(X1), X2),
              active(U51(X1, X2, X3)) -> U51(active(X1), X2, X3),
              active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                       active(U61(X)) -> U61(active(X)),
                    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(x(X1, X2)) -> x(X1, active(X2)),
                    active(x(X1, X2)) -> x(active(X1), X2),
              active(U71(X1, X2, X3)) -> U71(active(X1), X2, X3),
              active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                  active(and(X1, X2)) -> and(active(X1), X2),
                 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(mark(X1), X2, X3) -> mark(U11(X1, X2, X3)),
          U11(ok(X1), ok(X2), ok(X3)) -> ok(U11(X1, X2, X3)),
                         U13(mark(X)) -> mark(U13(X)),
                           U13(ok(X)) -> ok(U13(X)),
                         U22(mark(X)) -> mark(U22(X)),
                           U22(ok(X)) -> ok(U22(X)),
                    U21(mark(X1), X2) -> mark(U21(X1, X2)),
                  U21(ok(X1), ok(X2)) -> ok(U21(X1, X2)),
                    U32(mark(X1), X2) -> mark(U32(X1, X2)),
                  U32(ok(X1), ok(X2)) -> ok(U32(X1, X2)),
                U31(mark(X1), X2, X3) -> mark(U31(X1, X2, X3)),
          U31(ok(X1), ok(X2), ok(X3)) -> ok(U31(X1, X2, X3)),
                         U33(mark(X)) -> mark(U33(X)),
                           U33(ok(X)) -> ok(U33(X)),
                    U41(mark(X1), X2) -> mark(U41(X1, X2)),
                  U41(ok(X1), ok(X2)) -> ok(U41(X1, X2)),
                           s(mark(X)) -> mark(s(X)),
                             s(ok(X)) -> ok(s(X)),
                   plus(X1, mark(X2)) -> mark(plus(X1, X2)),
                   plus(mark(X1), X2) -> mark(plus(X1, X2)),
                 plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)),
                U51(mark(X1), X2, X3) -> mark(U51(X1, X2, X3)),
          U51(ok(X1), ok(X2), ok(X3)) -> ok(U51(X1, X2, X3)),
                         U61(mark(X)) -> mark(U61(X)),
                           U61(ok(X)) -> ok(U61(X)),
                      x(X1, mark(X2)) -> mark(x(X1, X2)),
                      x(mark(X1), X2) -> mark(x(X1, X2)),
                    x(ok(X1), ok(X2)) -> ok(x(X1, X2)),
                U71(mark(X1), X2, X3) -> mark(U71(X1, X2, X3)),
          U71(ok(X1), ok(X2), ok(X3)) -> ok(U71(X1, X2, X3)),
                    and(mark(X1), X2) -> mark(and(X1, X2)),
                  and(ok(X1), ok(X2)) -> ok(and(X1, X2)),
                     isNatKind(ok(X)) -> ok(isNatKind(X)),
                  proper(U12(X1, X2)) -> U12(proper(X1), proper(X2)),
                     proper(isNat(X)) -> isNat(proper(X)),
              proper(U11(X1, X2, X3)) -> U11(proper(X1), proper(X2), proper(X3)),
                         proper(tt()) -> ok(tt()),
                       proper(U13(X)) -> U13(proper(X)),
                       proper(U22(X)) -> U22(proper(X)),
                  proper(U21(X1, X2)) -> U21(proper(X1), proper(X2)),
                  proper(U32(X1, X2)) -> U32(proper(X1), proper(X2)),
              proper(U31(X1, X2, X3)) -> U31(proper(X1), proper(X2), proper(X3)),
                       proper(U33(X)) -> U33(proper(X)),
                  proper(U41(X1, X2)) -> U41(proper(X1), proper(X2)),
                         proper(s(X)) -> s(proper(X)),
                 proper(plus(X1, X2)) -> plus(proper(X1), proper(X2)),
              proper(U51(X1, X2, X3)) -> U51(proper(X1), proper(X2), proper(X3)),
                          proper(0()) -> ok(0()),
                       proper(U61(X)) -> U61(proper(X)),
                    proper(x(X1, X2)) -> x(proper(X1), proper(X2)),
              proper(U71(X1, X2, X3)) -> U71(proper(X1), proper(X2), proper(X3)),
                  proper(and(X1, X2)) -> and(proper(X1), proper(X2)),
                 proper(isNatKind(X)) -> isNatKind(proper(X)),
                         top(mark(X)) -> top(proper(X)),
                           top(ok(X)) -> top(active(X))}
     SPSC:
      Simple Projection:
       pi(isNat#) = 0
      Strict:
       {}
      Qed
    SCC:
     Strict:
      {  U12#(mark(X1), X2) -> U12#(X1, X2),
       U12#(ok(X1), ok(X2)) -> U12#(X1, X2)}
     Weak:
     {              U12(mark(X1), X2) -> mark(U12(X1, X2)),
                  U12(ok(X1), ok(X2)) -> ok(U12(X1, X2)),
                         isNat(ok(X)) -> ok(isNat(X)),
                  active(U12(X1, X2)) -> U12(active(X1), X2),
                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(X1, X2, X3)) -> U11(active(X1), X2, X3),
            active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                       active(U13(X)) -> U13(active(X)),
                    active(U13(tt())) -> mark(tt()),
                       active(U22(X)) -> U22(active(X)),
                    active(U22(tt())) -> mark(tt()),
                  active(U21(X1, X2)) -> U21(active(X1), X2),
                active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                  active(U32(X1, X2)) -> U32(active(X1), X2),
                active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
              active(U31(X1, X2, X3)) -> U31(active(X1), X2, X3),
            active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                       active(U33(X)) -> U33(active(X)),
                    active(U33(tt())) -> mark(tt()),
                  active(U41(X1, X2)) -> U41(active(X1), X2),
                 active(U41(tt(), N)) -> mark(N),
                         active(s(X)) -> s(active(X)),
                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(plus(X1, X2)) -> plus(X1, active(X2)),
                 active(plus(X1, X2)) -> plus(active(X1), X2),
              active(U51(X1, X2, X3)) -> U51(active(X1), X2, X3),
              active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                       active(U61(X)) -> U61(active(X)),
                    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(x(X1, X2)) -> x(X1, active(X2)),
                    active(x(X1, X2)) -> x(active(X1), X2),
              active(U71(X1, X2, X3)) -> U71(active(X1), X2, X3),
              active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                  active(and(X1, X2)) -> and(active(X1), X2),
                 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(mark(X1), X2, X3) -> mark(U11(X1, X2, X3)),
          U11(ok(X1), ok(X2), ok(X3)) -> ok(U11(X1, X2, X3)),
                         U13(mark(X)) -> mark(U13(X)),
                           U13(ok(X)) -> ok(U13(X)),
                         U22(mark(X)) -> mark(U22(X)),
                           U22(ok(X)) -> ok(U22(X)),
                    U21(mark(X1), X2) -> mark(U21(X1, X2)),
                  U21(ok(X1), ok(X2)) -> ok(U21(X1, X2)),
                    U32(mark(X1), X2) -> mark(U32(X1, X2)),
                  U32(ok(X1), ok(X2)) -> ok(U32(X1, X2)),
                U31(mark(X1), X2, X3) -> mark(U31(X1, X2, X3)),
          U31(ok(X1), ok(X2), ok(X3)) -> ok(U31(X1, X2, X3)),
                         U33(mark(X)) -> mark(U33(X)),
                           U33(ok(X)) -> ok(U33(X)),
                    U41(mark(X1), X2) -> mark(U41(X1, X2)),
                  U41(ok(X1), ok(X2)) -> ok(U41(X1, X2)),
                           s(mark(X)) -> mark(s(X)),
                             s(ok(X)) -> ok(s(X)),
                   plus(X1, mark(X2)) -> mark(plus(X1, X2)),
                   plus(mark(X1), X2) -> mark(plus(X1, X2)),
                 plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)),
                U51(mark(X1), X2, X3) -> mark(U51(X1, X2, X3)),
          U51(ok(X1), ok(X2), ok(X3)) -> ok(U51(X1, X2, X3)),
                         U61(mark(X)) -> mark(U61(X)),
                           U61(ok(X)) -> ok(U61(X)),
                      x(X1, mark(X2)) -> mark(x(X1, X2)),
                      x(mark(X1), X2) -> mark(x(X1, X2)),
                    x(ok(X1), ok(X2)) -> ok(x(X1, X2)),
                U71(mark(X1), X2, X3) -> mark(U71(X1, X2, X3)),
          U71(ok(X1), ok(X2), ok(X3)) -> ok(U71(X1, X2, X3)),
                    and(mark(X1), X2) -> mark(and(X1, X2)),
                  and(ok(X1), ok(X2)) -> ok(and(X1, X2)),
                     isNatKind(ok(X)) -> ok(isNatKind(X)),
                  proper(U12(X1, X2)) -> U12(proper(X1), proper(X2)),
                     proper(isNat(X)) -> isNat(proper(X)),
              proper(U11(X1, X2, X3)) -> U11(proper(X1), proper(X2), proper(X3)),
                         proper(tt()) -> ok(tt()),
                       proper(U13(X)) -> U13(proper(X)),
                       proper(U22(X)) -> U22(proper(X)),
                  proper(U21(X1, X2)) -> U21(proper(X1), proper(X2)),
                  proper(U32(X1, X2)) -> U32(proper(X1), proper(X2)),
              proper(U31(X1, X2, X3)) -> U31(proper(X1), proper(X2), proper(X3)),
                       proper(U33(X)) -> U33(proper(X)),
                  proper(U41(X1, X2)) -> U41(proper(X1), proper(X2)),
                         proper(s(X)) -> s(proper(X)),
                 proper(plus(X1, X2)) -> plus(proper(X1), proper(X2)),
              proper(U51(X1, X2, X3)) -> U51(proper(X1), proper(X2), proper(X3)),
                          proper(0()) -> ok(0()),
                       proper(U61(X)) -> U61(proper(X)),
                    proper(x(X1, X2)) -> x(proper(X1), proper(X2)),
              proper(U71(X1, X2, X3)) -> U71(proper(X1), proper(X2), proper(X3)),
                  proper(and(X1, X2)) -> and(proper(X1), proper(X2)),
                 proper(isNatKind(X)) -> isNatKind(proper(X)),
                         top(mark(X)) -> top(proper(X)),
                           top(ok(X)) -> top(active(X))}
     SPSC:
      Simple Projection:
       pi(U12#) = 0
      Strict:
       {U12#(ok(X1), ok(X2)) -> U12#(X1, X2)}
      EDG:
       {(U12#(ok(X1), ok(X2)) -> U12#(X1, X2), U12#(ok(X1), ok(X2)) -> U12#(X1, X2))}
       SCCS:
        Scc:
         {U12#(ok(X1), ok(X2)) -> U12#(X1, X2)}
        SCC:
         Strict:
          {U12#(ok(X1), ok(X2)) -> U12#(X1, X2)}
         Weak:
         {              U12(mark(X1), X2) -> mark(U12(X1, X2)),
                      U12(ok(X1), ok(X2)) -> ok(U12(X1, X2)),
                             isNat(ok(X)) -> ok(isNat(X)),
                      active(U12(X1, X2)) -> U12(active(X1), X2),
                    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(X1, X2, X3)) -> U11(active(X1), X2, X3),
                active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                           active(U13(X)) -> U13(active(X)),
                        active(U13(tt())) -> mark(tt()),
                           active(U22(X)) -> U22(active(X)),
                        active(U22(tt())) -> mark(tt()),
                      active(U21(X1, X2)) -> U21(active(X1), X2),
                    active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                      active(U32(X1, X2)) -> U32(active(X1), X2),
                    active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
                  active(U31(X1, X2, X3)) -> U31(active(X1), X2, X3),
                active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                           active(U33(X)) -> U33(active(X)),
                        active(U33(tt())) -> mark(tt()),
                      active(U41(X1, X2)) -> U41(active(X1), X2),
                     active(U41(tt(), N)) -> mark(N),
                             active(s(X)) -> s(active(X)),
                    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(plus(X1, X2)) -> plus(X1, active(X2)),
                     active(plus(X1, X2)) -> plus(active(X1), X2),
                  active(U51(X1, X2, X3)) -> U51(active(X1), X2, X3),
                  active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                           active(U61(X)) -> U61(active(X)),
                        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(x(X1, X2)) -> x(X1, active(X2)),
                        active(x(X1, X2)) -> x(active(X1), X2),
                  active(U71(X1, X2, X3)) -> U71(active(X1), X2, X3),
                  active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                      active(and(X1, X2)) -> and(active(X1), X2),
                     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(mark(X1), X2, X3) -> mark(U11(X1, X2, X3)),
              U11(ok(X1), ok(X2), ok(X3)) -> ok(U11(X1, X2, X3)),
                             U13(mark(X)) -> mark(U13(X)),
                               U13(ok(X)) -> ok(U13(X)),
                             U22(mark(X)) -> mark(U22(X)),
                               U22(ok(X)) -> ok(U22(X)),
                        U21(mark(X1), X2) -> mark(U21(X1, X2)),
                      U21(ok(X1), ok(X2)) -> ok(U21(X1, X2)),
                        U32(mark(X1), X2) -> mark(U32(X1, X2)),
                      U32(ok(X1), ok(X2)) -> ok(U32(X1, X2)),
                    U31(mark(X1), X2, X3) -> mark(U31(X1, X2, X3)),
              U31(ok(X1), ok(X2), ok(X3)) -> ok(U31(X1, X2, X3)),
                             U33(mark(X)) -> mark(U33(X)),
                               U33(ok(X)) -> ok(U33(X)),
                        U41(mark(X1), X2) -> mark(U41(X1, X2)),
                      U41(ok(X1), ok(X2)) -> ok(U41(X1, X2)),
                               s(mark(X)) -> mark(s(X)),
                                 s(ok(X)) -> ok(s(X)),
                       plus(X1, mark(X2)) -> mark(plus(X1, X2)),
                       plus(mark(X1), X2) -> mark(plus(X1, X2)),
                     plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)),
                    U51(mark(X1), X2, X3) -> mark(U51(X1, X2, X3)),
              U51(ok(X1), ok(X2), ok(X3)) -> ok(U51(X1, X2, X3)),
                             U61(mark(X)) -> mark(U61(X)),
                               U61(ok(X)) -> ok(U61(X)),
                          x(X1, mark(X2)) -> mark(x(X1, X2)),
                          x(mark(X1), X2) -> mark(x(X1, X2)),
                        x(ok(X1), ok(X2)) -> ok(x(X1, X2)),
                    U71(mark(X1), X2, X3) -> mark(U71(X1, X2, X3)),
              U71(ok(X1), ok(X2), ok(X3)) -> ok(U71(X1, X2, X3)),
                        and(mark(X1), X2) -> mark(and(X1, X2)),
                      and(ok(X1), ok(X2)) -> ok(and(X1, X2)),
                         isNatKind(ok(X)) -> ok(isNatKind(X)),
                      proper(U12(X1, X2)) -> U12(proper(X1), proper(X2)),
                         proper(isNat(X)) -> isNat(proper(X)),
                  proper(U11(X1, X2, X3)) -> U11(proper(X1), proper(X2), proper(X3)),
                             proper(tt()) -> ok(tt()),
                           proper(U13(X)) -> U13(proper(X)),
                           proper(U22(X)) -> U22(proper(X)),
                      proper(U21(X1, X2)) -> U21(proper(X1), proper(X2)),
                      proper(U32(X1, X2)) -> U32(proper(X1), proper(X2)),
                  proper(U31(X1, X2, X3)) -> U31(proper(X1), proper(X2), proper(X3)),
                           proper(U33(X)) -> U33(proper(X)),
                      proper(U41(X1, X2)) -> U41(proper(X1), proper(X2)),
                             proper(s(X)) -> s(proper(X)),
                     proper(plus(X1, X2)) -> plus(proper(X1), proper(X2)),
                  proper(U51(X1, X2, X3)) -> U51(proper(X1), proper(X2), proper(X3)),
                              proper(0()) -> ok(0()),
                           proper(U61(X)) -> U61(proper(X)),
                        proper(x(X1, X2)) -> x(proper(X1), proper(X2)),
                  proper(U71(X1, X2, X3)) -> U71(proper(X1), proper(X2), proper(X3)),
                      proper(and(X1, X2)) -> and(proper(X1), proper(X2)),
                     proper(isNatKind(X)) -> isNatKind(proper(X)),
                             top(mark(X)) -> top(proper(X)),
                               top(ok(X)) -> top(active(X))}
         SPSC:
          Simple Projection:
           pi(U12#) = 0
          Strict:
           {}
          Qed