MAYBE
Time: 4.145405
TRS:
 {
          U102(mark X1, X2, X3) -> mark U102(X1, X2, X3),
      U102(ok X1, ok X2, ok X3) -> ok U102(X1, X2, X3),
                 isNatKind ok X -> ok isNatKind X,
        active U102(X1, X2, X3) -> U102(active X1, X2, X3),
        active U102(tt(), M, N) -> mark U103(isNat N, M, N),
  active isNatKind plus(V1, V2) -> mark U41(isNatKind V1, V2),
     active isNatKind x(V1, V2) -> mark U61(isNatKind V1, V2),
          active isNatKind s V1 -> mark U51 isNatKind V1,
           active isNatKind 0() -> mark tt(),
        active U101(X1, X2, X3) -> U101(active X1, X2, X3),
        active U101(tt(), M, N) -> mark U102(isNatKind M, M, N),
        active U103(X1, X2, X3) -> U103(active X1, X2, X3),
        active U103(tt(), M, N) -> mark U104(isNatKind N, M, N),
      active isNat plus(V1, V2) -> mark U11(isNatKind V1, V1, V2),
         active isNat x(V1, V2) -> mark U31(isNatKind V1, V1, V2),
              active isNat s V1 -> mark U21(isNatKind V1, V1),
               active isNat 0() -> mark tt(),
        active U104(X1, X2, X3) -> U104(active X1, X2, X3),
        active U104(tt(), M, N) -> mark plus(x(N, M), N),
            active plus(N, s M) -> mark U81(isNat M, M, N),
            active plus(N, 0()) -> mark U71(isNat N, N),
            active plus(X1, X2) -> plus(X1, active X2),
            active plus(X1, X2) -> plus(active X1, X2),
               active x(N, s M) -> mark U101(isNat M, M, N),
               active x(N, 0()) -> mark U91(isNat N, N),
               active x(X1, X2) -> x(X1, active X2),
               active x(X1, X2) -> x(active X1, X2),
         active U12(X1, X2, X3) -> U12(active X1, X2, X3),
       active U12(tt(), V1, V2) -> mark U13(isNatKind V2, V1, V2),
         active U11(X1, X2, X3) -> U11(active X1, X2, X3),
       active U11(tt(), V1, V2) -> mark U12(isNatKind V1, V1, V2),
         active U13(X1, X2, X3) -> U13(active X1, X2, X3),
       active U13(tt(), V1, V2) -> mark U14(isNatKind V2, V1, V2),
         active U14(X1, X2, X3) -> U14(active X1, X2, X3),
       active U14(tt(), V1, V2) -> mark U15(isNat V1, V2),
             active U15(X1, X2) -> U15(active X1, X2),
           active U15(tt(), V2) -> mark U16 isNat V2,
                   active U16 X -> U16 active X,
                active U16 tt() -> mark tt(),
             active U22(X1, X2) -> U22(active X1, X2),
           active U22(tt(), V1) -> mark U23 isNat V1,
             active U21(X1, X2) -> U21(active X1, X2),
           active U21(tt(), V1) -> mark U22(isNatKind V1, V1),
                   active U23 X -> U23 active X,
                active U23 tt() -> mark tt(),
         active U32(X1, X2, X3) -> U32(active X1, X2, X3),
       active U32(tt(), V1, V2) -> mark U33(isNatKind V2, V1, V2),
         active U31(X1, X2, X3) -> U31(active X1, X2, X3),
       active U31(tt(), V1, V2) -> mark U32(isNatKind V1, V1, V2),
         active U33(X1, X2, X3) -> U33(active X1, X2, X3),
       active U33(tt(), V1, V2) -> mark U34(isNatKind V2, V1, V2),
         active U34(X1, X2, X3) -> U34(active X1, X2, X3),
       active U34(tt(), V1, V2) -> mark U35(isNat V1, V2),
             active U35(X1, X2) -> U35(active X1, X2),
           active U35(tt(), V2) -> mark U36 isNat V2,
                   active U36 X -> U36 active X,
                active U36 tt() -> mark tt(),
                   active U42 X -> U42 active X,
                active U42 tt() -> mark tt(),
             active U41(X1, X2) -> U41(active X1, X2),
           active U41(tt(), V2) -> mark U42 isNatKind V2,
                   active U51 X -> U51 active X,
                active U51 tt() -> mark tt(),
                   active U62 X -> U62 active X,
                active U62 tt() -> mark tt(),
             active U61(X1, X2) -> U61(active X1, X2),
           active U61(tt(), V2) -> mark U62 isNatKind V2,
             active U72(X1, X2) -> U72(active X1, X2),
            active U72(tt(), N) -> mark N,
             active U71(X1, X2) -> U71(active X1, X2),
            active U71(tt(), N) -> mark U72(isNatKind N, N),
         active U82(X1, X2, X3) -> U82(active X1, X2, X3),
         active U82(tt(), M, N) -> mark U83(isNat N, M, N),
         active U81(X1, X2, X3) -> U81(active X1, X2, X3),
         active U81(tt(), M, N) -> mark U82(isNatKind M, M, N),
         active U83(X1, X2, X3) -> U83(active X1, X2, X3),
         active U83(tt(), M, N) -> mark U84(isNatKind N, M, N),
         active U84(X1, X2, X3) -> U84(active X1, X2, X3),
         active U84(tt(), M, N) -> mark s plus(N, M),
                     active s X -> s active X,
                   active U92 X -> U92 active X,
                active U92 tt() -> mark 0(),
             active U91(X1, X2) -> U91(active X1, X2),
            active U91(tt(), N) -> mark U92 isNatKind N,
          U101(mark X1, X2, X3) -> mark U101(X1, X2, X3),
      U101(ok X1, ok X2, ok X3) -> ok U101(X1, X2, X3),
          U103(mark X1, X2, X3) -> mark U103(X1, X2, X3),
      U103(ok X1, ok X2, ok X3) -> ok U103(X1, X2, X3),
                     isNat ok X -> ok isNat X,
          U104(mark X1, X2, X3) -> mark U104(X1, X2, X3),
      U104(ok X1, ok X2, ok X3) -> ok U104(X1, X2, X3),
              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),
                 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),
           U12(mark X1, X2, X3) -> mark U12(X1, X2, X3),
       U12(ok X1, ok X2, ok X3) -> ok U12(X1, X2, X3),
           U11(mark X1, X2, X3) -> mark U11(X1, X2, X3),
       U11(ok X1, ok X2, ok X3) -> ok U11(X1, X2, X3),
           U13(mark X1, X2, X3) -> mark U13(X1, X2, X3),
       U13(ok X1, ok X2, ok X3) -> ok U13(X1, X2, X3),
           U14(mark X1, X2, X3) -> mark U14(X1, X2, X3),
       U14(ok X1, ok X2, ok X3) -> ok U14(X1, X2, X3),
               U15(mark X1, X2) -> mark U15(X1, X2),
              U15(ok X1, ok X2) -> ok U15(X1, X2),
                     U16 mark X -> mark U16 X,
                       U16 ok X -> ok U16 X,
               U22(mark X1, X2) -> mark U22(X1, X2),
              U22(ok X1, ok X2) -> ok U22(X1, X2),
               U21(mark X1, X2) -> mark U21(X1, X2),
              U21(ok X1, ok X2) -> ok U21(X1, X2),
                     U23 mark X -> mark U23 X,
                       U23 ok X -> ok U23 X,
           U32(mark X1, X2, X3) -> mark U32(X1, X2, X3),
       U32(ok X1, ok X2, ok X3) -> ok U32(X1, X2, X3),
           U31(mark X1, X2, X3) -> mark U31(X1, X2, X3),
       U31(ok X1, ok X2, ok X3) -> ok U31(X1, X2, X3),
           U33(mark X1, X2, X3) -> mark U33(X1, X2, X3),
       U33(ok X1, ok X2, ok X3) -> ok U33(X1, X2, X3),
           U34(mark X1, X2, X3) -> mark U34(X1, X2, X3),
       U34(ok X1, ok X2, ok X3) -> ok U34(X1, X2, X3),
               U35(mark X1, X2) -> mark U35(X1, X2),
              U35(ok X1, ok X2) -> ok U35(X1, X2),
                     U36 mark X -> mark U36 X,
                       U36 ok X -> ok U36 X,
                     U42 mark X -> mark U42 X,
                       U42 ok X -> ok U42 X,
               U41(mark X1, X2) -> mark U41(X1, X2),
              U41(ok X1, ok X2) -> ok U41(X1, X2),
                     U51 mark X -> mark U51 X,
                       U51 ok X -> ok U51 X,
                     U62 mark X -> mark U62 X,
                       U62 ok X -> ok U62 X,
               U61(mark X1, X2) -> mark U61(X1, X2),
              U61(ok X1, ok X2) -> ok U61(X1, X2),
               U72(mark X1, X2) -> mark U72(X1, X2),
              U72(ok X1, ok X2) -> ok U72(X1, X2),
               U71(mark X1, X2) -> mark U71(X1, X2),
              U71(ok X1, ok X2) -> ok U71(X1, X2),
           U82(mark X1, X2, X3) -> mark U82(X1, X2, X3),
       U82(ok X1, ok X2, ok X3) -> ok U82(X1, X2, X3),
           U81(mark X1, X2, X3) -> mark U81(X1, X2, X3),
       U81(ok X1, ok X2, ok X3) -> ok U81(X1, X2, X3),
           U83(mark X1, X2, X3) -> mark U83(X1, X2, X3),
       U83(ok X1, ok X2, ok X3) -> ok U83(X1, X2, X3),
           U84(mark X1, X2, X3) -> mark U84(X1, X2, X3),
       U84(ok X1, ok X2, ok X3) -> ok U84(X1, X2, X3),
                       s mark X -> mark s X,
                         s ok X -> ok s X,
                     U92 mark X -> mark U92 X,
                       U92 ok X -> ok U92 X,
               U91(mark X1, X2) -> mark U91(X1, X2),
              U91(ok X1, ok X2) -> ok U91(X1, X2),
        proper U102(X1, X2, X3) -> U102(proper X1, proper X2, proper X3),
             proper isNatKind X -> isNatKind proper X,
        proper U101(X1, X2, X3) -> U101(proper X1, proper X2, proper X3),
                    proper tt() -> ok tt(),
        proper U103(X1, X2, X3) -> U103(proper X1, proper X2, proper X3),
                 proper isNat X -> isNat proper X,
        proper U104(X1, X2, X3) -> U104(proper X1, proper X2, proper X3),
            proper plus(X1, X2) -> plus(proper X1, proper X2),
               proper x(X1, X2) -> x(proper X1, proper X2),
         proper U12(X1, X2, X3) -> U12(proper X1, proper X2, proper X3),
         proper U11(X1, X2, X3) -> U11(proper X1, proper X2, proper X3),
         proper U13(X1, X2, X3) -> U13(proper X1, proper X2, proper X3),
         proper U14(X1, X2, X3) -> U14(proper X1, proper X2, proper X3),
             proper U15(X1, X2) -> U15(proper X1, proper X2),
                   proper U16 X -> U16 proper X,
             proper U22(X1, X2) -> U22(proper X1, proper X2),
             proper U21(X1, X2) -> U21(proper X1, proper X2),
                   proper U23 X -> U23 proper X,
         proper U32(X1, X2, X3) -> U32(proper X1, proper X2, proper X3),
         proper U31(X1, X2, X3) -> U31(proper X1, proper X2, proper X3),
         proper U33(X1, X2, X3) -> U33(proper X1, proper X2, proper X3),
         proper U34(X1, X2, X3) -> U34(proper X1, proper X2, proper X3),
             proper U35(X1, X2) -> U35(proper X1, proper X2),
                   proper U36 X -> U36 proper X,
                   proper U42 X -> U42 proper X,
             proper U41(X1, X2) -> U41(proper X1, proper X2),
                   proper U51 X -> U51 proper X,
                   proper U62 X -> U62 proper X,
             proper U61(X1, X2) -> U61(proper X1, proper X2),
             proper U72(X1, X2) -> U72(proper X1, proper X2),
             proper U71(X1, X2) -> U71(proper X1, proper X2),
         proper U82(X1, X2, X3) -> U82(proper X1, proper X2, proper X3),
         proper U81(X1, X2, X3) -> U81(proper X1, proper X2, proper X3),
         proper U83(X1, X2, X3) -> U83(proper X1, proper X2, proper X3),
         proper U84(X1, X2, X3) -> U84(proper X1, proper X2, proper X3),
                     proper s X -> s proper X,
                   proper U92 X -> U92 proper X,
             proper U91(X1, X2) -> U91(proper X1, proper X2),
                     proper 0() -> ok 0(),
                     top mark X -> top proper X,
                       top ok X -> top active X
 }
 DP:
  DP:
   {
            U102#(mark X1, X2, X3) -> U102#(X1, X2, X3),
        U102#(ok X1, ok X2, ok X3) -> U102#(X1, X2, X3),
                   isNatKind# ok X -> isNatKind# X,
          active# U102(X1, X2, X3) -> U102#(active X1, X2, X3),
          active# U102(X1, X2, X3) -> active# X1,
          active# U102(tt(), M, N) -> U103#(isNat N, M, N),
          active# U102(tt(), M, N) -> isNat# N,
    active# isNatKind plus(V1, V2) -> isNatKind# V1,
    active# isNatKind plus(V1, V2) -> U41#(isNatKind V1, V2),
       active# isNatKind x(V1, V2) -> isNatKind# V1,
       active# isNatKind x(V1, V2) -> U61#(isNatKind V1, V2),
            active# isNatKind s V1 -> isNatKind# V1,
            active# isNatKind s V1 -> U51# isNatKind V1,
          active# U101(X1, X2, X3) -> active# X1,
          active# U101(X1, X2, X3) -> U101#(active X1, X2, X3),
          active# U101(tt(), M, N) -> U102#(isNatKind M, M, N),
          active# U101(tt(), M, N) -> isNatKind# M,
          active# U103(X1, X2, X3) -> active# X1,
          active# U103(X1, X2, X3) -> U103#(active X1, X2, X3),
          active# U103(tt(), M, N) -> isNatKind# N,
          active# U103(tt(), M, N) -> U104#(isNatKind N, M, N),
        active# isNat plus(V1, V2) -> isNatKind# V1,
        active# isNat plus(V1, V2) -> U11#(isNatKind V1, V1, V2),
           active# isNat x(V1, V2) -> isNatKind# V1,
           active# isNat x(V1, V2) -> U31#(isNatKind V1, V1, V2),
                active# isNat s V1 -> isNatKind# V1,
                active# isNat s V1 -> U21#(isNatKind V1, V1),
          active# U104(X1, X2, X3) -> active# X1,
          active# U104(X1, X2, X3) -> U104#(active X1, X2, X3),
          active# U104(tt(), M, N) -> plus#(x(N, M), N),
          active# U104(tt(), M, N) -> x#(N, M),
              active# plus(N, s M) -> isNat# M,
              active# plus(N, s M) -> U81#(isNat M, M, N),
              active# plus(N, 0()) -> isNat# N,
              active# plus(N, 0()) -> U71#(isNat N, 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# x(N, s M) -> U101#(isNat M, M, N),
                 active# x(N, s M) -> isNat# M,
                 active# x(N, 0()) -> isNat# N,
                 active# x(N, 0()) -> U91#(isNat N, 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# U12(X1, X2, X3) -> active# X1,
           active# U12(X1, X2, X3) -> U12#(active X1, X2, X3),
         active# U12(tt(), V1, V2) -> isNatKind# V2,
         active# U12(tt(), V1, V2) -> U13#(isNatKind V2, V1, V2),
           active# U11(X1, X2, X3) -> active# X1,
           active# U11(X1, X2, X3) -> U11#(active X1, X2, X3),
         active# U11(tt(), V1, V2) -> isNatKind# V1,
         active# U11(tt(), V1, V2) -> U12#(isNatKind V1, V1, V2),
           active# U13(X1, X2, X3) -> active# X1,
           active# U13(X1, X2, X3) -> U13#(active X1, X2, X3),
         active# U13(tt(), V1, V2) -> isNatKind# V2,
         active# U13(tt(), V1, V2) -> U14#(isNatKind V2, V1, V2),
           active# U14(X1, X2, X3) -> active# X1,
           active# U14(X1, X2, X3) -> U14#(active X1, X2, X3),
         active# U14(tt(), V1, V2) -> isNat# V1,
         active# U14(tt(), V1, V2) -> U15#(isNat V1, V2),
               active# U15(X1, X2) -> active# X1,
               active# U15(X1, X2) -> U15#(active X1, X2),
             active# U15(tt(), V2) -> isNat# V2,
             active# U15(tt(), V2) -> U16# isNat V2,
                     active# U16 X -> active# X,
                     active# U16 X -> U16# active X,
               active# U22(X1, X2) -> active# X1,
               active# U22(X1, X2) -> U22#(active X1, X2),
             active# U22(tt(), V1) -> isNat# V1,
             active# U22(tt(), V1) -> U23# isNat V1,
               active# U21(X1, X2) -> active# X1,
               active# U21(X1, X2) -> U21#(active X1, X2),
             active# U21(tt(), V1) -> isNatKind# V1,
             active# U21(tt(), V1) -> U22#(isNatKind V1, V1),
                     active# U23 X -> active# X,
                     active# U23 X -> U23# active X,
           active# U32(X1, X2, X3) -> active# X1,
           active# U32(X1, X2, X3) -> U32#(active X1, X2, X3),
         active# U32(tt(), V1, V2) -> isNatKind# V2,
         active# U32(tt(), V1, V2) -> U33#(isNatKind V2, V1, V2),
           active# U31(X1, X2, X3) -> active# X1,
           active# U31(X1, X2, X3) -> U31#(active X1, X2, X3),
         active# U31(tt(), V1, V2) -> isNatKind# V1,
         active# U31(tt(), V1, V2) -> U32#(isNatKind V1, V1, V2),
           active# U33(X1, X2, X3) -> active# X1,
           active# U33(X1, X2, X3) -> U33#(active X1, X2, X3),
         active# U33(tt(), V1, V2) -> isNatKind# V2,
         active# U33(tt(), V1, V2) -> U34#(isNatKind V2, V1, V2),
           active# U34(X1, X2, X3) -> active# X1,
           active# U34(X1, X2, X3) -> U34#(active X1, X2, X3),
         active# U34(tt(), V1, V2) -> isNat# V1,
         active# U34(tt(), V1, V2) -> U35#(isNat V1, V2),
               active# U35(X1, X2) -> active# X1,
               active# U35(X1, X2) -> U35#(active X1, X2),
             active# U35(tt(), V2) -> isNat# V2,
             active# U35(tt(), V2) -> U36# isNat V2,
                     active# U36 X -> active# X,
                     active# U36 X -> U36# active X,
                     active# U42 X -> active# X,
                     active# U42 X -> U42# active X,
               active# U41(X1, X2) -> active# X1,
               active# U41(X1, X2) -> U41#(active X1, X2),
             active# U41(tt(), V2) -> isNatKind# V2,
             active# U41(tt(), V2) -> U42# isNatKind V2,
                     active# U51 X -> active# X,
                     active# U51 X -> U51# active X,
                     active# U62 X -> active# X,
                     active# U62 X -> U62# active X,
               active# U61(X1, X2) -> active# X1,
               active# U61(X1, X2) -> U61#(active X1, X2),
             active# U61(tt(), V2) -> isNatKind# V2,
             active# U61(tt(), V2) -> U62# isNatKind V2,
               active# U72(X1, X2) -> active# X1,
               active# U72(X1, X2) -> U72#(active X1, X2),
               active# U71(X1, X2) -> active# X1,
               active# U71(X1, X2) -> U71#(active X1, X2),
              active# U71(tt(), N) -> isNatKind# N,
              active# U71(tt(), N) -> U72#(isNatKind N, N),
           active# U82(X1, X2, X3) -> active# X1,
           active# U82(X1, X2, X3) -> U82#(active X1, X2, X3),
           active# U82(tt(), M, N) -> isNat# N,
           active# U82(tt(), M, N) -> U83#(isNat N, M, N),
           active# U81(X1, X2, X3) -> active# X1,
           active# U81(X1, X2, X3) -> U81#(active X1, X2, X3),
           active# U81(tt(), M, N) -> isNatKind# M,
           active# U81(tt(), M, N) -> U82#(isNatKind M, M, N),
           active# U83(X1, X2, X3) -> active# X1,
           active# U83(X1, X2, X3) -> U83#(active X1, X2, X3),
           active# U83(tt(), M, N) -> isNatKind# N,
           active# U83(tt(), M, N) -> U84#(isNatKind N, M, N),
           active# U84(X1, X2, X3) -> active# X1,
           active# U84(X1, X2, X3) -> U84#(active X1, X2, X3),
           active# U84(tt(), M, N) -> plus#(N, M),
           active# U84(tt(), M, N) -> s# plus(N, M),
                       active# s X -> active# X,
                       active# s X -> s# active X,
                     active# U92 X -> active# X,
                     active# U92 X -> U92# active X,
               active# U91(X1, X2) -> active# X1,
               active# U91(X1, X2) -> U91#(active X1, X2),
              active# U91(tt(), N) -> isNatKind# N,
              active# U91(tt(), N) -> U92# isNatKind N,
            U101#(mark X1, X2, X3) -> U101#(X1, X2, X3),
        U101#(ok X1, ok X2, ok X3) -> U101#(X1, X2, X3),
            U103#(mark X1, X2, X3) -> U103#(X1, X2, X3),
        U103#(ok X1, ok X2, ok X3) -> U103#(X1, X2, X3),
                       isNat# ok X -> isNat# X,
            U104#(mark X1, X2, X3) -> U104#(X1, X2, X3),
        U104#(ok X1, ok X2, ok X3) -> U104#(X1, X2, X3),
                plus#(X1, mark X2) -> plus#(X1, X2),
                plus#(mark X1, X2) -> plus#(X1, X2),
               plus#(ok X1, ok X2) -> plus#(X1, X2),
                   x#(X1, mark X2) -> x#(X1, X2),
                   x#(mark X1, X2) -> x#(X1, X2),
                  x#(ok X1, ok X2) -> x#(X1, X2),
             U12#(mark X1, X2, X3) -> U12#(X1, X2, X3),
         U12#(ok X1, ok X2, ok X3) -> U12#(X1, X2, X3),
             U11#(mark X1, X2, X3) -> U11#(X1, X2, X3),
         U11#(ok X1, ok X2, ok X3) -> U11#(X1, X2, X3),
             U13#(mark X1, X2, X3) -> U13#(X1, X2, X3),
         U13#(ok X1, ok X2, ok X3) -> U13#(X1, X2, X3),
             U14#(mark X1, X2, X3) -> U14#(X1, X2, X3),
         U14#(ok X1, ok X2, ok X3) -> U14#(X1, X2, X3),
                 U15#(mark X1, X2) -> U15#(X1, X2),
                U15#(ok X1, ok X2) -> U15#(X1, X2),
                       U16# mark X -> U16# X,
                         U16# ok X -> U16# X,
                 U22#(mark X1, X2) -> U22#(X1, X2),
                U22#(ok X1, ok X2) -> U22#(X1, X2),
                 U21#(mark X1, X2) -> U21#(X1, X2),
                U21#(ok X1, ok X2) -> U21#(X1, X2),
                       U23# mark X -> U23# X,
                         U23# ok X -> U23# X,
             U32#(mark X1, X2, X3) -> U32#(X1, X2, X3),
         U32#(ok X1, ok X2, ok X3) -> U32#(X1, X2, X3),
             U31#(mark X1, X2, X3) -> U31#(X1, X2, X3),
         U31#(ok X1, ok X2, ok X3) -> U31#(X1, X2, X3),
             U33#(mark X1, X2, X3) -> U33#(X1, X2, X3),
         U33#(ok X1, ok X2, ok X3) -> U33#(X1, X2, X3),
             U34#(mark X1, X2, X3) -> U34#(X1, X2, X3),
         U34#(ok X1, ok X2, ok X3) -> U34#(X1, X2, X3),
                 U35#(mark X1, X2) -> U35#(X1, X2),
                U35#(ok X1, ok X2) -> U35#(X1, X2),
                       U36# mark X -> U36# X,
                         U36# ok X -> U36# X,
                       U42# mark X -> U42# X,
                         U42# ok X -> U42# X,
                 U41#(mark X1, X2) -> U41#(X1, X2),
                U41#(ok X1, ok X2) -> U41#(X1, X2),
                       U51# mark X -> U51# X,
                         U51# ok X -> U51# X,
                       U62# mark X -> U62# X,
                         U62# ok X -> U62# X,
                 U61#(mark X1, X2) -> U61#(X1, X2),
                U61#(ok X1, ok X2) -> U61#(X1, X2),
                 U72#(mark X1, X2) -> U72#(X1, X2),
                U72#(ok X1, ok X2) -> U72#(X1, X2),
                 U71#(mark X1, X2) -> U71#(X1, X2),
                U71#(ok X1, ok X2) -> U71#(X1, X2),
             U82#(mark X1, X2, X3) -> U82#(X1, X2, X3),
         U82#(ok X1, ok X2, ok X3) -> U82#(X1, X2, X3),
             U81#(mark X1, X2, X3) -> U81#(X1, X2, X3),
         U81#(ok X1, ok X2, ok X3) -> U81#(X1, X2, X3),
             U83#(mark X1, X2, X3) -> U83#(X1, X2, X3),
         U83#(ok X1, ok X2, ok X3) -> U83#(X1, X2, X3),
             U84#(mark X1, X2, X3) -> U84#(X1, X2, X3),
         U84#(ok X1, ok X2, ok X3) -> U84#(X1, X2, X3),
                         s# mark X -> s# X,
                           s# ok X -> s# X,
                       U92# mark X -> U92# X,
                         U92# ok X -> U92# X,
                 U91#(mark X1, X2) -> U91#(X1, X2),
                U91#(ok X1, ok X2) -> U91#(X1, X2),
          proper# U102(X1, X2, X3) -> U102#(proper X1, proper X2, proper X3),
          proper# U102(X1, X2, X3) -> proper# X1,
          proper# U102(X1, X2, X3) -> proper# X2,
          proper# U102(X1, X2, X3) -> proper# X3,
               proper# isNatKind X -> isNatKind# proper X,
               proper# isNatKind X -> proper# X,
          proper# U101(X1, X2, X3) -> U101#(proper X1, proper X2, proper X3),
          proper# U101(X1, X2, X3) -> proper# X1,
          proper# U101(X1, X2, X3) -> proper# X2,
          proper# U101(X1, X2, X3) -> proper# X3,
          proper# U103(X1, X2, X3) -> U103#(proper X1, proper X2, proper X3),
          proper# U103(X1, X2, X3) -> proper# X1,
          proper# U103(X1, X2, X3) -> proper# X2,
          proper# U103(X1, X2, X3) -> proper# X3,
                   proper# isNat X -> isNat# proper X,
                   proper# isNat X -> proper# X,
          proper# U104(X1, X2, X3) -> U104#(proper X1, proper X2, proper X3),
          proper# U104(X1, X2, X3) -> proper# X1,
          proper# U104(X1, X2, X3) -> proper# X2,
          proper# U104(X1, X2, X3) -> proper# X3,
              proper# plus(X1, X2) -> plus#(proper X1, proper X2),
              proper# plus(X1, X2) -> proper# X1,
              proper# plus(X1, X2) -> proper# X2,
                 proper# x(X1, X2) -> x#(proper X1, proper X2),
                 proper# x(X1, X2) -> proper# X1,
                 proper# x(X1, X2) -> proper# X2,
           proper# U12(X1, X2, X3) -> U12#(proper X1, proper X2, proper X3),
           proper# U12(X1, X2, X3) -> proper# X1,
           proper# U12(X1, X2, X3) -> proper# X2,
           proper# U12(X1, X2, X3) -> proper# X3,
           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(X1, X2, X3) -> U13#(proper X1, proper X2, proper X3),
           proper# U13(X1, X2, X3) -> proper# X1,
           proper# U13(X1, X2, X3) -> proper# X2,
           proper# U13(X1, X2, X3) -> proper# X3,
           proper# U14(X1, X2, X3) -> U14#(proper X1, proper X2, proper X3),
           proper# U14(X1, X2, X3) -> proper# X1,
           proper# U14(X1, X2, X3) -> proper# X2,
           proper# U14(X1, X2, X3) -> proper# X3,
               proper# U15(X1, X2) -> U15#(proper X1, proper X2),
               proper# U15(X1, X2) -> proper# X1,
               proper# U15(X1, X2) -> proper# X2,
                     proper# U16 X -> U16# proper X,
                     proper# U16 X -> proper# X,
               proper# U22(X1, X2) -> U22#(proper X1, proper X2),
               proper# U22(X1, X2) -> proper# X1,
               proper# U22(X1, X2) -> proper# X2,
               proper# U21(X1, X2) -> U21#(proper X1, proper X2),
               proper# U21(X1, X2) -> proper# X1,
               proper# U21(X1, X2) -> proper# X2,
                     proper# U23 X -> U23# proper X,
                     proper# U23 X -> proper# X,
           proper# U32(X1, X2, X3) -> U32#(proper X1, proper X2, proper X3),
           proper# U32(X1, X2, X3) -> proper# X1,
           proper# U32(X1, X2, X3) -> proper# X2,
           proper# U32(X1, X2, X3) -> proper# X3,
           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(X1, X2, X3) -> U33#(proper X1, proper X2, proper X3),
           proper# U33(X1, X2, X3) -> proper# X1,
           proper# U33(X1, X2, X3) -> proper# X2,
           proper# U33(X1, X2, X3) -> proper# X3,
           proper# U34(X1, X2, X3) -> U34#(proper X1, proper X2, proper X3),
           proper# U34(X1, X2, X3) -> proper# X1,
           proper# U34(X1, X2, X3) -> proper# X2,
           proper# U34(X1, X2, X3) -> proper# X3,
               proper# U35(X1, X2) -> U35#(proper X1, proper X2),
               proper# U35(X1, X2) -> proper# X1,
               proper# U35(X1, X2) -> proper# X2,
                     proper# U36 X -> U36# proper X,
                     proper# U36 X -> proper# X,
                     proper# U42 X -> U42# proper X,
                     proper# U42 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# U51 X -> U51# proper X,
                     proper# U51 X -> proper# X,
                     proper# U62 X -> U62# proper X,
                     proper# U62 X -> proper# X,
               proper# U61(X1, X2) -> U61#(proper X1, proper X2),
               proper# U61(X1, X2) -> proper# X1,
               proper# U61(X1, X2) -> proper# X2,
               proper# U72(X1, X2) -> U72#(proper X1, proper X2),
               proper# U72(X1, X2) -> proper# X1,
               proper# U72(X1, X2) -> proper# X2,
               proper# U71(X1, X2) -> U71#(proper X1, proper X2),
               proper# U71(X1, X2) -> proper# X1,
               proper# U71(X1, X2) -> proper# X2,
           proper# U82(X1, X2, X3) -> U82#(proper X1, proper X2, proper X3),
           proper# U82(X1, X2, X3) -> proper# X1,
           proper# U82(X1, X2, X3) -> proper# X2,
           proper# U82(X1, X2, X3) -> proper# X3,
           proper# U81(X1, X2, X3) -> U81#(proper X1, proper X2, proper X3),
           proper# U81(X1, X2, X3) -> proper# X1,
           proper# U81(X1, X2, X3) -> proper# X2,
           proper# U81(X1, X2, X3) -> proper# X3,
           proper# U83(X1, X2, X3) -> U83#(proper X1, proper X2, proper X3),
           proper# U83(X1, X2, X3) -> proper# X1,
           proper# U83(X1, X2, X3) -> proper# X2,
           proper# U83(X1, X2, X3) -> proper# X3,
           proper# U84(X1, X2, X3) -> U84#(proper X1, proper X2, proper X3),
           proper# U84(X1, X2, X3) -> proper# X1,
           proper# U84(X1, X2, X3) -> proper# X2,
           proper# U84(X1, X2, X3) -> proper# X3,
                       proper# s X -> s# proper X,
                       proper# s X -> proper# X,
                     proper# U92 X -> U92# proper X,
                     proper# U92 X -> proper# X,
               proper# U91(X1, X2) -> U91#(proper X1, proper X2),
               proper# U91(X1, X2) -> proper# X1,
               proper# U91(X1, X2) -> proper# X2,
                       top# mark X -> proper# X,
                       top# mark X -> top# proper X,
                         top# ok X -> active# X,
                         top# ok X -> top# active X
   }
  TRS:
  {
           U102(mark X1, X2, X3) -> mark U102(X1, X2, X3),
       U102(ok X1, ok X2, ok X3) -> ok U102(X1, X2, X3),
                  isNatKind ok X -> ok isNatKind X,
         active U102(X1, X2, X3) -> U102(active X1, X2, X3),
         active U102(tt(), M, N) -> mark U103(isNat N, M, N),
   active isNatKind plus(V1, V2) -> mark U41(isNatKind V1, V2),
      active isNatKind x(V1, V2) -> mark U61(isNatKind V1, V2),
           active isNatKind s V1 -> mark U51 isNatKind V1,
            active isNatKind 0() -> mark tt(),
         active U101(X1, X2, X3) -> U101(active X1, X2, X3),
         active U101(tt(), M, N) -> mark U102(isNatKind M, M, N),
         active U103(X1, X2, X3) -> U103(active X1, X2, X3),
         active U103(tt(), M, N) -> mark U104(isNatKind N, M, N),
       active isNat plus(V1, V2) -> mark U11(isNatKind V1, V1, V2),
          active isNat x(V1, V2) -> mark U31(isNatKind V1, V1, V2),
               active isNat s V1 -> mark U21(isNatKind V1, V1),
                active isNat 0() -> mark tt(),
         active U104(X1, X2, X3) -> U104(active X1, X2, X3),
         active U104(tt(), M, N) -> mark plus(x(N, M), N),
             active plus(N, s M) -> mark U81(isNat M, M, N),
             active plus(N, 0()) -> mark U71(isNat N, N),
             active plus(X1, X2) -> plus(X1, active X2),
             active plus(X1, X2) -> plus(active X1, X2),
                active x(N, s M) -> mark U101(isNat M, M, N),
                active x(N, 0()) -> mark U91(isNat N, N),
                active x(X1, X2) -> x(X1, active X2),
                active x(X1, X2) -> x(active X1, X2),
          active U12(X1, X2, X3) -> U12(active X1, X2, X3),
        active U12(tt(), V1, V2) -> mark U13(isNatKind V2, V1, V2),
          active U11(X1, X2, X3) -> U11(active X1, X2, X3),
        active U11(tt(), V1, V2) -> mark U12(isNatKind V1, V1, V2),
          active U13(X1, X2, X3) -> U13(active X1, X2, X3),
        active U13(tt(), V1, V2) -> mark U14(isNatKind V2, V1, V2),
          active U14(X1, X2, X3) -> U14(active X1, X2, X3),
        active U14(tt(), V1, V2) -> mark U15(isNat V1, V2),
              active U15(X1, X2) -> U15(active X1, X2),
            active U15(tt(), V2) -> mark U16 isNat V2,
                    active U16 X -> U16 active X,
                 active U16 tt() -> mark tt(),
              active U22(X1, X2) -> U22(active X1, X2),
            active U22(tt(), V1) -> mark U23 isNat V1,
              active U21(X1, X2) -> U21(active X1, X2),
            active U21(tt(), V1) -> mark U22(isNatKind V1, V1),
                    active U23 X -> U23 active X,
                 active U23 tt() -> mark tt(),
          active U32(X1, X2, X3) -> U32(active X1, X2, X3),
        active U32(tt(), V1, V2) -> mark U33(isNatKind V2, V1, V2),
          active U31(X1, X2, X3) -> U31(active X1, X2, X3),
        active U31(tt(), V1, V2) -> mark U32(isNatKind V1, V1, V2),
          active U33(X1, X2, X3) -> U33(active X1, X2, X3),
        active U33(tt(), V1, V2) -> mark U34(isNatKind V2, V1, V2),
          active U34(X1, X2, X3) -> U34(active X1, X2, X3),
        active U34(tt(), V1, V2) -> mark U35(isNat V1, V2),
              active U35(X1, X2) -> U35(active X1, X2),
            active U35(tt(), V2) -> mark U36 isNat V2,
                    active U36 X -> U36 active X,
                 active U36 tt() -> mark tt(),
                    active U42 X -> U42 active X,
                 active U42 tt() -> mark tt(),
              active U41(X1, X2) -> U41(active X1, X2),
            active U41(tt(), V2) -> mark U42 isNatKind V2,
                    active U51 X -> U51 active X,
                 active U51 tt() -> mark tt(),
                    active U62 X -> U62 active X,
                 active U62 tt() -> mark tt(),
              active U61(X1, X2) -> U61(active X1, X2),
            active U61(tt(), V2) -> mark U62 isNatKind V2,
              active U72(X1, X2) -> U72(active X1, X2),
             active U72(tt(), N) -> mark N,
              active U71(X1, X2) -> U71(active X1, X2),
             active U71(tt(), N) -> mark U72(isNatKind N, N),
          active U82(X1, X2, X3) -> U82(active X1, X2, X3),
          active U82(tt(), M, N) -> mark U83(isNat N, M, N),
          active U81(X1, X2, X3) -> U81(active X1, X2, X3),
          active U81(tt(), M, N) -> mark U82(isNatKind M, M, N),
          active U83(X1, X2, X3) -> U83(active X1, X2, X3),
          active U83(tt(), M, N) -> mark U84(isNatKind N, M, N),
          active U84(X1, X2, X3) -> U84(active X1, X2, X3),
          active U84(tt(), M, N) -> mark s plus(N, M),
                      active s X -> s active X,
                    active U92 X -> U92 active X,
                 active U92 tt() -> mark 0(),
              active U91(X1, X2) -> U91(active X1, X2),
             active U91(tt(), N) -> mark U92 isNatKind N,
           U101(mark X1, X2, X3) -> mark U101(X1, X2, X3),
       U101(ok X1, ok X2, ok X3) -> ok U101(X1, X2, X3),
           U103(mark X1, X2, X3) -> mark U103(X1, X2, X3),
       U103(ok X1, ok X2, ok X3) -> ok U103(X1, X2, X3),
                      isNat ok X -> ok isNat X,
           U104(mark X1, X2, X3) -> mark U104(X1, X2, X3),
       U104(ok X1, ok X2, ok X3) -> ok U104(X1, X2, X3),
               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),
                  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),
            U12(mark X1, X2, X3) -> mark U12(X1, X2, X3),
        U12(ok X1, ok X2, ok X3) -> ok U12(X1, X2, X3),
            U11(mark X1, X2, X3) -> mark U11(X1, X2, X3),
        U11(ok X1, ok X2, ok X3) -> ok U11(X1, X2, X3),
            U13(mark X1, X2, X3) -> mark U13(X1, X2, X3),
        U13(ok X1, ok X2, ok X3) -> ok U13(X1, X2, X3),
            U14(mark X1, X2, X3) -> mark U14(X1, X2, X3),
        U14(ok X1, ok X2, ok X3) -> ok U14(X1, X2, X3),
                U15(mark X1, X2) -> mark U15(X1, X2),
               U15(ok X1, ok X2) -> ok U15(X1, X2),
                      U16 mark X -> mark U16 X,
                        U16 ok X -> ok U16 X,
                U22(mark X1, X2) -> mark U22(X1, X2),
               U22(ok X1, ok X2) -> ok U22(X1, X2),
                U21(mark X1, X2) -> mark U21(X1, X2),
               U21(ok X1, ok X2) -> ok U21(X1, X2),
                      U23 mark X -> mark U23 X,
                        U23 ok X -> ok U23 X,
            U32(mark X1, X2, X3) -> mark U32(X1, X2, X3),
        U32(ok X1, ok X2, ok X3) -> ok U32(X1, X2, X3),
            U31(mark X1, X2, X3) -> mark U31(X1, X2, X3),
        U31(ok X1, ok X2, ok X3) -> ok U31(X1, X2, X3),
            U33(mark X1, X2, X3) -> mark U33(X1, X2, X3),
        U33(ok X1, ok X2, ok X3) -> ok U33(X1, X2, X3),
            U34(mark X1, X2, X3) -> mark U34(X1, X2, X3),
        U34(ok X1, ok X2, ok X3) -> ok U34(X1, X2, X3),
                U35(mark X1, X2) -> mark U35(X1, X2),
               U35(ok X1, ok X2) -> ok U35(X1, X2),
                      U36 mark X -> mark U36 X,
                        U36 ok X -> ok U36 X,
                      U42 mark X -> mark U42 X,
                        U42 ok X -> ok U42 X,
                U41(mark X1, X2) -> mark U41(X1, X2),
               U41(ok X1, ok X2) -> ok U41(X1, X2),
                      U51 mark X -> mark U51 X,
                        U51 ok X -> ok U51 X,
                      U62 mark X -> mark U62 X,
                        U62 ok X -> ok U62 X,
                U61(mark X1, X2) -> mark U61(X1, X2),
               U61(ok X1, ok X2) -> ok U61(X1, X2),
                U72(mark X1, X2) -> mark U72(X1, X2),
               U72(ok X1, ok X2) -> ok U72(X1, X2),
                U71(mark X1, X2) -> mark U71(X1, X2),
               U71(ok X1, ok X2) -> ok U71(X1, X2),
            U82(mark X1, X2, X3) -> mark U82(X1, X2, X3),
        U82(ok X1, ok X2, ok X3) -> ok U82(X1, X2, X3),
            U81(mark X1, X2, X3) -> mark U81(X1, X2, X3),
        U81(ok X1, ok X2, ok X3) -> ok U81(X1, X2, X3),
            U83(mark X1, X2, X3) -> mark U83(X1, X2, X3),
        U83(ok X1, ok X2, ok X3) -> ok U83(X1, X2, X3),
            U84(mark X1, X2, X3) -> mark U84(X1, X2, X3),
        U84(ok X1, ok X2, ok X3) -> ok U84(X1, X2, X3),
                        s mark X -> mark s X,
                          s ok X -> ok s X,
                      U92 mark X -> mark U92 X,
                        U92 ok X -> ok U92 X,
                U91(mark X1, X2) -> mark U91(X1, X2),
               U91(ok X1, ok X2) -> ok U91(X1, X2),
         proper U102(X1, X2, X3) -> U102(proper X1, proper X2, proper X3),
              proper isNatKind X -> isNatKind proper X,
         proper U101(X1, X2, X3) -> U101(proper X1, proper X2, proper X3),
                     proper tt() -> ok tt(),
         proper U103(X1, X2, X3) -> U103(proper X1, proper X2, proper X3),
                  proper isNat X -> isNat proper X,
         proper U104(X1, X2, X3) -> U104(proper X1, proper X2, proper X3),
             proper plus(X1, X2) -> plus(proper X1, proper X2),
                proper x(X1, X2) -> x(proper X1, proper X2),
          proper U12(X1, X2, X3) -> U12(proper X1, proper X2, proper X3),
          proper U11(X1, X2, X3) -> U11(proper X1, proper X2, proper X3),
          proper U13(X1, X2, X3) -> U13(proper X1, proper X2, proper X3),
          proper U14(X1, X2, X3) -> U14(proper X1, proper X2, proper X3),
              proper U15(X1, X2) -> U15(proper X1, proper X2),
                    proper U16 X -> U16 proper X,
              proper U22(X1, X2) -> U22(proper X1, proper X2),
              proper U21(X1, X2) -> U21(proper X1, proper X2),
                    proper U23 X -> U23 proper X,
          proper U32(X1, X2, X3) -> U32(proper X1, proper X2, proper X3),
          proper U31(X1, X2, X3) -> U31(proper X1, proper X2, proper X3),
          proper U33(X1, X2, X3) -> U33(proper X1, proper X2, proper X3),
          proper U34(X1, X2, X3) -> U34(proper X1, proper X2, proper X3),
              proper U35(X1, X2) -> U35(proper X1, proper X2),
                    proper U36 X -> U36 proper X,
                    proper U42 X -> U42 proper X,
              proper U41(X1, X2) -> U41(proper X1, proper X2),
                    proper U51 X -> U51 proper X,
                    proper U62 X -> U62 proper X,
              proper U61(X1, X2) -> U61(proper X1, proper X2),
              proper U72(X1, X2) -> U72(proper X1, proper X2),
              proper U71(X1, X2) -> U71(proper X1, proper X2),
          proper U82(X1, X2, X3) -> U82(proper X1, proper X2, proper X3),
          proper U81(X1, X2, X3) -> U81(proper X1, proper X2, proper X3),
          proper U83(X1, X2, X3) -> U83(proper X1, proper X2, proper X3),
          proper U84(X1, X2, X3) -> U84(proper X1, proper X2, proper X3),
                      proper s X -> s proper X,
                    proper U92 X -> U92 proper X,
              proper U91(X1, X2) -> U91(proper X1, proper X2),
                      proper 0() -> ok 0(),
                      top mark X -> top proper X,
                        top ok X -> top active X
  }
  EDG:
   {
    (active# U16 X -> active# X, active# U91(tt(), N) -> U92# isNatKind N)
    (active# U16 X -> active# X, active# U91(tt(), N) -> isNatKind# N)
    (active# U16 X -> active# X, active# U91(X1, X2) -> U91#(active X1, X2))
    (active# U16 X -> active# X, active# U91(X1, X2) -> active# X1)
    (active# U16 X -> active# X, active# U92 X -> U92# active X)
    (active# U16 X -> active# X, active# U92 X -> active# X)
    (active# U16 X -> active# X, active# s X -> s# active X)
    (active# U16 X -> active# X, active# s X -> active# X)
    (active# U16 X -> active# X, active# U84(tt(), M, N) -> s# plus(N, M))
    (active# U16 X -> active# X, active# U84(tt(), M, N) -> plus#(N, M))
    (active# U16 X -> active# X, active# U84(X1, X2, X3) -> U84#(active X1, X2, X3))
    (active# U16 X -> active# X, active# U84(X1, X2, X3) -> active# X1)
    (active# U16 X -> active# X, active# U83(tt(), M, N) -> U84#(isNatKind N, M, N))
    (active# U16 X -> active# X, active# U83(tt(), M, N) -> isNatKind# N)
    (active# U16 X -> active# X, active# U83(X1, X2, X3) -> U83#(active X1, X2, X3))
    (active# U16 X -> active# X, active# U83(X1, X2, X3) -> active# X1)
    (active# U16 X -> active# X, active# U81(tt(), M, N) -> U82#(isNatKind M, M, N))
    (active# U16 X -> active# X, active# U81(tt(), M, N) -> isNatKind# M)
    (active# U16 X -> active# X, active# U81(X1, X2, X3) -> U81#(active X1, X2, X3))
    (active# U16 X -> active# X, active# U81(X1, X2, X3) -> active# X1)
    (active# U16 X -> active# X, active# U82(tt(), M, N) -> U83#(isNat N, M, N))
    (active# U16 X -> active# X, active# U82(tt(), M, N) -> isNat# N)
    (active# U16 X -> active# X, active# U82(X1, X2, X3) -> U82#(active X1, X2, X3))
    (active# U16 X -> active# X, active# U82(X1, X2, X3) -> active# X1)
    (active# U16 X -> active# X, active# U71(tt(), N) -> U72#(isNatKind N, N))
    (active# U16 X -> active# X, active# U71(tt(), N) -> isNatKind# N)
    (active# U16 X -> active# X, active# U71(X1, X2) -> U71#(active X1, X2))
    (active# U16 X -> active# X, active# U71(X1, X2) -> active# X1)
    (active# U16 X -> active# X, active# U72(X1, X2) -> U72#(active X1, X2))
    (active# U16 X -> active# X, active# U72(X1, X2) -> active# X1)
    (active# U16 X -> active# X, active# U61(tt(), V2) -> U62# isNatKind V2)
    (active# U16 X -> active# X, active# U61(tt(), V2) -> isNatKind# V2)
    (active# U16 X -> active# X, active# U61(X1, X2) -> U61#(active X1, X2))
    (active# U16 X -> active# X, active# U61(X1, X2) -> active# X1)
    (active# U16 X -> active# X, active# U62 X -> U62# active X)
    (active# U16 X -> active# X, active# U62 X -> active# X)
    (active# U16 X -> active# X, active# U51 X -> U51# active X)
    (active# U16 X -> active# X, active# U51 X -> active# X)
    (active# U16 X -> active# X, active# U41(tt(), V2) -> U42# isNatKind V2)
    (active# U16 X -> active# X, active# U41(tt(), V2) -> isNatKind# V2)
    (active# U16 X -> active# X, active# U41(X1, X2) -> U41#(active X1, X2))
    (active# U16 X -> active# X, active# U41(X1, X2) -> active# X1)
    (active# U16 X -> active# X, active# U42 X -> U42# active X)
    (active# U16 X -> active# X, active# U42 X -> active# X)
    (active# U16 X -> active# X, active# U36 X -> U36# active X)
    (active# U16 X -> active# X, active# U36 X -> active# X)
    (active# U16 X -> active# X, active# U35(tt(), V2) -> U36# isNat V2)
    (active# U16 X -> active# X, active# U35(tt(), V2) -> isNat# V2)
    (active# U16 X -> active# X, active# U35(X1, X2) -> U35#(active X1, X2))
    (active# U16 X -> active# X, active# U35(X1, X2) -> active# X1)
    (active# U16 X -> active# X, active# U34(tt(), V1, V2) -> U35#(isNat V1, V2))
    (active# U16 X -> active# X, active# U34(tt(), V1, V2) -> isNat# V1)
    (active# U16 X -> active# X, active# U34(X1, X2, X3) -> U34#(active X1, X2, X3))
    (active# U16 X -> active# X, active# U34(X1, X2, X3) -> active# X1)
    (active# U16 X -> active# X, active# U33(tt(), V1, V2) -> U34#(isNatKind V2, V1, V2))
    (active# U16 X -> active# X, active# U33(tt(), V1, V2) -> isNatKind# V2)
    (active# U16 X -> active# X, active# U33(X1, X2, X3) -> U33#(active X1, X2, X3))
    (active# U16 X -> active# X, active# U33(X1, X2, X3) -> active# X1)
    (active# U16 X -> active# X, active# U31(tt(), V1, V2) -> U32#(isNatKind V1, V1, V2))
    (active# U16 X -> active# X, active# U31(tt(), V1, V2) -> isNatKind# V1)
    (active# U16 X -> active# X, active# U31(X1, X2, X3) -> U31#(active X1, X2, X3))
    (active# U16 X -> active# X, active# U31(X1, X2, X3) -> active# X1)
    (active# U16 X -> active# X, active# U32(tt(), V1, V2) -> U33#(isNatKind V2, V1, V2))
    (active# U16 X -> active# X, active# U32(tt(), V1, V2) -> isNatKind# V2)
    (active# U16 X -> active# X, active# U32(X1, X2, X3) -> U32#(active X1, X2, X3))
    (active# U16 X -> active# X, active# U32(X1, X2, X3) -> active# X1)
    (active# U16 X -> active# X, active# U23 X -> U23# active X)
    (active# U16 X -> active# X, active# U23 X -> active# X)
    (active# U16 X -> active# X, active# U21(tt(), V1) -> U22#(isNatKind V1, V1))
    (active# U16 X -> active# X, active# U21(tt(), V1) -> isNatKind# V1)
    (active# U16 X -> active# X, active# U21(X1, X2) -> U21#(active X1, X2))
    (active# U16 X -> active# X, active# U21(X1, X2) -> active# X1)
    (active# U16 X -> active# X, active# U22(tt(), V1) -> U23# isNat V1)
    (active# U16 X -> active# X, active# U22(tt(), V1) -> isNat# V1)
    (active# U16 X -> active# X, active# U22(X1, X2) -> U22#(active X1, X2))
    (active# U16 X -> active# X, active# U22(X1, X2) -> active# X1)
    (active# U16 X -> active# X, active# U16 X -> U16# active X)
    (active# U16 X -> active# X, active# U16 X -> active# X)
    (active# U16 X -> active# X, active# U15(tt(), V2) -> U16# isNat V2)
    (active# U16 X -> active# X, active# U15(tt(), V2) -> isNat# V2)
    (active# U16 X -> active# X, active# U15(X1, X2) -> U15#(active X1, X2))
    (active# U16 X -> active# X, active# U15(X1, X2) -> active# X1)
    (active# U16 X -> active# X, active# U14(tt(), V1, V2) -> U15#(isNat V1, V2))
    (active# U16 X -> active# X, active# U14(tt(), V1, V2) -> isNat# V1)
    (active# U16 X -> active# X, active# U14(X1, X2, X3) -> U14#(active X1, X2, X3))
    (active# U16 X -> active# X, active# U14(X1, X2, X3) -> active# X1)
    (active# U16 X -> active# X, active# U13(tt(), V1, V2) -> U14#(isNatKind V2, V1, V2))
    (active# U16 X -> active# X, active# U13(tt(), V1, V2) -> isNatKind# V2)
    (active# U16 X -> active# X, active# U13(X1, X2, X3) -> U13#(active X1, X2, X3))
    (active# U16 X -> active# X, active# U13(X1, X2, X3) -> active# X1)
    (active# U16 X -> active# X, active# U11(tt(), V1, V2) -> U12#(isNatKind V1, V1, V2))
    (active# U16 X -> active# X, active# U11(tt(), V1, V2) -> isNatKind# V1)
    (active# U16 X -> active# X, active# U11(X1, X2, X3) -> U11#(active X1, X2, X3))
    (active# U16 X -> active# X, active# U11(X1, X2, X3) -> active# X1)
    (active# U16 X -> active# X, active# U12(tt(), V1, V2) -> U13#(isNatKind V2, V1, V2))
    (active# U16 X -> active# X, active# U12(tt(), V1, V2) -> isNatKind# V2)
    (active# U16 X -> active# X, active# U12(X1, X2, X3) -> U12#(active X1, X2, X3))
    (active# U16 X -> active# X, active# U12(X1, X2, X3) -> active# X1)
    (active# U16 X -> active# X, active# x(X1, X2) -> x#(active X1, X2))
    (active# U16 X -> active# X, active# x(X1, X2) -> x#(X1, active X2))
    (active# U16 X -> active# X, active# x(X1, X2) -> active# X2)
    (active# U16 X -> active# X, active# x(X1, X2) -> active# X1)
    (active# U16 X -> active# X, active# x(N, 0()) -> U91#(isNat N, N))
    (active# U16 X -> active# X, active# x(N, 0()) -> isNat# N)
    (active# U16 X -> active# X, active# x(N, s M) -> isNat# M)
    (active# U16 X -> active# X, active# x(N, s M) -> U101#(isNat M, M, N))
    (active# U16 X -> active# X, active# plus(X1, X2) -> plus#(active X1, X2))
    (active# U16 X -> active# X, active# plus(X1, X2) -> plus#(X1, active X2))
    (active# U16 X -> active# X, active# plus(X1, X2) -> active# X2)
    (active# U16 X -> active# X, active# plus(X1, X2) -> active# X1)
    (active# U16 X -> active# X, active# plus(N, 0()) -> U71#(isNat N, N))
    (active# U16 X -> active# X, active# plus(N, 0()) -> isNat# N)
    (active# U16 X -> active# X, active# plus(N, s M) -> U81#(isNat M, M, N))
    (active# U16 X -> active# X, active# plus(N, s M) -> isNat# M)
    (active# U16 X -> active# X, active# U104(tt(), M, N) -> x#(N, M))
    (active# U16 X -> active# X, active# U104(tt(), M, N) -> plus#(x(N, M), N))
    (active# U16 X -> active# X, active# U104(X1, X2, X3) -> U104#(active X1, X2, X3))
    (active# U16 X -> active# X, active# U104(X1, X2, X3) -> active# X1)
    (active# U16 X -> active# X, active# isNat s V1 -> U21#(isNatKind V1, V1))
    (active# U16 X -> active# X, active# isNat s V1 -> isNatKind# V1)
    (active# U16 X -> active# X, active# isNat x(V1, V2) -> U31#(isNatKind V1, V1, V2))
    (active# U16 X -> active# X, active# isNat x(V1, V2) -> isNatKind# V1)
    (active# U16 X -> active# X, active# isNat plus(V1, V2) -> U11#(isNatKind V1, V1, V2))
    (active# U16 X -> active# X, active# isNat plus(V1, V2) -> isNatKind# V1)
    (active# U16 X -> active# X, active# U103(tt(), M, N) -> U104#(isNatKind N, M, N))
    (active# U16 X -> active# X, active# U103(tt(), M, N) -> isNatKind# N)
    (active# U16 X -> active# X, active# U103(X1, X2, X3) -> U103#(active X1, X2, X3))
    (active# U16 X -> active# X, active# U103(X1, X2, X3) -> active# X1)
    (active# U16 X -> active# X, active# U101(tt(), M, N) -> isNatKind# M)
    (active# U16 X -> active# X, active# U101(tt(), M, N) -> U102#(isNatKind M, M, N))
    (active# U16 X -> active# X, active# U101(X1, X2, X3) -> U101#(active X1, X2, X3))
    (active# U16 X -> active# X, active# U101(X1, X2, X3) -> active# X1)
    (active# U16 X -> active# X, active# isNatKind s V1 -> U51# isNatKind V1)
    (active# U16 X -> active# X, active# isNatKind s V1 -> isNatKind# V1)
    (active# U16 X -> active# X, active# isNatKind x(V1, V2) -> U61#(isNatKind V1, V2))
    (active# U16 X -> active# X, active# isNatKind x(V1, V2) -> isNatKind# V1)
    (active# U16 X -> active# X, active# isNatKind plus(V1, V2) -> U41#(isNatKind V1, V2))
    (active# U16 X -> active# X, active# isNatKind plus(V1, V2) -> isNatKind# V1)
    (active# U16 X -> active# X, active# U102(tt(), M, N) -> isNat# N)
    (active# U16 X -> active# X, active# U102(tt(), M, N) -> U103#(isNat N, M, N))
    (active# U16 X -> active# X, active# U102(X1, X2, X3) -> active# X1)
    (active# U16 X -> active# X, active# U102(X1, X2, X3) -> U102#(active X1, X2, X3))
    (active# U36 X -> active# X, active# U91(tt(), N) -> U92# isNatKind N)
    (active# U36 X -> active# X, active# U91(tt(), N) -> isNatKind# N)
    (active# U36 X -> active# X, active# U91(X1, X2) -> U91#(active X1, X2))
    (active# U36 X -> active# X, active# U91(X1, X2) -> active# X1)
    (active# U36 X -> active# X, active# U92 X -> U92# active X)
    (active# U36 X -> active# X, active# U92 X -> active# X)
    (active# U36 X -> active# X, active# s X -> s# active X)
    (active# U36 X -> active# X, active# s X -> active# X)
    (active# U36 X -> active# X, active# U84(tt(), M, N) -> s# plus(N, M))
    (active# U36 X -> active# X, active# U84(tt(), M, N) -> plus#(N, M))
    (active# U36 X -> active# X, active# U84(X1, X2, X3) -> U84#(active X1, X2, X3))
    (active# U36 X -> active# X, active# U84(X1, X2, X3) -> active# X1)
    (active# U36 X -> active# X, active# U83(tt(), M, N) -> U84#(isNatKind N, M, N))
    (active# U36 X -> active# X, active# U83(tt(), M, N) -> isNatKind# N)
    (active# U36 X -> active# X, active# U83(X1, X2, X3) -> U83#(active X1, X2, X3))
    (active# U36 X -> active# X, active# U83(X1, X2, X3) -> active# X1)
    (active# U36 X -> active# X, active# U81(tt(), M, N) -> U82#(isNatKind M, M, N))
    (active# U36 X -> active# X, active# U81(tt(), M, N) -> isNatKind# M)
    (active# U36 X -> active# X, active# U81(X1, X2, X3) -> U81#(active X1, X2, X3))
    (active# U36 X -> active# X, active# U81(X1, X2, X3) -> active# X1)
    (active# U36 X -> active# X, active# U82(tt(), M, N) -> U83#(isNat N, M, N))
    (active# U36 X -> active# X, active# U82(tt(), M, N) -> isNat# N)
    (active# U36 X -> active# X, active# U82(X1, X2, X3) -> U82#(active X1, X2, X3))
    (active# U36 X -> active# X, active# U82(X1, X2, X3) -> active# X1)
    (active# U36 X -> active# X, active# U71(tt(), N) -> U72#(isNatKind N, N))
    (active# U36 X -> active# X, active# U71(tt(), N) -> isNatKind# N)
    (active# U36 X -> active# X, active# U71(X1, X2) -> U71#(active X1, X2))
    (active# U36 X -> active# X, active# U71(X1, X2) -> active# X1)
    (active# U36 X -> active# X, active# U72(X1, X2) -> U72#(active X1, X2))
    (active# U36 X -> active# X, active# U72(X1, X2) -> active# X1)
    (active# U36 X -> active# X, active# U61(tt(), V2) -> U62# isNatKind V2)
    (active# U36 X -> active# X, active# U61(tt(), V2) -> isNatKind# V2)
    (active# U36 X -> active# X, active# U61(X1, X2) -> U61#(active X1, X2))
    (active# U36 X -> active# X, active# U61(X1, X2) -> active# X1)
    (active# U36 X -> active# X, active# U62 X -> U62# active X)
    (active# U36 X -> active# X, active# U62 X -> active# X)
    (active# U36 X -> active# X, active# U51 X -> U51# active X)
    (active# U36 X -> active# X, active# U51 X -> active# X)
    (active# U36 X -> active# X, active# U41(tt(), V2) -> U42# isNatKind V2)
    (active# U36 X -> active# X, active# U41(tt(), V2) -> isNatKind# V2)
    (active# U36 X -> active# X, active# U41(X1, X2) -> U41#(active X1, X2))
    (active# U36 X -> active# X, active# U41(X1, X2) -> active# X1)
    (active# U36 X -> active# X, active# U42 X -> U42# active X)
    (active# U36 X -> active# X, active# U42 X -> active# X)
    (active# U36 X -> active# X, active# U36 X -> U36# active X)
    (active# U36 X -> active# X, active# U36 X -> active# X)
    (active# U36 X -> active# X, active# U35(tt(), V2) -> U36# isNat V2)
    (active# U36 X -> active# X, active# U35(tt(), V2) -> isNat# V2)
    (active# U36 X -> active# X, active# U35(X1, X2) -> U35#(active X1, X2))
    (active# U36 X -> active# X, active# U35(X1, X2) -> active# X1)
    (active# U36 X -> active# X, active# U34(tt(), V1, V2) -> U35#(isNat V1, V2))
    (active# U36 X -> active# X, active# U34(tt(), V1, V2) -> isNat# V1)
    (active# U36 X -> active# X, active# U34(X1, X2, X3) -> U34#(active X1, X2, X3))
    (active# U36 X -> active# X, active# U34(X1, X2, X3) -> active# X1)
    (active# U36 X -> active# X, active# U33(tt(), V1, V2) -> U34#(isNatKind V2, V1, V2))
    (active# U36 X -> active# X, active# U33(tt(), V1, V2) -> isNatKind# V2)
    (active# U36 X -> active# X, active# U33(X1, X2, X3) -> U33#(active X1, X2, X3))
    (active# U36 X -> active# X, active# U33(X1, X2, X3) -> active# X1)
    (active# U36 X -> active# X, active# U31(tt(), V1, V2) -> U32#(isNatKind V1, V1, V2))
    (active# U36 X -> active# X, active# U31(tt(), V1, V2) -> isNatKind# V1)
    (active# U36 X -> active# X, active# U31(X1, X2, X3) -> U31#(active X1, X2, X3))
    (active# U36 X -> active# X, active# U31(X1, X2, X3) -> active# X1)
    (active# U36 X -> active# X, active# U32(tt(), V1, V2) -> U33#(isNatKind V2, V1, V2))
    (active# U36 X -> active# X, active# U32(tt(), V1, V2) -> isNatKind# V2)
    (active# U36 X -> active# X, active# U32(X1, X2, X3) -> U32#(active X1, X2, X3))
    (active# U36 X -> active# X, active# U32(X1, X2, X3) -> active# X1)
    (active# U36 X -> active# X, active# U23 X -> U23# active X)
    (active# U36 X -> active# X, active# U23 X -> active# X)
    (active# U36 X -> active# X, active# U21(tt(), V1) -> U22#(isNatKind V1, V1))
    (active# U36 X -> active# X, active# U21(tt(), V1) -> isNatKind# V1)
    (active# U36 X -> active# X, active# U21(X1, X2) -> U21#(active X1, X2))
    (active# U36 X -> active# X, active# U21(X1, X2) -> active# X1)
    (active# U36 X -> active# X, active# U22(tt(), V1) -> U23# isNat V1)
    (active# U36 X -> active# X, active# U22(tt(), V1) -> isNat# V1)
    (active# U36 X -> active# X, active# U22(X1, X2) -> U22#(active X1, X2))
    (active# U36 X -> active# X, active# U22(X1, X2) -> active# X1)
    (active# U36 X -> active# X, active# U16 X -> U16# active X)
    (active# U36 X -> active# X, active# U16 X -> active# X)
    (active# U36 X -> active# X, active# U15(tt(), V2) -> U16# isNat V2)
    (active# U36 X -> active# X, active# U15(tt(), V2) -> isNat# V2)
    (active# U36 X -> active# X, active# U15(X1, X2) -> U15#(active X1, X2))
    (active# U36 X -> active# X, active# U15(X1, X2) -> active# X1)
    (active# U36 X -> active# X, active# U14(tt(), V1, V2) -> U15#(isNat V1, V2))
    (active# U36 X -> active# X, active# U14(tt(), V1, V2) -> isNat# V1)
    (active# U36 X -> active# X, active# U14(X1, X2, X3) -> U14#(active X1, X2, X3))
    (active# U36 X -> active# X, active# U14(X1, X2, X3) -> active# X1)
    (active# U36 X -> active# X, active# U13(tt(), V1, V2) -> U14#(isNatKind V2, V1, V2))
    (active# U36 X -> active# X, active# U13(tt(), V1, V2) -> isNatKind# V2)
    (active# U36 X -> active# X, active# U13(X1, X2, X3) -> U13#(active X1, X2, X3))
    (active# U36 X -> active# X, active# U13(X1, X2, X3) -> active# X1)
    (active# U36 X -> active# X, active# U11(tt(), V1, V2) -> U12#(isNatKind V1, V1, V2))
    (active# U36 X -> active# X, active# U11(tt(), V1, V2) -> isNatKind# V1)
    (active# U36 X -> active# X, active# U11(X1, X2, X3) -> U11#(active X1, X2, X3))
    (active# U36 X -> active# X, active# U11(X1, X2, X3) -> active# X1)
    (active# U36 X -> active# X, active# U12(tt(), V1, V2) -> U13#(isNatKind V2, V1, V2))
    (active# U36 X -> active# X, active# U12(tt(), V1, V2) -> isNatKind# V2)
    (active# U36 X -> active# X, active# U12(X1, X2, X3) -> U12#(active X1, X2, X3))
    (active# U36 X -> active# X, active# U12(X1, X2, X3) -> active# X1)
    (active# U36 X -> active# X, active# x(X1, X2) -> x#(active X1, X2))
    (active# U36 X -> active# X, active# x(X1, X2) -> x#(X1, active X2))
    (active# U36 X -> active# X, active# x(X1, X2) -> active# X2)
    (active# U36 X -> active# X, active# x(X1, X2) -> active# X1)
    (active# U36 X -> active# X, active# x(N, 0()) -> U91#(isNat N, N))
    (active# U36 X -> active# X, active# x(N, 0()) -> isNat# N)
    (active# U36 X -> active# X, active# x(N, s M) -> isNat# M)
    (active# U36 X -> active# X, active# x(N, s M) -> U101#(isNat M, M, N))
    (active# U36 X -> active# X, active# plus(X1, X2) -> plus#(active X1, X2))
    (active# U36 X -> active# X, active# plus(X1, X2) -> plus#(X1, active X2))
    (active# U36 X -> active# X, active# plus(X1, X2) -> active# X2)
    (active# U36 X -> active# X, active# plus(X1, X2) -> active# X1)
    (active# U36 X -> active# X, active# plus(N, 0()) -> U71#(isNat N, N))
    (active# U36 X -> active# X, active# plus(N, 0()) -> isNat# N)
    (active# U36 X -> active# X, active# plus(N, s M) -> U81#(isNat M, M, N))
    (active# U36 X -> active# X, active# plus(N, s M) -> isNat# M)
    (active# U36 X -> active# X, active# U104(tt(), M, N) -> x#(N, M))
    (active# U36 X -> active# X, active# U104(tt(), M, N) -> plus#(x(N, M), N))
    (active# U36 X -> active# X, active# U104(X1, X2, X3) -> U104#(active X1, X2, X3))
    (active# U36 X -> active# X, active# U104(X1, X2, X3) -> active# X1)
    (active# U36 X -> active# X, active# isNat s V1 -> U21#(isNatKind V1, V1))
    (active# U36 X -> active# X, active# isNat s V1 -> isNatKind# V1)
    (active# U36 X -> active# X, active# isNat x(V1, V2) -> U31#(isNatKind V1, V1, V2))
    (active# U36 X -> active# X, active# isNat x(V1, V2) -> isNatKind# V1)
    (active# U36 X -> active# X, active# isNat plus(V1, V2) -> U11#(isNatKind V1, V1, V2))
    (active# U36 X -> active# X, active# isNat plus(V1, V2) -> isNatKind# V1)
    (active# U36 X -> active# X, active# U103(tt(), M, N) -> U104#(isNatKind N, M, N))
    (active# U36 X -> active# X, active# U103(tt(), M, N) -> isNatKind# N)
    (active# U36 X -> active# X, active# U103(X1, X2, X3) -> U103#(active X1, X2, X3))
    (active# U36 X -> active# X, active# U103(X1, X2, X3) -> active# X1)
    (active# U36 X -> active# X, active# U101(tt(), M, N) -> isNatKind# M)
    (active# U36 X -> active# X, active# U101(tt(), M, N) -> U102#(isNatKind M, M, N))
    (active# U36 X -> active# X, active# U101(X1, X2, X3) -> U101#(active X1, X2, X3))
    (active# U36 X -> active# X, active# U101(X1, X2, X3) -> active# X1)
    (active# U36 X -> active# X, active# isNatKind s V1 -> U51# isNatKind V1)
    (active# U36 X -> active# X, active# isNatKind s V1 -> isNatKind# V1)
    (active# U36 X -> active# X, active# isNatKind x(V1, V2) -> U61#(isNatKind V1, V2))
    (active# U36 X -> active# X, active# isNatKind x(V1, V2) -> isNatKind# V1)
    (active# U36 X -> active# X, active# isNatKind plus(V1, V2) -> U41#(isNatKind V1, V2))
    (active# U36 X -> active# X, active# isNatKind plus(V1, V2) -> isNatKind# V1)
    (active# U36 X -> active# X, active# U102(tt(), M, N) -> isNat# N)
    (active# U36 X -> active# X, active# U102(tt(), M, N) -> U103#(isNat N, M, N))
    (active# U36 X -> active# X, active# U102(X1, X2, X3) -> active# X1)
    (active# U36 X -> active# X, active# U102(X1, X2, X3) -> U102#(active X1, X2, X3))
    (active# U51 X -> active# X, active# U91(tt(), N) -> U92# isNatKind N)
    (active# U51 X -> active# X, active# U91(tt(), N) -> isNatKind# N)
    (active# U51 X -> active# X, active# U91(X1, X2) -> U91#(active X1, X2))
    (active# U51 X -> active# X, active# U91(X1, X2) -> active# X1)
    (active# U51 X -> active# X, active# U92 X -> U92# active X)
    (active# U51 X -> active# X, active# U92 X -> active# X)
    (active# U51 X -> active# X, active# s X -> s# active X)
    (active# U51 X -> active# X, active# s X -> active# X)
    (active# U51 X -> active# X, active# U84(tt(), M, N) -> s# plus(N, M))
    (active# U51 X -> active# X, active# U84(tt(), M, N) -> plus#(N, M))
    (active# U51 X -> active# X, active# U84(X1, X2, X3) -> U84#(active X1, X2, X3))
    (active# U51 X -> active# X, active# U84(X1, X2, X3) -> active# X1)
    (active# U51 X -> active# X, active# U83(tt(), M, N) -> U84#(isNatKind N, M, N))
    (active# U51 X -> active# X, active# U83(tt(), M, N) -> isNatKind# N)
    (active# U51 X -> active# X, active# U83(X1, X2, X3) -> U83#(active X1, X2, X3))
    (active# U51 X -> active# X, active# U83(X1, X2, X3) -> active# X1)
    (active# U51 X -> active# X, active# U81(tt(), M, N) -> U82#(isNatKind M, M, N))
    (active# U51 X -> active# X, active# U81(tt(), M, N) -> isNatKind# M)
    (active# U51 X -> active# X, active# U81(X1, X2, X3) -> U81#(active X1, X2, X3))
    (active# U51 X -> active# X, active# U81(X1, X2, X3) -> active# X1)
    (active# U51 X -> active# X, active# U82(tt(), M, N) -> U83#(isNat N, M, N))
    (active# U51 X -> active# X, active# U82(tt(), M, N) -> isNat# N)
    (active# U51 X -> active# X, active# U82(X1, X2, X3) -> U82#(active X1, X2, X3))
    (active# U51 X -> active# X, active# U82(X1, X2, X3) -> active# X1)
    (active# U51 X -> active# X, active# U71(tt(), N) -> U72#(isNatKind N, N))
    (active# U51 X -> active# X, active# U71(tt(), N) -> isNatKind# N)
    (active# U51 X -> active# X, active# U71(X1, X2) -> U71#(active X1, X2))
    (active# U51 X -> active# X, active# U71(X1, X2) -> active# X1)
    (active# U51 X -> active# X, active# U72(X1, X2) -> U72#(active X1, X2))
    (active# U51 X -> active# X, active# U72(X1, X2) -> active# X1)
    (active# U51 X -> active# X, active# U61(tt(), V2) -> U62# isNatKind V2)
    (active# U51 X -> active# X, active# U61(tt(), V2) -> isNatKind# V2)
    (active# U51 X -> active# X, active# U61(X1, X2) -> U61#(active X1, X2))
    (active# U51 X -> active# X, active# U61(X1, X2) -> active# X1)
    (active# U51 X -> active# X, active# U62 X -> U62# active X)
    (active# U51 X -> active# X, active# U62 X -> active# X)
    (active# U51 X -> active# X, active# U51 X -> U51# active X)
    (active# U51 X -> active# X, active# U51 X -> active# X)
    (active# U51 X -> active# X, active# U41(tt(), V2) -> U42# isNatKind V2)
    (active# U51 X -> active# X, active# U41(tt(), V2) -> isNatKind# V2)
    (active# U51 X -> active# X, active# U41(X1, X2) -> U41#(active X1, X2))
    (active# U51 X -> active# X, active# U41(X1, X2) -> active# X1)
    (active# U51 X -> active# X, active# U42 X -> U42# active X)
    (active# U51 X -> active# X, active# U42 X -> active# X)
    (active# U51 X -> active# X, active# U36 X -> U36# active X)
    (active# U51 X -> active# X, active# U36 X -> active# X)
    (active# U51 X -> active# X, active# U35(tt(), V2) -> U36# isNat V2)
    (active# U51 X -> active# X, active# U35(tt(), V2) -> isNat# V2)
    (active# U51 X -> active# X, active# U35(X1, X2) -> U35#(active X1, X2))
    (active# U51 X -> active# X, active# U35(X1, X2) -> active# X1)
    (active# U51 X -> active# X, active# U34(tt(), V1, V2) -> U35#(isNat V1, V2))
    (active# U51 X -> active# X, active# U34(tt(), V1, V2) -> isNat# V1)
    (active# U51 X -> active# X, active# U34(X1, X2, X3) -> U34#(active X1, X2, X3))
    (active# U51 X -> active# X, active# U34(X1, X2, X3) -> active# X1)
    (active# U51 X -> active# X, active# U33(tt(), V1, V2) -> U34#(isNatKind V2, V1, V2))
    (active# U51 X -> active# X, active# U33(tt(), V1, V2) -> isNatKind# V2)
    (active# U51 X -> active# X, active# U33(X1, X2, X3) -> U33#(active X1, X2, X3))
    (active# U51 X -> active# X, active# U33(X1, X2, X3) -> active# X1)
    (active# U51 X -> active# X, active# U31(tt(), V1, V2) -> U32#(isNatKind V1, V1, V2))
    (active# U51 X -> active# X, active# U31(tt(), V1, V2) -> isNatKind# V1)
    (active# U51 X -> active# X, active# U31(X1, X2, X3) -> U31#(active X1, X2, X3))
    (active# U51 X -> active# X, active# U31(X1, X2, X3) -> active# X1)
    (active# U51 X -> active# X, active# U32(tt(), V1, V2) -> U33#(isNatKind V2, V1, V2))
    (active# U51 X -> active# X, active# U32(tt(), V1, V2) -> isNatKind# V2)
    (active# U51 X -> active# X, active# U32(X1, X2, X3) -> U32#(active X1, X2, X3))
    (active# U51 X -> active# X, active# U32(X1, X2, X3) -> active# X1)
    (active# U51 X -> active# X, active# U23 X -> U23# active X)
    (active# U51 X -> active# X, active# U23 X -> active# X)
    (active# U51 X -> active# X, active# U21(tt(), V1) -> U22#(isNatKind V1, V1))
    (active# U51 X -> active# X, active# U21(tt(), V1) -> isNatKind# V1)
    (active# U51 X -> active# X, active# U21(X1, X2) -> U21#(active X1, X2))
    (active# U51 X -> active# X, active# U21(X1, X2) -> active# X1)
    (active# U51 X -> active# X, active# U22(tt(), V1) -> U23# isNat V1)
    (active# U51 X -> active# X, active# U22(tt(), V1) -> isNat# V1)
    (active# U51 X -> active# X, active# U22(X1, X2) -> U22#(active X1, X2))
    (active# U51 X -> active# X, active# U22(X1, X2) -> active# X1)
    (active# U51 X -> active# X, active# U16 X -> U16# active X)
    (active# U51 X -> active# X, active# U16 X -> active# X)
    (active# U51 X -> active# X, active# U15(tt(), V2) -> U16# isNat V2)
    (active# U51 X -> active# X, active# U15(tt(), V2) -> isNat# V2)
    (active# U51 X -> active# X, active# U15(X1, X2) -> U15#(active X1, X2))
    (active# U51 X -> active# X, active# U15(X1, X2) -> active# X1)
    (active# U51 X -> active# X, active# U14(tt(), V1, V2) -> U15#(isNat V1, V2))
    (active# U51 X -> active# X, active# U14(tt(), V1, V2) -> isNat# V1)
    (active# U51 X -> active# X, active# U14(X1, X2, X3) -> U14#(active X1, X2, X3))
    (active# U51 X -> active# X, active# U14(X1, X2, X3) -> active# X1)
    (active# U51 X -> active# X, active# U13(tt(), V1, V2) -> U14#(isNatKind V2, V1, V2))
    (active# U51 X -> active# X, active# U13(tt(), V1, V2) -> isNatKind# V2)
    (active# U51 X -> active# X, active# U13(X1, X2, X3) -> U13#(active X1, X2, X3))
    (active# U51 X -> active# X, active# U13(X1, X2, X3) -> active# X1)
    (active# U51 X -> active# X, active# U11(tt(), V1, V2) -> U12#(isNatKind V1, V1, V2))
    (active# U51 X -> active# X, active# U11(tt(), V1, V2) -> isNatKind# V1)
    (active# U51 X -> active# X, active# U11(X1, X2, X3) -> U11#(active X1, X2, X3))
    (active# U51 X -> active# X, active# U11(X1, X2, X3) -> active# X1)
    (active# U51 X -> active# X, active# U12(tt(), V1, V2) -> U13#(isNatKind V2, V1, V2))
    (active# U51 X -> active# X, active# U12(tt(), V1, V2) -> isNatKind# V2)
    (active# U51 X -> active# X, active# U12(X1, X2, X3) -> U12#(active X1, X2, X3))
    (active# U51 X -> active# X, active# U12(X1, X2, X3) -> active# X1)
    (active# U51 X -> active# X, active# x(X1, X2) -> x#(active X1, X2))
    (active# U51 X -> active# X, active# x(X1, X2) -> x#(X1, active X2))
    (active# U51 X -> active# X, active# x(X1, X2) -> active# X2)
    (active# U51 X -> active# X, active# x(X1, X2) -> active# X1)
    (active# U51 X -> active# X, active# x(N, 0()) -> U91#(isNat N, N))
    (active# U51 X -> active# X, active# x(N, 0()) -> isNat# N)
    (active# U51 X -> active# X, active# x(N, s M) -> isNat# M)
    (active# U51 X -> active# X, active# x(N, s M) -> U101#(isNat M, M, N))
    (active# U51 X -> active# X, active# plus(X1, X2) -> plus#(active X1, X2))
    (active# U51 X -> active# X, active# plus(X1, X2) -> plus#(X1, active X2))
    (active# U51 X -> active# X, active# plus(X1, X2) -> active# X2)
    (active# U51 X -> active# X, active# plus(X1, X2) -> active# X1)
    (active# U51 X -> active# X, active# plus(N, 0()) -> U71#(isNat N, N))
    (active# U51 X -> active# X, active# plus(N, 0()) -> isNat# N)
    (active# U51 X -> active# X, active# plus(N, s M) -> U81#(isNat M, M, N))
    (active# U51 X -> active# X, active# plus(N, s M) -> isNat# M)
    (active# U51 X -> active# X, active# U104(tt(), M, N) -> x#(N, M))
    (active# U51 X -> active# X, active# U104(tt(), M, N) -> plus#(x(N, M), N))
    (active# U51 X -> active# X, active# U104(X1, X2, X3) -> U104#(active X1, X2, X3))
    (active# U51 X -> active# X, active# U104(X1, X2, X3) -> active# X1)
    (active# U51 X -> active# X, active# isNat s V1 -> U21#(isNatKind V1, V1))
    (active# U51 X -> active# X, active# isNat s V1 -> isNatKind# V1)
    (active# U51 X -> active# X, active# isNat x(V1, V2) -> U31#(isNatKind V1, V1, V2))
    (active# U51 X -> active# X, active# isNat x(V1, V2) -> isNatKind# V1)
    (active# U51 X -> active# X, active# isNat plus(V1, V2) -> U11#(isNatKind V1, V1, V2))
    (active# U51 X -> active# X, active# isNat plus(V1, V2) -> isNatKind# V1)
    (active# U51 X -> active# X, active# U103(tt(), M, N) -> U104#(isNatKind N, M, N))
    (active# U51 X -> active# X, active# U103(tt(), M, N) -> isNatKind# N)
    (active# U51 X -> active# X, active# U103(X1, X2, X3) -> U103#(active X1, X2, X3))
    (active# U51 X -> active# X, active# U103(X1, X2, X3) -> active# X1)
    (active# U51 X -> active# X, active# U101(tt(), M, N) -> isNatKind# M)
    (active# U51 X -> active# X, active# U101(tt(), M, N) -> U102#(isNatKind M, M, N))
    (active# U51 X -> active# X, active# U101(X1, X2, X3) -> U101#(active X1, X2, X3))
    (active# U51 X -> active# X, active# U101(X1, X2, X3) -> active# X1)
    (active# U51 X -> active# X, active# isNatKind s V1 -> U51# isNatKind V1)
    (active# U51 X -> active# X, active# isNatKind s V1 -> isNatKind# V1)
    (active# U51 X -> active# X, active# isNatKind x(V1, V2) -> U61#(isNatKind V1, V2))
    (active# U51 X -> active# X, active# isNatKind x(V1, V2) -> isNatKind# V1)
    (active# U51 X -> active# X, active# isNatKind plus(V1, V2) -> U41#(isNatKind V1, V2))
    (active# U51 X -> active# X, active# isNatKind plus(V1, V2) -> isNatKind# V1)
    (active# U51 X -> active# X, active# U102(tt(), M, N) -> isNat# N)
    (active# U51 X -> active# X, active# U102(tt(), M, N) -> U103#(isNat N, M, N))
    (active# U51 X -> active# X, active# U102(X1, X2, X3) -> active# X1)
    (active# U51 X -> active# X, active# U102(X1, X2, X3) -> U102#(active X1, X2, X3))
    (active# s X -> active# X, active# U91(tt(), N) -> U92# isNatKind N)
    (active# s X -> active# X, active# U91(tt(), N) -> isNatKind# N)
    (active# s X -> active# X, active# U91(X1, X2) -> U91#(active X1, X2))
    (active# s X -> active# X, active# U91(X1, X2) -> active# X1)
    (active# s X -> active# X, active# U92 X -> U92# active X)
    (active# s X -> active# X, active# U92 X -> active# X)
    (active# s X -> active# X, active# s X -> s# active X)
    (active# s X -> active# X, active# s X -> active# X)
    (active# s X -> active# X, active# U84(tt(), M, N) -> s# plus(N, M))
    (active# s X -> active# X, active# U84(tt(), M, N) -> plus#(N, M))
    (active# s X -> active# X, active# U84(X1, X2, X3) -> U84#(active X1, X2, X3))
    (active# s X -> active# X, active# U84(X1, X2, X3) -> active# X1)
    (active# s X -> active# X, active# U83(tt(), M, N) -> U84#(isNatKind N, M, N))
    (active# s X -> active# X, active# U83(tt(), M, N) -> isNatKind# N)
    (active# s X -> active# X, active# U83(X1, X2, X3) -> U83#(active X1, X2, X3))
    (active# s X -> active# X, active# U83(X1, X2, X3) -> active# X1)
    (active# s X -> active# X, active# U81(tt(), M, N) -> U82#(isNatKind M, M, N))
    (active# s X -> active# X, active# U81(tt(), M, N) -> isNatKind# M)
    (active# s X -> active# X, active# U81(X1, X2, X3) -> U81#(active X1, X2, X3))
    (active# s X -> active# X, active# U81(X1, X2, X3) -> active# X1)
    (active# s X -> active# X, active# U82(tt(), M, N) -> U83#(isNat N, M, N))
    (active# s X -> active# X, active# U82(tt(), M, N) -> isNat# N)
    (active# s X -> active# X, active# U82(X1, X2, X3) -> U82#(active X1, X2, X3))
    (active# s X -> active# X, active# U82(X1, X2, X3) -> active# X1)
    (active# s X -> active# X, active# U71(tt(), N) -> U72#(isNatKind N, N))
    (active# s X -> active# X, active# U71(tt(), N) -> isNatKind# N)
    (active# s X -> active# X, active# U71(X1, X2) -> U71#(active X1, X2))
    (active# s X -> active# X, active# U71(X1, X2) -> active# X1)
    (active# s X -> active# X, active# U72(X1, X2) -> U72#(active X1, X2))
    (active# s X -> active# X, active# U72(X1, X2) -> active# X1)
    (active# s X -> active# X, active# U61(tt(), V2) -> U62# isNatKind V2)
    (active# s X -> active# X, active# U61(tt(), V2) -> isNatKind# V2)
    (active# s X -> active# X, active# U61(X1, X2) -> U61#(active X1, X2))
    (active# s X -> active# X, active# U61(X1, X2) -> active# X1)
    (active# s X -> active# X, active# U62 X -> U62# active X)
    (active# s X -> active# X, active# U62 X -> active# X)
    (active# s X -> active# X, active# U51 X -> U51# active X)
    (active# s X -> active# X, active# U51 X -> active# X)
    (active# s X -> active# X, active# U41(tt(), V2) -> U42# isNatKind V2)
    (active# s X -> active# X, active# U41(tt(), V2) -> isNatKind# V2)
    (active# s X -> active# X, active# U41(X1, X2) -> U41#(active X1, X2))
    (active# s X -> active# X, active# U41(X1, X2) -> active# X1)
    (active# s X -> active# X, active# U42 X -> U42# active X)
    (active# s X -> active# X, active# U42 X -> active# X)
    (active# s X -> active# X, active# U36 X -> U36# active X)
    (active# s X -> active# X, active# U36 X -> active# X)
    (active# s X -> active# X, active# U35(tt(), V2) -> U36# isNat V2)
    (active# s X -> active# X, active# U35(tt(), V2) -> isNat# V2)
    (active# s X -> active# X, active# U35(X1, X2) -> U35#(active X1, X2))
    (active# s X -> active# X, active# U35(X1, X2) -> active# X1)
    (active# s X -> active# X, active# U34(tt(), V1, V2) -> U35#(isNat V1, V2))
    (active# s X -> active# X, active# U34(tt(), V1, V2) -> isNat# V1)
    (active# s X -> active# X, active# U34(X1, X2, X3) -> U34#(active X1, X2, X3))
    (active# s X -> active# X, active# U34(X1, X2, X3) -> active# X1)
    (active# s X -> active# X, active# U33(tt(), V1, V2) -> U34#(isNatKind V2, V1, V2))
    (active# s X -> active# X, active# U33(tt(), V1, V2) -> isNatKind# V2)
    (active# s X -> active# X, active# U33(X1, X2, X3) -> U33#(active X1, X2, X3))
    (active# s X -> active# X, active# U33(X1, X2, X3) -> active# X1)
    (active# s X -> active# X, active# U31(tt(), V1, V2) -> U32#(isNatKind V1, V1, V2))
    (active# s X -> active# X, active# U31(tt(), V1, V2) -> isNatKind# V1)
    (active# s X -> active# X, active# U31(X1, X2, X3) -> U31#(active X1, X2, X3))
    (active# s X -> active# X, active# U31(X1, X2, X3) -> active# X1)
    (active# s X -> active# X, active# U32(tt(), V1, V2) -> U33#(isNatKind V2, V1, V2))
    (active# s X -> active# X, active# U32(tt(), V1, V2) -> isNatKind# V2)
    (active# s X -> active# X, active# U32(X1, X2, X3) -> U32#(active X1, X2, X3))
    (active# s X -> active# X, active# U32(X1, X2, X3) -> active# X1)
    (active# s X -> active# X, active# U23 X -> U23# active X)
    (active# s X -> active# X, active# U23 X -> active# X)
    (active# s X -> active# X, active# U21(tt(), V1) -> U22#(isNatKind V1, V1))
    (active# s X -> active# X, active# U21(tt(), V1) -> isNatKind# V1)
    (active# s X -> active# X, active# U21(X1, X2) -> U21#(active X1, X2))
    (active# s X -> active# X, active# U21(X1, X2) -> active# X1)
    (active# s X -> active# X, active# U22(tt(), V1) -> U23# isNat V1)
    (active# s X -> active# X, active# U22(tt(), V1) -> isNat# V1)
    (active# s X -> active# X, active# U22(X1, X2) -> U22#(active X1, X2))
    (active# s X -> active# X, active# U22(X1, X2) -> active# X1)
    (active# s X -> active# X, active# U16 X -> U16# active X)
    (active# s X -> active# X, active# U16 X -> active# X)
    (active# s X -> active# X, active# U15(tt(), V2) -> U16# isNat V2)
    (active# s X -> active# X, active# U15(tt(), V2) -> isNat# V2)
    (active# s X -> active# X, active# U15(X1, X2) -> U15#(active X1, X2))
    (active# s X -> active# X, active# U15(X1, X2) -> active# X1)
    (active# s X -> active# X, active# U14(tt(), V1, V2) -> U15#(isNat V1, V2))
    (active# s X -> active# X, active# U14(tt(), V1, V2) -> isNat# V1)
    (active# s X -> active# X, active# U14(X1, X2, X3) -> U14#(active X1, X2, X3))
    (active# s X -> active# X, active# U14(X1, X2, X3) -> active# X1)
    (active# s X -> active# X, active# U13(tt(), V1, V2) -> U14#(isNatKind V2, V1, V2))
    (active# s X -> active# X, active# U13(tt(), V1, V2) -> isNatKind# V2)
    (active# s X -> active# X, active# U13(X1, X2, X3) -> U13#(active X1, X2, X3))
    (active# s X -> active# X, active# U13(X1, X2, X3) -> active# X1)
    (active# s X -> active# X, active# U11(tt(), V1, V2) -> U12#(isNatKind V1, V1, V2))
    (active# s X -> active# X, active# U11(tt(), V1, V2) -> isNatKind# V1)
    (active# s X -> active# X, active# U11(X1, X2, X3) -> U11#(active X1, X2, X3))
    (active# s X -> active# X, active# U11(X1, X2, X3) -> active# X1)
    (active# s X -> active# X, active# U12(tt(), V1, V2) -> U13#(isNatKind V2, V1, V2))
    (active# s X -> active# X, active# U12(tt(), V1, V2) -> isNatKind# V2)
    (active# s X -> active# X, active# U12(X1, X2, X3) -> U12#(active X1, X2, X3))
    (active# s X -> active# X, active# U12(X1, X2, X3) -> active# X1)
    (active# s X -> active# X, active# x(X1, X2) -> x#(active X1, X2))
    (active# s X -> active# X, active# x(X1, X2) -> x#(X1, active X2))
    (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# x(N, 0()) -> U91#(isNat N, N))
    (active# s X -> active# X, active# x(N, 0()) -> isNat# N)
    (active# s X -> active# X, active# x(N, s M) -> isNat# M)
    (active# s X -> active# X, active# x(N, s M) -> U101#(isNat M, M, N))
    (active# s X -> active# X, active# plus(X1, X2) -> plus#(active X1, X2))
    (active# s X -> active# X, active# plus(X1, X2) -> plus#(X1, active X2))
    (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# plus(N, 0()) -> U71#(isNat N, N))
    (active# s X -> active# X, active# plus(N, 0()) -> isNat# N)
    (active# s X -> active# X, active# plus(N, s M) -> U81#(isNat M, M, N))
    (active# s X -> active# X, active# plus(N, s M) -> isNat# M)
    (active# s X -> active# X, active# U104(tt(), M, N) -> x#(N, M))
    (active# s X -> active# X, active# U104(tt(), M, N) -> plus#(x(N, M), N))
    (active# s X -> active# X, active# U104(X1, X2, X3) -> U104#(active X1, X2, X3))
    (active# s X -> active# X, active# U104(X1, X2, X3) -> active# X1)
    (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 x(V1, V2) -> U31#(isNatKind V1, V1, V2))
    (active# s X -> active# X, active# isNat x(V1, V2) -> isNatKind# V1)
    (active# s X -> active# X, active# isNat plus(V1, V2) -> U11#(isNatKind V1, V1, V2))
    (active# s X -> active# X, active# isNat plus(V1, V2) -> isNatKind# V1)
    (active# s X -> active# X, active# U103(tt(), M, N) -> U104#(isNatKind N, M, N))
    (active# s X -> active# X, active# U103(tt(), M, N) -> isNatKind# N)
    (active# s X -> active# X, active# U103(X1, X2, X3) -> U103#(active X1, X2, X3))
    (active# s X -> active# X, active# U103(X1, X2, X3) -> active# X1)
    (active# s X -> active# X, active# U101(tt(), M, N) -> isNatKind# M)
    (active# s X -> active# X, active# U101(tt(), M, N) -> U102#(isNatKind M, M, N))
    (active# s X -> active# X, active# U101(X1, X2, X3) -> U101#(active X1, X2, X3))
    (active# s X -> active# X, active# U101(X1, X2, X3) -> active# X1)
    (active# s X -> active# X, active# isNatKind s V1 -> U51# isNatKind V1)
    (active# s X -> active# X, active# isNatKind s V1 -> isNatKind# V1)
    (active# s X -> active# X, active# isNatKind x(V1, V2) -> U61#(isNatKind V1, V2))
    (active# s X -> active# X, active# isNatKind x(V1, V2) -> isNatKind# V1)
    (active# s X -> active# X, active# isNatKind plus(V1, V2) -> U41#(isNatKind V1, V2))
    (active# s X -> active# X, active# isNatKind plus(V1, V2) -> isNatKind# V1)
    (active# s X -> active# X, active# U102(tt(), M, N) -> isNat# N)
    (active# s X -> active# X, active# U102(tt(), M, N) -> U103#(isNat N, M, N))
    (active# s X -> active# X, active# U102(X1, X2, X3) -> active# X1)
    (active# s X -> active# X, active# U102(X1, X2, X3) -> U102#(active X1, X2, X3))
    (isNat# ok X -> isNat# X, isNat# ok X -> isNat# X)
    (U16# ok X -> U16# X, U16# ok X -> U16# X)
    (U16# ok X -> U16# X, U16# mark X -> U16# X)
    (U23# ok X -> U23# X, U23# ok X -> U23# X)
    (U23# ok X -> U23# X, U23# mark X -> U23# X)
    (U36# ok X -> U36# X, U36# ok X -> U36# X)
    (U36# ok X -> U36# X, U36# mark X -> U36# X)
    (U42# ok X -> U42# X, U42# ok X -> U42# X)
    (U42# ok X -> U42# X, U42# mark X -> U42# X)
    (U51# ok X -> U51# X, U51# ok X -> U51# X)
    (U51# ok X -> U51# X, U51# mark X -> U51# X)
    (U62# ok X -> U62# X, U62# ok X -> U62# X)
    (U62# ok X -> U62# X, U62# mark X -> U62# X)
    (s# ok X -> s# X, s# ok X -> s# X)
    (s# ok X -> s# X, s# mark X -> s# X)
    (U92# ok X -> U92# X, U92# ok X -> U92# X)
    (U92# ok X -> U92# X, U92# mark X -> U92# X)
    (proper# isNat X -> proper# X, proper# U91(X1, X2) -> proper# X2)
    (proper# isNat X -> proper# X, proper# U91(X1, X2) -> proper# X1)
    (proper# isNat X -> proper# X, proper# U91(X1, X2) -> U91#(proper X1, proper X2))
    (proper# isNat X -> proper# X, proper# U92 X -> proper# X)
    (proper# isNat X -> proper# X, proper# U92 X -> U92# proper X)
    (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# U84(X1, X2, X3) -> proper# X3)
    (proper# isNat X -> proper# X, proper# U84(X1, X2, X3) -> proper# X2)
    (proper# isNat X -> proper# X, proper# U84(X1, X2, X3) -> proper# X1)
    (proper# isNat X -> proper# X, proper# U84(X1, X2, X3) -> U84#(proper X1, proper X2, proper X3))
    (proper# isNat X -> proper# X, proper# U83(X1, X2, X3) -> proper# X3)
    (proper# isNat X -> proper# X, proper# U83(X1, X2, X3) -> proper# X2)
    (proper# isNat X -> proper# X, proper# U83(X1, X2, X3) -> proper# X1)
    (proper# isNat X -> proper# X, proper# U83(X1, X2, X3) -> U83#(proper X1, proper X2, proper X3))
    (proper# isNat X -> proper# X, proper# U81(X1, X2, X3) -> proper# X3)
    (proper# isNat X -> proper# X, proper# U81(X1, X2, X3) -> proper# X2)
    (proper# isNat X -> proper# X, proper# U81(X1, X2, X3) -> proper# X1)
    (proper# isNat X -> proper# X, proper# U81(X1, X2, X3) -> U81#(proper X1, proper X2, proper X3))
    (proper# isNat X -> proper# X, proper# U82(X1, X2, X3) -> proper# X3)
    (proper# isNat X -> proper# X, proper# U82(X1, X2, X3) -> proper# X2)
    (proper# isNat X -> proper# X, proper# U82(X1, X2, X3) -> proper# X1)
    (proper# isNat X -> proper# X, proper# U82(X1, X2, X3) -> U82#(proper X1, proper X2, proper X3))
    (proper# isNat X -> proper# X, proper# U71(X1, X2) -> proper# X2)
    (proper# isNat X -> proper# X, proper# U71(X1, X2) -> proper# X1)
    (proper# isNat X -> proper# X, proper# U71(X1, X2) -> U71#(proper X1, proper X2))
    (proper# isNat X -> proper# X, proper# U72(X1, X2) -> proper# X2)
    (proper# isNat X -> proper# X, proper# U72(X1, X2) -> proper# X1)
    (proper# isNat X -> proper# X, proper# U72(X1, X2) -> U72#(proper X1, proper X2))
    (proper# isNat X -> proper# X, proper# U61(X1, X2) -> proper# X2)
    (proper# isNat X -> proper# X, proper# U61(X1, X2) -> proper# X1)
    (proper# isNat X -> proper# X, proper# U61(X1, X2) -> U61#(proper X1, proper X2))
    (proper# isNat X -> proper# X, proper# U62 X -> proper# X)
    (proper# isNat X -> proper# X, proper# U62 X -> U62# proper X)
    (proper# isNat X -> proper# X, proper# U51 X -> proper# X)
    (proper# isNat X -> proper# X, proper# U51 X -> U51# 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# U42 X -> proper# X)
    (proper# isNat X -> proper# X, proper# U42 X -> U42# proper X)
    (proper# isNat X -> proper# X, proper# U36 X -> proper# X)
    (proper# isNat X -> proper# X, proper# U36 X -> U36# proper X)
    (proper# isNat X -> proper# X, proper# U35(X1, X2) -> proper# X2)
    (proper# isNat X -> proper# X, proper# U35(X1, X2) -> proper# X1)
    (proper# isNat X -> proper# X, proper# U35(X1, X2) -> U35#(proper X1, proper X2))
    (proper# isNat X -> proper# X, proper# U34(X1, X2, X3) -> proper# X3)
    (proper# isNat X -> proper# X, proper# U34(X1, X2, X3) -> proper# X2)
    (proper# isNat X -> proper# X, proper# U34(X1, X2, X3) -> proper# X1)
    (proper# isNat X -> proper# X, proper# U34(X1, X2, X3) -> U34#(proper X1, proper X2, proper X3))
    (proper# isNat X -> proper# X, proper# U33(X1, X2, X3) -> proper# X3)
    (proper# isNat X -> proper# X, proper# U33(X1, X2, X3) -> proper# X2)
    (proper# isNat X -> proper# X, proper# U33(X1, X2, X3) -> proper# X1)
    (proper# isNat X -> proper# X, proper# U33(X1, X2, X3) -> U33#(proper X1, proper X2, proper X3))
    (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, X3) -> proper# X3)
    (proper# isNat X -> proper# X, proper# U32(X1, X2, X3) -> proper# X2)
    (proper# isNat X -> proper# X, proper# U32(X1, X2, X3) -> proper# X1)
    (proper# isNat X -> proper# X, proper# U32(X1, X2, X3) -> U32#(proper X1, proper X2, proper X3))
    (proper# isNat X -> proper# X, proper# U23 X -> proper# X)
    (proper# isNat X -> proper# X, proper# U23 X -> U23# proper X)
    (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(X1, X2) -> proper# X2)
    (proper# isNat X -> proper# X, proper# U22(X1, X2) -> proper# X1)
    (proper# isNat X -> proper# X, proper# U22(X1, X2) -> U22#(proper X1, proper X2))
    (proper# isNat X -> proper# X, proper# U16 X -> proper# X)
    (proper# isNat X -> proper# X, proper# U16 X -> U16# proper X)
    (proper# isNat X -> proper# X, proper# U15(X1, X2) -> proper# X2)
    (proper# isNat X -> proper# X, proper# U15(X1, X2) -> proper# X1)
    (proper# isNat X -> proper# X, proper# U15(X1, X2) -> U15#(proper X1, proper X2))
    (proper# isNat X -> proper# X, proper# U14(X1, X2, X3) -> proper# X3)
    (proper# isNat X -> proper# X, proper# U14(X1, X2, X3) -> proper# X2)
    (proper# isNat X -> proper# X, proper# U14(X1, X2, X3) -> proper# X1)
    (proper# isNat X -> proper# X, proper# U14(X1, X2, X3) -> U14#(proper X1, proper X2, proper X3))
    (proper# isNat X -> proper# X, proper# U13(X1, X2, X3) -> proper# X3)
    (proper# isNat X -> proper# X, proper# U13(X1, X2, X3) -> proper# X2)
    (proper# isNat X -> proper# X, proper# U13(X1, X2, X3) -> proper# X1)
    (proper# isNat X -> proper# X, proper# U13(X1, X2, X3) -> U13#(proper X1, proper X2, proper X3))
    (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# U12(X1, X2, X3) -> proper# X3)
    (proper# isNat X -> proper# X, proper# U12(X1, X2, X3) -> proper# X2)
    (proper# isNat X -> proper# X, proper# U12(X1, X2, X3) -> proper# X1)
    (proper# isNat X -> proper# X, proper# U12(X1, X2, X3) -> U12#(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# 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# U104(X1, X2, X3) -> proper# X3)
    (proper# isNat X -> proper# X, proper# U104(X1, X2, X3) -> proper# X2)
    (proper# isNat X -> proper# X, proper# U104(X1, X2, X3) -> proper# X1)
    (proper# isNat X -> proper# X, proper# U104(X1, X2, X3) -> U104#(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# U103(X1, X2, X3) -> proper# X3)
    (proper# isNat X -> proper# X, proper# U103(X1, X2, X3) -> proper# X2)
    (proper# isNat X -> proper# X, proper# U103(X1, X2, X3) -> proper# X1)
    (proper# isNat X -> proper# X, proper# U103(X1, X2, X3) -> U103#(proper X1, proper X2, proper X3))
    (proper# isNat X -> proper# X, proper# U101(X1, X2, X3) -> proper# X3)
    (proper# isNat X -> proper# X, proper# U101(X1, X2, X3) -> proper# X2)
    (proper# isNat X -> proper# X, proper# U101(X1, X2, X3) -> proper# X1)
    (proper# isNat X -> proper# X, proper# U101(X1, X2, X3) -> U101#(proper X1, proper X2, proper X3))
    (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# U102(X1, X2, X3) -> proper# X3)
    (proper# isNat X -> proper# X, proper# U102(X1, X2, X3) -> proper# X2)
    (proper# isNat X -> proper# X, proper# U102(X1, X2, X3) -> proper# X1)
    (proper# isNat X -> proper# X, proper# U102(X1, X2, X3) -> U102#(proper X1, proper X2, proper X3))
    (proper# U23 X -> proper# X, proper# U91(X1, X2) -> proper# X2)
    (proper# U23 X -> proper# X, proper# U91(X1, X2) -> proper# X1)
    (proper# U23 X -> proper# X, proper# U91(X1, X2) -> U91#(proper X1, proper X2))
    (proper# U23 X -> proper# X, proper# U92 X -> proper# X)
    (proper# U23 X -> proper# X, proper# U92 X -> U92# proper X)
    (proper# U23 X -> proper# X, proper# s X -> proper# X)
    (proper# U23 X -> proper# X, proper# s X -> s# proper X)
    (proper# U23 X -> proper# X, proper# U84(X1, X2, X3) -> proper# X3)
    (proper# U23 X -> proper# X, proper# U84(X1, X2, X3) -> proper# X2)
    (proper# U23 X -> proper# X, proper# U84(X1, X2, X3) -> proper# X1)
    (proper# U23 X -> proper# X, proper# U84(X1, X2, X3) -> U84#(proper X1, proper X2, proper X3))
    (proper# U23 X -> proper# X, proper# U83(X1, X2, X3) -> proper# X3)
    (proper# U23 X -> proper# X, proper# U83(X1, X2, X3) -> proper# X2)
    (proper# U23 X -> proper# X, proper# U83(X1, X2, X3) -> proper# X1)
    (proper# U23 X -> proper# X, proper# U83(X1, X2, X3) -> U83#(proper X1, proper X2, proper X3))
    (proper# U23 X -> proper# X, proper# U81(X1, X2, X3) -> proper# X3)
    (proper# U23 X -> proper# X, proper# U81(X1, X2, X3) -> proper# X2)
    (proper# U23 X -> proper# X, proper# U81(X1, X2, X3) -> proper# X1)
    (proper# U23 X -> proper# X, proper# U81(X1, X2, X3) -> U81#(proper X1, proper X2, proper X3))
    (proper# U23 X -> proper# X, proper# U82(X1, X2, X3) -> proper# X3)
    (proper# U23 X -> proper# X, proper# U82(X1, X2, X3) -> proper# X2)
    (proper# U23 X -> proper# X, proper# U82(X1, X2, X3) -> proper# X1)
    (proper# U23 X -> proper# X, proper# U82(X1, X2, X3) -> U82#(proper X1, proper X2, proper X3))
    (proper# U23 X -> proper# X, proper# U71(X1, X2) -> proper# X2)
    (proper# U23 X -> proper# X, proper# U71(X1, X2) -> proper# X1)
    (proper# U23 X -> proper# X, proper# U71(X1, X2) -> U71#(proper X1, proper X2))
    (proper# U23 X -> proper# X, proper# U72(X1, X2) -> proper# X2)
    (proper# U23 X -> proper# X, proper# U72(X1, X2) -> proper# X1)
    (proper# U23 X -> proper# X, proper# U72(X1, X2) -> U72#(proper X1, proper X2))
    (proper# U23 X -> proper# X, proper# U61(X1, X2) -> proper# X2)
    (proper# U23 X -> proper# X, proper# U61(X1, X2) -> proper# X1)
    (proper# U23 X -> proper# X, proper# U61(X1, X2) -> U61#(proper X1, proper X2))
    (proper# U23 X -> proper# X, proper# U62 X -> proper# X)
    (proper# U23 X -> proper# X, proper# U62 X -> U62# proper X)
    (proper# U23 X -> proper# X, proper# U51 X -> proper# X)
    (proper# U23 X -> proper# X, proper# U51 X -> U51# proper X)
    (proper# U23 X -> proper# X, proper# U41(X1, X2) -> proper# X2)
    (proper# U23 X -> proper# X, proper# U41(X1, X2) -> proper# X1)
    (proper# U23 X -> proper# X, proper# U41(X1, X2) -> U41#(proper X1, proper X2))
    (proper# U23 X -> proper# X, proper# U42 X -> proper# X)
    (proper# U23 X -> proper# X, proper# U42 X -> U42# proper X)
    (proper# U23 X -> proper# X, proper# U36 X -> proper# X)
    (proper# U23 X -> proper# X, proper# U36 X -> U36# proper X)
    (proper# U23 X -> proper# X, proper# U35(X1, X2) -> proper# X2)
    (proper# U23 X -> proper# X, proper# U35(X1, X2) -> proper# X1)
    (proper# U23 X -> proper# X, proper# U35(X1, X2) -> U35#(proper X1, proper X2))
    (proper# U23 X -> proper# X, proper# U34(X1, X2, X3) -> proper# X3)
    (proper# U23 X -> proper# X, proper# U34(X1, X2, X3) -> proper# X2)
    (proper# U23 X -> proper# X, proper# U34(X1, X2, X3) -> proper# X1)
    (proper# U23 X -> proper# X, proper# U34(X1, X2, X3) -> U34#(proper X1, proper X2, proper X3))
    (proper# U23 X -> proper# X, proper# U33(X1, X2, X3) -> proper# X3)
    (proper# U23 X -> proper# X, proper# U33(X1, X2, X3) -> proper# X2)
    (proper# U23 X -> proper# X, proper# U33(X1, X2, X3) -> proper# X1)
    (proper# U23 X -> proper# X, proper# U33(X1, X2, X3) -> U33#(proper X1, proper X2, proper X3))
    (proper# U23 X -> proper# X, proper# U31(X1, X2, X3) -> proper# X3)
    (proper# U23 X -> proper# X, proper# U31(X1, X2, X3) -> proper# X2)
    (proper# U23 X -> proper# X, proper# U31(X1, X2, X3) -> proper# X1)
    (proper# U23 X -> proper# X, proper# U31(X1, X2, X3) -> U31#(proper X1, proper X2, proper X3))
    (proper# U23 X -> proper# X, proper# U32(X1, X2, X3) -> proper# X3)
    (proper# U23 X -> proper# X, proper# U32(X1, X2, X3) -> proper# X2)
    (proper# U23 X -> proper# X, proper# U32(X1, X2, X3) -> proper# X1)
    (proper# U23 X -> proper# X, proper# U32(X1, X2, X3) -> U32#(proper X1, proper X2, proper X3))
    (proper# U23 X -> proper# X, proper# U23 X -> proper# X)
    (proper# U23 X -> proper# X, proper# U23 X -> U23# proper X)
    (proper# U23 X -> proper# X, proper# U21(X1, X2) -> proper# X2)
    (proper# U23 X -> proper# X, proper# U21(X1, X2) -> proper# X1)
    (proper# U23 X -> proper# X, proper# U21(X1, X2) -> U21#(proper X1, proper X2))
    (proper# U23 X -> proper# X, proper# U22(X1, X2) -> proper# X2)
    (proper# U23 X -> proper# X, proper# U22(X1, X2) -> proper# X1)
    (proper# U23 X -> proper# X, proper# U22(X1, X2) -> U22#(proper X1, proper X2))
    (proper# U23 X -> proper# X, proper# U16 X -> proper# X)
    (proper# U23 X -> proper# X, proper# U16 X -> U16# proper X)
    (proper# U23 X -> proper# X, proper# U15(X1, X2) -> proper# X2)
    (proper# U23 X -> proper# X, proper# U15(X1, X2) -> proper# X1)
    (proper# U23 X -> proper# X, proper# U15(X1, X2) -> U15#(proper X1, proper X2))
    (proper# U23 X -> proper# X, proper# U14(X1, X2, X3) -> proper# X3)
    (proper# U23 X -> proper# X, proper# U14(X1, X2, X3) -> proper# X2)
    (proper# U23 X -> proper# X, proper# U14(X1, X2, X3) -> proper# X1)
    (proper# U23 X -> proper# X, proper# U14(X1, X2, X3) -> U14#(proper X1, proper X2, proper X3))
    (proper# U23 X -> proper# X, proper# U13(X1, X2, X3) -> proper# X3)
    (proper# U23 X -> proper# X, proper# U13(X1, X2, X3) -> proper# X2)
    (proper# U23 X -> proper# X, proper# U13(X1, X2, X3) -> proper# X1)
    (proper# U23 X -> proper# X, proper# U13(X1, X2, X3) -> U13#(proper X1, proper X2, proper X3))
    (proper# U23 X -> proper# X, proper# U11(X1, X2, X3) -> proper# X3)
    (proper# U23 X -> proper# X, proper# U11(X1, X2, X3) -> proper# X2)
    (proper# U23 X -> proper# X, proper# U11(X1, X2, X3) -> proper# X1)
    (proper# U23 X -> proper# X, proper# U11(X1, X2, X3) -> U11#(proper X1, proper X2, proper X3))
    (proper# U23 X -> proper# X, proper# U12(X1, X2, X3) -> proper# X3)
    (proper# U23 X -> proper# X, proper# U12(X1, X2, X3) -> proper# X2)
    (proper# U23 X -> proper# X, proper# U12(X1, X2, X3) -> proper# X1)
    (proper# U23 X -> proper# X, proper# U12(X1, X2, X3) -> U12#(proper X1, proper X2, proper X3))
    (proper# U23 X -> proper# X, proper# x(X1, X2) -> proper# X2)
    (proper# U23 X -> proper# X, proper# x(X1, X2) -> proper# X1)
    (proper# U23 X -> proper# X, proper# x(X1, X2) -> x#(proper X1, proper X2))
    (proper# U23 X -> proper# X, proper# plus(X1, X2) -> proper# X2)
    (proper# U23 X -> proper# X, proper# plus(X1, X2) -> proper# X1)
    (proper# U23 X -> proper# X, proper# plus(X1, X2) -> plus#(proper X1, proper X2))
    (proper# U23 X -> proper# X, proper# U104(X1, X2, X3) -> proper# X3)
    (proper# U23 X -> proper# X, proper# U104(X1, X2, X3) -> proper# X2)
    (proper# U23 X -> proper# X, proper# U104(X1, X2, X3) -> proper# X1)
    (proper# U23 X -> proper# X, proper# U104(X1, X2, X3) -> U104#(proper X1, proper X2, proper X3))
    (proper# U23 X -> proper# X, proper# isNat X -> proper# X)
    (proper# U23 X -> proper# X, proper# isNat X -> isNat# proper X)
    (proper# U23 X -> proper# X, proper# U103(X1, X2, X3) -> proper# X3)
    (proper# U23 X -> proper# X, proper# U103(X1, X2, X3) -> proper# X2)
    (proper# U23 X -> proper# X, proper# U103(X1, X2, X3) -> proper# X1)
    (proper# U23 X -> proper# X, proper# U103(X1, X2, X3) -> U103#(proper X1, proper X2, proper X3))
    (proper# U23 X -> proper# X, proper# U101(X1, X2, X3) -> proper# X3)
    (proper# U23 X -> proper# X, proper# U101(X1, X2, X3) -> proper# X2)
    (proper# U23 X -> proper# X, proper# U101(X1, X2, X3) -> proper# X1)
    (proper# U23 X -> proper# X, proper# U101(X1, X2, X3) -> U101#(proper X1, proper X2, proper X3))
    (proper# U23 X -> proper# X, proper# isNatKind X -> proper# X)
    (proper# U23 X -> proper# X, proper# isNatKind X -> isNatKind# proper X)
    (proper# U23 X -> proper# X, proper# U102(X1, X2, X3) -> proper# X3)
    (proper# U23 X -> proper# X, proper# U102(X1, X2, X3) -> proper# X2)
    (proper# U23 X -> proper# X, proper# U102(X1, X2, X3) -> proper# X1)
    (proper# U23 X -> proper# X, proper# U102(X1, X2, X3) -> U102#(proper X1, proper X2, proper X3))
    (proper# U42 X -> proper# X, proper# U91(X1, X2) -> proper# X2)
    (proper# U42 X -> proper# X, proper# U91(X1, X2) -> proper# X1)
    (proper# U42 X -> proper# X, proper# U91(X1, X2) -> U91#(proper X1, proper X2))
    (proper# U42 X -> proper# X, proper# U92 X -> proper# X)
    (proper# U42 X -> proper# X, proper# U92 X -> U92# proper X)
    (proper# U42 X -> proper# X, proper# s X -> proper# X)
    (proper# U42 X -> proper# X, proper# s X -> s# proper X)
    (proper# U42 X -> proper# X, proper# U84(X1, X2, X3) -> proper# X3)
    (proper# U42 X -> proper# X, proper# U84(X1, X2, X3) -> proper# X2)
    (proper# U42 X -> proper# X, proper# U84(X1, X2, X3) -> proper# X1)
    (proper# U42 X -> proper# X, proper# U84(X1, X2, X3) -> U84#(proper X1, proper X2, proper X3))
    (proper# U42 X -> proper# X, proper# U83(X1, X2, X3) -> proper# X3)
    (proper# U42 X -> proper# X, proper# U83(X1, X2, X3) -> proper# X2)
    (proper# U42 X -> proper# X, proper# U83(X1, X2, X3) -> proper# X1)
    (proper# U42 X -> proper# X, proper# U83(X1, X2, X3) -> U83#(proper X1, proper X2, proper X3))
    (proper# U42 X -> proper# X, proper# U81(X1, X2, X3) -> proper# X3)
    (proper# U42 X -> proper# X, proper# U81(X1, X2, X3) -> proper# X2)
    (proper# U42 X -> proper# X, proper# U81(X1, X2, X3) -> proper# X1)
    (proper# U42 X -> proper# X, proper# U81(X1, X2, X3) -> U81#(proper X1, proper X2, proper X3))
    (proper# U42 X -> proper# X, proper# U82(X1, X2, X3) -> proper# X3)
    (proper# U42 X -> proper# X, proper# U82(X1, X2, X3) -> proper# X2)
    (proper# U42 X -> proper# X, proper# U82(X1, X2, X3) -> proper# X1)
    (proper# U42 X -> proper# X, proper# U82(X1, X2, X3) -> U82#(proper X1, proper X2, proper X3))
    (proper# U42 X -> proper# X, proper# U71(X1, X2) -> proper# X2)
    (proper# U42 X -> proper# X, proper# U71(X1, X2) -> proper# X1)
    (proper# U42 X -> proper# X, proper# U71(X1, X2) -> U71#(proper X1, proper X2))
    (proper# U42 X -> proper# X, proper# U72(X1, X2) -> proper# X2)
    (proper# U42 X -> proper# X, proper# U72(X1, X2) -> proper# X1)
    (proper# U42 X -> proper# X, proper# U72(X1, X2) -> U72#(proper X1, proper X2))
    (proper# U42 X -> proper# X, proper# U61(X1, X2) -> proper# X2)
    (proper# U42 X -> proper# X, proper# U61(X1, X2) -> proper# X1)
    (proper# U42 X -> proper# X, proper# U61(X1, X2) -> U61#(proper X1, proper X2))
    (proper# U42 X -> proper# X, proper# U62 X -> proper# X)
    (proper# U42 X -> proper# X, proper# U62 X -> U62# proper X)
    (proper# U42 X -> proper# X, proper# U51 X -> proper# X)
    (proper# U42 X -> proper# X, proper# U51 X -> U51# proper X)
    (proper# U42 X -> proper# X, proper# U41(X1, X2) -> proper# X2)
    (proper# U42 X -> proper# X, proper# U41(X1, X2) -> proper# X1)
    (proper# U42 X -> proper# X, proper# U41(X1, X2) -> U41#(proper X1, proper X2))
    (proper# U42 X -> proper# X, proper# U42 X -> proper# X)
    (proper# U42 X -> proper# X, proper# U42 X -> U42# proper X)
    (proper# U42 X -> proper# X, proper# U36 X -> proper# X)
    (proper# U42 X -> proper# X, proper# U36 X -> U36# proper X)
    (proper# U42 X -> proper# X, proper# U35(X1, X2) -> proper# X2)
    (proper# U42 X -> proper# X, proper# U35(X1, X2) -> proper# X1)
    (proper# U42 X -> proper# X, proper# U35(X1, X2) -> U35#(proper X1, proper X2))
    (proper# U42 X -> proper# X, proper# U34(X1, X2, X3) -> proper# X3)
    (proper# U42 X -> proper# X, proper# U34(X1, X2, X3) -> proper# X2)
    (proper# U42 X -> proper# X, proper# U34(X1, X2, X3) -> proper# X1)
    (proper# U42 X -> proper# X, proper# U34(X1, X2, X3) -> U34#(proper X1, proper X2, proper X3))
    (proper# U42 X -> proper# X, proper# U33(X1, X2, X3) -> proper# X3)
    (proper# U42 X -> proper# X, proper# U33(X1, X2, X3) -> proper# X2)
    (proper# U42 X -> proper# X, proper# U33(X1, X2, X3) -> proper# X1)
    (proper# U42 X -> proper# X, proper# U33(X1, X2, X3) -> U33#(proper X1, proper X2, proper X3))
    (proper# U42 X -> proper# X, proper# U31(X1, X2, X3) -> proper# X3)
    (proper# U42 X -> proper# X, proper# U31(X1, X2, X3) -> proper# X2)
    (proper# U42 X -> proper# X, proper# U31(X1, X2, X3) -> proper# X1)
    (proper# U42 X -> proper# X, proper# U31(X1, X2, X3) -> U31#(proper X1, proper X2, proper X3))
    (proper# U42 X -> proper# X, proper# U32(X1, X2, X3) -> proper# X3)
    (proper# U42 X -> proper# X, proper# U32(X1, X2, X3) -> proper# X2)
    (proper# U42 X -> proper# X, proper# U32(X1, X2, X3) -> proper# X1)
    (proper# U42 X -> proper# X, proper# U32(X1, X2, X3) -> U32#(proper X1, proper X2, proper X3))
    (proper# U42 X -> proper# X, proper# U23 X -> proper# X)
    (proper# U42 X -> proper# X, proper# U23 X -> U23# proper X)
    (proper# U42 X -> proper# X, proper# U21(X1, X2) -> proper# X2)
    (proper# U42 X -> proper# X, proper# U21(X1, X2) -> proper# X1)
    (proper# U42 X -> proper# X, proper# U21(X1, X2) -> U21#(proper X1, proper X2))
    (proper# U42 X -> proper# X, proper# U22(X1, X2) -> proper# X2)
    (proper# U42 X -> proper# X, proper# U22(X1, X2) -> proper# X1)
    (proper# U42 X -> proper# X, proper# U22(X1, X2) -> U22#(proper X1, proper X2))
    (proper# U42 X -> proper# X, proper# U16 X -> proper# X)
    (proper# U42 X -> proper# X, proper# U16 X -> U16# proper X)
    (proper# U42 X -> proper# X, proper# U15(X1, X2) -> proper# X2)
    (proper# U42 X -> proper# X, proper# U15(X1, X2) -> proper# X1)
    (proper# U42 X -> proper# X, proper# U15(X1, X2) -> U15#(proper X1, proper X2))
    (proper# U42 X -> proper# X, proper# U14(X1, X2, X3) -> proper# X3)
    (proper# U42 X -> proper# X, proper# U14(X1, X2, X3) -> proper# X2)
    (proper# U42 X -> proper# X, proper# U14(X1, X2, X3) -> proper# X1)
    (proper# U42 X -> proper# X, proper# U14(X1, X2, X3) -> U14#(proper X1, proper X2, proper X3))
    (proper# U42 X -> proper# X, proper# U13(X1, X2, X3) -> proper# X3)
    (proper# U42 X -> proper# X, proper# U13(X1, X2, X3) -> proper# X2)
    (proper# U42 X -> proper# X, proper# U13(X1, X2, X3) -> proper# X1)
    (proper# U42 X -> proper# X, proper# U13(X1, X2, X3) -> U13#(proper X1, proper X2, proper X3))
    (proper# U42 X -> proper# X, proper# U11(X1, X2, X3) -> proper# X3)
    (proper# U42 X -> proper# X, proper# U11(X1, X2, X3) -> proper# X2)
    (proper# U42 X -> proper# X, proper# U11(X1, X2, X3) -> proper# X1)
    (proper# U42 X -> proper# X, proper# U11(X1, X2, X3) -> U11#(proper X1, proper X2, proper X3))
    (proper# U42 X -> proper# X, proper# U12(X1, X2, X3) -> proper# X3)
    (proper# U42 X -> proper# X, proper# U12(X1, X2, X3) -> proper# X2)
    (proper# U42 X -> proper# X, proper# U12(X1, X2, X3) -> proper# X1)
    (proper# U42 X -> proper# X, proper# U12(X1, X2, X3) -> U12#(proper X1, proper X2, proper X3))
    (proper# U42 X -> proper# X, proper# x(X1, X2) -> proper# X2)
    (proper# U42 X -> proper# X, proper# x(X1, X2) -> proper# X1)
    (proper# U42 X -> proper# X, proper# x(X1, X2) -> x#(proper X1, proper X2))
    (proper# U42 X -> proper# X, proper# plus(X1, X2) -> proper# X2)
    (proper# U42 X -> proper# X, proper# plus(X1, X2) -> proper# X1)
    (proper# U42 X -> proper# X, proper# plus(X1, X2) -> plus#(proper X1, proper X2))
    (proper# U42 X -> proper# X, proper# U104(X1, X2, X3) -> proper# X3)
    (proper# U42 X -> proper# X, proper# U104(X1, X2, X3) -> proper# X2)
    (proper# U42 X -> proper# X, proper# U104(X1, X2, X3) -> proper# X1)
    (proper# U42 X -> proper# X, proper# U104(X1, X2, X3) -> U104#(proper X1, proper X2, proper X3))
    (proper# U42 X -> proper# X, proper# isNat X -> proper# X)
    (proper# U42 X -> proper# X, proper# isNat X -> isNat# proper X)
    (proper# U42 X -> proper# X, proper# U103(X1, X2, X3) -> proper# X3)
    (proper# U42 X -> proper# X, proper# U103(X1, X2, X3) -> proper# X2)
    (proper# U42 X -> proper# X, proper# U103(X1, X2, X3) -> proper# X1)
    (proper# U42 X -> proper# X, proper# U103(X1, X2, X3) -> U103#(proper X1, proper X2, proper X3))
    (proper# U42 X -> proper# X, proper# U101(X1, X2, X3) -> proper# X3)
    (proper# U42 X -> proper# X, proper# U101(X1, X2, X3) -> proper# X2)
    (proper# U42 X -> proper# X, proper# U101(X1, X2, X3) -> proper# X1)
    (proper# U42 X -> proper# X, proper# U101(X1, X2, X3) -> U101#(proper X1, proper X2, proper X3))
    (proper# U42 X -> proper# X, proper# isNatKind X -> proper# X)
    (proper# U42 X -> proper# X, proper# isNatKind X -> isNatKind# proper X)
    (proper# U42 X -> proper# X, proper# U102(X1, X2, X3) -> proper# X3)
    (proper# U42 X -> proper# X, proper# U102(X1, X2, X3) -> proper# X2)
    (proper# U42 X -> proper# X, proper# U102(X1, X2, X3) -> proper# X1)
    (proper# U42 X -> proper# X, proper# U102(X1, X2, X3) -> U102#(proper X1, proper X2, proper X3))
    (proper# U62 X -> proper# X, proper# U91(X1, X2) -> proper# X2)
    (proper# U62 X -> proper# X, proper# U91(X1, X2) -> proper# X1)
    (proper# U62 X -> proper# X, proper# U91(X1, X2) -> U91#(proper X1, proper X2))
    (proper# U62 X -> proper# X, proper# U92 X -> proper# X)
    (proper# U62 X -> proper# X, proper# U92 X -> U92# proper X)
    (proper# U62 X -> proper# X, proper# s X -> proper# X)
    (proper# U62 X -> proper# X, proper# s X -> s# proper X)
    (proper# U62 X -> proper# X, proper# U84(X1, X2, X3) -> proper# X3)
    (proper# U62 X -> proper# X, proper# U84(X1, X2, X3) -> proper# X2)
    (proper# U62 X -> proper# X, proper# U84(X1, X2, X3) -> proper# X1)
    (proper# U62 X -> proper# X, proper# U84(X1, X2, X3) -> U84#(proper X1, proper X2, proper X3))
    (proper# U62 X -> proper# X, proper# U83(X1, X2, X3) -> proper# X3)
    (proper# U62 X -> proper# X, proper# U83(X1, X2, X3) -> proper# X2)
    (proper# U62 X -> proper# X, proper# U83(X1, X2, X3) -> proper# X1)
    (proper# U62 X -> proper# X, proper# U83(X1, X2, X3) -> U83#(proper X1, proper X2, proper X3))
    (proper# U62 X -> proper# X, proper# U81(X1, X2, X3) -> proper# X3)
    (proper# U62 X -> proper# X, proper# U81(X1, X2, X3) -> proper# X2)
    (proper# U62 X -> proper# X, proper# U81(X1, X2, X3) -> proper# X1)
    (proper# U62 X -> proper# X, proper# U81(X1, X2, X3) -> U81#(proper X1, proper X2, proper X3))
    (proper# U62 X -> proper# X, proper# U82(X1, X2, X3) -> proper# X3)
    (proper# U62 X -> proper# X, proper# U82(X1, X2, X3) -> proper# X2)
    (proper# U62 X -> proper# X, proper# U82(X1, X2, X3) -> proper# X1)
    (proper# U62 X -> proper# X, proper# U82(X1, X2, X3) -> U82#(proper X1, proper X2, proper X3))
    (proper# U62 X -> proper# X, proper# U71(X1, X2) -> proper# X2)
    (proper# U62 X -> proper# X, proper# U71(X1, X2) -> proper# X1)
    (proper# U62 X -> proper# X, proper# U71(X1, X2) -> U71#(proper X1, proper X2))
    (proper# U62 X -> proper# X, proper# U72(X1, X2) -> proper# X2)
    (proper# U62 X -> proper# X, proper# U72(X1, X2) -> proper# X1)
    (proper# U62 X -> proper# X, proper# U72(X1, X2) -> U72#(proper X1, proper X2))
    (proper# U62 X -> proper# X, proper# U61(X1, X2) -> proper# X2)
    (proper# U62 X -> proper# X, proper# U61(X1, X2) -> proper# X1)
    (proper# U62 X -> proper# X, proper# U61(X1, X2) -> U61#(proper X1, proper X2))
    (proper# U62 X -> proper# X, proper# U62 X -> proper# X)
    (proper# U62 X -> proper# X, proper# U62 X -> U62# proper X)
    (proper# U62 X -> proper# X, proper# U51 X -> proper# X)
    (proper# U62 X -> proper# X, proper# U51 X -> U51# proper X)
    (proper# U62 X -> proper# X, proper# U41(X1, X2) -> proper# X2)
    (proper# U62 X -> proper# X, proper# U41(X1, X2) -> proper# X1)
    (proper# U62 X -> proper# X, proper# U41(X1, X2) -> U41#(proper X1, proper X2))
    (proper# U62 X -> proper# X, proper# U42 X -> proper# X)
    (proper# U62 X -> proper# X, proper# U42 X -> U42# proper X)
    (proper# U62 X -> proper# X, proper# U36 X -> proper# X)
    (proper# U62 X -> proper# X, proper# U36 X -> U36# proper X)
    (proper# U62 X -> proper# X, proper# U35(X1, X2) -> proper# X2)
    (proper# U62 X -> proper# X, proper# U35(X1, X2) -> proper# X1)
    (proper# U62 X -> proper# X, proper# U35(X1, X2) -> U35#(proper X1, proper X2))
    (proper# U62 X -> proper# X, proper# U34(X1, X2, X3) -> proper# X3)
    (proper# U62 X -> proper# X, proper# U34(X1, X2, X3) -> proper# X2)
    (proper# U62 X -> proper# X, proper# U34(X1, X2, X3) -> proper# X1)
    (proper# U62 X -> proper# X, proper# U34(X1, X2, X3) -> U34#(proper X1, proper X2, proper X3))
    (proper# U62 X -> proper# X, proper# U33(X1, X2, X3) -> proper# X3)
    (proper# U62 X -> proper# X, proper# U33(X1, X2, X3) -> proper# X2)
    (proper# U62 X -> proper# X, proper# U33(X1, X2, X3) -> proper# X1)
    (proper# U62 X -> proper# X, proper# U33(X1, X2, X3) -> U33#(proper X1, proper X2, proper X3))
    (proper# U62 X -> proper# X, proper# U31(X1, X2, X3) -> proper# X3)
    (proper# U62 X -> proper# X, proper# U31(X1, X2, X3) -> proper# X2)
    (proper# U62 X -> proper# X, proper# U31(X1, X2, X3) -> proper# X1)
    (proper# U62 X -> proper# X, proper# U31(X1, X2, X3) -> U31#(proper X1, proper X2, proper X3))
    (proper# U62 X -> proper# X, proper# U32(X1, X2, X3) -> proper# X3)
    (proper# U62 X -> proper# X, proper# U32(X1, X2, X3) -> proper# X2)
    (proper# U62 X -> proper# X, proper# U32(X1, X2, X3) -> proper# X1)
    (proper# U62 X -> proper# X, proper# U32(X1, X2, X3) -> U32#(proper X1, proper X2, proper X3))
    (proper# U62 X -> proper# X, proper# U23 X -> proper# X)
    (proper# U62 X -> proper# X, proper# U23 X -> U23# proper X)
    (proper# U62 X -> proper# X, proper# U21(X1, X2) -> proper# X2)
    (proper# U62 X -> proper# X, proper# U21(X1, X2) -> proper# X1)
    (proper# U62 X -> proper# X, proper# U21(X1, X2) -> U21#(proper X1, proper X2))
    (proper# U62 X -> proper# X, proper# U22(X1, X2) -> proper# X2)
    (proper# U62 X -> proper# X, proper# U22(X1, X2) -> proper# X1)
    (proper# U62 X -> proper# X, proper# U22(X1, X2) -> U22#(proper X1, proper X2))
    (proper# U62 X -> proper# X, proper# U16 X -> proper# X)
    (proper# U62 X -> proper# X, proper# U16 X -> U16# proper X)
    (proper# U62 X -> proper# X, proper# U15(X1, X2) -> proper# X2)
    (proper# U62 X -> proper# X, proper# U15(X1, X2) -> proper# X1)
    (proper# U62 X -> proper# X, proper# U15(X1, X2) -> U15#(proper X1, proper X2))
    (proper# U62 X -> proper# X, proper# U14(X1, X2, X3) -> proper# X3)
    (proper# U62 X -> proper# X, proper# U14(X1, X2, X3) -> proper# X2)
    (proper# U62 X -> proper# X, proper# U14(X1, X2, X3) -> proper# X1)
    (proper# U62 X -> proper# X, proper# U14(X1, X2, X3) -> U14#(proper X1, proper X2, proper X3))
    (proper# U62 X -> proper# X, proper# U13(X1, X2, X3) -> proper# X3)
    (proper# U62 X -> proper# X, proper# U13(X1, X2, X3) -> proper# X2)
    (proper# U62 X -> proper# X, proper# U13(X1, X2, X3) -> proper# X1)
    (proper# U62 X -> proper# X, proper# U13(X1, X2, X3) -> U13#(proper X1, proper X2, proper X3))
    (proper# U62 X -> proper# X, proper# U11(X1, X2, X3) -> proper# X3)
    (proper# U62 X -> proper# X, proper# U11(X1, X2, X3) -> proper# X2)
    (proper# U62 X -> proper# X, proper# U11(X1, X2, X3) -> proper# X1)
    (proper# U62 X -> proper# X, proper# U11(X1, X2, X3) -> U11#(proper X1, proper X2, proper X3))
    (proper# U62 X -> proper# X, proper# U12(X1, X2, X3) -> proper# X3)
    (proper# U62 X -> proper# X, proper# U12(X1, X2, X3) -> proper# X2)
    (proper# U62 X -> proper# X, proper# U12(X1, X2, X3) -> proper# X1)
    (proper# U62 X -> proper# X, proper# U12(X1, X2, X3) -> U12#(proper X1, proper X2, proper X3))
    (proper# U62 X -> proper# X, proper# x(X1, X2) -> proper# X2)
    (proper# U62 X -> proper# X, proper# x(X1, X2) -> proper# X1)
    (proper# U62 X -> proper# X, proper# x(X1, X2) -> x#(proper X1, proper X2))
    (proper# U62 X -> proper# X, proper# plus(X1, X2) -> proper# X2)
    (proper# U62 X -> proper# X, proper# plus(X1, X2) -> proper# X1)
    (proper# U62 X -> proper# X, proper# plus(X1, X2) -> plus#(proper X1, proper X2))
    (proper# U62 X -> proper# X, proper# U104(X1, X2, X3) -> proper# X3)
    (proper# U62 X -> proper# X, proper# U104(X1, X2, X3) -> proper# X2)
    (proper# U62 X -> proper# X, proper# U104(X1, X2, X3) -> proper# X1)
    (proper# U62 X -> proper# X, proper# U104(X1, X2, X3) -> U104#(proper X1, proper X2, proper X3))
    (proper# U62 X -> proper# X, proper# isNat X -> proper# X)
    (proper# U62 X -> proper# X, proper# isNat X -> isNat# proper X)
    (proper# U62 X -> proper# X, proper# U103(X1, X2, X3) -> proper# X3)
    (proper# U62 X -> proper# X, proper# U103(X1, X2, X3) -> proper# X2)
    (proper# U62 X -> proper# X, proper# U103(X1, X2, X3) -> proper# X1)
    (proper# U62 X -> proper# X, proper# U103(X1, X2, X3) -> U103#(proper X1, proper X2, proper X3))
    (proper# U62 X -> proper# X, proper# U101(X1, X2, X3) -> proper# X3)
    (proper# U62 X -> proper# X, proper# U101(X1, X2, X3) -> proper# X2)
    (proper# U62 X -> proper# X, proper# U101(X1, X2, X3) -> proper# X1)
    (proper# U62 X -> proper# X, proper# U101(X1, X2, X3) -> U101#(proper X1, proper X2, proper X3))
    (proper# U62 X -> proper# X, proper# isNatKind X -> proper# X)
    (proper# U62 X -> proper# X, proper# isNatKind X -> isNatKind# proper X)
    (proper# U62 X -> proper# X, proper# U102(X1, X2, X3) -> proper# X3)
    (proper# U62 X -> proper# X, proper# U102(X1, X2, X3) -> proper# X2)
    (proper# U62 X -> proper# X, proper# U102(X1, X2, X3) -> proper# X1)
    (proper# U62 X -> proper# X, proper# U102(X1, X2, X3) -> U102#(proper X1, proper X2, proper X3))
    (proper# U92 X -> proper# X, proper# U91(X1, X2) -> proper# X2)
    (proper# U92 X -> proper# X, proper# U91(X1, X2) -> proper# X1)
    (proper# U92 X -> proper# X, proper# U91(X1, X2) -> U91#(proper X1, proper X2))
    (proper# U92 X -> proper# X, proper# U92 X -> proper# X)
    (proper# U92 X -> proper# X, proper# U92 X -> U92# proper X)
    (proper# U92 X -> proper# X, proper# s X -> proper# X)
    (proper# U92 X -> proper# X, proper# s X -> s# proper X)
    (proper# U92 X -> proper# X, proper# U84(X1, X2, X3) -> proper# X3)
    (proper# U92 X -> proper# X, proper# U84(X1, X2, X3) -> proper# X2)
    (proper# U92 X -> proper# X, proper# U84(X1, X2, X3) -> proper# X1)
    (proper# U92 X -> proper# X, proper# U84(X1, X2, X3) -> U84#(proper X1, proper X2, proper X3))
    (proper# U92 X -> proper# X, proper# U83(X1, X2, X3) -> proper# X3)
    (proper# U92 X -> proper# X, proper# U83(X1, X2, X3) -> proper# X2)
    (proper# U92 X -> proper# X, proper# U83(X1, X2, X3) -> proper# X1)
    (proper# U92 X -> proper# X, proper# U83(X1, X2, X3) -> U83#(proper X1, proper X2, proper X3))
    (proper# U92 X -> proper# X, proper# U81(X1, X2, X3) -> proper# X3)
    (proper# U92 X -> proper# X, proper# U81(X1, X2, X3) -> proper# X2)
    (proper# U92 X -> proper# X, proper# U81(X1, X2, X3) -> proper# X1)
    (proper# U92 X -> proper# X, proper# U81(X1, X2, X3) -> U81#(proper X1, proper X2, proper X3))
    (proper# U92 X -> proper# X, proper# U82(X1, X2, X3) -> proper# X3)
    (proper# U92 X -> proper# X, proper# U82(X1, X2, X3) -> proper# X2)
    (proper# U92 X -> proper# X, proper# U82(X1, X2, X3) -> proper# X1)
    (proper# U92 X -> proper# X, proper# U82(X1, X2, X3) -> U82#(proper X1, proper X2, proper X3))
    (proper# U92 X -> proper# X, proper# U71(X1, X2) -> proper# X2)
    (proper# U92 X -> proper# X, proper# U71(X1, X2) -> proper# X1)
    (proper# U92 X -> proper# X, proper# U71(X1, X2) -> U71#(proper X1, proper X2))
    (proper# U92 X -> proper# X, proper# U72(X1, X2) -> proper# X2)
    (proper# U92 X -> proper# X, proper# U72(X1, X2) -> proper# X1)
    (proper# U92 X -> proper# X, proper# U72(X1, X2) -> U72#(proper X1, proper X2))
    (proper# U92 X -> proper# X, proper# U61(X1, X2) -> proper# X2)
    (proper# U92 X -> proper# X, proper# U61(X1, X2) -> proper# X1)
    (proper# U92 X -> proper# X, proper# U61(X1, X2) -> U61#(proper X1, proper X2))
    (proper# U92 X -> proper# X, proper# U62 X -> proper# X)
    (proper# U92 X -> proper# X, proper# U62 X -> U62# proper X)
    (proper# U92 X -> proper# X, proper# U51 X -> proper# X)
    (proper# U92 X -> proper# X, proper# U51 X -> U51# proper X)
    (proper# U92 X -> proper# X, proper# U41(X1, X2) -> proper# X2)
    (proper# U92 X -> proper# X, proper# U41(X1, X2) -> proper# X1)
    (proper# U92 X -> proper# X, proper# U41(X1, X2) -> U41#(proper X1, proper X2))
    (proper# U92 X -> proper# X, proper# U42 X -> proper# X)
    (proper# U92 X -> proper# X, proper# U42 X -> U42# proper X)
    (proper# U92 X -> proper# X, proper# U36 X -> proper# X)
    (proper# U92 X -> proper# X, proper# U36 X -> U36# proper X)
    (proper# U92 X -> proper# X, proper# U35(X1, X2) -> proper# X2)
    (proper# U92 X -> proper# X, proper# U35(X1, X2) -> proper# X1)
    (proper# U92 X -> proper# X, proper# U35(X1, X2) -> U35#(proper X1, proper X2))
    (proper# U92 X -> proper# X, proper# U34(X1, X2, X3) -> proper# X3)
    (proper# U92 X -> proper# X, proper# U34(X1, X2, X3) -> proper# X2)
    (proper# U92 X -> proper# X, proper# U34(X1, X2, X3) -> proper# X1)
    (proper# U92 X -> proper# X, proper# U34(X1, X2, X3) -> U34#(proper X1, proper X2, proper X3))
    (proper# U92 X -> proper# X, proper# U33(X1, X2, X3) -> proper# X3)
    (proper# U92 X -> proper# X, proper# U33(X1, X2, X3) -> proper# X2)
    (proper# U92 X -> proper# X, proper# U33(X1, X2, X3) -> proper# X1)
    (proper# U92 X -> proper# X, proper# U33(X1, X2, X3) -> U33#(proper X1, proper X2, proper X3))
    (proper# U92 X -> proper# X, proper# U31(X1, X2, X3) -> proper# X3)
    (proper# U92 X -> proper# X, proper# U31(X1, X2, X3) -> proper# X2)
    (proper# U92 X -> proper# X, proper# U31(X1, X2, X3) -> proper# X1)
    (proper# U92 X -> proper# X, proper# U31(X1, X2, X3) -> U31#(proper X1, proper X2, proper X3))
    (proper# U92 X -> proper# X, proper# U32(X1, X2, X3) -> proper# X3)
    (proper# U92 X -> proper# X, proper# U32(X1, X2, X3) -> proper# X2)
    (proper# U92 X -> proper# X, proper# U32(X1, X2, X3) -> proper# X1)
    (proper# U92 X -> proper# X, proper# U32(X1, X2, X3) -> U32#(proper X1, proper X2, proper X3))
    (proper# U92 X -> proper# X, proper# U23 X -> proper# X)
    (proper# U92 X -> proper# X, proper# U23 X -> U23# proper X)
    (proper# U92 X -> proper# X, proper# U21(X1, X2) -> proper# X2)
    (proper# U92 X -> proper# X, proper# U21(X1, X2) -> proper# X1)
    (proper# U92 X -> proper# X, proper# U21(X1, X2) -> U21#(proper X1, proper X2))
    (proper# U92 X -> proper# X, proper# U22(X1, X2) -> proper# X2)
    (proper# U92 X -> proper# X, proper# U22(X1, X2) -> proper# X1)
    (proper# U92 X -> proper# X, proper# U22(X1, X2) -> U22#(proper X1, proper X2))
    (proper# U92 X -> proper# X, proper# U16 X -> proper# X)
    (proper# U92 X -> proper# X, proper# U16 X -> U16# proper X)
    (proper# U92 X -> proper# X, proper# U15(X1, X2) -> proper# X2)
    (proper# U92 X -> proper# X, proper# U15(X1, X2) -> proper# X1)
    (proper# U92 X -> proper# X, proper# U15(X1, X2) -> U15#(proper X1, proper X2))
    (proper# U92 X -> proper# X, proper# U14(X1, X2, X3) -> proper# X3)
    (proper# U92 X -> proper# X, proper# U14(X1, X2, X3) -> proper# X2)
    (proper# U92 X -> proper# X, proper# U14(X1, X2, X3) -> proper# X1)
    (proper# U92 X -> proper# X, proper# U14(X1, X2, X3) -> U14#(proper X1, proper X2, proper X3))
    (proper# U92 X -> proper# X, proper# U13(X1, X2, X3) -> proper# X3)
    (proper# U92 X -> proper# X, proper# U13(X1, X2, X3) -> proper# X2)
    (proper# U92 X -> proper# X, proper# U13(X1, X2, X3) -> proper# X1)
    (proper# U92 X -> proper# X, proper# U13(X1, X2, X3) -> U13#(proper X1, proper X2, proper X3))
    (proper# U92 X -> proper# X, proper# U11(X1, X2, X3) -> proper# X3)
    (proper# U92 X -> proper# X, proper# U11(X1, X2, X3) -> proper# X2)
    (proper# U92 X -> proper# X, proper# U11(X1, X2, X3) -> proper# X1)
    (proper# U92 X -> proper# X, proper# U11(X1, X2, X3) -> U11#(proper X1, proper X2, proper X3))
    (proper# U92 X -> proper# X, proper# U12(X1, X2, X3) -> proper# X3)
    (proper# U92 X -> proper# X, proper# U12(X1, X2, X3) -> proper# X2)
    (proper# U92 X -> proper# X, proper# U12(X1, X2, X3) -> proper# X1)
    (proper# U92 X -> proper# X, proper# U12(X1, X2, X3) -> U12#(proper X1, proper X2, proper X3))
    (proper# U92 X -> proper# X, proper# x(X1, X2) -> proper# X2)
    (proper# U92 X -> proper# X, proper# x(X1, X2) -> proper# X1)
    (proper# U92 X -> proper# X, proper# x(X1, X2) -> x#(proper X1, proper X2))
    (proper# U92 X -> proper# X, proper# plus(X1, X2) -> proper# X2)
    (proper# U92 X -> proper# X, proper# plus(X1, X2) -> proper# X1)
    (proper# U92 X -> proper# X, proper# plus(X1, X2) -> plus#(proper X1, proper X2))
    (proper# U92 X -> proper# X, proper# U104(X1, X2, X3) -> proper# X3)
    (proper# U92 X -> proper# X, proper# U104(X1, X2, X3) -> proper# X2)
    (proper# U92 X -> proper# X, proper# U104(X1, X2, X3) -> proper# X1)
    (proper# U92 X -> proper# X, proper# U104(X1, X2, X3) -> U104#(proper X1, proper X2, proper X3))
    (proper# U92 X -> proper# X, proper# isNat X -> proper# X)
    (proper# U92 X -> proper# X, proper# isNat X -> isNat# proper X)
    (proper# U92 X -> proper# X, proper# U103(X1, X2, X3) -> proper# X3)
    (proper# U92 X -> proper# X, proper# U103(X1, X2, X3) -> proper# X2)
    (proper# U92 X -> proper# X, proper# U103(X1, X2, X3) -> proper# X1)
    (proper# U92 X -> proper# X, proper# U103(X1, X2, X3) -> U103#(proper X1, proper X2, proper X3))
    (proper# U92 X -> proper# X, proper# U101(X1, X2, X3) -> proper# X3)
    (proper# U92 X -> proper# X, proper# U101(X1, X2, X3) -> proper# X2)
    (proper# U92 X -> proper# X, proper# U101(X1, X2, X3) -> proper# X1)
    (proper# U92 X -> proper# X, proper# U101(X1, X2, X3) -> U101#(proper X1, proper X2, proper X3))
    (proper# U92 X -> proper# X, proper# isNatKind X -> proper# X)
    (proper# U92 X -> proper# X, proper# isNatKind X -> isNatKind# proper X)
    (proper# U92 X -> proper# X, proper# U102(X1, X2, X3) -> proper# X3)
    (proper# U92 X -> proper# X, proper# U102(X1, X2, X3) -> proper# X2)
    (proper# U92 X -> proper# X, proper# U102(X1, X2, X3) -> proper# X1)
    (proper# U92 X -> proper# X, proper# U102(X1, X2, X3) -> U102#(proper X1, proper X2, proper X3))
    (top# ok X -> active# X, active# U91(tt(), N) -> U92# isNatKind N)
    (top# ok X -> active# X, active# U91(tt(), N) -> isNatKind# N)
    (top# ok X -> active# X, active# U91(X1, X2) -> U91#(active X1, X2))
    (top# ok X -> active# X, active# U91(X1, X2) -> active# X1)
    (top# ok X -> active# X, active# U92 X -> U92# active X)
    (top# ok X -> active# X, active# U92 X -> active# X)
    (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# U84(tt(), M, N) -> s# plus(N, M))
    (top# ok X -> active# X, active# U84(tt(), M, N) -> plus#(N, M))
    (top# ok X -> active# X, active# U84(X1, X2, X3) -> U84#(active X1, X2, X3))
    (top# ok X -> active# X, active# U84(X1, X2, X3) -> active# X1)
    (top# ok X -> active# X, active# U83(tt(), M, N) -> U84#(isNatKind N, M, N))
    (top# ok X -> active# X, active# U83(tt(), M, N) -> isNatKind# N)
    (top# ok X -> active# X, active# U83(X1, X2, X3) -> U83#(active X1, X2, X3))
    (top# ok X -> active# X, active# U83(X1, X2, X3) -> active# X1)
    (top# ok X -> active# X, active# U81(tt(), M, N) -> U82#(isNatKind M, M, N))
    (top# ok X -> active# X, active# U81(tt(), M, N) -> isNatKind# M)
    (top# ok X -> active# X, active# U81(X1, X2, X3) -> U81#(active X1, X2, X3))
    (top# ok X -> active# X, active# U81(X1, X2, X3) -> active# X1)
    (top# ok X -> active# X, active# U82(tt(), M, N) -> U83#(isNat N, M, N))
    (top# ok X -> active# X, active# U82(tt(), M, N) -> isNat# N)
    (top# ok X -> active# X, active# U82(X1, X2, X3) -> U82#(active X1, X2, X3))
    (top# ok X -> active# X, active# U82(X1, X2, X3) -> active# X1)
    (top# ok X -> active# X, active# U71(tt(), N) -> U72#(isNatKind N, N))
    (top# ok X -> active# X, active# U71(tt(), N) -> isNatKind# N)
    (top# ok X -> active# X, active# U71(X1, X2) -> U71#(active X1, X2))
    (top# ok X -> active# X, active# U71(X1, X2) -> active# X1)
    (top# ok X -> active# X, active# U72(X1, X2) -> U72#(active X1, X2))
    (top# ok X -> active# X, active# U72(X1, X2) -> active# X1)
    (top# ok X -> active# X, active# U61(tt(), V2) -> U62# isNatKind V2)
    (top# ok X -> active# X, active# U61(tt(), V2) -> isNatKind# V2)
    (top# ok X -> active# X, active# U61(X1, X2) -> U61#(active X1, X2))
    (top# ok X -> active# X, active# U61(X1, X2) -> active# X1)
    (top# ok X -> active# X, active# U62 X -> U62# active X)
    (top# ok X -> active# X, active# U62 X -> active# X)
    (top# ok X -> active# X, active# U51 X -> U51# active X)
    (top# ok X -> active# X, active# U51 X -> active# X)
    (top# ok X -> active# X, active# U41(tt(), V2) -> U42# isNatKind V2)
    (top# ok X -> active# X, active# U41(tt(), V2) -> isNatKind# V2)
    (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# U42 X -> U42# active X)
    (top# ok X -> active# X, active# U42 X -> active# X)
    (top# ok X -> active# X, active# U36 X -> U36# active X)
    (top# ok X -> active# X, active# U36 X -> active# X)
    (top# ok X -> active# X, active# U35(tt(), V2) -> U36# isNat V2)
    (top# ok X -> active# X, active# U35(tt(), V2) -> isNat# V2)
    (top# ok X -> active# X, active# U35(X1, X2) -> U35#(active X1, X2))
    (top# ok X -> active# X, active# U35(X1, X2) -> active# X1)
    (top# ok X -> active# X, active# U34(tt(), V1, V2) -> U35#(isNat V1, V2))
    (top# ok X -> active# X, active# U34(tt(), V1, V2) -> isNat# V1)
    (top# ok X -> active# X, active# U34(X1, X2, X3) -> U34#(active X1, X2, X3))
    (top# ok X -> active# X, active# U34(X1, X2, X3) -> active# X1)
    (top# ok X -> active# X, active# U33(tt(), V1, V2) -> U34#(isNatKind V2, V1, V2))
    (top# ok X -> active# X, active# U33(tt(), V1, V2) -> isNatKind# V2)
    (top# ok X -> active# X, active# U33(X1, X2, X3) -> U33#(active X1, X2, X3))
    (top# ok X -> active# X, active# U33(X1, X2, X3) -> active# X1)
    (top# ok X -> active# X, active# U31(tt(), V1, V2) -> U32#(isNatKind V1, V1, V2))
    (top# ok X -> active# X, active# U31(tt(), V1, V2) -> isNatKind# 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(), V1, V2) -> U33#(isNatKind V2, V1, V2))
    (top# ok X -> active# X, active# U32(tt(), V1, V2) -> isNatKind# V2)
    (top# ok X -> active# X, active# U32(X1, X2, X3) -> U32#(active X1, X2, X3))
    (top# ok X -> active# X, active# U32(X1, X2, X3) -> active# X1)
    (top# ok X -> active# X, active# U23 X -> U23# active X)
    (top# ok X -> active# X, active# U23 X -> active# X)
    (top# ok X -> active# X, active# U21(tt(), V1) -> U22#(isNatKind V1, V1))
    (top# ok X -> active# X, active# U21(tt(), V1) -> isNatKind# 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(tt(), V1) -> U23# isNat V1)
    (top# ok X -> active# X, active# U22(tt(), V1) -> isNat# V1)
    (top# ok X -> active# X, active# U22(X1, X2) -> U22#(active X1, X2))
    (top# ok X -> active# X, active# U22(X1, X2) -> active# X1)
    (top# ok X -> active# X, active# U16 X -> U16# active X)
    (top# ok X -> active# X, active# U16 X -> active# X)
    (top# ok X -> active# X, active# U15(tt(), V2) -> U16# isNat V2)
    (top# ok X -> active# X, active# U15(tt(), V2) -> isNat# V2)
    (top# ok X -> active# X, active# U15(X1, X2) -> U15#(active X1, X2))
    (top# ok X -> active# X, active# U15(X1, X2) -> active# X1)
    (top# ok X -> active# X, active# U14(tt(), V1, V2) -> U15#(isNat V1, V2))
    (top# ok X -> active# X, active# U14(tt(), V1, V2) -> isNat# V1)
    (top# ok X -> active# X, active# U14(X1, X2, X3) -> U14#(active X1, X2, X3))
    (top# ok X -> active# X, active# U14(X1, X2, X3) -> active# X1)
    (top# ok X -> active# X, active# U13(tt(), V1, V2) -> U14#(isNatKind V2, V1, V2))
    (top# ok X -> active# X, active# U13(tt(), V1, V2) -> isNatKind# V2)
    (top# ok X -> active# X, active# U13(X1, X2, X3) -> U13#(active X1, X2, X3))
    (top# ok X -> active# X, active# U13(X1, X2, X3) -> active# X1)
    (top# ok X -> active# X, active# U11(tt(), V1, V2) -> U12#(isNatKind V1, V1, V2))
    (top# ok X -> active# X, active# U11(tt(), V1, V2) -> isNatKind# V1)
    (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# U12(tt(), V1, V2) -> U13#(isNatKind V2, V1, V2))
    (top# ok X -> active# X, active# U12(tt(), V1, V2) -> isNatKind# V2)
    (top# ok X -> active# X, active# U12(X1, X2, X3) -> U12#(active X1, X2, X3))
    (top# ok X -> active# X, active# U12(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()) -> U91#(isNat N, N))
    (top# ok X -> active# X, active# x(N, 0()) -> isNat# N)
    (top# ok X -> active# X, active# x(N, s M) -> isNat# M)
    (top# ok X -> active# X, active# x(N, s M) -> U101#(isNat M, M, N))
    (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()) -> U71#(isNat N, N))
    (top# ok X -> active# X, active# plus(N, 0()) -> isNat# N)
    (top# ok X -> active# X, active# plus(N, s M) -> U81#(isNat M, M, N))
    (top# ok X -> active# X, active# plus(N, s M) -> isNat# M)
    (top# ok X -> active# X, active# U104(tt(), M, N) -> x#(N, M))
    (top# ok X -> active# X, active# U104(tt(), M, N) -> plus#(x(N, M), N))
    (top# ok X -> active# X, active# U104(X1, X2, X3) -> U104#(active X1, X2, X3))
    (top# ok X -> active# X, active# U104(X1, X2, X3) -> active# X1)
    (top# ok X -> active# X, active# isNat s V1 -> U21#(isNatKind V1, V1))
    (top# ok X -> active# X, active# isNat s V1 -> isNatKind# V1)
    (top# ok X -> active# X, active# isNat x(V1, V2) -> U31#(isNatKind V1, V1, V2))
    (top# ok X -> active# X, active# isNat x(V1, V2) -> isNatKind# V1)
    (top# ok X -> active# X, active# isNat plus(V1, V2) -> U11#(isNatKind V1, V1, V2))
    (top# ok X -> active# X, active# isNat plus(V1, V2) -> isNatKind# V1)
    (top# ok X -> active# X, active# U103(tt(), M, N) -> U104#(isNatKind N, M, N))
    (top# ok X -> active# X, active# U103(tt(), M, N) -> isNatKind# N)
    (top# ok X -> active# X, active# U103(X1, X2, X3) -> U103#(active X1, X2, X3))
    (top# ok X -> active# X, active# U103(X1, X2, X3) -> active# X1)
    (top# ok X -> active# X, active# U101(tt(), M, N) -> isNatKind# M)
    (top# ok X -> active# X, active# U101(tt(), M, N) -> U102#(isNatKind M, M, N))
    (top# ok X -> active# X, active# U101(X1, X2, X3) -> U101#(active X1, X2, X3))
    (top# ok X -> active# X, active# U101(X1, X2, X3) -> active# X1)
    (top# ok X -> active# X, active# isNatKind s V1 -> U51# isNatKind V1)
    (top# ok X -> active# X, active# isNatKind s V1 -> isNatKind# V1)
    (top# ok X -> active# X, active# isNatKind x(V1, V2) -> U61#(isNatKind V1, V2))
    (top# ok X -> active# X, active# isNatKind x(V1, V2) -> isNatKind# V1)
    (top# ok X -> active# X, active# isNatKind plus(V1, V2) -> U41#(isNatKind V1, V2))
    (top# ok X -> active# X, active# isNatKind plus(V1, V2) -> isNatKind# V1)
    (top# ok X -> active# X, active# U102(tt(), M, N) -> isNat# N)
    (top# ok X -> active# X, active# U102(tt(), M, N) -> U103#(isNat N, M, N))
    (top# ok X -> active# X, active# U102(X1, X2, X3) -> active# X1)
    (top# ok X -> active# X, active# U102(X1, X2, X3) -> U102#(active X1, X2, X3))
    (active# x(X1, X2) -> x#(active X1, X2), x#(ok X1, ok 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#(X1, mark X2) -> x#(X1, X2))
    (active# U22(X1, X2) -> U22#(active X1, X2), U22#(ok X1, ok X2) -> U22#(X1, X2))
    (active# U22(X1, X2) -> U22#(active X1, X2), U22#(mark X1, X2) -> U22#(X1, X2))
    (active# U35(X1, X2) -> U35#(active X1, X2), U35#(ok X1, ok X2) -> U35#(X1, X2))
    (active# U35(X1, X2) -> U35#(active X1, X2), U35#(mark X1, X2) -> U35#(X1, X2))
    (active# U61(X1, X2) -> U61#(active X1, X2), U61#(ok X1, ok X2) -> U61#(X1, X2))
    (active# U61(X1, X2) -> U61#(active X1, X2), U61#(mark X1, X2) -> U61#(X1, X2))
    (active# U71(X1, X2) -> U71#(active X1, X2), U71#(ok X1, ok X2) -> U71#(X1, X2))
    (active# U71(X1, X2) -> U71#(active X1, X2), U71#(mark X1, X2) -> U71#(X1, X2))
    (plus#(X1, mark X2) -> plus#(X1, X2), plus#(ok X1, ok X2) -> plus#(X1, X2))
    (plus#(X1, mark X2) -> plus#(X1, X2), plus#(mark X1, X2) -> plus#(X1, X2))
    (plus#(X1, mark X2) -> plus#(X1, X2), plus#(X1, mark X2) -> plus#(X1, X2))
    (plus#(ok X1, ok X2) -> plus#(X1, X2), plus#(ok X1, ok 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#(X1, mark X2) -> plus#(X1, X2))
    (x#(mark X1, X2) -> x#(X1, X2), x#(ok X1, ok 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#(X1, mark X2) -> x#(X1, X2))
    (U15#(mark X1, X2) -> U15#(X1, X2), U15#(ok X1, ok X2) -> U15#(X1, X2))
    (U15#(mark X1, X2) -> U15#(X1, X2), U15#(mark X1, X2) -> U15#(X1, X2))
    (U22#(mark X1, X2) -> U22#(X1, X2), U22#(ok X1, ok X2) -> U22#(X1, X2))
    (U22#(mark X1, X2) -> U22#(X1, X2), U22#(mark X1, X2) -> U22#(X1, X2))
    (U21#(mark X1, X2) -> U21#(X1, X2), U21#(ok X1, ok X2) -> U21#(X1, X2))
    (U21#(mark X1, X2) -> U21#(X1, X2), U21#(mark X1, X2) -> U21#(X1, X2))
    (U35#(mark X1, X2) -> U35#(X1, X2), U35#(ok X1, ok X2) -> U35#(X1, X2))
    (U35#(mark X1, X2) -> U35#(X1, X2), U35#(mark X1, X2) -> U35#(X1, X2))
    (U41#(mark X1, X2) -> U41#(X1, X2), U41#(ok X1, ok X2) -> U41#(X1, X2))
    (U41#(mark X1, X2) -> U41#(X1, X2), U41#(mark X1, X2) -> U41#(X1, X2))
    (U61#(mark X1, X2) -> U61#(X1, X2), U61#(ok X1, ok X2) -> U61#(X1, X2))
    (U61#(mark X1, X2) -> U61#(X1, X2), U61#(mark X1, X2) -> U61#(X1, X2))
    (U72#(mark X1, X2) -> U72#(X1, X2), U72#(ok X1, ok X2) -> U72#(X1, X2))
    (U72#(mark X1, X2) -> U72#(X1, X2), U72#(mark X1, X2) -> U72#(X1, X2))
    (U71#(mark X1, X2) -> U71#(X1, X2), U71#(ok X1, ok X2) -> U71#(X1, X2))
    (U71#(mark X1, X2) -> U71#(X1, X2), U71#(mark X1, X2) -> U71#(X1, X2))
    (U91#(mark X1, X2) -> U91#(X1, X2), U91#(ok X1, ok X2) -> U91#(X1, X2))
    (U91#(mark X1, X2) -> U91#(X1, X2), U91#(mark X1, X2) -> U91#(X1, X2))
    (U102#(mark X1, X2, X3) -> U102#(X1, X2, X3), U102#(ok X1, ok X2, ok X3) -> U102#(X1, X2, X3))
    (U102#(mark X1, X2, X3) -> U102#(X1, X2, X3), U102#(mark X1, X2, X3) -> U102#(X1, X2, X3))
    (active# U102(X1, X2, X3) -> U102#(active X1, X2, X3), U102#(ok X1, ok X2, ok X3) -> U102#(X1, X2, X3))
    (active# U102(X1, X2, X3) -> U102#(active X1, X2, X3), U102#(mark X1, X2, X3) -> U102#(X1, X2, X3))
    (active# U103(X1, X2, X3) -> U103#(active X1, X2, X3), U103#(ok X1, ok X2, ok X3) -> U103#(X1, X2, X3))
    (active# U103(X1, X2, X3) -> U103#(active X1, X2, X3), U103#(mark X1, X2, X3) -> U103#(X1, X2, X3))
    (active# U12(X1, X2, X3) -> U12#(active X1, X2, X3), U12#(ok X1, ok X2, ok X3) -> U12#(X1, X2, X3))
    (active# U12(X1, X2, X3) -> U12#(active X1, X2, X3), U12#(mark X1, X2, X3) -> U12#(X1, X2, X3))
    (active# U13(X1, X2, X3) -> U13#(active X1, X2, X3), U13#(ok X1, ok X2, ok X3) -> U13#(X1, X2, X3))
    (active# U13(X1, X2, X3) -> U13#(active X1, X2, X3), U13#(mark X1, X2, X3) -> U13#(X1, X2, X3))
    (active# U32(X1, X2, X3) -> U32#(active X1, X2, X3), U32#(ok X1, ok X2, ok X3) -> U32#(X1, X2, X3))
    (active# U32(X1, X2, X3) -> U32#(active X1, X2, X3), U32#(mark X1, X2, X3) -> U32#(X1, X2, X3))
    (active# U33(X1, X2, X3) -> U33#(active X1, X2, X3), U33#(ok X1, ok X2, ok X3) -> U33#(X1, X2, X3))
    (active# U33(X1, X2, X3) -> U33#(active X1, X2, X3), U33#(mark X1, X2, X3) -> U33#(X1, X2, X3))
    (active# U82(X1, X2, X3) -> U82#(active X1, X2, X3), U82#(ok X1, ok X2, ok X3) -> U82#(X1, X2, X3))
    (active# U82(X1, X2, X3) -> U82#(active X1, X2, X3), U82#(mark X1, X2, X3) -> U82#(X1, X2, X3))
    (active# U83(X1, X2, X3) -> U83#(active X1, X2, X3), U83#(ok X1, ok X2, ok X3) -> U83#(X1, X2, X3))
    (active# U83(X1, X2, X3) -> U83#(active X1, X2, X3), U83#(mark X1, X2, X3) -> U83#(X1, X2, X3))
    (U101#(mark X1, X2, X3) -> U101#(X1, X2, X3), U101#(ok X1, ok X2, ok X3) -> U101#(X1, X2, X3))
    (U101#(mark X1, X2, X3) -> U101#(X1, X2, X3), U101#(mark X1, X2, X3) -> U101#(X1, X2, X3))
    (U103#(mark X1, X2, X3) -> U103#(X1, X2, X3), U103#(ok X1, ok X2, ok X3) -> U103#(X1, X2, X3))
    (U103#(mark X1, X2, X3) -> U103#(X1, X2, X3), U103#(mark X1, X2, X3) -> U103#(X1, X2, X3))
    (U104#(mark X1, X2, X3) -> U104#(X1, X2, X3), U104#(ok X1, ok X2, ok X3) -> U104#(X1, X2, X3))
    (U104#(mark X1, X2, X3) -> U104#(X1, X2, X3), U104#(mark X1, X2, X3) -> U104#(X1, X2, X3))
    (U12#(mark X1, X2, X3) -> U12#(X1, X2, X3), U12#(ok X1, ok X2, ok X3) -> U12#(X1, X2, X3))
    (U12#(mark X1, X2, X3) -> U12#(X1, X2, X3), U12#(mark X1, X2, X3) -> U12#(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))
    (U13#(mark X1, X2, X3) -> U13#(X1, X2, X3), U13#(ok X1, ok X2, ok X3) -> U13#(X1, X2, X3))
    (U13#(mark X1, X2, X3) -> U13#(X1, X2, X3), U13#(mark X1, X2, X3) -> U13#(X1, X2, X3))
    (U14#(mark X1, X2, X3) -> U14#(X1, X2, X3), U14#(ok X1, ok X2, ok X3) -> U14#(X1, X2, X3))
    (U14#(mark X1, X2, X3) -> U14#(X1, X2, X3), U14#(mark X1, X2, X3) -> U14#(X1, X2, X3))
    (U32#(mark X1, X2, X3) -> U32#(X1, X2, X3), U32#(ok X1, ok X2, ok X3) -> U32#(X1, X2, X3))
    (U32#(mark X1, X2, X3) -> U32#(X1, X2, X3), U32#(mark X1, X2, X3) -> U32#(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))
    (U33#(mark X1, X2, X3) -> U33#(X1, X2, X3), U33#(ok X1, ok X2, ok X3) -> U33#(X1, X2, X3))
    (U33#(mark X1, X2, X3) -> U33#(X1, X2, X3), U33#(mark X1, X2, X3) -> U33#(X1, X2, X3))
    (U34#(mark X1, X2, X3) -> U34#(X1, X2, X3), U34#(ok X1, ok X2, ok X3) -> U34#(X1, X2, X3))
    (U34#(mark X1, X2, X3) -> U34#(X1, X2, X3), U34#(mark X1, X2, X3) -> U34#(X1, X2, X3))
    (U82#(mark X1, X2, X3) -> U82#(X1, X2, X3), U82#(ok X1, ok X2, ok X3) -> U82#(X1, X2, X3))
    (U82#(mark X1, X2, X3) -> U82#(X1, X2, X3), U82#(mark X1, X2, X3) -> U82#(X1, X2, X3))
    (U81#(mark X1, X2, X3) -> U81#(X1, X2, X3), U81#(ok X1, ok X2, ok X3) -> U81#(X1, X2, X3))
    (U81#(mark X1, X2, X3) -> U81#(X1, X2, X3), U81#(mark X1, X2, X3) -> U81#(X1, X2, X3))
    (U83#(mark X1, X2, X3) -> U83#(X1, X2, X3), U83#(ok X1, ok X2, ok X3) -> U83#(X1, X2, X3))
    (U83#(mark X1, X2, X3) -> U83#(X1, X2, X3), U83#(mark X1, X2, X3) -> U83#(X1, X2, X3))
    (U84#(mark X1, X2, X3) -> U84#(X1, X2, X3), U84#(ok X1, ok X2, ok X3) -> U84#(X1, X2, X3))
    (U84#(mark X1, X2, X3) -> U84#(X1, X2, X3), U84#(mark X1, X2, X3) -> U84#(X1, X2, X3))
    (active# U102(X1, X2, X3) -> active# X1, active# U91(tt(), N) -> U92# isNatKind N)
    (active# U102(X1, X2, X3) -> active# X1, active# U91(tt(), N) -> isNatKind# N)
    (active# U102(X1, X2, X3) -> active# X1, active# U91(X1, X2) -> U91#(active X1, X2))
    (active# U102(X1, X2, X3) -> active# X1, active# U91(X1, X2) -> active# X1)
    (active# U102(X1, X2, X3) -> active# X1, active# U92 X -> U92# active X)
    (active# U102(X1, X2, X3) -> active# X1, active# U92 X -> active# X)
    (active# U102(X1, X2, X3) -> active# X1, active# s X -> s# active X)
    (active# U102(X1, X2, X3) -> active# X1, active# s X -> active# X)
    (active# U102(X1, X2, X3) -> active# X1, active# U84(tt(), M, N) -> s# plus(N, M))
    (active# U102(X1, X2, X3) -> active# X1, active# U84(tt(), M, N) -> plus#(N, M))
    (active# U102(X1, X2, X3) -> active# X1, active# U84(X1, X2, X3) -> U84#(active X1, X2, X3))
    (active# U102(X1, X2, X3) -> active# X1, active# U84(X1, X2, X3) -> active# X1)
    (active# U102(X1, X2, X3) -> active# X1, active# U83(tt(), M, N) -> U84#(isNatKind N, M, N))
    (active# U102(X1, X2, X3) -> active# X1, active# U83(tt(), M, N) -> isNatKind# N)
    (active# U102(X1, X2, X3) -> active# X1, active# U83(X1, X2, X3) -> U83#(active X1, X2, X3))
    (active# U102(X1, X2, X3) -> active# X1, active# U83(X1, X2, X3) -> active# X1)
    (active# U102(X1, X2, X3) -> active# X1, active# U81(tt(), M, N) -> U82#(isNatKind M, M, N))
    (active# U102(X1, X2, X3) -> active# X1, active# U81(tt(), M, N) -> isNatKind# M)
    (active# U102(X1, X2, X3) -> active# X1, active# U81(X1, X2, X3) -> U81#(active X1, X2, X3))
    (active# U102(X1, X2, X3) -> active# X1, active# U81(X1, X2, X3) -> active# X1)
    (active# U102(X1, X2, X3) -> active# X1, active# U82(tt(), M, N) -> U83#(isNat N, M, N))
    (active# U102(X1, X2, X3) -> active# X1, active# U82(tt(), M, N) -> isNat# N)
    (active# U102(X1, X2, X3) -> active# X1, active# U82(X1, X2, X3) -> U82#(active X1, X2, X3))
    (active# U102(X1, X2, X3) -> active# X1, active# U82(X1, X2, X3) -> active# X1)
    (active# U102(X1, X2, X3) -> active# X1, active# U71(tt(), N) -> U72#(isNatKind N, N))
    (active# U102(X1, X2, X3) -> active# X1, active# U71(tt(), N) -> isNatKind# N)
    (active# U102(X1, X2, X3) -> active# X1, active# U71(X1, X2) -> U71#(active X1, X2))
    (active# U102(X1, X2, X3) -> active# X1, active# U71(X1, X2) -> active# X1)
    (active# U102(X1, X2, X3) -> active# X1, active# U72(X1, X2) -> U72#(active X1, X2))
    (active# U102(X1, X2, X3) -> active# X1, active# U72(X1, X2) -> active# X1)
    (active# U102(X1, X2, X3) -> active# X1, active# U61(tt(), V2) -> U62# isNatKind V2)
    (active# U102(X1, X2, X3) -> active# X1, active# U61(tt(), V2) -> isNatKind# V2)
    (active# U102(X1, X2, X3) -> active# X1, active# U61(X1, X2) -> U61#(active X1, X2))
    (active# U102(X1, X2, X3) -> active# X1, active# U61(X1, X2) -> active# X1)
    (active# U102(X1, X2, X3) -> active# X1, active# U62 X -> U62# active X)
    (active# U102(X1, X2, X3) -> active# X1, active# U62 X -> active# X)
    (active# U102(X1, X2, X3) -> active# X1, active# U51 X -> U51# active X)
    (active# U102(X1, X2, X3) -> active# X1, active# U51 X -> active# X)
    (active# U102(X1, X2, X3) -> active# X1, active# U41(tt(), V2) -> U42# isNatKind V2)
    (active# U102(X1, X2, X3) -> active# X1, active# U41(tt(), V2) -> isNatKind# V2)
    (active# U102(X1, X2, X3) -> active# X1, active# U41(X1, X2) -> U41#(active X1, X2))
    (active# U102(X1, X2, X3) -> active# X1, active# U41(X1, X2) -> active# X1)
    (active# U102(X1, X2, X3) -> active# X1, active# U42 X -> U42# active X)
    (active# U102(X1, X2, X3) -> active# X1, active# U42 X -> active# X)
    (active# U102(X1, X2, X3) -> active# X1, active# U36 X -> U36# active X)
    (active# U102(X1, X2, X3) -> active# X1, active# U36 X -> active# X)
    (active# U102(X1, X2, X3) -> active# X1, active# U35(tt(), V2) -> U36# isNat V2)
    (active# U102(X1, X2, X3) -> active# X1, active# U35(tt(), V2) -> isNat# V2)
    (active# U102(X1, X2, X3) -> active# X1, active# U35(X1, X2) -> U35#(active X1, X2))
    (active# U102(X1, X2, X3) -> active# X1, active# U35(X1, X2) -> active# X1)
    (active# U102(X1, X2, X3) -> active# X1, active# U34(tt(), V1, V2) -> U35#(isNat V1, V2))
    (active# U102(X1, X2, X3) -> active# X1, active# U34(tt(), V1, V2) -> isNat# V1)
    (active# U102(X1, X2, X3) -> active# X1, active# U34(X1, X2, X3) -> U34#(active X1, X2, X3))
    (active# U102(X1, X2, X3) -> active# X1, active# U34(X1, X2, X3) -> active# X1)
    (active# U102(X1, X2, X3) -> active# X1, active# U33(tt(), V1, V2) -> U34#(isNatKind V2, V1, V2))
    (active# U102(X1, X2, X3) -> active# X1, active# U33(tt(), V1, V2) -> isNatKind# V2)
    (active# U102(X1, X2, X3) -> active# X1, active# U33(X1, X2, X3) -> U33#(active X1, X2, X3))
    (active# U102(X1, X2, X3) -> active# X1, active# U33(X1, X2, X3) -> active# X1)
    (active# U102(X1, X2, X3) -> active# X1, active# U31(tt(), V1, V2) -> U32#(isNatKind V1, V1, V2))
    (active# U102(X1, X2, X3) -> active# X1, active# U31(tt(), V1, V2) -> isNatKind# V1)
    (active# U102(X1, X2, X3) -> active# X1, active# U31(X1, X2, X3) -> U31#(active X1, X2, X3))
    (active# U102(X1, X2, X3) -> active# X1, active# U31(X1, X2, X3) -> active# X1)
    (active# U102(X1, X2, X3) -> active# X1, active# U32(tt(), V1, V2) -> U33#(isNatKind V2, V1, V2))
    (active# U102(X1, X2, X3) -> active# X1, active# U32(tt(), V1, V2) -> isNatKind# V2)
    (active# U102(X1, X2, X3) -> active# X1, active# U32(X1, X2, X3) -> U32#(active X1, X2, X3))
    (active# U102(X1, X2, X3) -> active# X1, active# U32(X1, X2, X3) -> active# X1)
    (active# U102(X1, X2, X3) -> active# X1, active# U23 X -> U23# active X)
    (active# U102(X1, X2, X3) -> active# X1, active# U23 X -> active# X)
    (active# U102(X1, X2, X3) -> active# X1, active# U21(tt(), V1) -> U22#(isNatKind V1, V1))
    (active# U102(X1, X2, X3) -> active# X1, active# U21(tt(), V1) -> isNatKind# V1)
    (active# U102(X1, X2, X3) -> active# X1, active# U21(X1, X2) -> U21#(active X1, X2))
    (active# U102(X1, X2, X3) -> active# X1, active# U21(X1, X2) -> active# X1)
    (active# U102(X1, X2, X3) -> active# X1, active# U22(tt(), V1) -> U23# isNat V1)
    (active# U102(X1, X2, X3) -> active# X1, active# U22(tt(), V1) -> isNat# V1)
    (active# U102(X1, X2, X3) -> active# X1, active# U22(X1, X2) -> U22#(active X1, X2))
    (active# U102(X1, X2, X3) -> active# X1, active# U22(X1, X2) -> active# X1)
    (active# U102(X1, X2, X3) -> active# X1, active# U16 X -> U16# active X)
    (active# U102(X1, X2, X3) -> active# X1, active# U16 X -> active# X)
    (active# U102(X1, X2, X3) -> active# X1, active# U15(tt(), V2) -> U16# isNat V2)
    (active# U102(X1, X2, X3) -> active# X1, active# U15(tt(), V2) -> isNat# V2)
    (active# U102(X1, X2, X3) -> active# X1, active# U15(X1, X2) -> U15#(active X1, X2))
    (active# U102(X1, X2, X3) -> active# X1, active# U15(X1, X2) -> active# X1)
    (active# U102(X1, X2, X3) -> active# X1, active# U14(tt(), V1, V2) -> U15#(isNat V1, V2))
    (active# U102(X1, X2, X3) -> active# X1, active# U14(tt(), V1, V2) -> isNat# V1)
    (active# U102(X1, X2, X3) -> active# X1, active# U14(X1, X2, X3) -> U14#(active X1, X2, X3))
    (active# U102(X1, X2, X3) -> active# X1, active# U14(X1, X2, X3) -> active# X1)
    (active# U102(X1, X2, X3) -> active# X1, active# U13(tt(), V1, V2) -> U14#(isNatKind V2, V1, V2))
    (active# U102(X1, X2, X3) -> active# X1, active# U13(tt(), V1, V2) -> isNatKind# V2)
    (active# U102(X1, X2, X3) -> active# X1, active# U13(X1, X2, X3) -> U13#(active X1, X2, X3))
    (active# U102(X1, X2, X3) -> active# X1, active# U13(X1, X2, X3) -> active# X1)
    (active# U102(X1, X2, X3) -> active# X1, active# U11(tt(), V1, V2) -> U12#(isNatKind V1, V1, V2))
    (active# U102(X1, X2, X3) -> active# X1, active# U11(tt(), V1, V2) -> isNatKind# V1)
    (active# U102(X1, X2, X3) -> active# X1, active# U11(X1, X2, X3) -> U11#(active X1, X2, X3))
    (active# U102(X1, X2, X3) -> active# X1, active# U11(X1, X2, X3) -> active# X1)
    (active# U102(X1, X2, X3) -> active# X1, active# U12(tt(), V1, V2) -> U13#(isNatKind V2, V1, V2))
    (active# U102(X1, X2, X3) -> active# X1, active# U12(tt(), V1, V2) -> isNatKind# V2)
    (active# U102(X1, X2, X3) -> active# X1, active# U12(X1, X2, X3) -> U12#(active X1, X2, X3))
    (active# U102(X1, X2, X3) -> active# X1, active# U12(X1, X2, X3) -> active# X1)
    (active# U102(X1, X2, X3) -> active# X1, active# x(X1, X2) -> x#(active X1, X2))
    (active# U102(X1, X2, X3) -> active# X1, active# x(X1, X2) -> x#(X1, active X2))
    (active# U102(X1, X2, X3) -> active# X1, active# x(X1, X2) -> active# X2)
    (active# U102(X1, X2, X3) -> active# X1, active# x(X1, X2) -> active# X1)
    (active# U102(X1, X2, X3) -> active# X1, active# x(N, 0()) -> U91#(isNat N, N))
    (active# U102(X1, X2, X3) -> active# X1, active# x(N, 0()) -> isNat# N)
    (active# U102(X1, X2, X3) -> active# X1, active# x(N, s M) -> isNat# M)
    (active# U102(X1, X2, X3) -> active# X1, active# x(N, s M) -> U101#(isNat M, M, N))
    (active# U102(X1, X2, X3) -> active# X1, active# plus(X1, X2) -> plus#(active X1, X2))
    (active# U102(X1, X2, X3) -> active# X1, active# plus(X1, X2) -> plus#(X1, active X2))
    (active# U102(X1, X2, X3) -> active# X1, active# plus(X1, X2) -> active# X2)
    (active# U102(X1, X2, X3) -> active# X1, active# plus(X1, X2) -> active# X1)
    (active# U102(X1, X2, X3) -> active# X1, active# plus(N, 0()) -> U71#(isNat N, N))
    (active# U102(X1, X2, X3) -> active# X1, active# plus(N, 0()) -> isNat# N)
    (active# U102(X1, X2, X3) -> active# X1, active# plus(N, s M) -> U81#(isNat M, M, N))
    (active# U102(X1, X2, X3) -> active# X1, active# plus(N, s M) -> isNat# M)
    (active# U102(X1, X2, X3) -> active# X1, active# U104(tt(), M, N) -> x#(N, M))
    (active# U102(X1, X2, X3) -> active# X1, active# U104(tt(), M, N) -> plus#(x(N, M), N))
    (active# U102(X1, X2, X3) -> active# X1, active# U104(X1, X2, X3) -> U104#(active X1, X2, X3))
    (active# U102(X1, X2, X3) -> active# X1, active# U104(X1, X2, X3) -> active# X1)
    (active# U102(X1, X2, X3) -> active# X1, active# isNat s V1 -> U21#(isNatKind V1, V1))
    (active# U102(X1, X2, X3) -> active# X1, active# isNat s V1 -> isNatKind# V1)
    (active# U102(X1, X2, X3) -> active# X1, active# isNat x(V1, V2) -> U31#(isNatKind V1, V1, V2))
    (active# U102(X1, X2, X3) -> active# X1, active# isNat x(V1, V2) -> isNatKind# V1)
    (active# U102(X1, X2, X3) -> active# X1, active# isNat plus(V1, V2) -> U11#(isNatKind V1, V1, V2))
    (active# U102(X1, X2, X3) -> active# X1, active# isNat plus(V1, V2) -> isNatKind# V1)
    (active# U102(X1, X2, X3) -> active# X1, active# U103(tt(), M, N) -> U104#(isNatKind N, M, N))
    (active# U102(X1, X2, X3) -> active# X1, active# U103(tt(), M, N) -> isNatKind# N)
    (active# U102(X1, X2, X3) -> active# X1, active# U103(X1, X2, X3) -> U103#(active X1, X2, X3))
    (active# U102(X1, X2, X3) -> active# X1, active# U103(X1, X2, X3) -> active# X1)
    (active# U102(X1, X2, X3) -> active# X1, active# U101(tt(), M, N) -> isNatKind# M)
    (active# U102(X1, X2, X3) -> active# X1, active# U101(tt(), M, N) -> U102#(isNatKind M, M, N))
    (active# U102(X1, X2, X3) -> active# X1, active# U101(X1, X2, X3) -> U101#(active X1, X2, X3))
    (active# U102(X1, X2, X3) -> active# X1, active# U101(X1, X2, X3) -> active# X1)
    (active# U102(X1, X2, X3) -> active# X1, active# isNatKind s V1 -> U51# isNatKind V1)
    (active# U102(X1, X2, X3) -> active# X1, active# isNatKind s V1 -> isNatKind# V1)
    (active# U102(X1, X2, X3) -> active# X1, active# isNatKind x(V1, V2) -> U61#(isNatKind V1, V2))
    (active# U102(X1, X2, X3) -> active# X1, active# isNatKind x(V1, V2) -> isNatKind# V1)
    (active# U102(X1, X2, X3) -> active# X1, active# isNatKind plus(V1, V2) -> U41#(isNatKind V1, V2))
    (active# U102(X1, X2, X3) -> active# X1, active# isNatKind plus(V1, V2) -> isNatKind# V1)
    (active# U102(X1, X2, X3) -> active# X1, active# U102(tt(), M, N) -> isNat# N)
    (active# U102(X1, X2, X3) -> active# X1, active# U102(tt(), M, N) -> U103#(isNat N, M, N))
    (active# U102(X1, X2, X3) -> active# X1, active# U102(X1, X2, X3) -> active# X1)
    (active# U102(X1, X2, X3) -> active# X1, active# U102(X1, X2, X3) -> U102#(active X1, X2, X3))
    (active# U103(X1, X2, X3) -> active# X1, active# U91(tt(), N) -> U92# isNatKind N)
    (active# U103(X1, X2, X3) -> active# X1, active# U91(tt(), N) -> isNatKind# N)
    (active# U103(X1, X2, X3) -> active# X1, active# U91(X1, X2) -> U91#(active X1, X2))
    (active# U103(X1, X2, X3) -> active# X1, active# U91(X1, X2) -> active# X1)
    (active# U103(X1, X2, X3) -> active# X1, active# U92 X -> U92# active X)
    (active# U103(X1, X2, X3) -> active# X1, active# U92 X -> active# X)
    (active# U103(X1, X2, X3) -> active# X1, active# s X -> s# active X)
    (active# U103(X1, X2, X3) -> active# X1, active# s X -> active# X)
    (active# U103(X1, X2, X3) -> active# X1, active# U84(tt(), M, N) -> s# plus(N, M))
    (active# U103(X1, X2, X3) -> active# X1, active# U84(tt(), M, N) -> plus#(N, M))
    (active# U103(X1, X2, X3) -> active# X1, active# U84(X1, X2, X3) -> U84#(active X1, X2, X3))
    (active# U103(X1, X2, X3) -> active# X1, active# U84(X1, X2, X3) -> active# X1)
    (active# U103(X1, X2, X3) -> active# X1, active# U83(tt(), M, N) -> U84#(isNatKind N, M, N))
    (active# U103(X1, X2, X3) -> active# X1, active# U83(tt(), M, N) -> isNatKind# N)
    (active# U103(X1, X2, X3) -> active# X1, active# U83(X1, X2, X3) -> U83#(active X1, X2, X3))
    (active# U103(X1, X2, X3) -> active# X1, active# U83(X1, X2, X3) -> active# X1)
    (active# U103(X1, X2, X3) -> active# X1, active# U81(tt(), M, N) -> U82#(isNatKind M, M, N))
    (active# U103(X1, X2, X3) -> active# X1, active# U81(tt(), M, N) -> isNatKind# M)
    (active# U103(X1, X2, X3) -> active# X1, active# U81(X1, X2, X3) -> U81#(active X1, X2, X3))
    (active# U103(X1, X2, X3) -> active# X1, active# U81(X1, X2, X3) -> active# X1)
    (active# U103(X1, X2, X3) -> active# X1, active# U82(tt(), M, N) -> U83#(isNat N, M, N))
    (active# U103(X1, X2, X3) -> active# X1, active# U82(tt(), M, N) -> isNat# N)
    (active# U103(X1, X2, X3) -> active# X1, active# U82(X1, X2, X3) -> U82#(active X1, X2, X3))
    (active# U103(X1, X2, X3) -> active# X1, active# U82(X1, X2, X3) -> active# X1)
    (active# U103(X1, X2, X3) -> active# X1, active# U71(tt(), N) -> U72#(isNatKind N, N))
    (active# U103(X1, X2, X3) -> active# X1, active# U71(tt(), N) -> isNatKind# N)
    (active# U103(X1, X2, X3) -> active# X1, active# U71(X1, X2) -> U71#(active X1, X2))
    (active# U103(X1, X2, X3) -> active# X1, active# U71(X1, X2) -> active# X1)
    (active# U103(X1, X2, X3) -> active# X1, active# U72(X1, X2) -> U72#(active X1, X2))
    (active# U103(X1, X2, X3) -> active# X1, active# U72(X1, X2) -> active# X1)
    (active# U103(X1, X2, X3) -> active# X1, active# U61(tt(), V2) -> U62# isNatKind V2)
    (active# U103(X1, X2, X3) -> active# X1, active# U61(tt(), V2) -> isNatKind# V2)
    (active# U103(X1, X2, X3) -> active# X1, active# U61(X1, X2) -> U61#(active X1, X2))
    (active# U103(X1, X2, X3) -> active# X1, active# U61(X1, X2) -> active# X1)
    (active# U103(X1, X2, X3) -> active# X1, active# U62 X -> U62# active X)
    (active# U103(X1, X2, X3) -> active# X1, active# U62 X -> active# X)
    (active# U103(X1, X2, X3) -> active# X1, active# U51 X -> U51# active X)
    (active# U103(X1, X2, X3) -> active# X1, active# U51 X -> active# X)
    (active# U103(X1, X2, X3) -> active# X1, active# U41(tt(), V2) -> U42# isNatKind V2)
    (active# U103(X1, X2, X3) -> active# X1, active# U41(tt(), V2) -> isNatKind# V2)
    (active# U103(X1, X2, X3) -> active# X1, active# U41(X1, X2) -> U41#(active X1, X2))
    (active# U103(X1, X2, X3) -> active# X1, active# U41(X1, X2) -> active# X1)
    (active# U103(X1, X2, X3) -> active# X1, active# U42 X -> U42# active X)
    (active# U103(X1, X2, X3) -> active# X1, active# U42 X -> active# X)
    (active# U103(X1, X2, X3) -> active# X1, active# U36 X -> U36# active X)
    (active# U103(X1, X2, X3) -> active# X1, active# U36 X -> active# X)
    (active# U103(X1, X2, X3) -> active# X1, active# U35(tt(), V2) -> U36# isNat V2)
    (active# U103(X1, X2, X3) -> active# X1, active# U35(tt(), V2) -> isNat# V2)
    (active# U103(X1, X2, X3) -> active# X1, active# U35(X1, X2) -> U35#(active X1, X2))
    (active# U103(X1, X2, X3) -> active# X1, active# U35(X1, X2) -> active# X1)
    (active# U103(X1, X2, X3) -> active# X1, active# U34(tt(), V1, V2) -> U35#(isNat V1, V2))
    (active# U103(X1, X2, X3) -> active# X1, active# U34(tt(), V1, V2) -> isNat# V1)
    (active# U103(X1, X2, X3) -> active# X1, active# U34(X1, X2, X3) -> U34#(active X1, X2, X3))
    (active# U103(X1, X2, X3) -> active# X1, active# U34(X1, X2, X3) -> active# X1)
    (active# U103(X1, X2, X3) -> active# X1, active# U33(tt(), V1, V2) -> U34#(isNatKind V2, V1, V2))
    (active# U103(X1, X2, X3) -> active# X1, active# U33(tt(), V1, V2) -> isNatKind# V2)
    (active# U103(X1, X2, X3) -> active# X1, active# U33(X1, X2, X3) -> U33#(active X1, X2, X3))
    (active# U103(X1, X2, X3) -> active# X1, active# U33(X1, X2, X3) -> active# X1)
    (active# U103(X1, X2, X3) -> active# X1, active# U31(tt(), V1, V2) -> U32#(isNatKind V1, V1, V2))
    (active# U103(X1, X2, X3) -> active# X1, active# U31(tt(), V1, V2) -> isNatKind# V1)
    (active# U103(X1, X2, X3) -> active# X1, active# U31(X1, X2, X3) -> U31#(active X1, X2, X3))
    (active# U103(X1, X2, X3) -> active# X1, active# U31(X1, X2, X3) -> active# X1)
    (active# U103(X1, X2, X3) -> active# X1, active# U32(tt(), V1, V2) -> U33#(isNatKind V2, V1, V2))
    (active# U103(X1, X2, X3) -> active# X1, active# U32(tt(), V1, V2) -> isNatKind# V2)
    (active# U103(X1, X2, X3) -> active# X1, active# U32(X1, X2, X3) -> U32#(active X1, X2, X3))
    (active# U103(X1, X2, X3) -> active# X1, active# U32(X1, X2, X3) -> active# X1)
    (active# U103(X1, X2, X3) -> active# X1, active# U23 X -> U23# active X)
    (active# U103(X1, X2, X3) -> active# X1, active# U23 X -> active# X)
    (active# U103(X1, X2, X3) -> active# X1, active# U21(tt(), V1) -> U22#(isNatKind V1, V1))
    (active# U103(X1, X2, X3) -> active# X1, active# U21(tt(), V1) -> isNatKind# V1)
    (active# U103(X1, X2, X3) -> active# X1, active# U21(X1, X2) -> U21#(active X1, X2))
    (active# U103(X1, X2, X3) -> active# X1, active# U21(X1, X2) -> active# X1)
    (active# U103(X1, X2, X3) -> active# X1, active# U22(tt(), V1) -> U23# isNat V1)
    (active# U103(X1, X2, X3) -> active# X1, active# U22(tt(), V1) -> isNat# V1)
    (active# U103(X1, X2, X3) -> active# X1, active# U22(X1, X2) -> U22#(active X1, X2))
    (active# U103(X1, X2, X3) -> active# X1, active# U22(X1, X2) -> active# X1)
    (active# U103(X1, X2, X3) -> active# X1, active# U16 X -> U16# active X)
    (active# U103(X1, X2, X3) -> active# X1, active# U16 X -> active# X)
    (active# U103(X1, X2, X3) -> active# X1, active# U15(tt(), V2) -> U16# isNat V2)
    (active# U103(X1, X2, X3) -> active# X1, active# U15(tt(), V2) -> isNat# V2)
    (active# U103(X1, X2, X3) -> active# X1, active# U15(X1, X2) -> U15#(active X1, X2))
    (active# U103(X1, X2, X3) -> active# X1, active# U15(X1, X2) -> active# X1)
    (active# U103(X1, X2, X3) -> active# X1, active# U14(tt(), V1, V2) -> U15#(isNat V1, V2))
    (active# U103(X1, X2, X3) -> active# X1, active# U14(tt(), V1, V2) -> isNat# V1)
    (active# U103(X1, X2, X3) -> active# X1, active# U14(X1, X2, X3) -> U14#(active X1, X2, X3))
    (active# U103(X1, X2, X3) -> active# X1, active# U14(X1, X2, X3) -> active# X1)
    (active# U103(X1, X2, X3) -> active# X1, active# U13(tt(), V1, V2) -> U14#(isNatKind V2, V1, V2))
    (active# U103(X1, X2, X3) -> active# X1, active# U13(tt(), V1, V2) -> isNatKind# V2)
    (active# U103(X1, X2, X3) -> active# X1, active# U13(X1, X2, X3) -> U13#(active X1, X2, X3))
    (active# U103(X1, X2, X3) -> active# X1, active# U13(X1, X2, X3) -> active# X1)
    (active# U103(X1, X2, X3) -> active# X1, active# U11(tt(), V1, V2) -> U12#(isNatKind V1, V1, V2))
    (active# U103(X1, X2, X3) -> active# X1, active# U11(tt(), V1, V2) -> isNatKind# V1)
    (active# U103(X1, X2, X3) -> active# X1, active# U11(X1, X2, X3) -> U11#(active X1, X2, X3))
    (active# U103(X1, X2, X3) -> active# X1, active# U11(X1, X2, X3) -> active# X1)
    (active# U103(X1, X2, X3) -> active# X1, active# U12(tt(), V1, V2) -> U13#(isNatKind V2, V1, V2))
    (active# U103(X1, X2, X3) -> active# X1, active# U12(tt(), V1, V2) -> isNatKind# V2)
    (active# U103(X1, X2, X3) -> active# X1, active# U12(X1, X2, X3) -> U12#(active X1, X2, X3))
    (active# U103(X1, X2, X3) -> active# X1, active# U12(X1, X2, X3) -> active# X1)
    (active# U103(X1, X2, X3) -> active# X1, active# x(X1, X2) -> x#(active X1, X2))
    (active# U103(X1, X2, X3) -> active# X1, active# x(X1, X2) -> x#(X1, active X2))
    (active# U103(X1, X2, X3) -> active# X1, active# x(X1, X2) -> active# X2)
    (active# U103(X1, X2, X3) -> active# X1, active# x(X1, X2) -> active# X1)
    (active# U103(X1, X2, X3) -> active# X1, active# x(N, 0()) -> U91#(isNat N, N))
    (active# U103(X1, X2, X3) -> active# X1, active# x(N, 0()) -> isNat# N)
    (active# U103(X1, X2, X3) -> active# X1, active# x(N, s M) -> isNat# M)
    (active# U103(X1, X2, X3) -> active# X1, active# x(N, s M) -> U101#(isNat M, M, N))
    (active# U103(X1, X2, X3) -> active# X1, active# plus(X1, X2) -> plus#(active X1, X2))
    (active# U103(X1, X2, X3) -> active# X1, active# plus(X1, X2) -> plus#(X1, active X2))
    (active# U103(X1, X2, X3) -> active# X1, active# plus(X1, X2) -> active# X2)
    (active# U103(X1, X2, X3) -> active# X1, active# plus(X1, X2) -> active# X1)
    (active# U103(X1, X2, X3) -> active# X1, active# plus(N, 0()) -> U71#(isNat N, N))
    (active# U103(X1, X2, X3) -> active# X1, active# plus(N, 0()) -> isNat# N)
    (active# U103(X1, X2, X3) -> active# X1, active# plus(N, s M) -> U81#(isNat M, M, N))
    (active# U103(X1, X2, X3) -> active# X1, active# plus(N, s M) -> isNat# M)
    (active# U103(X1, X2, X3) -> active# X1, active# U104(tt(), M, N) -> x#(N, M))
    (active# U103(X1, X2, X3) -> active# X1, active# U104(tt(), M, N) -> plus#(x(N, M), N))
    (active# U103(X1, X2, X3) -> active# X1, active# U104(X1, X2, X3) -> U104#(active X1, X2, X3))
    (active# U103(X1, X2, X3) -> active# X1, active# U104(X1, X2, X3) -> active# X1)
    (active# U103(X1, X2, X3) -> active# X1, active# isNat s V1 -> U21#(isNatKind V1, V1))
    (active# U103(X1, X2, X3) -> active# X1, active# isNat s V1 -> isNatKind# V1)
    (active# U103(X1, X2, X3) -> active# X1, active# isNat x(V1, V2) -> U31#(isNatKind V1, V1, V2))
    (active# U103(X1, X2, X3) -> active# X1, active# isNat x(V1, V2) -> isNatKind# V1)
    (active# U103(X1, X2, X3) -> active# X1, active# isNat plus(V1, V2) -> U11#(isNatKind V1, V1, V2))
    (active# U103(X1, X2, X3) -> active# X1, active# isNat plus(V1, V2) -> isNatKind# V1)
    (active# U103(X1, X2, X3) -> active# X1, active# U103(tt(), M, N) -> U104#(isNatKind N, M, N))
    (active# U103(X1, X2, X3) -> active# X1, active# U103(tt(), M, N) -> isNatKind# N)
    (active# U103(X1, X2, X3) -> active# X1, active# U103(X1, X2, X3) -> U103#(active X1, X2, X3))
    (active# U103(X1, X2, X3) -> active# X1, active# U103(X1, X2, X3) -> active# X1)
    (active# U103(X1, X2, X3) -> active# X1, active# U101(tt(), M, N) -> isNatKind# M)
    (active# U103(X1, X2, X3) -> active# X1, active# U101(tt(), M, N) -> U102#(isNatKind M, M, N))
    (active# U103(X1, X2, X3) -> active# X1, active# U101(X1, X2, X3) -> U101#(active X1, X2, X3))
    (active# U103(X1, X2, X3) -> active# X1, active# U101(X1, X2, X3) -> active# X1)
    (active# U103(X1, X2, X3) -> active# X1, active# isNatKind s V1 -> U51# isNatKind V1)
    (active# U103(X1, X2, X3) -> active# X1, active# isNatKind s V1 -> isNatKind# V1)
    (active# U103(X1, X2, X3) -> active# X1, active# isNatKind x(V1, V2) -> U61#(isNatKind V1, V2))
    (active# U103(X1, X2, X3) -> active# X1, active# isNatKind x(V1, V2) -> isNatKind# V1)
    (active# U103(X1, X2, X3) -> active# X1, active# isNatKind plus(V1, V2) -> U41#(isNatKind V1, V2))
    (active# U103(X1, X2, X3) -> active# X1, active# isNatKind plus(V1, V2) -> isNatKind# V1)
    (active# U103(X1, X2, X3) -> active# X1, active# U102(tt(), M, N) -> isNat# N)
    (active# U103(X1, X2, X3) -> active# X1, active# U102(tt(), M, N) -> U103#(isNat N, M, N))
    (active# U103(X1, X2, X3) -> active# X1, active# U102(X1, X2, X3) -> active# X1)
    (active# U103(X1, X2, X3) -> active# X1, active# U102(X1, X2, X3) -> U102#(active X1, X2, X3))
    (active# plus(X1, X2) -> active# X1, active# U91(tt(), N) -> U92# isNatKind N)
    (active# plus(X1, X2) -> active# X1, active# U91(tt(), N) -> isNatKind# N)
    (active# plus(X1, X2) -> active# X1, active# U91(X1, X2) -> U91#(active X1, X2))
    (active# plus(X1, X2) -> active# X1, active# U91(X1, X2) -> active# X1)
    (active# plus(X1, X2) -> active# X1, active# U92 X -> U92# active X)
    (active# plus(X1, X2) -> active# X1, active# U92 X -> active# X)
    (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# U84(tt(), M, N) -> s# plus(N, M))
    (active# plus(X1, X2) -> active# X1, active# U84(tt(), M, N) -> plus#(N, M))
    (active# plus(X1, X2) -> active# X1, active# U84(X1, X2, X3) -> U84#(active X1, X2, X3))
    (active# plus(X1, X2) -> active# X1, active# U84(X1, X2, X3) -> active# X1)
    (active# plus(X1, X2) -> active# X1, active# U83(tt(), M, N) -> U84#(isNatKind N, M, N))
    (active# plus(X1, X2) -> active# X1, active# U83(tt(), M, N) -> isNatKind# N)
    (active# plus(X1, X2) -> active# X1, active# U83(X1, X2, X3) -> U83#(active X1, X2, X3))
    (active# plus(X1, X2) -> active# X1, active# U83(X1, X2, X3) -> active# X1)
    (active# plus(X1, X2) -> active# X1, active# U81(tt(), M, N) -> U82#(isNatKind M, M, N))
    (active# plus(X1, X2) -> active# X1, active# U81(tt(), M, N) -> isNatKind# M)
    (active# plus(X1, X2) -> active# X1, active# U81(X1, X2, X3) -> U81#(active X1, X2, X3))
    (active# plus(X1, X2) -> active# X1, active# U81(X1, X2, X3) -> active# X1)
    (active# plus(X1, X2) -> active# X1, active# U82(tt(), M, N) -> U83#(isNat N, M, N))
    (active# plus(X1, X2) -> active# X1, active# U82(tt(), M, N) -> isNat# N)
    (active# plus(X1, X2) -> active# X1, active# U82(X1, X2, X3) -> U82#(active X1, X2, X3))
    (active# plus(X1, X2) -> active# X1, active# U82(X1, X2, X3) -> active# X1)
    (active# plus(X1, X2) -> active# X1, active# U71(tt(), N) -> U72#(isNatKind N, N))
    (active# plus(X1, X2) -> active# X1, active# U71(tt(), N) -> isNatKind# N)
    (active# plus(X1, X2) -> active# X1, active# U71(X1, X2) -> U71#(active X1, X2))
    (active# plus(X1, X2) -> active# X1, active# U71(X1, X2) -> active# X1)
    (active# plus(X1, X2) -> active# X1, active# U72(X1, X2) -> U72#(active X1, X2))
    (active# plus(X1, X2) -> active# X1, active# U72(X1, X2) -> active# X1)
    (active# plus(X1, X2) -> active# X1, active# U61(tt(), V2) -> U62# isNatKind V2)
    (active# plus(X1, X2) -> active# X1, active# U61(tt(), V2) -> isNatKind# V2)
    (active# plus(X1, X2) -> active# X1, active# U61(X1, X2) -> U61#(active X1, X2))
    (active# plus(X1, X2) -> active# X1, active# U61(X1, X2) -> active# X1)
    (active# plus(X1, X2) -> active# X1, active# U62 X -> U62# active X)
    (active# plus(X1, X2) -> active# X1, active# U62 X -> active# X)
    (active# plus(X1, X2) -> active# X1, active# U51 X -> U51# active X)
    (active# plus(X1, X2) -> active# X1, active# U51 X -> active# X)
    (active# plus(X1, X2) -> active# X1, active# U41(tt(), V2) -> U42# isNatKind V2)
    (active# plus(X1, X2) -> active# X1, active# U41(tt(), V2) -> isNatKind# V2)
    (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# U42 X -> U42# active X)
    (active# plus(X1, X2) -> active# X1, active# U42 X -> active# X)
    (active# plus(X1, X2) -> active# X1, active# U36 X -> U36# active X)
    (active# plus(X1, X2) -> active# X1, active# U36 X -> active# X)
    (active# plus(X1, X2) -> active# X1, active# U35(tt(), V2) -> U36# isNat V2)
    (active# plus(X1, X2) -> active# X1, active# U35(tt(), V2) -> isNat# V2)
    (active# plus(X1, X2) -> active# X1, active# U35(X1, X2) -> U35#(active X1, X2))
    (active# plus(X1, X2) -> active# X1, active# U35(X1, X2) -> active# X1)
    (active# plus(X1, X2) -> active# X1, active# U34(tt(), V1, V2) -> U35#(isNat V1, V2))
    (active# plus(X1, X2) -> active# X1, active# U34(tt(), V1, V2) -> isNat# V1)
    (active# plus(X1, X2) -> active# X1, active# U34(X1, X2, X3) -> U34#(active X1, X2, X3))
    (active# plus(X1, X2) -> active# X1, active# U34(X1, X2, X3) -> active# X1)
    (active# plus(X1, X2) -> active# X1, active# U33(tt(), V1, V2) -> U34#(isNatKind V2, V1, V2))
    (active# plus(X1, X2) -> active# X1, active# U33(tt(), V1, V2) -> isNatKind# V2)
    (active# plus(X1, X2) -> active# X1, active# U33(X1, X2, X3) -> U33#(active X1, X2, X3))
    (active# plus(X1, X2) -> active# X1, active# U33(X1, X2, X3) -> active# X1)
    (active# plus(X1, X2) -> active# X1, active# U31(tt(), V1, V2) -> U32#(isNatKind V1, V1, V2))
    (active# plus(X1, X2) -> active# X1, active# U31(tt(), V1, V2) -> isNatKind# 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(), V1, V2) -> U33#(isNatKind V2, V1, V2))
    (active# plus(X1, X2) -> active# X1, active# U32(tt(), V1, V2) -> isNatKind# V2)
    (active# plus(X1, X2) -> active# X1, active# U32(X1, X2, X3) -> U32#(active X1, X2, X3))
    (active# plus(X1, X2) -> active# X1, active# U32(X1, X2, X3) -> active# X1)
    (active# plus(X1, X2) -> active# X1, active# U23 X -> U23# active X)
    (active# plus(X1, X2) -> active# X1, active# U23 X -> active# X)
    (active# plus(X1, X2) -> active# X1, active# U21(tt(), V1) -> U22#(isNatKind V1, V1))
    (active# plus(X1, X2) -> active# X1, active# U21(tt(), V1) -> isNatKind# 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(tt(), V1) -> U23# isNat V1)
    (active# plus(X1, X2) -> active# X1, active# U22(tt(), V1) -> isNat# V1)
    (active# plus(X1, X2) -> active# X1, active# U22(X1, X2) -> U22#(active X1, X2))
    (active# plus(X1, X2) -> active# X1, active# U22(X1, X2) -> active# X1)
    (active# plus(X1, X2) -> active# X1, active# U16 X -> U16# active X)
    (active# plus(X1, X2) -> active# X1, active# U16 X -> active# X)
    (active# plus(X1, X2) -> active# X1, active# U15(tt(), V2) -> U16# isNat V2)
    (active# plus(X1, X2) -> active# X1, active# U15(tt(), V2) -> isNat# V2)
    (active# plus(X1, X2) -> active# X1, active# U15(X1, X2) -> U15#(active X1, X2))
    (active# plus(X1, X2) -> active# X1, active# U15(X1, X2) -> active# X1)
    (active# plus(X1, X2) -> active# X1, active# U14(tt(), V1, V2) -> U15#(isNat V1, V2))
    (active# plus(X1, X2) -> active# X1, active# U14(tt(), V1, V2) -> isNat# V1)
    (active# plus(X1, X2) -> active# X1, active# U14(X1, X2, X3) -> U14#(active X1, X2, X3))
    (active# plus(X1, X2) -> active# X1, active# U14(X1, X2, X3) -> active# X1)
    (active# plus(X1, X2) -> active# X1, active# U13(tt(), V1, V2) -> U14#(isNatKind V2, V1, V2))
    (active# plus(X1, X2) -> active# X1, active# U13(tt(), V1, V2) -> isNatKind# V2)
    (active# plus(X1, X2) -> active# X1, active# U13(X1, X2, X3) -> U13#(active X1, X2, X3))
    (active# plus(X1, X2) -> active# X1, active# U13(X1, X2, X3) -> active# X1)
    (active# plus(X1, X2) -> active# X1, active# U11(tt(), V1, V2) -> U12#(isNatKind V1, V1, V2))
    (active# plus(X1, X2) -> active# X1, active# U11(tt(), V1, V2) -> isNatKind# V1)
    (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# U12(tt(), V1, V2) -> U13#(isNatKind V2, V1, V2))
    (active# plus(X1, X2) -> active# X1, active# U12(tt(), V1, V2) -> isNatKind# V2)
    (active# plus(X1, X2) -> active# X1, active# U12(X1, X2, X3) -> U12#(active X1, X2, X3))
    (active# plus(X1, X2) -> active# X1, active# U12(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()) -> U91#(isNat N, N))
    (active# plus(X1, X2) -> active# X1, active# x(N, 0()) -> isNat# 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) -> U101#(isNat M, M, N))
    (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()) -> U71#(isNat 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) -> U81#(isNat M, M, N))
    (active# plus(X1, X2) -> active# X1, active# plus(N, s M) -> isNat# M)
    (active# plus(X1, X2) -> active# X1, active# U104(tt(), M, N) -> x#(N, M))
    (active# plus(X1, X2) -> active# X1, active# U104(tt(), M, N) -> plus#(x(N, M), N))
    (active# plus(X1, X2) -> active# X1, active# U104(X1, X2, X3) -> U104#(active X1, X2, X3))
    (active# plus(X1, X2) -> active# X1, active# U104(X1, X2, X3) -> active# X1)
    (active# plus(X1, X2) -> active# X1, active# isNat s V1 -> U21#(isNatKind V1, V1))
    (active# plus(X1, X2) -> active# X1, active# isNat s V1 -> isNatKind# V1)
    (active# plus(X1, X2) -> active# X1, active# isNat x(V1, V2) -> U31#(isNatKind V1, V1, V2))
    (active# plus(X1, X2) -> active# X1, active# isNat x(V1, V2) -> isNatKind# V1)
    (active# plus(X1, X2) -> active# X1, active# isNat plus(V1, V2) -> U11#(isNatKind V1, V1, V2))
    (active# plus(X1, X2) -> active# X1, active# isNat plus(V1, V2) -> isNatKind# V1)
    (active# plus(X1, X2) -> active# X1, active# U103(tt(), M, N) -> U104#(isNatKind N, M, N))
    (active# plus(X1, X2) -> active# X1, active# U103(tt(), M, N) -> isNatKind# N)
    (active# plus(X1, X2) -> active# X1, active# U103(X1, X2, X3) -> U103#(active X1, X2, X3))
    (active# plus(X1, X2) -> active# X1, active# U103(X1, X2, X3) -> active# X1)
    (active# plus(X1, X2) -> active# X1, active# U101(tt(), M, N) -> isNatKind# M)
    (active# plus(X1, X2) -> active# X1, active# U101(tt(), M, N) -> U102#(isNatKind M, M, N))
    (active# plus(X1, X2) -> active# X1, active# U101(X1, X2, X3) -> U101#(active X1, X2, X3))
    (active# plus(X1, X2) -> active# X1, active# U101(X1, X2, X3) -> active# X1)
    (active# plus(X1, X2) -> active# X1, active# isNatKind s V1 -> U51# isNatKind V1)
    (active# plus(X1, X2) -> active# X1, active# isNatKind s V1 -> isNatKind# V1)
    (active# plus(X1, X2) -> active# X1, active# isNatKind x(V1, V2) -> U61#(isNatKind V1, V2))
    (active# plus(X1, X2) -> active# X1, active# isNatKind x(V1, V2) -> isNatKind# V1)
    (active# plus(X1, X2) -> active# X1, active# isNatKind plus(V1, V2) -> U41#(isNatKind V1, V2))
    (active# plus(X1, X2) -> active# X1, active# isNatKind plus(V1, V2) -> isNatKind# V1)
    (active# plus(X1, X2) -> active# X1, active# U102(tt(), M, N) -> isNat# N)
    (active# plus(X1, X2) -> active# X1, active# U102(tt(), M, N) -> U103#(isNat N, M, N))
    (active# plus(X1, X2) -> active# X1, active# U102(X1, X2, X3) -> active# X1)
    (active# plus(X1, X2) -> active# X1, active# U102(X1, X2, X3) -> U102#(active X1, X2, X3))
    (active# U12(X1, X2, X3) -> active# X1, active# U91(tt(), N) -> U92# isNatKind N)
    (active# U12(X1, X2, X3) -> active# X1, active# U91(tt(), N) -> isNatKind# N)
    (active# U12(X1, X2, X3) -> active# X1, active# U91(X1, X2) -> U91#(active X1, X2))
    (active# U12(X1, X2, X3) -> active# X1, active# U91(X1, X2) -> active# X1)
    (active# U12(X1, X2, X3) -> active# X1, active# U92 X -> U92# active X)
    (active# U12(X1, X2, X3) -> active# X1, active# U92 X -> active# X)
    (active# U12(X1, X2, X3) -> active# X1, active# s X -> s# active X)
    (active# U12(X1, X2, X3) -> active# X1, active# s X -> active# X)
    (active# U12(X1, X2, X3) -> active# X1, active# U84(tt(), M, N) -> s# plus(N, M))
    (active# U12(X1, X2, X3) -> active# X1, active# U84(tt(), M, N) -> plus#(N, M))
    (active# U12(X1, X2, X3) -> active# X1, active# U84(X1, X2, X3) -> U84#(active X1, X2, X3))
    (active# U12(X1, X2, X3) -> active# X1, active# U84(X1, X2, X3) -> active# X1)
    (active# U12(X1, X2, X3) -> active# X1, active# U83(tt(), M, N) -> U84#(isNatKind N, M, N))
    (active# U12(X1, X2, X3) -> active# X1, active# U83(tt(), M, N) -> isNatKind# N)
    (active# U12(X1, X2, X3) -> active# X1, active# U83(X1, X2, X3) -> U83#(active X1, X2, X3))
    (active# U12(X1, X2, X3) -> active# X1, active# U83(X1, X2, X3) -> active# X1)
    (active# U12(X1, X2, X3) -> active# X1, active# U81(tt(), M, N) -> U82#(isNatKind M, M, N))
    (active# U12(X1, X2, X3) -> active# X1, active# U81(tt(), M, N) -> isNatKind# M)
    (active# U12(X1, X2, X3) -> active# X1, active# U81(X1, X2, X3) -> U81#(active X1, X2, X3))
    (active# U12(X1, X2, X3) -> active# X1, active# U81(X1, X2, X3) -> active# X1)
    (active# U12(X1, X2, X3) -> active# X1, active# U82(tt(), M, N) -> U83#(isNat N, M, N))
    (active# U12(X1, X2, X3) -> active# X1, active# U82(tt(), M, N) -> isNat# N)
    (active# U12(X1, X2, X3) -> active# X1, active# U82(X1, X2, X3) -> U82#(active X1, X2, X3))
    (active# U12(X1, X2, X3) -> active# X1, active# U82(X1, X2, X3) -> active# X1)
    (active# U12(X1, X2, X3) -> active# X1, active# U71(tt(), N) -> U72#(isNatKind N, N))
    (active# U12(X1, X2, X3) -> active# X1, active# U71(tt(), N) -> isNatKind# N)
    (active# U12(X1, X2, X3) -> active# X1, active# U71(X1, X2) -> U71#(active X1, X2))
    (active# U12(X1, X2, X3) -> active# X1, active# U71(X1, X2) -> active# X1)
    (active# U12(X1, X2, X3) -> active# X1, active# U72(X1, X2) -> U72#(active X1, X2))
    (active# U12(X1, X2, X3) -> active# X1, active# U72(X1, X2) -> active# X1)
    (active# U12(X1, X2, X3) -> active# X1, active# U61(tt(), V2) -> U62# isNatKind V2)
    (active# U12(X1, X2, X3) -> active# X1, active# U61(tt(), V2) -> isNatKind# V2)
    (active# U12(X1, X2, X3) -> active# X1, active# U61(X1, X2) -> U61#(active X1, X2))
    (active# U12(X1, X2, X3) -> active# X1, active# U61(X1, X2) -> active# X1)
    (active# U12(X1, X2, X3) -> active# X1, active# U62 X -> U62# active X)
    (active# U12(X1, X2, X3) -> active# X1, active# U62 X -> active# X)
    (active# U12(X1, X2, X3) -> active# X1, active# U51 X -> U51# active X)
    (active# U12(X1, X2, X3) -> active# X1, active# U51 X -> active# X)
    (active# U12(X1, X2, X3) -> active# X1, active# U41(tt(), V2) -> U42# isNatKind V2)
    (active# U12(X1, X2, X3) -> active# X1, active# U41(tt(), V2) -> isNatKind# V2)
    (active# U12(X1, X2, X3) -> active# X1, active# U41(X1, X2) -> U41#(active X1, X2))
    (active# U12(X1, X2, X3) -> active# X1, active# U41(X1, X2) -> active# X1)
    (active# U12(X1, X2, X3) -> active# X1, active# U42 X -> U42# active X)
    (active# U12(X1, X2, X3) -> active# X1, active# U42 X -> active# X)
    (active# U12(X1, X2, X3) -> active# X1, active# U36 X -> U36# active X)
    (active# U12(X1, X2, X3) -> active# X1, active# U36 X -> active# X)
    (active# U12(X1, X2, X3) -> active# X1, active# U35(tt(), V2) -> U36# isNat V2)
    (active# U12(X1, X2, X3) -> active# X1, active# U35(tt(), V2) -> isNat# V2)
    (active# U12(X1, X2, X3) -> active# X1, active# U35(X1, X2) -> U35#(active X1, X2))
    (active# U12(X1, X2, X3) -> active# X1, active# U35(X1, X2) -> active# X1)
    (active# U12(X1, X2, X3) -> active# X1, active# U34(tt(), V1, V2) -> U35#(isNat V1, V2))
    (active# U12(X1, X2, X3) -> active# X1, active# U34(tt(), V1, V2) -> isNat# V1)
    (active# U12(X1, X2, X3) -> active# X1, active# U34(X1, X2, X3) -> U34#(active X1, X2, X3))
    (active# U12(X1, X2, X3) -> active# X1, active# U34(X1, X2, X3) -> active# X1)
    (active# U12(X1, X2, X3) -> active# X1, active# U33(tt(), V1, V2) -> U34#(isNatKind V2, V1, V2))
    (active# U12(X1, X2, X3) -> active# X1, active# U33(tt(), V1, V2) -> isNatKind# V2)
    (active# U12(X1, X2, X3) -> active# X1, active# U33(X1, X2, X3) -> U33#(active X1, X2, X3))
    (active# U12(X1, X2, X3) -> active# X1, active# U33(X1, X2, X3) -> active# X1)
    (active# U12(X1, X2, X3) -> active# X1, active# U31(tt(), V1, V2) -> U32#(isNatKind V1, V1, V2))
    (active# U12(X1, X2, X3) -> active# X1, active# U31(tt(), V1, V2) -> isNatKind# V1)
    (active# U12(X1, X2, X3) -> active# X1, active# U31(X1, X2, X3) -> U31#(active X1, X2, X3))
    (active# U12(X1, X2, X3) -> active# X1, active# U31(X1, X2, X3) -> active# X1)
    (active# U12(X1, X2, X3) -> active# X1, active# U32(tt(), V1, V2) -> U33#(isNatKind V2, V1, V2))
    (active# U12(X1, X2, X3) -> active# X1, active# U32(tt(), V1, V2) -> isNatKind# V2)
    (active# U12(X1, X2, X3) -> active# X1, active# U32(X1, X2, X3) -> U32#(active X1, X2, X3))
    (active# U12(X1, X2, X3) -> active# X1, active# U32(X1, X2, X3) -> active# X1)
    (active# U12(X1, X2, X3) -> active# X1, active# U23 X -> U23# active X)
    (active# U12(X1, X2, X3) -> active# X1, active# U23 X -> active# X)
    (active# U12(X1, X2, X3) -> active# X1, active# U21(tt(), V1) -> U22#(isNatKind V1, V1))
    (active# U12(X1, X2, X3) -> active# X1, active# U21(tt(), V1) -> isNatKind# V1)
    (active# U12(X1, X2, X3) -> active# X1, active# U21(X1, X2) -> U21#(active X1, X2))
    (active# U12(X1, X2, X3) -> active# X1, active# U21(X1, X2) -> active# X1)
    (active# U12(X1, X2, X3) -> active# X1, active# U22(tt(), V1) -> U23# isNat V1)
    (active# U12(X1, X2, X3) -> active# X1, active# U22(tt(), V1) -> isNat# V1)
    (active# U12(X1, X2, X3) -> active# X1, active# U22(X1, X2) -> U22#(active X1, X2))
    (active# U12(X1, X2, X3) -> active# X1, active# U22(X1, X2) -> active# X1)
    (active# U12(X1, X2, X3) -> active# X1, active# U16 X -> U16# active X)
    (active# U12(X1, X2, X3) -> active# X1, active# U16 X -> active# X)
    (active# U12(X1, X2, X3) -> active# X1, active# U15(tt(), V2) -> U16# isNat V2)
    (active# U12(X1, X2, X3) -> active# X1, active# U15(tt(), V2) -> isNat# V2)
    (active# U12(X1, X2, X3) -> active# X1, active# U15(X1, X2) -> U15#(active X1, X2))
    (active# U12(X1, X2, X3) -> active# X1, active# U15(X1, X2) -> active# X1)
    (active# U12(X1, X2, X3) -> active# X1, active# U14(tt(), V1, V2) -> U15#(isNat V1, V2))
    (active# U12(X1, X2, X3) -> active# X1, active# U14(tt(), V1, V2) -> isNat# V1)
    (active# U12(X1, X2, X3) -> active# X1, active# U14(X1, X2, X3) -> U14#(active X1, X2, X3))
    (active# U12(X1, X2, X3) -> active# X1, active# U14(X1, X2, X3) -> active# X1)
    (active# U12(X1, X2, X3) -> active# X1, active# U13(tt(), V1, V2) -> U14#(isNatKind V2, V1, V2))
    (active# U12(X1, X2, X3) -> active# X1, active# U13(tt(), V1, V2) -> isNatKind# V2)
    (active# U12(X1, X2, X3) -> active# X1, active# U13(X1, X2, X3) -> U13#(active X1, X2, X3))
    (active# U12(X1, X2, X3) -> active# X1, active# U13(X1, X2, X3) -> active# X1)
    (active# U12(X1, X2, X3) -> active# X1, active# U11(tt(), V1, V2) -> U12#(isNatKind V1, V1, V2))
    (active# U12(X1, X2, X3) -> active# X1, active# U11(tt(), V1, V2) -> isNatKind# V1)
    (active# U12(X1, X2, X3) -> active# X1, active# U11(X1, X2, X3) -> U11#(active X1, X2, X3))
    (active# U12(X1, X2, X3) -> active# X1, active# U11(X1, X2, X3) -> active# X1)
    (active# U12(X1, X2, X3) -> active# X1, active# U12(tt(), V1, V2) -> U13#(isNatKind V2, V1, V2))
    (active# U12(X1, X2, X3) -> active# X1, active# U12(tt(), V1, V2) -> isNatKind# V2)
    (active# U12(X1, X2, X3) -> active# X1, active# U12(X1, X2, X3) -> U12#(active X1, X2, X3))
    (active# U12(X1, X2, X3) -> active# X1, active# U12(X1, X2, X3) -> active# X1)
    (active# U12(X1, X2, X3) -> active# X1, active# x(X1, X2) -> x#(active X1, X2))
    (active# U12(X1, X2, X3) -> active# X1, active# x(X1, X2) -> x#(X1, active X2))
    (active# U12(X1, X2, X3) -> active# X1, active# x(X1, X2) -> active# X2)
    (active# U12(X1, X2, X3) -> active# X1, active# x(X1, X2) -> active# X1)
    (active# U12(X1, X2, X3) -> active# X1, active# x(N, 0()) -> U91#(isNat N, N))
    (active# U12(X1, X2, X3) -> active# X1, active# x(N, 0()) -> isNat# N)
    (active# U12(X1, X2, X3) -> active# X1, active# x(N, s M) -> isNat# M)
    (active# U12(X1, X2, X3) -> active# X1, active# x(N, s M) -> U101#(isNat M, M, N))
    (active# U12(X1, X2, X3) -> active# X1, active# plus(X1, X2) -> plus#(active X1, X2))
    (active# U12(X1, X2, X3) -> active# X1, active# plus(X1, X2) -> plus#(X1, active X2))
    (active# U12(X1, X2, X3) -> active# X1, active# plus(X1, X2) -> active# X2)
    (active# U12(X1, X2, X3) -> active# X1, active# plus(X1, X2) -> active# X1)
    (active# U12(X1, X2, X3) -> active# X1, active# plus(N, 0()) -> U71#(isNat N, N))
    (active# U12(X1, X2, X3) -> active# X1, active# plus(N, 0()) -> isNat# N)
    (active# U12(X1, X2, X3) -> active# X1, active# plus(N, s M) -> U81#(isNat M, M, N))
    (active# U12(X1, X2, X3) -> active# X1, active# plus(N, s M) -> isNat# M)
    (active# U12(X1, X2, X3) -> active# X1, active# U104(tt(), M, N) -> x#(N, M))
    (active# U12(X1, X2, X3) -> active# X1, active# U104(tt(), M, N) -> plus#(x(N, M), N))
    (active# U12(X1, X2, X3) -> active# X1, active# U104(X1, X2, X3) -> U104#(active X1, X2, X3))
    (active# U12(X1, X2, X3) -> active# X1, active# U104(X1, X2, X3) -> active# X1)
    (active# U12(X1, X2, X3) -> active# X1, active# isNat s V1 -> U21#(isNatKind V1, V1))
    (active# U12(X1, X2, X3) -> active# X1, active# isNat s V1 -> isNatKind# V1)
    (active# U12(X1, X2, X3) -> active# X1, active# isNat x(V1, V2) -> U31#(isNatKind V1, V1, V2))
    (active# U12(X1, X2, X3) -> active# X1, active# isNat x(V1, V2) -> isNatKind# V1)
    (active# U12(X1, X2, X3) -> active# X1, active# isNat plus(V1, V2) -> U11#(isNatKind V1, V1, V2))
    (active# U12(X1, X2, X3) -> active# X1, active# isNat plus(V1, V2) -> isNatKind# V1)
    (active# U12(X1, X2, X3) -> active# X1, active# U103(tt(), M, N) -> U104#(isNatKind N, M, N))
    (active# U12(X1, X2, X3) -> active# X1, active# U103(tt(), M, N) -> isNatKind# N)
    (active# U12(X1, X2, X3) -> active# X1, active# U103(X1, X2, X3) -> U103#(active X1, X2, X3))
    (active# U12(X1, X2, X3) -> active# X1, active# U103(X1, X2, X3) -> active# X1)
    (active# U12(X1, X2, X3) -> active# X1, active# U101(tt(), M, N) -> isNatKind# M)
    (active# U12(X1, X2, X3) -> active# X1, active# U101(tt(), M, N) -> U102#(isNatKind M, M, N))
    (active# U12(X1, X2, X3) -> active# X1, active# U101(X1, X2, X3) -> U101#(active X1, X2, X3))
    (active# U12(X1, X2, X3) -> active# X1, active# U101(X1, X2, X3) -> active# X1)
    (active# U12(X1, X2, X3) -> active# X1, active# isNatKind s V1 -> U51# isNatKind V1)
    (active# U12(X1, X2, X3) -> active# X1, active# isNatKind s V1 -> isNatKind# V1)
    (active# U12(X1, X2, X3) -> active# X1, active# isNatKind x(V1, V2) -> U61#(isNatKind V1, V2))
    (active# U12(X1, X2, X3) -> active# X1, active# isNatKind x(V1, V2) -> isNatKind# V1)
    (active# U12(X1, X2, X3) -> active# X1, active# isNatKind plus(V1, V2) -> U41#(isNatKind V1, V2))
    (active# U12(X1, X2, X3) -> active# X1, active# isNatKind plus(V1, V2) -> isNatKind# V1)
    (active# U12(X1, X2, X3) -> active# X1, active# U102(tt(), M, N) -> isNat# N)
    (active# U12(X1, X2, X3) -> active# X1, active# U102(tt(), M, N) -> U103#(isNat N, M, N))
    (active# U12(X1, X2, X3) -> active# X1, active# U102(X1, X2, X3) -> active# X1)
    (active# U12(X1, X2, X3) -> active# X1, active# U102(X1, X2, X3) -> U102#(active X1, X2, X3))
    (active# U13(X1, X2, X3) -> active# X1, active# U91(tt(), N) -> U92# isNatKind N)
    (active# U13(X1, X2, X3) -> active# X1, active# U91(tt(), N) -> isNatKind# N)
    (active# U13(X1, X2, X3) -> active# X1, active# U91(X1, X2) -> U91#(active X1, X2))
    (active# U13(X1, X2, X3) -> active# X1, active# U91(X1, X2) -> active# X1)
    (active# U13(X1, X2, X3) -> active# X1, active# U92 X -> U92# active X)
    (active# U13(X1, X2, X3) -> active# X1, active# U92 X -> active# X)
    (active# U13(X1, X2, X3) -> active# X1, active# s X -> s# active X)
    (active# U13(X1, X2, X3) -> active# X1, active# s X -> active# X)
    (active# U13(X1, X2, X3) -> active# X1, active# U84(tt(), M, N) -> s# plus(N, M))
    (active# U13(X1, X2, X3) -> active# X1, active# U84(tt(), M, N) -> plus#(N, M))
    (active# U13(X1, X2, X3) -> active# X1, active# U84(X1, X2, X3) -> U84#(active X1, X2, X3))
    (active# U13(X1, X2, X3) -> active# X1, active# U84(X1, X2, X3) -> active# X1)
    (active# U13(X1, X2, X3) -> active# X1, active# U83(tt(), M, N) -> U84#(isNatKind N, M, N))
    (active# U13(X1, X2, X3) -> active# X1, active# U83(tt(), M, N) -> isNatKind# N)
    (active# U13(X1, X2, X3) -> active# X1, active# U83(X1, X2, X3) -> U83#(active X1, X2, X3))
    (active# U13(X1, X2, X3) -> active# X1, active# U83(X1, X2, X3) -> active# X1)
    (active# U13(X1, X2, X3) -> active# X1, active# U81(tt(), M, N) -> U82#(isNatKind M, M, N))
    (active# U13(X1, X2, X3) -> active# X1, active# U81(tt(), M, N) -> isNatKind# M)
    (active# U13(X1, X2, X3) -> active# X1, active# U81(X1, X2, X3) -> U81#(active X1, X2, X3))
    (active# U13(X1, X2, X3) -> active# X1, active# U81(X1, X2, X3) -> active# X1)
    (active# U13(X1, X2, X3) -> active# X1, active# U82(tt(), M, N) -> U83#(isNat N, M, N))
    (active# U13(X1, X2, X3) -> active# X1, active# U82(tt(), M, N) -> isNat# N)
    (active# U13(X1, X2, X3) -> active# X1, active# U82(X1, X2, X3) -> U82#(active X1, X2, X3))
    (active# U13(X1, X2, X3) -> active# X1, active# U82(X1, X2, X3) -> active# X1)
    (active# U13(X1, X2, X3) -> active# X1, active# U71(tt(), N) -> U72#(isNatKind N, N))
    (active# U13(X1, X2, X3) -> active# X1, active# U71(tt(), N) -> isNatKind# N)
    (active# U13(X1, X2, X3) -> active# X1, active# U71(X1, X2) -> U71#(active X1, X2))
    (active# U13(X1, X2, X3) -> active# X1, active# U71(X1, X2) -> active# X1)
    (active# U13(X1, X2, X3) -> active# X1, active# U72(X1, X2) -> U72#(active X1, X2))
    (active# U13(X1, X2, X3) -> active# X1, active# U72(X1, X2) -> active# X1)
    (active# U13(X1, X2, X3) -> active# X1, active# U61(tt(), V2) -> U62# isNatKind V2)
    (active# U13(X1, X2, X3) -> active# X1, active# U61(tt(), V2) -> isNatKind# V2)
    (active# U13(X1, X2, X3) -> active# X1, active# U61(X1, X2) -> U61#(active X1, X2))
    (active# U13(X1, X2, X3) -> active# X1, active# U61(X1, X2) -> active# X1)
    (active# U13(X1, X2, X3) -> active# X1, active# U62 X -> U62# active X)
    (active# U13(X1, X2, X3) -> active# X1, active# U62 X -> active# X)
    (active# U13(X1, X2, X3) -> active# X1, active# U51 X -> U51# active X)
    (active# U13(X1, X2, X3) -> active# X1, active# U51 X -> active# X)
    (active# U13(X1, X2, X3) -> active# X1, active# U41(tt(), V2) -> U42# isNatKind V2)
    (active# U13(X1, X2, X3) -> active# X1, active# U41(tt(), V2) -> isNatKind# V2)
    (active# U13(X1, X2, X3) -> active# X1, active# U41(X1, X2) -> U41#(active X1, X2))
    (active# U13(X1, X2, X3) -> active# X1, active# U41(X1, X2) -> active# X1)
    (active# U13(X1, X2, X3) -> active# X1, active# U42 X -> U42# active X)
    (active# U13(X1, X2, X3) -> active# X1, active# U42 X -> active# X)
    (active# U13(X1, X2, X3) -> active# X1, active# U36 X -> U36# active X)
    (active# U13(X1, X2, X3) -> active# X1, active# U36 X -> active# X)
    (active# U13(X1, X2, X3) -> active# X1, active# U35(tt(), V2) -> U36# isNat V2)
    (active# U13(X1, X2, X3) -> active# X1, active# U35(tt(), V2) -> isNat# V2)
    (active# U13(X1, X2, X3) -> active# X1, active# U35(X1, X2) -> U35#(active X1, X2))
    (active# U13(X1, X2, X3) -> active# X1, active# U35(X1, X2) -> active# X1)
    (active# U13(X1, X2, X3) -> active# X1, active# U34(tt(), V1, V2) -> U35#(isNat V1, V2))
    (active# U13(X1, X2, X3) -> active# X1, active# U34(tt(), V1, V2) -> isNat# V1)
    (active# U13(X1, X2, X3) -> active# X1, active# U34(X1, X2, X3) -> U34#(active X1, X2, X3))
    (active# U13(X1, X2, X3) -> active# X1, active# U34(X1, X2, X3) -> active# X1)
    (active# U13(X1, X2, X3) -> active# X1, active# U33(tt(), V1, V2) -> U34#(isNatKind V2, V1, V2))
    (active# U13(X1, X2, X3) -> active# X1, active# U33(tt(), V1, V2) -> isNatKind# V2)
    (active# U13(X1, X2, X3) -> active# X1, active# U33(X1, X2, X3) -> U33#(active X1, X2, X3))
    (active# U13(X1, X2, X3) -> active# X1, active# U33(X1, X2, X3) -> active# X1)
    (active# U13(X1, X2, X3) -> active# X1, active# U31(tt(), V1, V2) -> U32#(isNatKind V1, V1, V2))
    (active# U13(X1, X2, X3) -> active# X1, active# U31(tt(), V1, V2) -> isNatKind# V1)
    (active# U13(X1, X2, X3) -> active# X1, active# U31(X1, X2, X3) -> U31#(active X1, X2, X3))
    (active# U13(X1, X2, X3) -> active# X1, active# U31(X1, X2, X3) -> active# X1)
    (active# U13(X1, X2, X3) -> active# X1, active# U32(tt(), V1, V2) -> U33#(isNatKind V2, V1, V2))
    (active# U13(X1, X2, X3) -> active# X1, active# U32(tt(), V1, V2) -> isNatKind# V2)
    (active# U13(X1, X2, X3) -> active# X1, active# U32(X1, X2, X3) -> U32#(active X1, X2, X3))
    (active# U13(X1, X2, X3) -> active# X1, active# U32(X1, X2, X3) -> active# X1)
    (active# U13(X1, X2, X3) -> active# X1, active# U23 X -> U23# active X)
    (active# U13(X1, X2, X3) -> active# X1, active# U23 X -> active# X)
    (active# U13(X1, X2, X3) -> active# X1, active# U21(tt(), V1) -> U22#(isNatKind V1, V1))
    (active# U13(X1, X2, X3) -> active# X1, active# U21(tt(), V1) -> isNatKind# V1)
    (active# U13(X1, X2, X3) -> active# X1, active# U21(X1, X2) -> U21#(active X1, X2))
    (active# U13(X1, X2, X3) -> active# X1, active# U21(X1, X2) -> active# X1)
    (active# U13(X1, X2, X3) -> active# X1, active# U22(tt(), V1) -> U23# isNat V1)
    (active# U13(X1, X2, X3) -> active# X1, active# U22(tt(), V1) -> isNat# V1)
    (active# U13(X1, X2, X3) -> active# X1, active# U22(X1, X2) -> U22#(active X1, X2))
    (active# U13(X1, X2, X3) -> active# X1, active# U22(X1, X2) -> active# X1)
    (active# U13(X1, X2, X3) -> active# X1, active# U16 X -> U16# active X)
    (active# U13(X1, X2, X3) -> active# X1, active# U16 X -> active# X)
    (active# U13(X1, X2, X3) -> active# X1, active# U15(tt(), V2) -> U16# isNat V2)
    (active# U13(X1, X2, X3) -> active# X1, active# U15(tt(), V2) -> isNat# V2)
    (active# U13(X1, X2, X3) -> active# X1, active# U15(X1, X2) -> U15#(active X1, X2))
    (active# U13(X1, X2, X3) -> active# X1, active# U15(X1, X2) -> active# X1)
    (active# U13(X1, X2, X3) -> active# X1, active# U14(tt(), V1, V2) -> U15#(isNat V1, V2))
    (active# U13(X1, X2, X3) -> active# X1, active# U14(tt(), V1, V2) -> isNat# V1)
    (active# U13(X1, X2, X3) -> active# X1, active# U14(X1, X2, X3) -> U14#(active X1, X2, X3))
    (active# U13(X1, X2, X3) -> active# X1, active# U14(X1, X2, X3) -> active# X1)
    (active# U13(X1, X2, X3) -> active# X1, active# U13(tt(), V1, V2) -> U14#(isNatKind V2, V1, V2))
    (active# U13(X1, X2, X3) -> active# X1, active# U13(tt(), V1, V2) -> isNatKind# V2)
    (active# U13(X1, X2, X3) -> active# X1, active# U13(X1, X2, X3) -> U13#(active X1, X2, X3))
    (active# U13(X1, X2, X3) -> active# X1, active# U13(X1, X2, X3) -> active# X1)
    (active# U13(X1, X2, X3) -> active# X1, active# U11(tt(), V1, V2) -> U12#(isNatKind V1, V1, V2))
    (active# U13(X1, X2, X3) -> active# X1, active# U11(tt(), V1, V2) -> isNatKind# V1)
    (active# U13(X1, X2, X3) -> active# X1, active# U11(X1, X2, X3) -> U11#(active X1, X2, X3))
    (active# U13(X1, X2, X3) -> active# X1, active# U11(X1, X2, X3) -> active# X1)
    (active# U13(X1, X2, X3) -> active# X1, active# U12(tt(), V1, V2) -> U13#(isNatKind V2, V1, V2))
    (active# U13(X1, X2, X3) -> active# X1, active# U12(tt(), V1, V2) -> isNatKind# V2)
    (active# U13(X1, X2, X3) -> active# X1, active# U12(X1, X2, X3) -> U12#(active X1, X2, X3))
    (active# U13(X1, X2, X3) -> active# X1, active# U12(X1, X2, X3) -> active# X1)
    (active# U13(X1, X2, X3) -> active# X1, active# x(X1, X2) -> x#(active X1, X2))
    (active# U13(X1, X2, X3) -> active# X1, active# x(X1, X2) -> x#(X1, active X2))
    (active# U13(X1, X2, X3) -> active# X1, active# x(X1, X2) -> active# X2)
    (active# U13(X1, X2, X3) -> active# X1, active# x(X1, X2) -> active# X1)
    (active# U13(X1, X2, X3) -> active# X1, active# x(N, 0()) -> U91#(isNat N, N))
    (active# U13(X1, X2, X3) -> active# X1, active# x(N, 0()) -> isNat# N)
    (active# U13(X1, X2, X3) -> active# X1, active# x(N, s M) -> isNat# M)
    (active# U13(X1, X2, X3) -> active# X1, active# x(N, s M) -> U101#(isNat M, M, N))
    (active# U13(X1, X2, X3) -> active# X1, active# plus(X1, X2) -> plus#(active X1, X2))
    (active# U13(X1, X2, X3) -> active# X1, active# plus(X1, X2) -> plus#(X1, active X2))
    (active# U13(X1, X2, X3) -> active# X1, active# plus(X1, X2) -> active# X2)
    (active# U13(X1, X2, X3) -> active# X1, active# plus(X1, X2) -> active# X1)
    (active# U13(X1, X2, X3) -> active# X1, active# plus(N, 0()) -> U71#(isNat N, N))
    (active# U13(X1, X2, X3) -> active# X1, active# plus(N, 0()) -> isNat# N)
    (active# U13(X1, X2, X3) -> active# X1, active# plus(N, s M) -> U81#(isNat M, M, N))
    (active# U13(X1, X2, X3) -> active# X1, active# plus(N, s M) -> isNat# M)
    (active# U13(X1, X2, X3) -> active# X1, active# U104(tt(), M, N) -> x#(N, M))
    (active# U13(X1, X2, X3) -> active# X1, active# U104(tt(), M, N) -> plus#(x(N, M), N))
    (active# U13(X1, X2, X3) -> active# X1, active# U104(X1, X2, X3) -> U104#(active X1, X2, X3))
    (active# U13(X1, X2, X3) -> active# X1, active# U104(X1, X2, X3) -> active# X1)
    (active# U13(X1, X2, X3) -> active# X1, active# isNat s V1 -> U21#(isNatKind V1, V1))
    (active# U13(X1, X2, X3) -> active# X1, active# isNat s V1 -> isNatKind# V1)
    (active# U13(X1, X2, X3) -> active# X1, active# isNat x(V1, V2) -> U31#(isNatKind V1, V1, V2))
    (active# U13(X1, X2, X3) -> active# X1, active# isNat x(V1, V2) -> isNatKind# V1)
    (active# U13(X1, X2, X3) -> active# X1, active# isNat plus(V1, V2) -> U11#(isNatKind V1, V1, V2))
    (active# U13(X1, X2, X3) -> active# X1, active# isNat plus(V1, V2) -> isNatKind# V1)
    (active# U13(X1, X2, X3) -> active# X1, active# U103(tt(), M, N) -> U104#(isNatKind N, M, N))
    (active# U13(X1, X2, X3) -> active# X1, active# U103(tt(), M, N) -> isNatKind# N)
    (active# U13(X1, X2, X3) -> active# X1, active# U103(X1, X2, X3) -> U103#(active X1, X2, X3))
    (active# U13(X1, X2, X3) -> active# X1, active# U103(X1, X2, X3) -> active# X1)
    (active# U13(X1, X2, X3) -> active# X1, active# U101(tt(), M, N) -> isNatKind# M)
    (active# U13(X1, X2, X3) -> active# X1, active# U101(tt(), M, N) -> U102#(isNatKind M, M, N))
    (active# U13(X1, X2, X3) -> active# X1, active# U101(X1, X2, X3) -> U101#(active X1, X2, X3))
    (active# U13(X1, X2, X3) -> active# X1, active# U101(X1, X2, X3) -> active# X1)
    (active# U13(X1, X2, X3) -> active# X1, active# isNatKind s V1 -> U51# isNatKind V1)
    (active# U13(X1, X2, X3) -> active# X1, active# isNatKind s V1 -> isNatKind# V1)
    (active# U13(X1, X2, X3) -> active# X1, active# isNatKind x(V1, V2) -> U61#(isNatKind V1, V2))
    (active# U13(X1, X2, X3) -> active# X1, active# isNatKind x(V1, V2) -> isNatKind# V1)
    (active# U13(X1, X2, X3) -> active# X1, active# isNatKind plus(V1, V2) -> U41#(isNatKind V1, V2))
    (active# U13(X1, X2, X3) -> active# X1, active# isNatKind plus(V1, V2) -> isNatKind# V1)
    (active# U13(X1, X2, X3) -> active# X1, active# U102(tt(), M, N) -> isNat# N)
    (active# U13(X1, X2, X3) -> active# X1, active# U102(tt(), M, N) -> U103#(isNat N, M, N))
    (active# U13(X1, X2, X3) -> active# X1, active# U102(X1, X2, X3) -> active# X1)
    (active# U13(X1, X2, X3) -> active# X1, active# U102(X1, X2, X3) -> U102#(active X1, X2, X3))
    (active# U15(X1, X2) -> active# X1, active# U91(tt(), N) -> U92# isNatKind N)
    (active# U15(X1, X2) -> active# X1, active# U91(tt(), N) -> isNatKind# N)
    (active# U15(X1, X2) -> active# X1, active# U91(X1, X2) -> U91#(active X1, X2))
    (active# U15(X1, X2) -> active# X1, active# U91(X1, X2) -> active# X1)
    (active# U15(X1, X2) -> active# X1, active# U92 X -> U92# active X)
    (active# U15(X1, X2) -> active# X1, active# U92 X -> active# X)
    (active# U15(X1, X2) -> active# X1, active# s X -> s# active X)
    (active# U15(X1, X2) -> active# X1, active# s X -> active# X)
    (active# U15(X1, X2) -> active# X1, active# U84(tt(), M, N) -> s# plus(N, M))
    (active# U15(X1, X2) -> active# X1, active# U84(tt(), M, N) -> plus#(N, M))
    (active# U15(X1, X2) -> active# X1, active# U84(X1, X2, X3) -> U84#(active X1, X2, X3))
    (active# U15(X1, X2) -> active# X1, active# U84(X1, X2, X3) -> active# X1)
    (active# U15(X1, X2) -> active# X1, active# U83(tt(), M, N) -> U84#(isNatKind N, M, N))
    (active# U15(X1, X2) -> active# X1, active# U83(tt(), M, N) -> isNatKind# N)
    (active# U15(X1, X2) -> active# X1, active# U83(X1, X2, X3) -> U83#(active X1, X2, X3))
    (active# U15(X1, X2) -> active# X1, active# U83(X1, X2, X3) -> active# X1)
    (active# U15(X1, X2) -> active# X1, active# U81(tt(), M, N) -> U82#(isNatKind M, M, N))
    (active# U15(X1, X2) -> active# X1, active# U81(tt(), M, N) -> isNatKind# M)
    (active# U15(X1, X2) -> active# X1, active# U81(X1, X2, X3) -> U81#(active X1, X2, X3))
    (active# U15(X1, X2) -> active# X1, active# U81(X1, X2, X3) -> active# X1)
    (active# U15(X1, X2) -> active# X1, active# U82(tt(), M, N) -> U83#(isNat N, M, N))
    (active# U15(X1, X2) -> active# X1, active# U82(tt(), M, N) -> isNat# N)
    (active# U15(X1, X2) -> active# X1, active# U82(X1, X2, X3) -> U82#(active X1, X2, X3))
    (active# U15(X1, X2) -> active# X1, active# U82(X1, X2, X3) -> active# X1)
    (active# U15(X1, X2) -> active# X1, active# U71(tt(), N) -> U72#(isNatKind N, N))
    (active# U15(X1, X2) -> active# X1, active# U71(tt(), N) -> isNatKind# N)
    (active# U15(X1, X2) -> active# X1, active# U71(X1, X2) -> U71#(active X1, X2))
    (active# U15(X1, X2) -> active# X1, active# U71(X1, X2) -> active# X1)
    (active# U15(X1, X2) -> active# X1, active# U72(X1, X2) -> U72#(active X1, X2))
    (active# U15(X1, X2) -> active# X1, active# U72(X1, X2) -> active# X1)
    (active# U15(X1, X2) -> active# X1, active# U61(tt(), V2) -> U62# isNatKind V2)
    (active# U15(X1, X2) -> active# X1, active# U61(tt(), V2) -> isNatKind# V2)
    (active# U15(X1, X2) -> active# X1, active# U61(X1, X2) -> U61#(active X1, X2))
    (active# U15(X1, X2) -> active# X1, active# U61(X1, X2) -> active# X1)
    (active# U15(X1, X2) -> active# X1, active# U62 X -> U62# active X)
    (active# U15(X1, X2) -> active# X1, active# U62 X -> active# X)
    (active# U15(X1, X2) -> active# X1, active# U51 X -> U51# active X)
    (active# U15(X1, X2) -> active# X1, active# U51 X -> active# X)
    (active# U15(X1, X2) -> active# X1, active# U41(tt(), V2) -> U42# isNatKind V2)
    (active# U15(X1, X2) -> active# X1, active# U41(tt(), V2) -> isNatKind# V2)
    (active# U15(X1, X2) -> active# X1, active# U41(X1, X2) -> U41#(active X1, X2))
    (active# U15(X1, X2) -> active# X1, active# U41(X1, X2) -> active# X1)
    (active# U15(X1, X2) -> active# X1, active# U42 X -> U42# active X)
    (active# U15(X1, X2) -> active# X1, active# U42 X -> active# X)
    (active# U15(X1, X2) -> active# X1, active# U36 X -> U36# active X)
    (active# U15(X1, X2) -> active# X1, active# U36 X -> active# X)
    (active# U15(X1, X2) -> active# X1, active# U35(tt(), V2) -> U36# isNat V2)
    (active# U15(X1, X2) -> active# X1, active# U35(tt(), V2) -> isNat# V2)
    (active# U15(X1, X2) -> active# X1, active# U35(X1, X2) -> U35#(active X1, X2))
    (active# U15(X1, X2) -> active# X1, active# U35(X1, X2) -> active# X1)
    (active# U15(X1, X2) -> active# X1, active# U34(tt(), V1, V2) -> U35#(isNat V1, V2))
    (active# U15(X1, X2) -> active# X1, active# U34(tt(), V1, V2) -> isNat# V1)
    (active# U15(X1, X2) -> active# X1, active# U34(X1, X2, X3) -> U34#(active X1, X2, X3))
    (active# U15(X1, X2) -> active# X1, active# U34(X1, X2, X3) -> active# X1)
    (active# U15(X1, X2) -> active# X1, active# U33(tt(), V1, V2) -> U34#(isNatKind V2, V1, V2))
    (active# U15(X1, X2) -> active# X1, active# U33(tt(), V1, V2) -> isNatKind# V2)
    (active# U15(X1, X2) -> active# X1, active# U33(X1, X2, X3) -> U33#(active X1, X2, X3))
    (active# U15(X1, X2) -> active# X1, active# U33(X1, X2, X3) -> active# X1)
    (active# U15(X1, X2) -> active# X1, active# U31(tt(), V1, V2) -> U32#(isNatKind V1, V1, V2))
    (active# U15(X1, X2) -> active# X1, active# U31(tt(), V1, V2) -> isNatKind# V1)
    (active# U15(X1, X2) -> active# X1, active# U31(X1, X2, X3) -> U31#(active X1, X2, X3))
    (active# U15(X1, X2) -> active# X1, active# U31(X1, X2, X3) -> active# X1)
    (active# U15(X1, X2) -> active# X1, active# U32(tt(), V1, V2) -> U33#(isNatKind V2, V1, V2))
    (active# U15(X1, X2) -> active# X1, active# U32(tt(), V1, V2) -> isNatKind# V2)
    (active# U15(X1, X2) -> active# X1, active# U32(X1, X2, X3) -> U32#(active X1, X2, X3))
    (active# U15(X1, X2) -> active# X1, active# U32(X1, X2, X3) -> active# X1)
    (active# U15(X1, X2) -> active# X1, active# U23 X -> U23# active X)
    (active# U15(X1, X2) -> active# X1, active# U23 X -> active# X)
    (active# U15(X1, X2) -> active# X1, active# U21(tt(), V1) -> U22#(isNatKind V1, V1))
    (active# U15(X1, X2) -> active# X1, active# U21(tt(), V1) -> isNatKind# V1)
    (active# U15(X1, X2) -> active# X1, active# U21(X1, X2) -> U21#(active X1, X2))
    (active# U15(X1, X2) -> active# X1, active# U21(X1, X2) -> active# X1)
    (active# U15(X1, X2) -> active# X1, active# U22(tt(), V1) -> U23# isNat V1)
    (active# U15(X1, X2) -> active# X1, active# U22(tt(), V1) -> isNat# V1)
    (active# U15(X1, X2) -> active# X1, active# U22(X1, X2) -> U22#(active X1, X2))
    (active# U15(X1, X2) -> active# X1, active# U22(X1, X2) -> active# X1)
    (active# U15(X1, X2) -> active# X1, active# U16 X -> U16# active X)
    (active# U15(X1, X2) -> active# X1, active# U16 X -> active# X)
    (active# U15(X1, X2) -> active# X1, active# U15(tt(), V2) -> U16# isNat V2)
    (active# U15(X1, X2) -> active# X1, active# U15(tt(), V2) -> isNat# V2)
    (active# U15(X1, X2) -> active# X1, active# U15(X1, X2) -> U15#(active X1, X2))
    (active# U15(X1, X2) -> active# X1, active# U15(X1, X2) -> active# X1)
    (active# U15(X1, X2) -> active# X1, active# U14(tt(), V1, V2) -> U15#(isNat V1, V2))
    (active# U15(X1, X2) -> active# X1, active# U14(tt(), V1, V2) -> isNat# V1)
    (active# U15(X1, X2) -> active# X1, active# U14(X1, X2, X3) -> U14#(active X1, X2, X3))
    (active# U15(X1, X2) -> active# X1, active# U14(X1, X2, X3) -> active# X1)
    (active# U15(X1, X2) -> active# X1, active# U13(tt(), V1, V2) -> U14#(isNatKind V2, V1, V2))
    (active# U15(X1, X2) -> active# X1, active# U13(tt(), V1, V2) -> isNatKind# V2)
    (active# U15(X1, X2) -> active# X1, active# U13(X1, X2, X3) -> U13#(active X1, X2, X3))
    (active# U15(X1, X2) -> active# X1, active# U13(X1, X2, X3) -> active# X1)
    (active# U15(X1, X2) -> active# X1, active# U11(tt(), V1, V2) -> U12#(isNatKind V1, V1, V2))
    (active# U15(X1, X2) -> active# X1, active# U11(tt(), V1, V2) -> isNatKind# V1)
    (active# U15(X1, X2) -> active# X1, active# U11(X1, X2, X3) -> U11#(active X1, X2, X3))
    (active# U15(X1, X2) -> active# X1, active# U11(X1, X2, X3) -> active# X1)
    (active# U15(X1, X2) -> active# X1, active# U12(tt(), V1, V2) -> U13#(isNatKind V2, V1, V2))
    (active# U15(X1, X2) -> active# X1, active# U12(tt(), V1, V2) -> isNatKind# V2)
    (active# U15(X1, X2) -> active# X1, active# U12(X1, X2, X3) -> U12#(active X1, X2, X3))
    (active# U15(X1, X2) -> active# X1, active# U12(X1, X2, X3) -> active# X1)
    (active# U15(X1, X2) -> active# X1, active# x(X1, X2) -> x#(active X1, X2))
    (active# U15(X1, X2) -> active# X1, active# x(X1, X2) -> x#(X1, active X2))
    (active# U15(X1, X2) -> active# X1, active# x(X1, X2) -> active# X2)
    (active# U15(X1, X2) -> active# X1, active# x(X1, X2) -> active# X1)
    (active# U15(X1, X2) -> active# X1, active# x(N, 0()) -> U91#(isNat N, N))
    (active# U15(X1, X2) -> active# X1, active# x(N, 0()) -> isNat# N)
    (active# U15(X1, X2) -> active# X1, active# x(N, s M) -> isNat# M)
    (active# U15(X1, X2) -> active# X1, active# x(N, s M) -> U101#(isNat M, M, N))
    (active# U15(X1, X2) -> active# X1, active# plus(X1, X2) -> plus#(active X1, X2))
    (active# U15(X1, X2) -> active# X1, active# plus(X1, X2) -> plus#(X1, active X2))
    (active# U15(X1, X2) -> active# X1, active# plus(X1, X2) -> active# X2)
    (active# U15(X1, X2) -> active# X1, active# plus(X1, X2) -> active# X1)
    (active# U15(X1, X2) -> active# X1, active# plus(N, 0()) -> U71#(isNat N, N))
    (active# U15(X1, X2) -> active# X1, active# plus(N, 0()) -> isNat# N)
    (active# U15(X1, X2) -> active# X1, active# plus(N, s M) -> U81#(isNat M, M, N))
    (active# U15(X1, X2) -> active# X1, active# plus(N, s M) -> isNat# M)
    (active# U15(X1, X2) -> active# X1, active# U104(tt(), M, N) -> x#(N, M))
    (active# U15(X1, X2) -> active# X1, active# U104(tt(), M, N) -> plus#(x(N, M), N))
    (active# U15(X1, X2) -> active# X1, active# U104(X1, X2, X3) -> U104#(active X1, X2, X3))
    (active# U15(X1, X2) -> active# X1, active# U104(X1, X2, X3) -> active# X1)
    (active# U15(X1, X2) -> active# X1, active# isNat s V1 -> U21#(isNatKind V1, V1))
    (active# U15(X1, X2) -> active# X1, active# isNat s V1 -> isNatKind# V1)
    (active# U15(X1, X2) -> active# X1, active# isNat x(V1, V2) -> U31#(isNatKind V1, V1, V2))
    (active# U15(X1, X2) -> active# X1, active# isNat x(V1, V2) -> isNatKind# V1)
    (active# U15(X1, X2) -> active# X1, active# isNat plus(V1, V2) -> U11#(isNatKind V1, V1, V2))
    (active# U15(X1, X2) -> active# X1, active# isNat plus(V1, V2) -> isNatKind# V1)
    (active# U15(X1, X2) -> active# X1, active# U103(tt(), M, N) -> U104#(isNatKind N, M, N))
    (active# U15(X1, X2) -> active# X1, active# U103(tt(), M, N) -> isNatKind# N)
    (active# U15(X1, X2) -> active# X1, active# U103(X1, X2, X3) -> U103#(active X1, X2, X3))
    (active# U15(X1, X2) -> active# X1, active# U103(X1, X2, X3) -> active# X1)
    (active# U15(X1, X2) -> active# X1, active# U101(tt(), M, N) -> isNatKind# M)
    (active# U15(X1, X2) -> active# X1, active# U101(tt(), M, N) -> U102#(isNatKind M, M, N))
    (active# U15(X1, X2) -> active# X1, active# U101(X1, X2, X3) -> U101#(active X1, X2, X3))
    (active# U15(X1, X2) -> active# X1, active# U101(X1, X2, X3) -> active# X1)
    (active# U15(X1, X2) -> active# X1, active# isNatKind s V1 -> U51# isNatKind V1)
    (active# U15(X1, X2) -> active# X1, active# isNatKind s V1 -> isNatKind# V1)
    (active# U15(X1, X2) -> active# X1, active# isNatKind x(V1, V2) -> U61#(isNatKind V1, V2))
    (active# U15(X1, X2) -> active# X1, active# isNatKind x(V1, V2) -> isNatKind# V1)
    (active# U15(X1, X2) -> active# X1, active# isNatKind plus(V1, V2) -> U41#(isNatKind V1, V2))
    (active# U15(X1, X2) -> active# X1, active# isNatKind plus(V1, V2) -> isNatKind# V1)
    (active# U15(X1, X2) -> active# X1, active# U102(tt(), M, N) -> isNat# N)
    (active# U15(X1, X2) -> active# X1, active# U102(tt(), M, N) -> U103#(isNat N, M, N))
    (active# U15(X1, X2) -> active# X1, active# U102(X1, X2, X3) -> active# X1)
    (active# U15(X1, X2) -> active# X1, active# U102(X1, X2, X3) -> U102#(active X1, X2, X3))
    (active# U21(X1, X2) -> active# X1, active# U91(tt(), N) -> U92# isNatKind N)
    (active# U21(X1, X2) -> active# X1, active# U91(tt(), N) -> isNatKind# N)
    (active# U21(X1, X2) -> active# X1, active# U91(X1, X2) -> U91#(active X1, X2))
    (active# U21(X1, X2) -> active# X1, active# U91(X1, X2) -> active# X1)
    (active# U21(X1, X2) -> active# X1, active# U92 X -> U92# active X)
    (active# U21(X1, X2) -> active# X1, active# U92 X -> active# X)
    (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# U84(tt(), M, N) -> s# plus(N, M))
    (active# U21(X1, X2) -> active# X1, active# U84(tt(), M, N) -> plus#(N, M))
    (active# U21(X1, X2) -> active# X1, active# U84(X1, X2, X3) -> U84#(active X1, X2, X3))
    (active# U21(X1, X2) -> active# X1, active# U84(X1, X2, X3) -> active# X1)
    (active# U21(X1, X2) -> active# X1, active# U83(tt(), M, N) -> U84#(isNatKind N, M, N))
    (active# U21(X1, X2) -> active# X1, active# U83(tt(), M, N) -> isNatKind# N)
    (active# U21(X1, X2) -> active# X1, active# U83(X1, X2, X3) -> U83#(active X1, X2, X3))
    (active# U21(X1, X2) -> active# X1, active# U83(X1, X2, X3) -> active# X1)
    (active# U21(X1, X2) -> active# X1, active# U81(tt(), M, N) -> U82#(isNatKind M, M, N))
    (active# U21(X1, X2) -> active# X1, active# U81(tt(), M, N) -> isNatKind# M)
    (active# U21(X1, X2) -> active# X1, active# U81(X1, X2, X3) -> U81#(active X1, X2, X3))
    (active# U21(X1, X2) -> active# X1, active# U81(X1, X2, X3) -> active# X1)
    (active# U21(X1, X2) -> active# X1, active# U82(tt(), M, N) -> U83#(isNat N, M, N))
    (active# U21(X1, X2) -> active# X1, active# U82(tt(), M, N) -> isNat# N)
    (active# U21(X1, X2) -> active# X1, active# U82(X1, X2, X3) -> U82#(active X1, X2, X3))
    (active# U21(X1, X2) -> active# X1, active# U82(X1, X2, X3) -> active# X1)
    (active# U21(X1, X2) -> active# X1, active# U71(tt(), N) -> U72#(isNatKind N, N))
    (active# U21(X1, X2) -> active# X1, active# U71(tt(), N) -> isNatKind# N)
    (active# U21(X1, X2) -> active# X1, active# U71(X1, X2) -> U71#(active X1, X2))
    (active# U21(X1, X2) -> active# X1, active# U71(X1, X2) -> active# X1)
    (active# U21(X1, X2) -> active# X1, active# U72(X1, X2) -> U72#(active X1, X2))
    (active# U21(X1, X2) -> active# X1, active# U72(X1, X2) -> active# X1)
    (active# U21(X1, X2) -> active# X1, active# U61(tt(), V2) -> U62# isNatKind V2)
    (active# U21(X1, X2) -> active# X1, active# U61(tt(), V2) -> isNatKind# V2)
    (active# U21(X1, X2) -> active# X1, active# U61(X1, X2) -> U61#(active X1, X2))
    (active# U21(X1, X2) -> active# X1, active# U61(X1, X2) -> active# X1)
    (active# U21(X1, X2) -> active# X1, active# U62 X -> U62# active X)
    (active# U21(X1, X2) -> active# X1, active# U62 X -> active# X)
    (active# U21(X1, X2) -> active# X1, active# U51 X -> U51# active X)
    (active# U21(X1, X2) -> active# X1, active# U51 X -> active# X)
    (active# U21(X1, X2) -> active# X1, active# U41(tt(), V2) -> U42# isNatKind V2)
    (active# U21(X1, X2) -> active# X1, active# U41(tt(), V2) -> isNatKind# V2)
    (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# U42 X -> U42# active X)
    (active# U21(X1, X2) -> active# X1, active# U42 X -> active# X)
    (active# U21(X1, X2) -> active# X1, active# U36 X -> U36# active X)
    (active# U21(X1, X2) -> active# X1, active# U36 X -> active# X)
    (active# U21(X1, X2) -> active# X1, active# U35(tt(), V2) -> U36# isNat V2)
    (active# U21(X1, X2) -> active# X1, active# U35(tt(), V2) -> isNat# V2)
    (active# U21(X1, X2) -> active# X1, active# U35(X1, X2) -> U35#(active X1, X2))
    (active# U21(X1, X2) -> active# X1, active# U35(X1, X2) -> active# X1)
    (active# U21(X1, X2) -> active# X1, active# U34(tt(), V1, V2) -> U35#(isNat V1, V2))
    (active# U21(X1, X2) -> active# X1, active# U34(tt(), V1, V2) -> isNat# V1)
    (active# U21(X1, X2) -> active# X1, active# U34(X1, X2, X3) -> U34#(active X1, X2, X3))
    (active# U21(X1, X2) -> active# X1, active# U34(X1, X2, X3) -> active# X1)
    (active# U21(X1, X2) -> active# X1, active# U33(tt(), V1, V2) -> U34#(isNatKind V2, V1, V2))
    (active# U21(X1, X2) -> active# X1, active# U33(tt(), V1, V2) -> isNatKind# V2)
    (active# U21(X1, X2) -> active# X1, active# U33(X1, X2, X3) -> U33#(active X1, X2, X3))
    (active# U21(X1, X2) -> active# X1, active# U33(X1, X2, X3) -> active# X1)
    (active# U21(X1, X2) -> active# X1, active# U31(tt(), V1, V2) -> U32#(isNatKind V1, V1, V2))
    (active# U21(X1, X2) -> active# X1, active# U31(tt(), V1, V2) -> isNatKind# 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(), V1, V2) -> U33#(isNatKind V2, V1, V2))
    (active# U21(X1, X2) -> active# X1, active# U32(tt(), V1, V2) -> isNatKind# V2)
    (active# U21(X1, X2) -> active# X1, active# U32(X1, X2, X3) -> U32#(active X1, X2, X3))
    (active# U21(X1, X2) -> active# X1, active# U32(X1, X2, X3) -> active# X1)
    (active# U21(X1, X2) -> active# X1, active# U23 X -> U23# active X)
    (active# U21(X1, X2) -> active# X1, active# U23 X -> active# X)
    (active# U21(X1, X2) -> active# X1, active# U21(tt(), V1) -> U22#(isNatKind V1, V1))
    (active# U21(X1, X2) -> active# X1, active# U21(tt(), V1) -> isNatKind# 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(tt(), V1) -> U23# isNat V1)
    (active# U21(X1, X2) -> active# X1, active# U22(tt(), V1) -> isNat# V1)
    (active# U21(X1, X2) -> active# X1, active# U22(X1, X2) -> U22#(active X1, X2))
    (active# U21(X1, X2) -> active# X1, active# U22(X1, X2) -> active# X1)
    (active# U21(X1, X2) -> active# X1, active# U16 X -> U16# active X)
    (active# U21(X1, X2) -> active# X1, active# U16 X -> active# X)
    (active# U21(X1, X2) -> active# X1, active# U15(tt(), V2) -> U16# isNat V2)
    (active# U21(X1, X2) -> active# X1, active# U15(tt(), V2) -> isNat# V2)
    (active# U21(X1, X2) -> active# X1, active# U15(X1, X2) -> U15#(active X1, X2))
    (active# U21(X1, X2) -> active# X1, active# U15(X1, X2) -> active# X1)
    (active# U21(X1, X2) -> active# X1, active# U14(tt(), V1, V2) -> U15#(isNat V1, V2))
    (active# U21(X1, X2) -> active# X1, active# U14(tt(), V1, V2) -> isNat# V1)
    (active# U21(X1, X2) -> active# X1, active# U14(X1, X2, X3) -> U14#(active X1, X2, X3))
    (active# U21(X1, X2) -> active# X1, active# U14(X1, X2, X3) -> active# X1)
    (active# U21(X1, X2) -> active# X1, active# U13(tt(), V1, V2) -> U14#(isNatKind V2, V1, V2))
    (active# U21(X1, X2) -> active# X1, active# U13(tt(), V1, V2) -> isNatKind# V2)
    (active# U21(X1, X2) -> active# X1, active# U13(X1, X2, X3) -> U13#(active X1, X2, X3))
    (active# U21(X1, X2) -> active# X1, active# U13(X1, X2, X3) -> active# X1)
    (active# U21(X1, X2) -> active# X1, active# U11(tt(), V1, V2) -> U12#(isNatKind V1, V1, V2))
    (active# U21(X1, X2) -> active# X1, active# U11(tt(), V1, V2) -> isNatKind# V1)
    (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# U12(tt(), V1, V2) -> U13#(isNatKind V2, V1, V2))
    (active# U21(X1, X2) -> active# X1, active# U12(tt(), V1, V2) -> isNatKind# V2)
    (active# U21(X1, X2) -> active# X1, active# U12(X1, X2, X3) -> U12#(active X1, X2, X3))
    (active# U21(X1, X2) -> active# X1, active# U12(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()) -> U91#(isNat N, N))
    (active# U21(X1, X2) -> active# X1, active# x(N, 0()) -> isNat# 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) -> U101#(isNat M, M, N))
    (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()) -> U71#(isNat 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) -> U81#(isNat M, M, N))
    (active# U21(X1, X2) -> active# X1, active# plus(N, s M) -> isNat# M)
    (active# U21(X1, X2) -> active# X1, active# U104(tt(), M, N) -> x#(N, M))
    (active# U21(X1, X2) -> active# X1, active# U104(tt(), M, N) -> plus#(x(N, M), N))
    (active# U21(X1, X2) -> active# X1, active# U104(X1, X2, X3) -> U104#(active X1, X2, X3))
    (active# U21(X1, X2) -> active# X1, active# U104(X1, X2, X3) -> active# X1)
    (active# U21(X1, X2) -> active# X1, active# isNat s V1 -> U21#(isNatKind V1, V1))
    (active# U21(X1, X2) -> active# X1, active# isNat s V1 -> isNatKind# V1)
    (active# U21(X1, X2) -> active# X1, active# isNat x(V1, V2) -> U31#(isNatKind V1, V1, V2))
    (active# U21(X1, X2) -> active# X1, active# isNat x(V1, V2) -> isNatKind# V1)
    (active# U21(X1, X2) -> active# X1, active# isNat plus(V1, V2) -> U11#(isNatKind V1, V1, V2))
    (active# U21(X1, X2) -> active# X1, active# isNat plus(V1, V2) -> isNatKind# V1)
    (active# U21(X1, X2) -> active# X1, active# U103(tt(), M, N) -> U104#(isNatKind N, M, N))
    (active# U21(X1, X2) -> active# X1, active# U103(tt(), M, N) -> isNatKind# N)
    (active# U21(X1, X2) -> active# X1, active# U103(X1, X2, X3) -> U103#(active X1, X2, X3))
    (active# U21(X1, X2) -> active# X1, active# U103(X1, X2, X3) -> active# X1)
    (active# U21(X1, X2) -> active# X1, active# U101(tt(), M, N) -> isNatKind# M)
    (active# U21(X1, X2) -> active# X1, active# U101(tt(), M, N) -> U102#(isNatKind M, M, N))
    (active# U21(X1, X2) -> active# X1, active# U101(X1, X2, X3) -> U101#(active X1, X2, X3))
    (active# U21(X1, X2) -> active# X1, active# U101(X1, X2, X3) -> active# X1)
    (active# U21(X1, X2) -> active# X1, active# isNatKind s V1 -> U51# isNatKind V1)
    (active# U21(X1, X2) -> active# X1, active# isNatKind s V1 -> isNatKind# V1)
    (active# U21(X1, X2) -> active# X1, active# isNatKind x(V1, V2) -> U61#(isNatKind V1, V2))
    (active# U21(X1, X2) -> active# X1, active# isNatKind x(V1, V2) -> isNatKind# V1)
    (active# U21(X1, X2) -> active# X1, active# isNatKind plus(V1, V2) -> U41#(isNatKind V1, V2))
    (active# U21(X1, X2) -> active# X1, active# isNatKind plus(V1, V2) -> isNatKind# V1)
    (active# U21(X1, X2) -> active# X1, active# U102(tt(), M, N) -> isNat# N)
    (active# U21(X1, X2) -> active# X1, active# U102(tt(), M, N) -> U103#(isNat N, M, N))
    (active# U21(X1, X2) -> active# X1, active# U102(X1, X2, X3) -> active# X1)
    (active# U21(X1, X2) -> active# X1, active# U102(X1, X2, X3) -> U102#(active X1, X2, X3))
    (active# U31(X1, X2, X3) -> active# X1, active# U91(tt(), N) -> U92# isNatKind N)
    (active# U31(X1, X2, X3) -> active# X1, active# U91(tt(), N) -> isNatKind# N)
    (active# U31(X1, X2, X3) -> active# X1, active# U91(X1, X2) -> U91#(active X1, X2))
    (active# U31(X1, X2, X3) -> active# X1, active# U91(X1, X2) -> active# X1)
    (active# U31(X1, X2, X3) -> active# X1, active# U92 X -> U92# active X)
    (active# U31(X1, X2, X3) -> active# X1, active# U92 X -> active# X)
    (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# U84(tt(), M, N) -> s# plus(N, M))
    (active# U31(X1, X2, X3) -> active# X1, active# U84(tt(), M, N) -> plus#(N, M))
    (active# U31(X1, X2, X3) -> active# X1, active# U84(X1, X2, X3) -> U84#(active X1, X2, X3))
    (active# U31(X1, X2, X3) -> active# X1, active# U84(X1, X2, X3) -> active# X1)
    (active# U31(X1, X2, X3) -> active# X1, active# U83(tt(), M, N) -> U84#(isNatKind N, M, N))
    (active# U31(X1, X2, X3) -> active# X1, active# U83(tt(), M, N) -> isNatKind# N)
    (active# U31(X1, X2, X3) -> active# X1, active# U83(X1, X2, X3) -> U83#(active X1, X2, X3))
    (active# U31(X1, X2, X3) -> active# X1, active# U83(X1, X2, X3) -> active# X1)
    (active# U31(X1, X2, X3) -> active# X1, active# U81(tt(), M, N) -> U82#(isNatKind M, M, N))
    (active# U31(X1, X2, X3) -> active# X1, active# U81(tt(), M, N) -> isNatKind# M)
    (active# U31(X1, X2, X3) -> active# X1, active# U81(X1, X2, X3) -> U81#(active X1, X2, X3))
    (active# U31(X1, X2, X3) -> active# X1, active# U81(X1, X2, X3) -> active# X1)
    (active# U31(X1, X2, X3) -> active# X1, active# U82(tt(), M, N) -> U83#(isNat N, M, N))
    (active# U31(X1, X2, X3) -> active# X1, active# U82(tt(), M, N) -> isNat# N)
    (active# U31(X1, X2, X3) -> active# X1, active# U82(X1, X2, X3) -> U82#(active X1, X2, X3))
    (active# U31(X1, X2, X3) -> active# X1, active# U82(X1, X2, X3) -> active# X1)
    (active# U31(X1, X2, X3) -> active# X1, active# U71(tt(), N) -> U72#(isNatKind N, N))
    (active# U31(X1, X2, X3) -> active# X1, active# U71(tt(), N) -> isNatKind# N)
    (active# U31(X1, X2, X3) -> active# X1, active# U71(X1, X2) -> U71#(active X1, X2))
    (active# U31(X1, X2, X3) -> active# X1, active# U71(X1, X2) -> active# X1)
    (active# U31(X1, X2, X3) -> active# X1, active# U72(X1, X2) -> U72#(active X1, X2))
    (active# U31(X1, X2, X3) -> active# X1, active# U72(X1, X2) -> active# X1)
    (active# U31(X1, X2, X3) -> active# X1, active# U61(tt(), V2) -> U62# isNatKind V2)
    (active# U31(X1, X2, X3) -> active# X1, active# U61(tt(), V2) -> isNatKind# V2)
    (active# U31(X1, X2, X3) -> active# X1, active# U61(X1, X2) -> U61#(active X1, X2))
    (active# U31(X1, X2, X3) -> active# X1, active# U61(X1, X2) -> active# X1)
    (active# U31(X1, X2, X3) -> active# X1, active# U62 X -> U62# active X)
    (active# U31(X1, X2, X3) -> active# X1, active# U62 X -> active# X)
    (active# U31(X1, X2, X3) -> active# X1, active# U51 X -> U51# active X)
    (active# U31(X1, X2, X3) -> active# X1, active# U51 X -> active# X)
    (active# U31(X1, X2, X3) -> active# X1, active# U41(tt(), V2) -> U42# isNatKind V2)
    (active# U31(X1, X2, X3) -> active# X1, active# U41(tt(), V2) -> isNatKind# V2)
    (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# U42 X -> U42# active X)
    (active# U31(X1, X2, X3) -> active# X1, active# U42 X -> active# X)
    (active# U31(X1, X2, X3) -> active# X1, active# U36 X -> U36# active X)
    (active# U31(X1, X2, X3) -> active# X1, active# U36 X -> active# X)
    (active# U31(X1, X2, X3) -> active# X1, active# U35(tt(), V2) -> U36# isNat V2)
    (active# U31(X1, X2, X3) -> active# X1, active# U35(tt(), V2) -> isNat# V2)
    (active# U31(X1, X2, X3) -> active# X1, active# U35(X1, X2) -> U35#(active X1, X2))
    (active# U31(X1, X2, X3) -> active# X1, active# U35(X1, X2) -> active# X1)
    (active# U31(X1, X2, X3) -> active# X1, active# U34(tt(), V1, V2) -> U35#(isNat V1, V2))
    (active# U31(X1, X2, X3) -> active# X1, active# U34(tt(), V1, V2) -> isNat# V1)
    (active# U31(X1, X2, X3) -> active# X1, active# U34(X1, X2, X3) -> U34#(active X1, X2, X3))
    (active# U31(X1, X2, X3) -> active# X1, active# U34(X1, X2, X3) -> active# X1)
    (active# U31(X1, X2, X3) -> active# X1, active# U33(tt(), V1, V2) -> U34#(isNatKind V2, V1, V2))
    (active# U31(X1, X2, X3) -> active# X1, active# U33(tt(), V1, V2) -> isNatKind# V2)
    (active# U31(X1, X2, X3) -> active# X1, active# U33(X1, X2, X3) -> U33#(active X1, X2, X3))
    (active# U31(X1, X2, X3) -> active# X1, active# U33(X1, X2, X3) -> active# X1)
    (active# U31(X1, X2, X3) -> active# X1, active# U31(tt(), V1, V2) -> U32#(isNatKind V1, V1, V2))
    (active# U31(X1, X2, X3) -> active# X1, active# U31(tt(), V1, V2) -> isNatKind# 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(), V1, V2) -> U33#(isNatKind V2, V1, V2))
    (active# U31(X1, X2, X3) -> active# X1, active# U32(tt(), V1, V2) -> isNatKind# V2)
    (active# U31(X1, X2, X3) -> active# X1, active# U32(X1, X2, X3) -> U32#(active X1, X2, X3))
    (active# U31(X1, X2, X3) -> active# X1, active# U32(X1, X2, X3) -> active# X1)
    (active# U31(X1, X2, X3) -> active# X1, active# U23 X -> U23# active X)
    (active# U31(X1, X2, X3) -> active# X1, active# U23 X -> active# X)
    (active# U31(X1, X2, X3) -> active# X1, active# U21(tt(), V1) -> U22#(isNatKind V1, V1))
    (active# U31(X1, X2, X3) -> active# X1, active# U21(tt(), V1) -> isNatKind# 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(tt(), V1) -> U23# isNat V1)
    (active# U31(X1, X2, X3) -> active# X1, active# U22(tt(), V1) -> isNat# V1)
    (active# U31(X1, X2, X3) -> active# X1, active# U22(X1, X2) -> U22#(active X1, X2))
    (active# U31(X1, X2, X3) -> active# X1, active# U22(X1, X2) -> active# X1)
    (active# U31(X1, X2, X3) -> active# X1, active# U16 X -> U16# active X)
    (active# U31(X1, X2, X3) -> active# X1, active# U16 X -> active# X)
    (active# U31(X1, X2, X3) -> active# X1, active# U15(tt(), V2) -> U16# isNat V2)
    (active# U31(X1, X2, X3) -> active# X1, active# U15(tt(), V2) -> isNat# V2)
    (active# U31(X1, X2, X3) -> active# X1, active# U15(X1, X2) -> U15#(active X1, X2))
    (active# U31(X1, X2, X3) -> active# X1, active# U15(X1, X2) -> active# X1)
    (active# U31(X1, X2, X3) -> active# X1, active# U14(tt(), V1, V2) -> U15#(isNat V1, V2))
    (active# U31(X1, X2, X3) -> active# X1, active# U14(tt(), V1, V2) -> isNat# V1)
    (active# U31(X1, X2, X3) -> active# X1, active# U14(X1, X2, X3) -> U14#(active X1, X2, X3))
    (active# U31(X1, X2, X3) -> active# X1, active# U14(X1, X2, X3) -> active# X1)
    (active# U31(X1, X2, X3) -> active# X1, active# U13(tt(), V1, V2) -> U14#(isNatKind V2, V1, V2))
    (active# U31(X1, X2, X3) -> active# X1, active# U13(tt(), V1, V2) -> isNatKind# V2)
    (active# U31(X1, X2, X3) -> active# X1, active# U13(X1, X2, X3) -> U13#(active X1, X2, X3))
    (active# U31(X1, X2, X3) -> active# X1, active# U13(X1, X2, X3) -> active# X1)
    (active# U31(X1, X2, X3) -> active# X1, active# U11(tt(), V1, V2) -> U12#(isNatKind V1, V1, V2))
    (active# U31(X1, X2, X3) -> active# X1, active# U11(tt(), V1, V2) -> isNatKind# V1)
    (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# U12(tt(), V1, V2) -> U13#(isNatKind V2, V1, V2))
    (active# U31(X1, X2, X3) -> active# X1, active# U12(tt(), V1, V2) -> isNatKind# V2)
    (active# U31(X1, X2, X3) -> active# X1, active# U12(X1, X2, X3) -> U12#(active X1, X2, X3))
    (active# U31(X1, X2, X3) -> active# X1, active# U12(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()) -> U91#(isNat N, 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) -> isNat# M)
    (active# U31(X1, X2, X3) -> active# X1, active# x(N, s M) -> U101#(isNat M, M, N))
    (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()) -> U71#(isNat 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) -> U81#(isNat M, M, N))
    (active# U31(X1, X2, X3) -> active# X1, active# plus(N, s M) -> isNat# M)
    (active# U31(X1, X2, X3) -> active# X1, active# U104(tt(), M, N) -> x#(N, M))
    (active# U31(X1, X2, X3) -> active# X1, active# U104(tt(), M, N) -> plus#(x(N, M), N))
    (active# U31(X1, X2, X3) -> active# X1, active# U104(X1, X2, X3) -> U104#(active X1, X2, X3))
    (active# U31(X1, X2, X3) -> active# X1, active# U104(X1, X2, X3) -> active# X1)
    (active# U31(X1, X2, X3) -> active# X1, active# isNat s V1 -> U21#(isNatKind V1, V1))
    (active# U31(X1, X2, X3) -> active# X1, active# isNat s V1 -> isNatKind# V1)
    (active# U31(X1, X2, X3) -> active# X1, active# isNat x(V1, V2) -> U31#(isNatKind V1, V1, V2))
    (active# U31(X1, X2, X3) -> active# X1, active# isNat x(V1, V2) -> isNatKind# V1)
    (active# U31(X1, X2, X3) -> active# X1, active# isNat plus(V1, V2) -> U11#(isNatKind V1, V1, V2))
    (active# U31(X1, X2, X3) -> active# X1, active# isNat plus(V1, V2) -> isNatKind# V1)
    (active# U31(X1, X2, X3) -> active# X1, active# U103(tt(), M, N) -> U104#(isNatKind N, M, N))
    (active# U31(X1, X2, X3) -> active# X1, active# U103(tt(), M, N) -> isNatKind# N)
    (active# U31(X1, X2, X3) -> active# X1, active# U103(X1, X2, X3) -> U103#(active X1, X2, X3))
    (active# U31(X1, X2, X3) -> active# X1, active# U103(X1, X2, X3) -> active# X1)
    (active# U31(X1, X2, X3) -> active# X1, active# U101(tt(), M, N) -> isNatKind# M)
    (active# U31(X1, X2, X3) -> active# X1, active# U101(tt(), M, N) -> U102#(isNatKind M, M, N))
    (active# U31(X1, X2, X3) -> active# X1, active# U101(X1, X2, X3) -> U101#(active X1, X2, X3))
    (active# U31(X1, X2, X3) -> active# X1, active# U101(X1, X2, X3) -> active# X1)
    (active# U31(X1, X2, X3) -> active# X1, active# isNatKind s V1 -> U51# isNatKind V1)
    (active# U31(X1, X2, X3) -> active# X1, active# isNatKind s V1 -> isNatKind# V1)
    (active# U31(X1, X2, X3) -> active# X1, active# isNatKind x(V1, V2) -> U61#(isNatKind V1, V2))
    (active# U31(X1, X2, X3) -> active# X1, active# isNatKind x(V1, V2) -> isNatKind# V1)
    (active# U31(X1, X2, X3) -> active# X1, active# isNatKind plus(V1, V2) -> U41#(isNatKind V1, V2))
    (active# U31(X1, X2, X3) -> active# X1, active# isNatKind plus(V1, V2) -> isNatKind# V1)
    (active# U31(X1, X2, X3) -> active# X1, active# U102(tt(), M, N) -> isNat# N)
    (active# U31(X1, X2, X3) -> active# X1, active# U102(tt(), M, N) -> U103#(isNat N, M, N))
    (active# U31(X1, X2, X3) -> active# X1, active# U102(X1, X2, X3) -> active# X1)
    (active# U31(X1, X2, X3) -> active# X1, active# U102(X1, X2, X3) -> U102#(active X1, X2, X3))
    (active# U34(X1, X2, X3) -> active# X1, active# U91(tt(), N) -> U92# isNatKind N)
    (active# U34(X1, X2, X3) -> active# X1, active# U91(tt(), N) -> isNatKind# N)
    (active# U34(X1, X2, X3) -> active# X1, active# U91(X1, X2) -> U91#(active X1, X2))
    (active# U34(X1, X2, X3) -> active# X1, active# U91(X1, X2) -> active# X1)
    (active# U34(X1, X2, X3) -> active# X1, active# U92 X -> U92# active X)
    (active# U34(X1, X2, X3) -> active# X1, active# U92 X -> active# X)
    (active# U34(X1, X2, X3) -> active# X1, active# s X -> s# active X)
    (active# U34(X1, X2, X3) -> active# X1, active# s X -> active# X)
    (active# U34(X1, X2, X3) -> active# X1, active# U84(tt(), M, N) -> s# plus(N, M))
    (active# U34(X1, X2, X3) -> active# X1, active# U84(tt(), M, N) -> plus#(N, M))
    (active# U34(X1, X2, X3) -> active# X1, active# U84(X1, X2, X3) -> U84#(active X1, X2, X3))
    (active# U34(X1, X2, X3) -> active# X1, active# U84(X1, X2, X3) -> active# X1)
    (active# U34(X1, X2, X3) -> active# X1, active# U83(tt(), M, N) -> U84#(isNatKind N, M, N))
    (active# U34(X1, X2, X3) -> active# X1, active# U83(tt(), M, N) -> isNatKind# N)
    (active# U34(X1, X2, X3) -> active# X1, active# U83(X1, X2, X3) -> U83#(active X1, X2, X3))
    (active# U34(X1, X2, X3) -> active# X1, active# U83(X1, X2, X3) -> active# X1)
    (active# U34(X1, X2, X3) -> active# X1, active# U81(tt(), M, N) -> U82#(isNatKind M, M, N))
    (active# U34(X1, X2, X3) -> active# X1, active# U81(tt(), M, N) -> isNatKind# M)
    (active# U34(X1, X2, X3) -> active# X1, active# U81(X1, X2, X3) -> U81#(active X1, X2, X3))
    (active# U34(X1, X2, X3) -> active# X1, active# U81(X1, X2, X3) -> active# X1)
    (active# U34(X1, X2, X3) -> active# X1, active# U82(tt(), M, N) -> U83#(isNat N, M, N))
    (active# U34(X1, X2, X3) -> active# X1, active# U82(tt(), M, N) -> isNat# N)
    (active# U34(X1, X2, X3) -> active# X1, active# U82(X1, X2, X3) -> U82#(active X1, X2, X3))
    (active# U34(X1, X2, X3) -> active# X1, active# U82(X1, X2, X3) -> active# X1)
    (active# U34(X1, X2, X3) -> active# X1, active# U71(tt(), N) -> U72#(isNatKind N, N))
    (active# U34(X1, X2, X3) -> active# X1, active# U71(tt(), N) -> isNatKind# N)
    (active# U34(X1, X2, X3) -> active# X1, active# U71(X1, X2) -> U71#(active X1, X2))
    (active# U34(X1, X2, X3) -> active# X1, active# U71(X1, X2) -> active# X1)
    (active# U34(X1, X2, X3) -> active# X1, active# U72(X1, X2) -> U72#(active X1, X2))
    (active# U34(X1, X2, X3) -> active# X1, active# U72(X1, X2) -> active# X1)
    (active# U34(X1, X2, X3) -> active# X1, active# U61(tt(), V2) -> U62# isNatKind V2)
    (active# U34(X1, X2, X3) -> active# X1, active# U61(tt(), V2) -> isNatKind# V2)
    (active# U34(X1, X2, X3) -> active# X1, active# U61(X1, X2) -> U61#(active X1, X2))
    (active# U34(X1, X2, X3) -> active# X1, active# U61(X1, X2) -> active# X1)
    (active# U34(X1, X2, X3) -> active# X1, active# U62 X -> U62# active X)
    (active# U34(X1, X2, X3) -> active# X1, active# U62 X -> active# X)
    (active# U34(X1, X2, X3) -> active# X1, active# U51 X -> U51# active X)
    (active# U34(X1, X2, X3) -> active# X1, active# U51 X -> active# X)
    (active# U34(X1, X2, X3) -> active# X1, active# U41(tt(), V2) -> U42# isNatKind V2)
    (active# U34(X1, X2, X3) -> active# X1, active# U41(tt(), V2) -> isNatKind# V2)
    (active# U34(X1, X2, X3) -> active# X1, active# U41(X1, X2) -> U41#(active X1, X2))
    (active# U34(X1, X2, X3) -> active# X1, active# U41(X1, X2) -> active# X1)
    (active# U34(X1, X2, X3) -> active# X1, active# U42 X -> U42# active X)
    (active# U34(X1, X2, X3) -> active# X1, active# U42 X -> active# X)
    (active# U34(X1, X2, X3) -> active# X1, active# U36 X -> U36# active X)
    (active# U34(X1, X2, X3) -> active# X1, active# U36 X -> active# X)
    (active# U34(X1, X2, X3) -> active# X1, active# U35(tt(), V2) -> U36# isNat V2)
    (active# U34(X1, X2, X3) -> active# X1, active# U35(tt(), V2) -> isNat# V2)
    (active# U34(X1, X2, X3) -> active# X1, active# U35(X1, X2) -> U35#(active X1, X2))
    (active# U34(X1, X2, X3) -> active# X1, active# U35(X1, X2) -> active# X1)
    (active# U34(X1, X2, X3) -> active# X1, active# U34(tt(), V1, V2) -> U35#(isNat V1, V2))
    (active# U34(X1, X2, X3) -> active# X1, active# U34(tt(), V1, V2) -> isNat# V1)
    (active# U34(X1, X2, X3) -> active# X1, active# U34(X1, X2, X3) -> U34#(active X1, X2, X3))
    (active# U34(X1, X2, X3) -> active# X1, active# U34(X1, X2, X3) -> active# X1)
    (active# U34(X1, X2, X3) -> active# X1, active# U33(tt(), V1, V2) -> U34#(isNatKind V2, V1, V2))
    (active# U34(X1, X2, X3) -> active# X1, active# U33(tt(), V1, V2) -> isNatKind# V2)
    (active# U34(X1, X2, X3) -> active# X1, active# U33(X1, X2, X3) -> U33#(active X1, X2, X3))
    (active# U34(X1, X2, X3) -> active# X1, active# U33(X1, X2, X3) -> active# X1)
    (active# U34(X1, X2, X3) -> active# X1, active# U31(tt(), V1, V2) -> U32#(isNatKind V1, V1, V2))
    (active# U34(X1, X2, X3) -> active# X1, active# U31(tt(), V1, V2) -> isNatKind# V1)
    (active# U34(X1, X2, X3) -> active# X1, active# U31(X1, X2, X3) -> U31#(active X1, X2, X3))
    (active# U34(X1, X2, X3) -> active# X1, active# U31(X1, X2, X3) -> active# X1)
    (active# U34(X1, X2, X3) -> active# X1, active# U32(tt(), V1, V2) -> U33#(isNatKind V2, V1, V2))
    (active# U34(X1, X2, X3) -> active# X1, active# U32(tt(), V1, V2) -> isNatKind# V2)
    (active# U34(X1, X2, X3) -> active# X1, active# U32(X1, X2, X3) -> U32#(active X1, X2, X3))
    (active# U34(X1, X2, X3) -> active# X1, active# U32(X1, X2, X3) -> active# X1)
    (active# U34(X1, X2, X3) -> active# X1, active# U23 X -> U23# active X)
    (active# U34(X1, X2, X3) -> active# X1, active# U23 X -> active# X)
    (active# U34(X1, X2, X3) -> active# X1, active# U21(tt(), V1) -> U22#(isNatKind V1, V1))
    (active# U34(X1, X2, X3) -> active# X1, active# U21(tt(), V1) -> isNatKind# V1)
    (active# U34(X1, X2, X3) -> active# X1, active# U21(X1, X2) -> U21#(active X1, X2))
    (active# U34(X1, X2, X3) -> active# X1, active# U21(X1, X2) -> active# X1)
    (active# U34(X1, X2, X3) -> active# X1, active# U22(tt(), V1) -> U23# isNat V1)
    (active# U34(X1, X2, X3) -> active# X1, active# U22(tt(), V1) -> isNat# V1)
    (active# U34(X1, X2, X3) -> active# X1, active# U22(X1, X2) -> U22#(active X1, X2))
    (active# U34(X1, X2, X3) -> active# X1, active# U22(X1, X2) -> active# X1)
    (active# U34(X1, X2, X3) -> active# X1, active# U16 X -> U16# active X)
    (active# U34(X1, X2, X3) -> active# X1, active# U16 X -> active# X)
    (active# U34(X1, X2, X3) -> active# X1, active# U15(tt(), V2) -> U16# isNat V2)
    (active# U34(X1, X2, X3) -> active# X1, active# U15(tt(), V2) -> isNat# V2)
    (active# U34(X1, X2, X3) -> active# X1, active# U15(X1, X2) -> U15#(active X1, X2))
    (active# U34(X1, X2, X3) -> active# X1, active# U15(X1, X2) -> active# X1)
    (active# U34(X1, X2, X3) -> active# X1, active# U14(tt(), V1, V2) -> U15#(isNat V1, V2))
    (active# U34(X1, X2, X3) -> active# X1, active# U14(tt(), V1, V2) -> isNat# V1)
    (active# U34(X1, X2, X3) -> active# X1, active# U14(X1, X2, X3) -> U14#(active X1, X2, X3))
    (active# U34(X1, X2, X3) -> active# X1, active# U14(X1, X2, X3) -> active# X1)
    (active# U34(X1, X2, X3) -> active# X1, active# U13(tt(), V1, V2) -> U14#(isNatKind V2, V1, V2))
    (active# U34(X1, X2, X3) -> active# X1, active# U13(tt(), V1, V2) -> isNatKind# V2)
    (active# U34(X1, X2, X3) -> active# X1, active# U13(X1, X2, X3) -> U13#(active X1, X2, X3))
    (active# U34(X1, X2, X3) -> active# X1, active# U13(X1, X2, X3) -> active# X1)
    (active# U34(X1, X2, X3) -> active# X1, active# U11(tt(), V1, V2) -> U12#(isNatKind V1, V1, V2))
    (active# U34(X1, X2, X3) -> active# X1, active# U11(tt(), V1, V2) -> isNatKind# V1)
    (active# U34(X1, X2, X3) -> active# X1, active# U11(X1, X2, X3) -> U11#(active X1, X2, X3))
    (active# U34(X1, X2, X3) -> active# X1, active# U11(X1, X2, X3) -> active# X1)
    (active# U34(X1, X2, X3) -> active# X1, active# U12(tt(), V1, V2) -> U13#(isNatKind V2, V1, V2))
    (active# U34(X1, X2, X3) -> active# X1, active# U12(tt(), V1, V2) -> isNatKind# V2)
    (active# U34(X1, X2, X3) -> active# X1, active# U12(X1, X2, X3) -> U12#(active X1, X2, X3))
    (active# U34(X1, X2, X3) -> active# X1, active# U12(X1, X2, X3) -> active# X1)
    (active# U34(X1, X2, X3) -> active# X1, active# x(X1, X2) -> x#(active X1, X2))
    (active# U34(X1, X2, X3) -> active# X1, active# x(X1, X2) -> x#(X1, active X2))
    (active# U34(X1, X2, X3) -> active# X1, active# x(X1, X2) -> active# X2)
    (active# U34(X1, X2, X3) -> active# X1, active# x(X1, X2) -> active# X1)
    (active# U34(X1, X2, X3) -> active# X1, active# x(N, 0()) -> U91#(isNat N, N))
    (active# U34(X1, X2, X3) -> active# X1, active# x(N, 0()) -> isNat# N)
    (active# U34(X1, X2, X3) -> active# X1, active# x(N, s M) -> isNat# M)
    (active# U34(X1, X2, X3) -> active# X1, active# x(N, s M) -> U101#(isNat M, M, N))
    (active# U34(X1, X2, X3) -> active# X1, active# plus(X1, X2) -> plus#(active X1, X2))
    (active# U34(X1, X2, X3) -> active# X1, active# plus(X1, X2) -> plus#(X1, active X2))
    (active# U34(X1, X2, X3) -> active# X1, active# plus(X1, X2) -> active# X2)
    (active# U34(X1, X2, X3) -> active# X1, active# plus(X1, X2) -> active# X1)
    (active# U34(X1, X2, X3) -> active# X1, active# plus(N, 0()) -> U71#(isNat N, N))
    (active# U34(X1, X2, X3) -> active# X1, active# plus(N, 0()) -> isNat# N)
    (active# U34(X1, X2, X3) -> active# X1, active# plus(N, s M) -> U81#(isNat M, M, N))
    (active# U34(X1, X2, X3) -> active# X1, active# plus(N, s M) -> isNat# M)
    (active# U34(X1, X2, X3) -> active# X1, active# U104(tt(), M, N) -> x#(N, M))
    (active# U34(X1, X2, X3) -> active# X1, active# U104(tt(), M, N) -> plus#(x(N, M), N))
    (active# U34(X1, X2, X3) -> active# X1, active# U104(X1, X2, X3) -> U104#(active X1, X2, X3))
    (active# U34(X1, X2, X3) -> active# X1, active# U104(X1, X2, X3) -> active# X1)
    (active# U34(X1, X2, X3) -> active# X1, active# isNat s V1 -> U21#(isNatKind V1, V1))
    (active# U34(X1, X2, X3) -> active# X1, active# isNat s V1 -> isNatKind# V1)
    (active# U34(X1, X2, X3) -> active# X1, active# isNat x(V1, V2) -> U31#(isNatKind V1, V1, V2))
    (active# U34(X1, X2, X3) -> active# X1, active# isNat x(V1, V2) -> isNatKind# V1)
    (active# U34(X1, X2, X3) -> active# X1, active# isNat plus(V1, V2) -> U11#(isNatKind V1, V1, V2))
    (active# U34(X1, X2, X3) -> active# X1, active# isNat plus(V1, V2) -> isNatKind# V1)
    (active# U34(X1, X2, X3) -> active# X1, active# U103(tt(), M, N) -> U104#(isNatKind N, M, N))
    (active# U34(X1, X2, X3) -> active# X1, active# U103(tt(), M, N) -> isNatKind# N)
    (active# U34(X1, X2, X3) -> active# X1, active# U103(X1, X2, X3) -> U103#(active X1, X2, X3))
    (active# U34(X1, X2, X3) -> active# X1, active# U103(X1, X2, X3) -> active# X1)
    (active# U34(X1, X2, X3) -> active# X1, active# U101(tt(), M, N) -> isNatKind# M)
    (active# U34(X1, X2, X3) -> active# X1, active# U101(tt(), M, N) -> U102#(isNatKind M, M, N))
    (active# U34(X1, X2, X3) -> active# X1, active# U101(X1, X2, X3) -> U101#(active X1, X2, X3))
    (active# U34(X1, X2, X3) -> active# X1, active# U101(X1, X2, X3) -> active# X1)
    (active# U34(X1, X2, X3) -> active# X1, active# isNatKind s V1 -> U51# isNatKind V1)
    (active# U34(X1, X2, X3) -> active# X1, active# isNatKind s V1 -> isNatKind# V1)
    (active# U34(X1, X2, X3) -> active# X1, active# isNatKind x(V1, V2) -> U61#(isNatKind V1, V2))
    (active# U34(X1, X2, X3) -> active# X1, active# isNatKind x(V1, V2) -> isNatKind# V1)
    (active# U34(X1, X2, X3) -> active# X1, active# isNatKind plus(V1, V2) -> U41#(isNatKind V1, V2))
    (active# U34(X1, X2, X3) -> active# X1, active# isNatKind plus(V1, V2) -> isNatKind# V1)
    (active# U34(X1, X2, X3) -> active# X1, active# U102(tt(), M, N) -> isNat# N)
    (active# U34(X1, X2, X3) -> active# X1, active# U102(tt(), M, N) -> U103#(isNat N, M, N))
    (active# U34(X1, X2, X3) -> active# X1, active# U102(X1, X2, X3) -> active# X1)
    (active# U34(X1, X2, X3) -> active# X1, active# U102(X1, X2, X3) -> U102#(active X1, X2, X3))
    (active# U41(X1, X2) -> active# X1, active# U91(tt(), N) -> U92# isNatKind N)
    (active# U41(X1, X2) -> active# X1, active# U91(tt(), N) -> isNatKind# N)
    (active# U41(X1, X2) -> active# X1, active# U91(X1, X2) -> U91#(active X1, X2))
    (active# U41(X1, X2) -> active# X1, active# U91(X1, X2) -> active# X1)
    (active# U41(X1, X2) -> active# X1, active# U92 X -> U92# active X)
    (active# U41(X1, X2) -> active# X1, active# U92 X -> active# X)
    (active# U41(X1, X2) -> active# X1, active# s X -> s# active X)
    (active# U41(X1, X2) -> active# X1, active# s X -> active# X)
    (active# U41(X1, X2) -> active# X1, active# U84(tt(), M, N) -> s# plus(N, M))
    (active# U41(X1, X2) -> active# X1, active# U84(tt(), M, N) -> plus#(N, M))
    (active# U41(X1, X2) -> active# X1, active# U84(X1, X2, X3) -> U84#(active X1, X2, X3))
    (active# U41(X1, X2) -> active# X1, active# U84(X1, X2, X3) -> active# X1)
    (active# U41(X1, X2) -> active# X1, active# U83(tt(), M, N) -> U84#(isNatKind N, M, N))
    (active# U41(X1, X2) -> active# X1, active# U83(tt(), M, N) -> isNatKind# N)
    (active# U41(X1, X2) -> active# X1, active# U83(X1, X2, X3) -> U83#(active X1, X2, X3))
    (active# U41(X1, X2) -> active# X1, active# U83(X1, X2, X3) -> active# X1)
    (active# U41(X1, X2) -> active# X1, active# U81(tt(), M, N) -> U82#(isNatKind M, M, N))
    (active# U41(X1, X2) -> active# X1, active# U81(tt(), M, N) -> isNatKind# M)
    (active# U41(X1, X2) -> active# X1, active# U81(X1, X2, X3) -> U81#(active X1, X2, X3))
    (active# U41(X1, X2) -> active# X1, active# U81(X1, X2, X3) -> active# X1)
    (active# U41(X1, X2) -> active# X1, active# U82(tt(), M, N) -> U83#(isNat N, M, N))
    (active# U41(X1, X2) -> active# X1, active# U82(tt(), M, N) -> isNat# N)
    (active# U41(X1, X2) -> active# X1, active# U82(X1, X2, X3) -> U82#(active X1, X2, X3))
    (active# U41(X1, X2) -> active# X1, active# U82(X1, X2, X3) -> active# X1)
    (active# U41(X1, X2) -> active# X1, active# U71(tt(), N) -> U72#(isNatKind N, N))
    (active# U41(X1, X2) -> active# X1, active# U71(tt(), N) -> isNatKind# N)
    (active# U41(X1, X2) -> active# X1, active# U71(X1, X2) -> U71#(active X1, X2))
    (active# U41(X1, X2) -> active# X1, active# U71(X1, X2) -> active# X1)
    (active# U41(X1, X2) -> active# X1, active# U72(X1, X2) -> U72#(active X1, X2))
    (active# U41(X1, X2) -> active# X1, active# U72(X1, X2) -> active# X1)
    (active# U41(X1, X2) -> active# X1, active# U61(tt(), V2) -> U62# isNatKind V2)
    (active# U41(X1, X2) -> active# X1, active# U61(tt(), V2) -> isNatKind# V2)
    (active# U41(X1, X2) -> active# X1, active# U61(X1, X2) -> U61#(active X1, X2))
    (active# U41(X1, X2) -> active# X1, active# U61(X1, X2) -> active# X1)
    (active# U41(X1, X2) -> active# X1, active# U62 X -> U62# active X)
    (active# U41(X1, X2) -> active# X1, active# U62 X -> active# X)
    (active# U41(X1, X2) -> active# X1, active# U51 X -> U51# active X)
    (active# U41(X1, X2) -> active# X1, active# U51 X -> active# X)
    (active# U41(X1, X2) -> active# X1, active# U41(tt(), V2) -> U42# isNatKind V2)
    (active# U41(X1, X2) -> active# X1, active# U41(tt(), V2) -> isNatKind# V2)
    (active# U41(X1, X2) -> active# X1, active# U41(X1, X2) -> U41#(active X1, X2))
    (active# U41(X1, X2) -> active# X1, active# U41(X1, X2) -> active# X1)
    (active# U41(X1, X2) -> active# X1, active# U42 X -> U42# active X)
    (active# U41(X1, X2) -> active# X1, active# U42 X -> active# X)
    (active# U41(X1, X2) -> active# X1, active# U36 X -> U36# active X)
    (active# U41(X1, X2) -> active# X1, active# U36 X -> active# X)
    (active# U41(X1, X2) -> active# X1, active# U35(tt(), V2) -> U36# isNat V2)
    (active# U41(X1, X2) -> active# X1, active# U35(tt(), V2) -> isNat# V2)
    (active# U41(X1, X2) -> active# X1, active# U35(X1, X2) -> U35#(active X1, X2))
    (active# U41(X1, X2) -> active# X1, active# U35(X1, X2) -> active# X1)
    (active# U41(X1, X2) -> active# X1, active# U34(tt(), V1, V2) -> U35#(isNat V1, V2))
    (active# U41(X1, X2) -> active# X1, active# U34(tt(), V1, V2) -> isNat# V1)
    (active# U41(X1, X2) -> active# X1, active# U34(X1, X2, X3) -> U34#(active X1, X2, X3))
    (active# U41(X1, X2) -> active# X1, active# U34(X1, X2, X3) -> active# X1)
    (active# U41(X1, X2) -> active# X1, active# U33(tt(), V1, V2) -> U34#(isNatKind V2, V1, V2))
    (active# U41(X1, X2) -> active# X1, active# U33(tt(), V1, V2) -> isNatKind# V2)
    (active# U41(X1, X2) -> active# X1, active# U33(X1, X2, X3) -> U33#(active X1, X2, X3))
    (active# U41(X1, X2) -> active# X1, active# U33(X1, X2, X3) -> active# X1)
    (active# U41(X1, X2) -> active# X1, active# U31(tt(), V1, V2) -> U32#(isNatKind V1, V1, V2))
    (active# U41(X1, X2) -> active# X1, active# U31(tt(), V1, V2) -> isNatKind# V1)
    (active# U41(X1, X2) -> active# X1, active# U31(X1, X2, X3) -> U31#(active X1, X2, X3))
    (active# U41(X1, X2) -> active# X1, active# U31(X1, X2, X3) -> active# X1)
    (active# U41(X1, X2) -> active# X1, active# U32(tt(), V1, V2) -> U33#(isNatKind V2, V1, V2))
    (active# U41(X1, X2) -> active# X1, active# U32(tt(), V1, V2) -> isNatKind# V2)
    (active# U41(X1, X2) -> active# X1, active# U32(X1, X2, X3) -> U32#(active X1, X2, X3))
    (active# U41(X1, X2) -> active# X1, active# U32(X1, X2, X3) -> active# X1)
    (active# U41(X1, X2) -> active# X1, active# U23 X -> U23# active X)
    (active# U41(X1, X2) -> active# X1, active# U23 X -> active# X)
    (active# U41(X1, X2) -> active# X1, active# U21(tt(), V1) -> U22#(isNatKind V1, V1))
    (active# U41(X1, X2) -> active# X1, active# U21(tt(), V1) -> isNatKind# V1)
    (active# U41(X1, X2) -> active# X1, active# U21(X1, X2) -> U21#(active X1, X2))
    (active# U41(X1, X2) -> active# X1, active# U21(X1, X2) -> active# X1)
    (active# U41(X1, X2) -> active# X1, active# U22(tt(), V1) -> U23# isNat V1)
    (active# U41(X1, X2) -> active# X1, active# U22(tt(), V1) -> isNat# V1)
    (active# U41(X1, X2) -> active# X1, active# U22(X1, X2) -> U22#(active X1, X2))
    (active# U41(X1, X2) -> active# X1, active# U22(X1, X2) -> active# X1)
    (active# U41(X1, X2) -> active# X1, active# U16 X -> U16# active X)
    (active# U41(X1, X2) -> active# X1, active# U16 X -> active# X)
    (active# U41(X1, X2) -> active# X1, active# U15(tt(), V2) -> U16# isNat V2)
    (active# U41(X1, X2) -> active# X1, active# U15(tt(), V2) -> isNat# V2)
    (active# U41(X1, X2) -> active# X1, active# U15(X1, X2) -> U15#(active X1, X2))
    (active# U41(X1, X2) -> active# X1, active# U15(X1, X2) -> active# X1)
    (active# U41(X1, X2) -> active# X1, active# U14(tt(), V1, V2) -> U15#(isNat V1, V2))
    (active# U41(X1, X2) -> active# X1, active# U14(tt(), V1, V2) -> isNat# V1)
    (active# U41(X1, X2) -> active# X1, active# U14(X1, X2, X3) -> U14#(active X1, X2, X3))
    (active# U41(X1, X2) -> active# X1, active# U14(X1, X2, X3) -> active# X1)
    (active# U41(X1, X2) -> active# X1, active# U13(tt(), V1, V2) -> U14#(isNatKind V2, V1, V2))
    (active# U41(X1, X2) -> active# X1, active# U13(tt(), V1, V2) -> isNatKind# V2)
    (active# U41(X1, X2) -> active# X1, active# U13(X1, X2, X3) -> U13#(active X1, X2, X3))
    (active# U41(X1, X2) -> active# X1, active# U13(X1, X2, X3) -> active# X1)
    (active# U41(X1, X2) -> active# X1, active# U11(tt(), V1, V2) -> U12#(isNatKind V1, V1, V2))
    (active# U41(X1, X2) -> active# X1, active# U11(tt(), V1, V2) -> isNatKind# V1)
    (active# U41(X1, X2) -> active# X1, active# U11(X1, X2, X3) -> U11#(active X1, X2, X3))
    (active# U41(X1, X2) -> active# X1, active# U11(X1, X2, X3) -> active# X1)
    (active# U41(X1, X2) -> active# X1, active# U12(tt(), V1, V2) -> U13#(isNatKind V2, V1, V2))
    (active# U41(X1, X2) -> active# X1, active# U12(tt(), V1, V2) -> isNatKind# V2)
    (active# U41(X1, X2) -> active# X1, active# U12(X1, X2, X3) -> U12#(active X1, X2, X3))
    (active# U41(X1, X2) -> active# X1, active# U12(X1, X2, X3) -> active# X1)
    (active# U41(X1, X2) -> active# X1, active# x(X1, X2) -> x#(active X1, 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) -> active# X2)
    (active# U41(X1, X2) -> active# X1, active# x(X1, X2) -> active# X1)
    (active# U41(X1, X2) -> active# X1, active# x(N, 0()) -> U91#(isNat N, N))
    (active# U41(X1, X2) -> active# X1, active# x(N, 0()) -> 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) -> U101#(isNat M, M, N))
    (active# U41(X1, X2) -> active# X1, active# plus(X1, X2) -> plus#(active X1, 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) -> active# X2)
    (active# U41(X1, X2) -> active# X1, active# plus(X1, X2) -> active# X1)
    (active# U41(X1, X2) -> active# X1, active# plus(N, 0()) -> U71#(isNat N, N))
    (active# U41(X1, X2) -> active# X1, active# plus(N, 0()) -> isNat# N)
    (active# U41(X1, X2) -> active# X1, active# plus(N, s M) -> U81#(isNat M, M, N))
    (active# U41(X1, X2) -> active# X1, active# plus(N, s M) -> isNat# M)
    (active# U41(X1, X2) -> active# X1, active# U104(tt(), M, N) -> x#(N, M))
    (active# U41(X1, X2) -> active# X1, active# U104(tt(), M, N) -> plus#(x(N, M), N))
    (active# U41(X1, X2) -> active# X1, active# U104(X1, X2, X3) -> U104#(active X1, X2, X3))
    (active# U41(X1, X2) -> active# X1, active# U104(X1, X2, X3) -> active# X1)
    (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 x(V1, V2) -> U31#(isNatKind V1, V1, V2))
    (active# U41(X1, X2) -> active# X1, active# isNat x(V1, V2) -> isNatKind# V1)
    (active# U41(X1, X2) -> active# X1, active# isNat plus(V1, V2) -> U11#(isNatKind V1, V1, V2))
    (active# U41(X1, X2) -> active# X1, active# isNat plus(V1, V2) -> isNatKind# V1)
    (active# U41(X1, X2) -> active# X1, active# U103(tt(), M, N) -> U104#(isNatKind N, M, N))
    (active# U41(X1, X2) -> active# X1, active# U103(tt(), M, N) -> isNatKind# N)
    (active# U41(X1, X2) -> active# X1, active# U103(X1, X2, X3) -> U103#(active X1, X2, X3))
    (active# U41(X1, X2) -> active# X1, active# U103(X1, X2, X3) -> active# X1)
    (active# U41(X1, X2) -> active# X1, active# U101(tt(), M, N) -> isNatKind# M)
    (active# U41(X1, X2) -> active# X1, active# U101(tt(), M, N) -> U102#(isNatKind M, M, N))
    (active# U41(X1, X2) -> active# X1, active# U101(X1, X2, X3) -> U101#(active X1, X2, X3))
    (active# U41(X1, X2) -> active# X1, active# U101(X1, X2, X3) -> active# X1)
    (active# U41(X1, X2) -> active# X1, active# isNatKind s V1 -> U51# isNatKind V1)
    (active# U41(X1, X2) -> active# X1, active# isNatKind s V1 -> isNatKind# V1)
    (active# U41(X1, X2) -> active# X1, active# isNatKind x(V1, V2) -> U61#(isNatKind V1, V2))
    (active# U41(X1, X2) -> active# X1, active# isNatKind x(V1, V2) -> isNatKind# V1)
    (active# U41(X1, X2) -> active# X1, active# isNatKind plus(V1, V2) -> U41#(isNatKind V1, V2))
    (active# U41(X1, X2) -> active# X1, active# isNatKind plus(V1, V2) -> isNatKind# V1)
    (active# U41(X1, X2) -> active# X1, active# U102(tt(), M, N) -> isNat# N)
    (active# U41(X1, X2) -> active# X1, active# U102(tt(), M, N) -> U103#(isNat N, M, N))
    (active# U41(X1, X2) -> active# X1, active# U102(X1, X2, X3) -> active# X1)
    (active# U41(X1, X2) -> active# X1, active# U102(X1, X2, X3) -> U102#(active X1, X2, X3))
    (active# U72(X1, X2) -> active# X1, active# U91(tt(), N) -> U92# isNatKind N)
    (active# U72(X1, X2) -> active# X1, active# U91(tt(), N) -> isNatKind# N)
    (active# U72(X1, X2) -> active# X1, active# U91(X1, X2) -> U91#(active X1, X2))
    (active# U72(X1, X2) -> active# X1, active# U91(X1, X2) -> active# X1)
    (active# U72(X1, X2) -> active# X1, active# U92 X -> U92# active X)
    (active# U72(X1, X2) -> active# X1, active# U92 X -> active# X)
    (active# U72(X1, X2) -> active# X1, active# s X -> s# active X)
    (active# U72(X1, X2) -> active# X1, active# s X -> active# X)
    (active# U72(X1, X2) -> active# X1, active# U84(tt(), M, N) -> s# plus(N, M))
    (active# U72(X1, X2) -> active# X1, active# U84(tt(), M, N) -> plus#(N, M))
    (active# U72(X1, X2) -> active# X1, active# U84(X1, X2, X3) -> U84#(active X1, X2, X3))
    (active# U72(X1, X2) -> active# X1, active# U84(X1, X2, X3) -> active# X1)
    (active# U72(X1, X2) -> active# X1, active# U83(tt(), M, N) -> U84#(isNatKind N, M, N))
    (active# U72(X1, X2) -> active# X1, active# U83(tt(), M, N) -> isNatKind# N)
    (active# U72(X1, X2) -> active# X1, active# U83(X1, X2, X3) -> U83#(active X1, X2, X3))
    (active# U72(X1, X2) -> active# X1, active# U83(X1, X2, X3) -> active# X1)
    (active# U72(X1, X2) -> active# X1, active# U81(tt(), M, N) -> U82#(isNatKind M, M, N))
    (active# U72(X1, X2) -> active# X1, active# U81(tt(), M, N) -> isNatKind# M)
    (active# U72(X1, X2) -> active# X1, active# U81(X1, X2, X3) -> U81#(active X1, X2, X3))
    (active# U72(X1, X2) -> active# X1, active# U81(X1, X2, X3) -> active# X1)
    (active# U72(X1, X2) -> active# X1, active# U82(tt(), M, N) -> U83#(isNat N, M, N))
    (active# U72(X1, X2) -> active# X1, active# U82(tt(), M, N) -> isNat# N)
    (active# U72(X1, X2) -> active# X1, active# U82(X1, X2, X3) -> U82#(active X1, X2, X3))
    (active# U72(X1, X2) -> active# X1, active# U82(X1, X2, X3) -> active# X1)
    (active# U72(X1, X2) -> active# X1, active# U71(tt(), N) -> U72#(isNatKind N, N))
    (active# U72(X1, X2) -> active# X1, active# U71(tt(), N) -> isNatKind# N)
    (active# U72(X1, X2) -> active# X1, active# U71(X1, X2) -> U71#(active X1, X2))
    (active# U72(X1, X2) -> active# X1, active# U71(X1, X2) -> active# X1)
    (active# U72(X1, X2) -> active# X1, active# U72(X1, X2) -> U72#(active X1, X2))
    (active# U72(X1, X2) -> active# X1, active# U72(X1, X2) -> active# X1)
    (active# U72(X1, X2) -> active# X1, active# U61(tt(), V2) -> U62# isNatKind V2)
    (active# U72(X1, X2) -> active# X1, active# U61(tt(), V2) -> isNatKind# V2)
    (active# U72(X1, X2) -> active# X1, active# U61(X1, X2) -> U61#(active X1, X2))
    (active# U72(X1, X2) -> active# X1, active# U61(X1, X2) -> active# X1)
    (active# U72(X1, X2) -> active# X1, active# U62 X -> U62# active X)
    (active# U72(X1, X2) -> active# X1, active# U62 X -> active# X)
    (active# U72(X1, X2) -> active# X1, active# U51 X -> U51# active X)
    (active# U72(X1, X2) -> active# X1, active# U51 X -> active# X)
    (active# U72(X1, X2) -> active# X1, active# U41(tt(), V2) -> U42# isNatKind V2)
    (active# U72(X1, X2) -> active# X1, active# U41(tt(), V2) -> isNatKind# V2)
    (active# U72(X1, X2) -> active# X1, active# U41(X1, X2) -> U41#(active X1, X2))
    (active# U72(X1, X2) -> active# X1, active# U41(X1, X2) -> active# X1)
    (active# U72(X1, X2) -> active# X1, active# U42 X -> U42# active X)
    (active# U72(X1, X2) -> active# X1, active# U42 X -> active# X)
    (active# U72(X1, X2) -> active# X1, active# U36 X -> U36# active X)
    (active# U72(X1, X2) -> active# X1, active# U36 X -> active# X)
    (active# U72(X1, X2) -> active# X1, active# U35(tt(), V2) -> U36# isNat V2)
    (active# U72(X1, X2) -> active# X1, active# U35(tt(), V2) -> isNat# V2)
    (active# U72(X1, X2) -> active# X1, active# U35(X1, X2) -> U35#(active X1, X2))
    (active# U72(X1, X2) -> active# X1, active# U35(X1, X2) -> active# X1)
    (active# U72(X1, X2) -> active# X1, active# U34(tt(), V1, V2) -> U35#(isNat V1, V2))
    (active# U72(X1, X2) -> active# X1, active# U34(tt(), V1, V2) -> isNat# V1)
    (active# U72(X1, X2) -> active# X1, active# U34(X1, X2, X3) -> U34#(active X1, X2, X3))
    (active# U72(X1, X2) -> active# X1, active# U34(X1, X2, X3) -> active# X1)
    (active# U72(X1, X2) -> active# X1, active# U33(tt(), V1, V2) -> U34#(isNatKind V2, V1, V2))
    (active# U72(X1, X2) -> active# X1, active# U33(tt(), V1, V2) -> isNatKind# V2)
    (active# U72(X1, X2) -> active# X1, active# U33(X1, X2, X3) -> U33#(active X1, X2, X3))
    (active# U72(X1, X2) -> active# X1, active# U33(X1, X2, X3) -> active# X1)
    (active# U72(X1, X2) -> active# X1, active# U31(tt(), V1, V2) -> U32#(isNatKind V1, V1, V2))
    (active# U72(X1, X2) -> active# X1, active# U31(tt(), V1, V2) -> isNatKind# V1)
    (active# U72(X1, X2) -> active# X1, active# U31(X1, X2, X3) -> U31#(active X1, X2, X3))
    (active# U72(X1, X2) -> active# X1, active# U31(X1, X2, X3) -> active# X1)
    (active# U72(X1, X2) -> active# X1, active# U32(tt(), V1, V2) -> U33#(isNatKind V2, V1, V2))
    (active# U72(X1, X2) -> active# X1, active# U32(tt(), V1, V2) -> isNatKind# V2)
    (active# U72(X1, X2) -> active# X1, active# U32(X1, X2, X3) -> U32#(active X1, X2, X3))
    (active# U72(X1, X2) -> active# X1, active# U32(X1, X2, X3) -> active# X1)
    (active# U72(X1, X2) -> active# X1, active# U23 X -> U23# active X)
    (active# U72(X1, X2) -> active# X1, active# U23 X -> active# X)
    (active# U72(X1, X2) -> active# X1, active# U21(tt(), V1) -> U22#(isNatKind V1, V1))
    (active# U72(X1, X2) -> active# X1, active# U21(tt(), V1) -> isNatKind# V1)
    (active# U72(X1, X2) -> active# X1, active# U21(X1, X2) -> U21#(active X1, X2))
    (active# U72(X1, X2) -> active# X1, active# U21(X1, X2) -> active# X1)
    (active# U72(X1, X2) -> active# X1, active# U22(tt(), V1) -> U23# isNat V1)
    (active# U72(X1, X2) -> active# X1, active# U22(tt(), V1) -> isNat# V1)
    (active# U72(X1, X2) -> active# X1, active# U22(X1, X2) -> U22#(active X1, X2))
    (active# U72(X1, X2) -> active# X1, active# U22(X1, X2) -> active# X1)
    (active# U72(X1, X2) -> active# X1, active# U16 X -> U16# active X)
    (active# U72(X1, X2) -> active# X1, active# U16 X -> active# X)
    (active# U72(X1, X2) -> active# X1, active# U15(tt(), V2) -> U16# isNat V2)
    (active# U72(X1, X2) -> active# X1, active# U15(tt(), V2) -> isNat# V2)
    (active# U72(X1, X2) -> active# X1, active# U15(X1, X2) -> U15#(active X1, X2))
    (active# U72(X1, X2) -> active# X1, active# U15(X1, X2) -> active# X1)
    (active# U72(X1, X2) -> active# X1, active# U14(tt(), V1, V2) -> U15#(isNat V1, V2))
    (active# U72(X1, X2) -> active# X1, active# U14(tt(), V1, V2) -> isNat# V1)
    (active# U72(X1, X2) -> active# X1, active# U14(X1, X2, X3) -> U14#(active X1, X2, X3))
    (active# U72(X1, X2) -> active# X1, active# U14(X1, X2, X3) -> active# X1)
    (active# U72(X1, X2) -> active# X1, active# U13(tt(), V1, V2) -> U14#(isNatKind V2, V1, V2))
    (active# U72(X1, X2) -> active# X1, active# U13(tt(), V1, V2) -> isNatKind# V2)
    (active# U72(X1, X2) -> active# X1, active# U13(X1, X2, X3) -> U13#(active X1, X2, X3))
    (active# U72(X1, X2) -> active# X1, active# U13(X1, X2, X3) -> active# X1)
    (active# U72(X1, X2) -> active# X1, active# U11(tt(), V1, V2) -> U12#(isNatKind V1, V1, V2))
    (active# U72(X1, X2) -> active# X1, active# U11(tt(), V1, V2) -> isNatKind# V1)
    (active# U72(X1, X2) -> active# X1, active# U11(X1, X2, X3) -> U11#(active X1, X2, X3))
    (active# U72(X1, X2) -> active# X1, active# U11(X1, X2, X3) -> active# X1)
    (active# U72(X1, X2) -> active# X1, active# U12(tt(), V1, V2) -> U13#(isNatKind V2, V1, V2))
    (active# U72(X1, X2) -> active# X1, active# U12(tt(), V1, V2) -> isNatKind# V2)
    (active# U72(X1, X2) -> active# X1, active# U12(X1, X2, X3) -> U12#(active X1, X2, X3))
    (active# U72(X1, X2) -> active# X1, active# U12(X1, X2, X3) -> active# X1)
    (active# U72(X1, X2) -> active# X1, active# x(X1, X2) -> x#(active X1, X2))
    (active# U72(X1, X2) -> active# X1, active# x(X1, X2) -> x#(X1, active X2))
    (active# U72(X1, X2) -> active# X1, active# x(X1, X2) -> active# X2)
    (active# U72(X1, X2) -> active# X1, active# x(X1, X2) -> active# X1)
    (active# U72(X1, X2) -> active# X1, active# x(N, 0()) -> U91#(isNat N, N))
    (active# U72(X1, X2) -> active# X1, active# x(N, 0()) -> isNat# N)
    (active# U72(X1, X2) -> active# X1, active# x(N, s M) -> isNat# M)
    (active# U72(X1, X2) -> active# X1, active# x(N, s M) -> U101#(isNat M, M, N))
    (active# U72(X1, X2) -> active# X1, active# plus(X1, X2) -> plus#(active X1, X2))
    (active# U72(X1, X2) -> active# X1, active# plus(X1, X2) -> plus#(X1, active X2))
    (active# U72(X1, X2) -> active# X1, active# plus(X1, X2) -> active# X2)
    (active# U72(X1, X2) -> active# X1, active# plus(X1, X2) -> active# X1)
    (active# U72(X1, X2) -> active# X1, active# plus(N, 0()) -> U71#(isNat N, N))
    (active# U72(X1, X2) -> active# X1, active# plus(N, 0()) -> isNat# N)
    (active# U72(X1, X2) -> active# X1, active# plus(N, s M) -> U81#(isNat M, M, N))
    (active# U72(X1, X2) -> active# X1, active# plus(N, s M) -> isNat# M)
    (active# U72(X1, X2) -> active# X1, active# U104(tt(), M, N) -> x#(N, M))
    (active# U72(X1, X2) -> active# X1, active# U104(tt(), M, N) -> plus#(x(N, M), N))
    (active# U72(X1, X2) -> active# X1, active# U104(X1, X2, X3) -> U104#(active X1, X2, X3))
    (active# U72(X1, X2) -> active# X1, active# U104(X1, X2, X3) -> active# X1)
    (active# U72(X1, X2) -> active# X1, active# isNat s V1 -> U21#(isNatKind V1, V1))
    (active# U72(X1, X2) -> active# X1, active# isNat s V1 -> isNatKind# V1)
    (active# U72(X1, X2) -> active# X1, active# isNat x(V1, V2) -> U31#(isNatKind V1, V1, V2))
    (active# U72(X1, X2) -> active# X1, active# isNat x(V1, V2) -> isNatKind# V1)
    (active# U72(X1, X2) -> active# X1, active# isNat plus(V1, V2) -> U11#(isNatKind V1, V1, V2))
    (active# U72(X1, X2) -> active# X1, active# isNat plus(V1, V2) -> isNatKind# V1)
    (active# U72(X1, X2) -> active# X1, active# U103(tt(), M, N) -> U104#(isNatKind N, M, N))
    (active# U72(X1, X2) -> active# X1, active# U103(tt(), M, N) -> isNatKind# N)
    (active# U72(X1, X2) -> active# X1, active# U103(X1, X2, X3) -> U103#(active X1, X2, X3))
    (active# U72(X1, X2) -> active# X1, active# U103(X1, X2, X3) -> active# X1)
    (active# U72(X1, X2) -> active# X1, active# U101(tt(), M, N) -> isNatKind# M)
    (active# U72(X1, X2) -> active# X1, active# U101(tt(), M, N) -> U102#(isNatKind M, M, N))
    (active# U72(X1, X2) -> active# X1, active# U101(X1, X2, X3) -> U101#(active X1, X2, X3))
    (active# U72(X1, X2) -> active# X1, active# U101(X1, X2, X3) -> active# X1)
    (active# U72(X1, X2) -> active# X1, active# isNatKind s V1 -> U51# isNatKind V1)
    (active# U72(X1, X2) -> active# X1, active# isNatKind s V1 -> isNatKind# V1)
    (active# U72(X1, X2) -> active# X1, active# isNatKind x(V1, V2) -> U61#(isNatKind V1, V2))
    (active# U72(X1, X2) -> active# X1, active# isNatKind x(V1, V2) -> isNatKind# V1)
    (active# U72(X1, X2) -> active# X1, active# isNatKind plus(V1, V2) -> U41#(isNatKind V1, V2))
    (active# U72(X1, X2) -> active# X1, active# isNatKind plus(V1, V2) -> isNatKind# V1)
    (active# U72(X1, X2) -> active# X1, active# U102(tt(), M, N) -> isNat# N)
    (active# U72(X1, X2) -> active# X1, active# U102(tt(), M, N) -> U103#(isNat N, M, N))
    (active# U72(X1, X2) -> active# X1, active# U102(X1, X2, X3) -> active# X1)
    (active# U72(X1, X2) -> active# X1, active# U102(X1, X2, X3) -> U102#(active X1, X2, X3))
    (active# U82(X1, X2, X3) -> active# X1, active# U91(tt(), N) -> U92# isNatKind N)
    (active# U82(X1, X2, X3) -> active# X1, active# U91(tt(), N) -> isNatKind# N)
    (active# U82(X1, X2, X3) -> active# X1, active# U91(X1, X2) -> U91#(active X1, X2))
    (active# U82(X1, X2, X3) -> active# X1, active# U91(X1, X2) -> active# X1)
    (active# U82(X1, X2, X3) -> active# X1, active# U92 X -> U92# active X)
    (active# U82(X1, X2, X3) -> active# X1, active# U92 X -> active# X)
    (active# U82(X1, X2, X3) -> active# X1, active# s X -> s# active X)
    (active# U82(X1, X2, X3) -> active# X1, active# s X -> active# X)
    (active# U82(X1, X2, X3) -> active# X1, active# U84(tt(), M, N) -> s# plus(N, M))
    (active# U82(X1, X2, X3) -> active# X1, active# U84(tt(), M, N) -> plus#(N, M))
    (active# U82(X1, X2, X3) -> active# X1, active# U84(X1, X2, X3) -> U84#(active X1, X2, X3))
    (active# U82(X1, X2, X3) -> active# X1, active# U84(X1, X2, X3) -> active# X1)
    (active# U82(X1, X2, X3) -> active# X1, active# U83(tt(), M, N) -> U84#(isNatKind N, M, N))
    (active# U82(X1, X2, X3) -> active# X1, active# U83(tt(), M, N) -> isNatKind# N)
    (active# U82(X1, X2, X3) -> active# X1, active# U83(X1, X2, X3) -> U83#(active X1, X2, X3))
    (active# U82(X1, X2, X3) -> active# X1, active# U83(X1, X2, X3) -> active# X1)
    (active# U82(X1, X2, X3) -> active# X1, active# U81(tt(), M, N) -> U82#(isNatKind M, M, N))
    (active# U82(X1, X2, X3) -> active# X1, active# U81(tt(), M, N) -> isNatKind# M)
    (active# U82(X1, X2, X3) -> active# X1, active# U81(X1, X2, X3) -> U81#(active X1, X2, X3))
    (active# U82(X1, X2, X3) -> active# X1, active# U81(X1, X2, X3) -> active# X1)
    (active# U82(X1, X2, X3) -> active# X1, active# U82(tt(), M, N) -> U83#(isNat N, M, N))
    (active# U82(X1, X2, X3) -> active# X1, active# U82(tt(), M, N) -> isNat# N)
    (active# U82(X1, X2, X3) -> active# X1, active# U82(X1, X2, X3) -> U82#(active X1, X2, X3))
    (active# U82(X1, X2, X3) -> active# X1, active# U82(X1, X2, X3) -> active# X1)
    (active# U82(X1, X2, X3) -> active# X1, active# U71(tt(), N) -> U72#(isNatKind N, N))
    (active# U82(X1, X2, X3) -> active# X1, active# U71(tt(), N) -> isNatKind# N)
    (active# U82(X1, X2, X3) -> active# X1, active# U71(X1, X2) -> U71#(active X1, X2))
    (active# U82(X1, X2, X3) -> active# X1, active# U71(X1, X2) -> active# X1)
    (active# U82(X1, X2, X3) -> active# X1, active# U72(X1, X2) -> U72#(active X1, X2))
    (active# U82(X1, X2, X3) -> active# X1, active# U72(X1, X2) -> active# X1)
    (active# U82(X1, X2, X3) -> active# X1, active# U61(tt(), V2) -> U62# isNatKind V2)
    (active# U82(X1, X2, X3) -> active# X1, active# U61(tt(), V2) -> isNatKind# V2)
    (active# U82(X1, X2, X3) -> active# X1, active# U61(X1, X2) -> U61#(active X1, X2))
    (active# U82(X1, X2, X3) -> active# X1, active# U61(X1, X2) -> active# X1)
    (active# U82(X1, X2, X3) -> active# X1, active# U62 X -> U62# active X)
    (active# U82(X1, X2, X3) -> active# X1, active# U62 X -> active# X)
    (active# U82(X1, X2, X3) -> active# X1, active# U51 X -> U51# active X)
    (active# U82(X1, X2, X3) -> active# X1, active# U51 X -> active# X)
    (active# U82(X1, X2, X3) -> active# X1, active# U41(tt(), V2) -> U42# isNatKind V2)
    (active# U82(X1, X2, X3) -> active# X1, active# U41(tt(), V2) -> isNatKind# V2)
    (active# U82(X1, X2, X3) -> active# X1, active# U41(X1, X2) -> U41#(active X1, X2))
    (active# U82(X1, X2, X3) -> active# X1, active# U41(X1, X2) -> active# X1)
    (active# U82(X1, X2, X3) -> active# X1, active# U42 X -> U42# active X)
    (active# U82(X1, X2, X3) -> active# X1, active# U42 X -> active# X)
    (active# U82(X1, X2, X3) -> active# X1, active# U36 X -> U36# active X)
    (active# U82(X1, X2, X3) -> active# X1, active# U36 X -> active# X)
    (active# U82(X1, X2, X3) -> active# X1, active# U35(tt(), V2) -> U36# isNat V2)
    (active# U82(X1, X2, X3) -> active# X1, active# U35(tt(), V2) -> isNat# V2)
    (active# U82(X1, X2, X3) -> active# X1, active# U35(X1, X2) -> U35#(active X1, X2))
    (active# U82(X1, X2, X3) -> active# X1, active# U35(X1, X2) -> active# X1)
    (active# U82(X1, X2, X3) -> active# X1, active# U34(tt(), V1, V2) -> U35#(isNat V1, V2))
    (active# U82(X1, X2, X3) -> active# X1, active# U34(tt(), V1, V2) -> isNat# V1)
    (active# U82(X1, X2, X3) -> active# X1, active# U34(X1, X2, X3) -> U34#(active X1, X2, X3))
    (active# U82(X1, X2, X3) -> active# X1, active# U34(X1, X2, X3) -> active# X1)
    (active# U82(X1, X2, X3) -> active# X1, active# U33(tt(), V1, V2) -> U34#(isNatKind V2, V1, V2))
    (active# U82(X1, X2, X3) -> active# X1, active# U33(tt(), V1, V2) -> isNatKind# V2)
    (active# U82(X1, X2, X3) -> active# X1, active# U33(X1, X2, X3) -> U33#(active X1, X2, X3))
    (active# U82(X1, X2, X3) -> active# X1, active# U33(X1, X2, X3) -> active# X1)
    (active# U82(X1, X2, X3) -> active# X1, active# U31(tt(), V1, V2) -> U32#(isNatKind V1, V1, V2))
    (active# U82(X1, X2, X3) -> active# X1, active# U31(tt(), V1, V2) -> isNatKind# V1)
    (active# U82(X1, X2, X3) -> active# X1, active# U31(X1, X2, X3) -> U31#(active X1, X2, X3))
    (active# U82(X1, X2, X3) -> active# X1, active# U31(X1, X2, X3) -> active# X1)
    (active# U82(X1, X2, X3) -> active# X1, active# U32(tt(), V1, V2) -> U33#(isNatKind V2, V1, V2))
    (active# U82(X1, X2, X3) -> active# X1, active# U32(tt(), V1, V2) -> isNatKind# V2)
    (active# U82(X1, X2, X3) -> active# X1, active# U32(X1, X2, X3) -> U32#(active X1, X2, X3))
    (active# U82(X1, X2, X3) -> active# X1, active# U32(X1, X2, X3) -> active# X1)
    (active# U82(X1, X2, X3) -> active# X1, active# U23 X -> U23# active X)
    (active# U82(X1, X2, X3) -> active# X1, active# U23 X -> active# X)
    (active# U82(X1, X2, X3) -> active# X1, active# U21(tt(), V1) -> U22#(isNatKind V1, V1))
    (active# U82(X1, X2, X3) -> active# X1, active# U21(tt(), V1) -> isNatKind# V1)
    (active# U82(X1, X2, X3) -> active# X1, active# U21(X1, X2) -> U21#(active X1, X2))
    (active# U82(X1, X2, X3) -> active# X1, active# U21(X1, X2) -> active# X1)
    (active# U82(X1, X2, X3) -> active# X1, active# U22(tt(), V1) -> U23# isNat V1)
    (active# U82(X1, X2, X3) -> active# X1, active# U22(tt(), V1) -> isNat# V1)
    (active# U82(X1, X2, X3) -> active# X1, active# U22(X1, X2) -> U22#(active X1, X2))
    (active# U82(X1, X2, X3) -> active# X1, active# U22(X1, X2) -> active# X1)
    (active# U82(X1, X2, X3) -> active# X1, active# U16 X -> U16# active X)
    (active# U82(X1, X2, X3) -> active# X1, active# U16 X -> active# X)
    (active# U82(X1, X2, X3) -> active# X1, active# U15(tt(), V2) -> U16# isNat V2)
    (active# U82(X1, X2, X3) -> active# X1, active# U15(tt(), V2) -> isNat# V2)
    (active# U82(X1, X2, X3) -> active# X1, active# U15(X1, X2) -> U15#(active X1, X2))
    (active# U82(X1, X2, X3) -> active# X1, active# U15(X1, X2) -> active# X1)
    (active# U82(X1, X2, X3) -> active# X1, active# U14(tt(), V1, V2) -> U15#(isNat V1, V2))
    (active# U82(X1, X2, X3) -> active# X1, active# U14(tt(), V1, V2) -> isNat# V1)
    (active# U82(X1, X2, X3) -> active# X1, active# U14(X1, X2, X3) -> U14#(active X1, X2, X3))
    (active# U82(X1, X2, X3) -> active# X1, active# U14(X1, X2, X3) -> active# X1)
    (active# U82(X1, X2, X3) -> active# X1, active# U13(tt(), V1, V2) -> U14#(isNatKind V2, V1, V2))
    (active# U82(X1, X2, X3) -> active# X1, active# U13(tt(), V1, V2) -> isNatKind# V2)
    (active# U82(X1, X2, X3) -> active# X1, active# U13(X1, X2, X3) -> U13#(active X1, X2, X3))
    (active# U82(X1, X2, X3) -> active# X1, active# U13(X1, X2, X3) -> active# X1)
    (active# U82(X1, X2, X3) -> active# X1, active# U11(tt(), V1, V2) -> U12#(isNatKind V1, V1, V2))
    (active# U82(X1, X2, X3) -> active# X1, active# U11(tt(), V1, V2) -> isNatKind# V1)
    (active# U82(X1, X2, X3) -> active# X1, active# U11(X1, X2, X3) -> U11#(active X1, X2, X3))
    (active# U82(X1, X2, X3) -> active# X1, active# U11(X1, X2, X3) -> active# X1)
    (active# U82(X1, X2, X3) -> active# X1, active# U12(tt(), V1, V2) -> U13#(isNatKind V2, V1, V2))
    (active# U82(X1, X2, X3) -> active# X1, active# U12(tt(), V1, V2) -> isNatKind# V2)
    (active# U82(X1, X2, X3) -> active# X1, active# U12(X1, X2, X3) -> U12#(active X1, X2, X3))
    (active# U82(X1, X2, X3) -> active# X1, active# U12(X1, X2, X3) -> active# X1)
    (active# U82(X1, X2, X3) -> active# X1, active# x(X1, X2) -> x#(active X1, X2))
    (active# U82(X1, X2, X3) -> active# X1, active# x(X1, X2) -> x#(X1, active X2))
    (active# U82(X1, X2, X3) -> active# X1, active# x(X1, X2) -> active# X2)
    (active# U82(X1, X2, X3) -> active# X1, active# x(X1, X2) -> active# X1)
    (active# U82(X1, X2, X3) -> active# X1, active# x(N, 0()) -> U91#(isNat N, N))
    (active# U82(X1, X2, X3) -> active# X1, active# x(N, 0()) -> isNat# N)
    (active# U82(X1, X2, X3) -> active# X1, active# x(N, s M) -> isNat# M)
    (active# U82(X1, X2, X3) -> active# X1, active# x(N, s M) -> U101#(isNat M, M, N))
    (active# U82(X1, X2, X3) -> active# X1, active# plus(X1, X2) -> plus#(active X1, X2))
    (active# U82(X1, X2, X3) -> active# X1, active# plus(X1, X2) -> plus#(X1, active X2))
    (active# U82(X1, X2, X3) -> active# X1, active# plus(X1, X2) -> active# X2)
    (active# U82(X1, X2, X3) -> active# X1, active# plus(X1, X2) -> active# X1)
    (active# U82(X1, X2, X3) -> active# X1, active# plus(N, 0()) -> U71#(isNat N, N))
    (active# U82(X1, X2, X3) -> active# X1, active# plus(N, 0()) -> isNat# N)
    (active# U82(X1, X2, X3) -> active# X1, active# plus(N, s M) -> U81#(isNat M, M, N))
    (active# U82(X1, X2, X3) -> active# X1, active# plus(N, s M) -> isNat# M)
    (active# U82(X1, X2, X3) -> active# X1, active# U104(tt(), M, N) -> x#(N, M))
    (active# U82(X1, X2, X3) -> active# X1, active# U104(tt(), M, N) -> plus#(x(N, M), N))
    (active# U82(X1, X2, X3) -> active# X1, active# U104(X1, X2, X3) -> U104#(active X1, X2, X3))
    (active# U82(X1, X2, X3) -> active# X1, active# U104(X1, X2, X3) -> active# X1)
    (active# U82(X1, X2, X3) -> active# X1, active# isNat s V1 -> U21#(isNatKind V1, V1))
    (active# U82(X1, X2, X3) -> active# X1, active# isNat s V1 -> isNatKind# V1)
    (active# U82(X1, X2, X3) -> active# X1, active# isNat x(V1, V2) -> U31#(isNatKind V1, V1, V2))
    (active# U82(X1, X2, X3) -> active# X1, active# isNat x(V1, V2) -> isNatKind# V1)
    (active# U82(X1, X2, X3) -> active# X1, active# isNat plus(V1, V2) -> U11#(isNatKind V1, V1, V2))
    (active# U82(X1, X2, X3) -> active# X1, active# isNat plus(V1, V2) -> isNatKind# V1)
    (active# U82(X1, X2, X3) -> active# X1, active# U103(tt(), M, N) -> U104#(isNatKind N, M, N))
    (active# U82(X1, X2, X3) -> active# X1, active# U103(tt(), M, N) -> isNatKind# N)
    (active# U82(X1, X2, X3) -> active# X1, active# U103(X1, X2, X3) -> U103#(active X1, X2, X3))
    (active# U82(X1, X2, X3) -> active# X1, active# U103(X1, X2, X3) -> active# X1)
    (active# U82(X1, X2, X3) -> active# X1, active# U101(tt(), M, N) -> isNatKind# M)
    (active# U82(X1, X2, X3) -> active# X1, active# U101(tt(), M, N) -> U102#(isNatKind M, M, N))
    (active# U82(X1, X2, X3) -> active# X1, active# U101(X1, X2, X3) -> U101#(active X1, X2, X3))
    (active# U82(X1, X2, X3) -> active# X1, active# U101(X1, X2, X3) -> active# X1)
    (active# U82(X1, X2, X3) -> active# X1, active# isNatKind s V1 -> U51# isNatKind V1)
    (active# U82(X1, X2, X3) -> active# X1, active# isNatKind s V1 -> isNatKind# V1)
    (active# U82(X1, X2, X3) -> active# X1, active# isNatKind x(V1, V2) -> U61#(isNatKind V1, V2))
    (active# U82(X1, X2, X3) -> active# X1, active# isNatKind x(V1, V2) -> isNatKind# V1)
    (active# U82(X1, X2, X3) -> active# X1, active# isNatKind plus(V1, V2) -> U41#(isNatKind V1, V2))
    (active# U82(X1, X2, X3) -> active# X1, active# isNatKind plus(V1, V2) -> isNatKind# V1)
    (active# U82(X1, X2, X3) -> active# X1, active# U102(tt(), M, N) -> isNat# N)
    (active# U82(X1, X2, X3) -> active# X1, active# U102(tt(), M, N) -> U103#(isNat N, M, N))
    (active# U82(X1, X2, X3) -> active# X1, active# U102(X1, X2, X3) -> active# X1)
    (active# U82(X1, X2, X3) -> active# X1, active# U102(X1, X2, X3) -> U102#(active X1, X2, X3))
    (active# U83(X1, X2, X3) -> active# X1, active# U91(tt(), N) -> U92# isNatKind N)
    (active# U83(X1, X2, X3) -> active# X1, active# U91(tt(), N) -> isNatKind# N)
    (active# U83(X1, X2, X3) -> active# X1, active# U91(X1, X2) -> U91#(active X1, X2))
    (active# U83(X1, X2, X3) -> active# X1, active# U91(X1, X2) -> active# X1)
    (active# U83(X1, X2, X3) -> active# X1, active# U92 X -> U92# active X)
    (active# U83(X1, X2, X3) -> active# X1, active# U92 X -> active# X)
    (active# U83(X1, X2, X3) -> active# X1, active# s X -> s# active X)
    (active# U83(X1, X2, X3) -> active# X1, active# s X -> active# X)
    (active# U83(X1, X2, X3) -> active# X1, active# U84(tt(), M, N) -> s# plus(N, M))
    (active# U83(X1, X2, X3) -> active# X1, active# U84(tt(), M, N) -> plus#(N, M))
    (active# U83(X1, X2, X3) -> active# X1, active# U84(X1, X2, X3) -> U84#(active X1, X2, X3))
    (active# U83(X1, X2, X3) -> active# X1, active# U84(X1, X2, X3) -> active# X1)
    (active# U83(X1, X2, X3) -> active# X1, active# U83(tt(), M, N) -> U84#(isNatKind N, M, N))
    (active# U83(X1, X2, X3) -> active# X1, active# U83(tt(), M, N) -> isNatKind# N)
    (active# U83(X1, X2, X3) -> active# X1, active# U83(X1, X2, X3) -> U83#(active X1, X2, X3))
    (active# U83(X1, X2, X3) -> active# X1, active# U83(X1, X2, X3) -> active# X1)
    (active# U83(X1, X2, X3) -> active# X1, active# U81(tt(), M, N) -> U82#(isNatKind M, M, N))
    (active# U83(X1, X2, X3) -> active# X1, active# U81(tt(), M, N) -> isNatKind# M)
    (active# U83(X1, X2, X3) -> active# X1, active# U81(X1, X2, X3) -> U81#(active X1, X2, X3))
    (active# U83(X1, X2, X3) -> active# X1, active# U81(X1, X2, X3) -> active# X1)
    (active# U83(X1, X2, X3) -> active# X1, active# U82(tt(), M, N) -> U83#(isNat N, M, N))
    (active# U83(X1, X2, X3) -> active# X1, active# U82(tt(), M, N) -> isNat# N)
    (active# U83(X1, X2, X3) -> active# X1, active# U82(X1, X2, X3) -> U82#(active X1, X2, X3))
    (active# U83(X1, X2, X3) -> active# X1, active# U82(X1, X2, X3) -> active# X1)
    (active# U83(X1, X2, X3) -> active# X1, active# U71(tt(), N) -> U72#(isNatKind N, N))
    (active# U83(X1, X2, X3) -> active# X1, active# U71(tt(), N) -> isNatKind# N)
    (active# U83(X1, X2, X3) -> active# X1, active# U71(X1, X2) -> U71#(active X1, X2))
    (active# U83(X1, X2, X3) -> active# X1, active# U71(X1, X2) -> active# X1)
    (active# U83(X1, X2, X3) -> active# X1, active# U72(X1, X2) -> U72#(active X1, X2))
    (active# U83(X1, X2, X3) -> active# X1, active# U72(X1, X2) -> active# X1)
    (active# U83(X1, X2, X3) -> active# X1, active# U61(tt(), V2) -> U62# isNatKind V2)
    (active# U83(X1, X2, X3) -> active# X1, active# U61(tt(), V2) -> isNatKind# V2)
    (active# U83(X1, X2, X3) -> active# X1, active# U61(X1, X2) -> U61#(active X1, X2))
    (active# U83(X1, X2, X3) -> active# X1, active# U61(X1, X2) -> active# X1)
    (active# U83(X1, X2, X3) -> active# X1, active# U62 X -> U62# active X)
    (active# U83(X1, X2, X3) -> active# X1, active# U62 X -> active# X)
    (active# U83(X1, X2, X3) -> active# X1, active# U51 X -> U51# active X)
    (active# U83(X1, X2, X3) -> active# X1, active# U51 X -> active# X)
    (active# U83(X1, X2, X3) -> active# X1, active# U41(tt(), V2) -> U42# isNatKind V2)
    (active# U83(X1, X2, X3) -> active# X1, active# U41(tt(), V2) -> isNatKind# V2)
    (active# U83(X1, X2, X3) -> active# X1, active# U41(X1, X2) -> U41#(active X1, X2))
    (active# U83(X1, X2, X3) -> active# X1, active# U41(X1, X2) -> active# X1)
    (active# U83(X1, X2, X3) -> active# X1, active# U42 X -> U42# active X)
    (active# U83(X1, X2, X3) -> active# X1, active# U42 X -> active# X)
    (active# U83(X1, X2, X3) -> active# X1, active# U36 X -> U36# active X)
    (active# U83(X1, X2, X3) -> active# X1, active# U36 X -> active# X)
    (active# U83(X1, X2, X3) -> active# X1, active# U35(tt(), V2) -> U36# isNat V2)
    (active# U83(X1, X2, X3) -> active# X1, active# U35(tt(), V2) -> isNat# V2)
    (active# U83(X1, X2, X3) -> active# X1, active# U35(X1, X2) -> U35#(active X1, X2))
    (active# U83(X1, X2, X3) -> active# X1, active# U35(X1, X2) -> active# X1)
    (active# U83(X1, X2, X3) -> active# X1, active# U34(tt(), V1, V2) -> U35#(isNat V1, V2))
    (active# U83(X1, X2, X3) -> active# X1, active# U34(tt(), V1, V2) -> isNat# V1)
    (active# U83(X1, X2, X3) -> active# X1, active# U34(X1, X2, X3) -> U34#(active X1, X2, X3))
    (active# U83(X1, X2, X3) -> active# X1, active# U34(X1, X2, X3) -> active# X1)
    (active# U83(X1, X2, X3) -> active# X1, active# U33(tt(), V1, V2) -> U34#(isNatKind V2, V1, V2))
    (active# U83(X1, X2, X3) -> active# X1, active# U33(tt(), V1, V2) -> isNatKind# V2)
    (active# U83(X1, X2, X3) -> active# X1, active# U33(X1, X2, X3) -> U33#(active X1, X2, X3))
    (active# U83(X1, X2, X3) -> active# X1, active# U33(X1, X2, X3) -> active# X1)
    (active# U83(X1, X2, X3) -> active# X1, active# U31(tt(), V1, V2) -> U32#(isNatKind V1, V1, V2))
    (active# U83(X1, X2, X3) -> active# X1, active# U31(tt(), V1, V2) -> isNatKind# V1)
    (active# U83(X1, X2, X3) -> active# X1, active# U31(X1, X2, X3) -> U31#(active X1, X2, X3))
    (active# U83(X1, X2, X3) -> active# X1, active# U31(X1, X2, X3) -> active# X1)
    (active# U83(X1, X2, X3) -> active# X1, active# U32(tt(), V1, V2) -> U33#(isNatKind V2, V1, V2))
    (active# U83(X1, X2, X3) -> active# X1, active# U32(tt(), V1, V2) -> isNatKind# V2)
    (active# U83(X1, X2, X3) -> active# X1, active# U32(X1, X2, X3) -> U32#(active X1, X2, X3))
    (active# U83(X1, X2, X3) -> active# X1, active# U32(X1, X2, X3) -> active# X1)
    (active# U83(X1, X2, X3) -> active# X1, active# U23 X -> U23# active X)
    (active# U83(X1, X2, X3) -> active# X1, active# U23 X -> active# X)
    (active# U83(X1, X2, X3) -> active# X1, active# U21(tt(), V1) -> U22#(isNatKind V1, V1))
    (active# U83(X1, X2, X3) -> active# X1, active# U21(tt(), V1) -> isNatKind# V1)
    (active# U83(X1, X2, X3) -> active# X1, active# U21(X1, X2) -> U21#(active X1, X2))
    (active# U83(X1, X2, X3) -> active# X1, active# U21(X1, X2) -> active# X1)
    (active# U83(X1, X2, X3) -> active# X1, active# U22(tt(), V1) -> U23# isNat V1)
    (active# U83(X1, X2, X3) -> active# X1, active# U22(tt(), V1) -> isNat# V1)
    (active# U83(X1, X2, X3) -> active# X1, active# U22(X1, X2) -> U22#(active X1, X2))
    (active# U83(X1, X2, X3) -> active# X1, active# U22(X1, X2) -> active# X1)
    (active# U83(X1, X2, X3) -> active# X1, active# U16 X -> U16# active X)
    (active# U83(X1, X2, X3) -> active# X1, active# U16 X -> active# X)
    (active# U83(X1, X2, X3) -> active# X1, active# U15(tt(), V2) -> U16# isNat V2)
    (active# U83(X1, X2, X3) -> active# X1, active# U15(tt(), V2) -> isNat# V2)
    (active# U83(X1, X2, X3) -> active# X1, active# U15(X1, X2) -> U15#(active X1, X2))
    (active# U83(X1, X2, X3) -> active# X1, active# U15(X1, X2) -> active# X1)
    (active# U83(X1, X2, X3) -> active# X1, active# U14(tt(), V1, V2) -> U15#(isNat V1, V2))
    (active# U83(X1, X2, X3) -> active# X1, active# U14(tt(), V1, V2) -> isNat# V1)
    (active# U83(X1, X2, X3) -> active# X1, active# U14(X1, X2, X3) -> U14#(active X1, X2, X3))
    (active# U83(X1, X2, X3) -> active# X1, active# U14(X1, X2, X3) -> active# X1)
    (active# U83(X1, X2, X3) -> active# X1, active# U13(tt(), V1, V2) -> U14#(isNatKind V2, V1, V2))
    (active# U83(X1, X2, X3) -> active# X1, active# U13(tt(), V1, V2) -> isNatKind# V2)
    (active# U83(X1, X2, X3) -> active# X1, active# U13(X1, X2, X3) -> U13#(active X1, X2, X3))
    (active# U83(X1, X2, X3) -> active# X1, active# U13(X1, X2, X3) -> active# X1)
    (active# U83(X1, X2, X3) -> active# X1, active# U11(tt(), V1, V2) -> U12#(isNatKind V1, V1, V2))
    (active# U83(X1, X2, X3) -> active# X1, active# U11(tt(), V1, V2) -> isNatKind# V1)
    (active# U83(X1, X2, X3) -> active# X1, active# U11(X1, X2, X3) -> U11#(active X1, X2, X3))
    (active# U83(X1, X2, X3) -> active# X1, active# U11(X1, X2, X3) -> active# X1)
    (active# U83(X1, X2, X3) -> active# X1, active# U12(tt(), V1, V2) -> U13#(isNatKind V2, V1, V2))
    (active# U83(X1, X2, X3) -> active# X1, active# U12(tt(), V1, V2) -> isNatKind# V2)
    (active# U83(X1, X2, X3) -> active# X1, active# U12(X1, X2, X3) -> U12#(active X1, X2, X3))
    (active# U83(X1, X2, X3) -> active# X1, active# U12(X1, X2, X3) -> active# X1)
    (active# U83(X1, X2, X3) -> active# X1, active# x(X1, X2) -> x#(active X1, X2))
    (active# U83(X1, X2, X3) -> active# X1, active# x(X1, X2) -> x#(X1, active X2))
    (active# U83(X1, X2, X3) -> active# X1, active# x(X1, X2) -> active# X2)
    (active# U83(X1, X2, X3) -> active# X1, active# x(X1, X2) -> active# X1)
    (active# U83(X1, X2, X3) -> active# X1, active# x(N, 0()) -> U91#(isNat N, N))
    (active# U83(X1, X2, X3) -> active# X1, active# x(N, 0()) -> isNat# N)
    (active# U83(X1, X2, X3) -> active# X1, active# x(N, s M) -> isNat# M)
    (active# U83(X1, X2, X3) -> active# X1, active# x(N, s M) -> U101#(isNat M, M, N))
    (active# U83(X1, X2, X3) -> active# X1, active# plus(X1, X2) -> plus#(active X1, X2))
    (active# U83(X1, X2, X3) -> active# X1, active# plus(X1, X2) -> plus#(X1, active X2))
    (active# U83(X1, X2, X3) -> active# X1, active# plus(X1, X2) -> active# X2)
    (active# U83(X1, X2, X3) -> active# X1, active# plus(X1, X2) -> active# X1)
    (active# U83(X1, X2, X3) -> active# X1, active# plus(N, 0()) -> U71#(isNat N, N))
    (active# U83(X1, X2, X3) -> active# X1, active# plus(N, 0()) -> isNat# N)
    (active# U83(X1, X2, X3) -> active# X1, active# plus(N, s M) -> U81#(isNat M, M, N))
    (active# U83(X1, X2, X3) -> active# X1, active# plus(N, s M) -> isNat# M)
    (active# U83(X1, X2, X3) -> active# X1, active# U104(tt(), M, N) -> x#(N, M))
    (active# U83(X1, X2, X3) -> active# X1, active# U104(tt(), M, N) -> plus#(x(N, M), N))
    (active# U83(X1, X2, X3) -> active# X1, active# U104(X1, X2, X3) -> U104#(active X1, X2, X3))
    (active# U83(X1, X2, X3) -> active# X1, active# U104(X1, X2, X3) -> active# X1)
    (active# U83(X1, X2, X3) -> active# X1, active# isNat s V1 -> U21#(isNatKind V1, V1))
    (active# U83(X1, X2, X3) -> active# X1, active# isNat s V1 -> isNatKind# V1)
    (active# U83(X1, X2, X3) -> active# X1, active# isNat x(V1, V2) -> U31#(isNatKind V1, V1, V2))
    (active# U83(X1, X2, X3) -> active# X1, active# isNat x(V1, V2) -> isNatKind# V1)
    (active# U83(X1, X2, X3) -> active# X1, active# isNat plus(V1, V2) -> U11#(isNatKind V1, V1, V2))
    (active# U83(X1, X2, X3) -> active# X1, active# isNat plus(V1, V2) -> isNatKind# V1)
    (active# U83(X1, X2, X3) -> active# X1, active# U103(tt(), M, N) -> U104#(isNatKind N, M, N))
    (active# U83(X1, X2, X3) -> active# X1, active# U103(tt(), M, N) -> isNatKind# N)
    (active# U83(X1, X2, X3) -> active# X1, active# U103(X1, X2, X3) -> U103#(active X1, X2, X3))
    (active# U83(X1, X2, X3) -> active# X1, active# U103(X1, X2, X3) -> active# X1)
    (active# U83(X1, X2, X3) -> active# X1, active# U101(tt(), M, N) -> isNatKind# M)
    (active# U83(X1, X2, X3) -> active# X1, active# U101(tt(), M, N) -> U102#(isNatKind M, M, N))
    (active# U83(X1, X2, X3) -> active# X1, active# U101(X1, X2, X3) -> U101#(active X1, X2, X3))
    (active# U83(X1, X2, X3) -> active# X1, active# U101(X1, X2, X3) -> active# X1)
    (active# U83(X1, X2, X3) -> active# X1, active# isNatKind s V1 -> U51# isNatKind V1)
    (active# U83(X1, X2, X3) -> active# X1, active# isNatKind s V1 -> isNatKind# V1)
    (active# U83(X1, X2, X3) -> active# X1, active# isNatKind x(V1, V2) -> U61#(isNatKind V1, V2))
    (active# U83(X1, X2, X3) -> active# X1, active# isNatKind x(V1, V2) -> isNatKind# V1)
    (active# U83(X1, X2, X3) -> active# X1, active# isNatKind plus(V1, V2) -> U41#(isNatKind V1, V2))
    (active# U83(X1, X2, X3) -> active# X1, active# isNatKind plus(V1, V2) -> isNatKind# V1)
    (active# U83(X1, X2, X3) -> active# X1, active# U102(tt(), M, N) -> isNat# N)
    (active# U83(X1, X2, X3) -> active# X1, active# U102(tt(), M, N) -> U103#(isNat N, M, N))
    (active# U83(X1, X2, X3) -> active# X1, active# U102(X1, X2, X3) -> active# X1)
    (active# U83(X1, X2, X3) -> active# X1, active# U102(X1, X2, X3) -> U102#(active X1, X2, X3))
    (active# U91(X1, X2) -> active# X1, active# U91(tt(), N) -> U92# isNatKind N)
    (active# U91(X1, X2) -> active# X1, active# U91(tt(), N) -> isNatKind# N)
    (active# U91(X1, X2) -> active# X1, active# U91(X1, X2) -> U91#(active X1, X2))
    (active# U91(X1, X2) -> active# X1, active# U91(X1, X2) -> active# X1)
    (active# U91(X1, X2) -> active# X1, active# U92 X -> U92# active X)
    (active# U91(X1, X2) -> active# X1, active# U92 X -> active# X)
    (active# U91(X1, X2) -> active# X1, active# s X -> s# active X)
    (active# U91(X1, X2) -> active# X1, active# s X -> active# X)
    (active# U91(X1, X2) -> active# X1, active# U84(tt(), M, N) -> s# plus(N, M))
    (active# U91(X1, X2) -> active# X1, active# U84(tt(), M, N) -> plus#(N, M))
    (active# U91(X1, X2) -> active# X1, active# U84(X1, X2, X3) -> U84#(active X1, X2, X3))
    (active# U91(X1, X2) -> active# X1, active# U84(X1, X2, X3) -> active# X1)
    (active# U91(X1, X2) -> active# X1, active# U83(tt(), M, N) -> U84#(isNatKind N, M, N))
    (active# U91(X1, X2) -> active# X1, active# U83(tt(), M, N) -> isNatKind# N)
    (active# U91(X1, X2) -> active# X1, active# U83(X1, X2, X3) -> U83#(active X1, X2, X3))
    (active# U91(X1, X2) -> active# X1, active# U83(X1, X2, X3) -> active# X1)
    (active# U91(X1, X2) -> active# X1, active# U81(tt(), M, N) -> U82#(isNatKind M, M, N))
    (active# U91(X1, X2) -> active# X1, active# U81(tt(), M, N) -> isNatKind# M)
    (active# U91(X1, X2) -> active# X1, active# U81(X1, X2, X3) -> U81#(active X1, X2, X3))
    (active# U91(X1, X2) -> active# X1, active# U81(X1, X2, X3) -> active# X1)
    (active# U91(X1, X2) -> active# X1, active# U82(tt(), M, N) -> U83#(isNat N, M, N))
    (active# U91(X1, X2) -> active# X1, active# U82(tt(), M, N) -> isNat# N)
    (active# U91(X1, X2) -> active# X1, active# U82(X1, X2, X3) -> U82#(active X1, X2, X3))
    (active# U91(X1, X2) -> active# X1, active# U82(X1, X2, X3) -> active# X1)
    (active# U91(X1, X2) -> active# X1, active# U71(tt(), N) -> U72#(isNatKind N, N))
    (active# U91(X1, X2) -> active# X1, active# U71(tt(), N) -> isNatKind# N)
    (active# U91(X1, X2) -> active# X1, active# U71(X1, X2) -> U71#(active X1, X2))
    (active# U91(X1, X2) -> active# X1, active# U71(X1, X2) -> active# X1)
    (active# U91(X1, X2) -> active# X1, active# U72(X1, X2) -> U72#(active X1, X2))
    (active# U91(X1, X2) -> active# X1, active# U72(X1, X2) -> active# X1)
    (active# U91(X1, X2) -> active# X1, active# U61(tt(), V2) -> U62# isNatKind V2)
    (active# U91(X1, X2) -> active# X1, active# U61(tt(), V2) -> isNatKind# V2)
    (active# U91(X1, X2) -> active# X1, active# U61(X1, X2) -> U61#(active X1, X2))
    (active# U91(X1, X2) -> active# X1, active# U61(X1, X2) -> active# X1)
    (active# U91(X1, X2) -> active# X1, active# U62 X -> U62# active X)
    (active# U91(X1, X2) -> active# X1, active# U62 X -> active# X)
    (active# U91(X1, X2) -> active# X1, active# U51 X -> U51# active X)
    (active# U91(X1, X2) -> active# X1, active# U51 X -> active# X)
    (active# U91(X1, X2) -> active# X1, active# U41(tt(), V2) -> U42# isNatKind V2)
    (active# U91(X1, X2) -> active# X1, active# U41(tt(), V2) -> isNatKind# V2)
    (active# U91(X1, X2) -> active# X1, active# U41(X1, X2) -> U41#(active X1, X2))
    (active# U91(X1, X2) -> active# X1, active# U41(X1, X2) -> active# X1)
    (active# U91(X1, X2) -> active# X1, active# U42 X -> U42# active X)
    (active# U91(X1, X2) -> active# X1, active# U42 X -> active# X)
    (active# U91(X1, X2) -> active# X1, active# U36 X -> U36# active X)
    (active# U91(X1, X2) -> active# X1, active# U36 X -> active# X)
    (active# U91(X1, X2) -> active# X1, active# U35(tt(), V2) -> U36# isNat V2)
    (active# U91(X1, X2) -> active# X1, active# U35(tt(), V2) -> isNat# V2)
    (active# U91(X1, X2) -> active# X1, active# U35(X1, X2) -> U35#(active X1, X2))
    (active# U91(X1, X2) -> active# X1, active# U35(X1, X2) -> active# X1)
    (active# U91(X1, X2) -> active# X1, active# U34(tt(), V1, V2) -> U35#(isNat V1, V2))
    (active# U91(X1, X2) -> active# X1, active# U34(tt(), V1, V2) -> isNat# V1)
    (active# U91(X1, X2) -> active# X1, active# U34(X1, X2, X3) -> U34#(active X1, X2, X3))
    (active# U91(X1, X2) -> active# X1, active# U34(X1, X2, X3) -> active# X1)
    (active# U91(X1, X2) -> active# X1, active# U33(tt(), V1, V2) -> U34#(isNatKind V2, V1, V2))
    (active# U91(X1, X2) -> active# X1, active# U33(tt(), V1, V2) -> isNatKind# V2)
    (active# U91(X1, X2) -> active# X1, active# U33(X1, X2, X3) -> U33#(active X1, X2, X3))
    (active# U91(X1, X2) -> active# X1, active# U33(X1, X2, X3) -> active# X1)
    (active# U91(X1, X2) -> active# X1, active# U31(tt(), V1, V2) -> U32#(isNatKind V1, V1, V2))
    (active# U91(X1, X2) -> active# X1, active# U31(tt(), V1, V2) -> isNatKind# V1)
    (active# U91(X1, X2) -> active# X1, active# U31(X1, X2, X3) -> U31#(active X1, X2, X3))
    (active# U91(X1, X2) -> active# X1, active# U31(X1, X2, X3) -> active# X1)
    (active# U91(X1, X2) -> active# X1, active# U32(tt(), V1, V2) -> U33#(isNatKind V2, V1, V2))
    (active# U91(X1, X2) -> active# X1, active# U32(tt(), V1, V2) -> isNatKind# V2)
    (active# U91(X1, X2) -> active# X1, active# U32(X1, X2, X3) -> U32#(active X1, X2, X3))
    (active# U91(X1, X2) -> active# X1, active# U32(X1, X2, X3) -> active# X1)
    (active# U91(X1, X2) -> active# X1, active# U23 X -> U23# active X)
    (active# U91(X1, X2) -> active# X1, active# U23 X -> active# X)
    (active# U91(X1, X2) -> active# X1, active# U21(tt(), V1) -> U22#(isNatKind V1, V1))
    (active# U91(X1, X2) -> active# X1, active# U21(tt(), V1) -> isNatKind# V1)
    (active# U91(X1, X2) -> active# X1, active# U21(X1, X2) -> U21#(active X1, X2))
    (active# U91(X1, X2) -> active# X1, active# U21(X1, X2) -> active# X1)
    (active# U91(X1, X2) -> active# X1, active# U22(tt(), V1) -> U23# isNat V1)
    (active# U91(X1, X2) -> active# X1, active# U22(tt(), V1) -> isNat# V1)
    (active# U91(X1, X2) -> active# X1, active# U22(X1, X2) -> U22#(active X1, X2))
    (active# U91(X1, X2) -> active# X1, active# U22(X1, X2) -> active# X1)
    (active# U91(X1, X2) -> active# X1, active# U16 X -> U16# active X)
    (active# U91(X1, X2) -> active# X1, active# U16 X -> active# X)
    (active# U91(X1, X2) -> active# X1, active# U15(tt(), V2) -> U16# isNat V2)
    (active# U91(X1, X2) -> active# X1, active# U15(tt(), V2) -> isNat# V2)
    (active# U91(X1, X2) -> active# X1, active# U15(X1, X2) -> U15#(active X1, X2))
    (active# U91(X1, X2) -> active# X1, active# U15(X1, X2) -> active# X1)
    (active# U91(X1, X2) -> active# X1, active# U14(tt(), V1, V2) -> U15#(isNat V1, V2))
    (active# U91(X1, X2) -> active# X1, active# U14(tt(), V1, V2) -> isNat# V1)
    (active# U91(X1, X2) -> active# X1, active# U14(X1, X2, X3) -> U14#(active X1, X2, X3))
    (active# U91(X1, X2) -> active# X1, active# U14(X1, X2, X3) -> active# X1)
    (active# U91(X1, X2) -> active# X1, active# U13(tt(), V1, V2) -> U14#(isNatKind V2, V1, V2))
    (active# U91(X1, X2) -> active# X1, active# U13(tt(), V1, V2) -> isNatKind# V2)
    (active# U91(X1, X2) -> active# X1, active# U13(X1, X2, X3) -> U13#(active X1, X2, X3))
    (active# U91(X1, X2) -> active# X1, active# U13(X1, X2, X3) -> active# X1)
    (active# U91(X1, X2) -> active# X1, active# U11(tt(), V1, V2) -> U12#(isNatKind V1, V1, V2))
    (active# U91(X1, X2) -> active# X1, active# U11(tt(), V1, V2) -> isNatKind# V1)
    (active# U91(X1, X2) -> active# X1, active# U11(X1, X2, X3) -> U11#(active X1, X2, X3))
    (active# U91(X1, X2) -> active# X1, active# U11(X1, X2, X3) -> active# X1)
    (active# U91(X1, X2) -> active# X1, active# U12(tt(), V1, V2) -> U13#(isNatKind V2, V1, V2))
    (active# U91(X1, X2) -> active# X1, active# U12(tt(), V1, V2) -> isNatKind# V2)
    (active# U91(X1, X2) -> active# X1, active# U12(X1, X2, X3) -> U12#(active X1, X2, X3))
    (active# U91(X1, X2) -> active# X1, active# U12(X1, X2, X3) -> active# X1)
    (active# U91(X1, X2) -> active# X1, active# x(X1, X2) -> x#(active X1, X2))
    (active# U91(X1, X2) -> active# X1, active# x(X1, X2) -> x#(X1, active X2))
    (active# U91(X1, X2) -> active# X1, active# x(X1, X2) -> active# X2)
    (active# U91(X1, X2) -> active# X1, active# x(X1, X2) -> active# X1)
    (active# U91(X1, X2) -> active# X1, active# x(N, 0()) -> U91#(isNat N, N))
    (active# U91(X1, X2) -> active# X1, active# x(N, 0()) -> isNat# N)
    (active# U91(X1, X2) -> active# X1, active# x(N, s M) -> isNat# M)
    (active# U91(X1, X2) -> active# X1, active# x(N, s M) -> U101#(isNat M, M, N))
    (active# U91(X1, X2) -> active# X1, active# plus(X1, X2) -> plus#(active X1, X2))
    (active# U91(X1, X2) -> active# X1, active# plus(X1, X2) -> plus#(X1, active X2))
    (active# U91(X1, X2) -> active# X1, active# plus(X1, X2) -> active# X2)
    (active# U91(X1, X2) -> active# X1, active# plus(X1, X2) -> active# X1)
    (active# U91(X1, X2) -> active# X1, active# plus(N, 0()) -> U71#(isNat N, N))
    (active# U91(X1, X2) -> active# X1, active# plus(N, 0()) -> isNat# N)
    (active# U91(X1, X2) -> active# X1, active# plus(N, s M) -> U81#(isNat M, M, N))
    (active# U91(X1, X2) -> active# X1, active# plus(N, s M) -> isNat# M)
    (active# U91(X1, X2) -> active# X1, active# U104(tt(), M, N) -> x#(N, M))
    (active# U91(X1, X2) -> active# X1, active# U104(tt(), M, N) -> plus#(x(N, M), N))
    (active# U91(X1, X2) -> active# X1, active# U104(X1, X2, X3) -> U104#(active X1, X2, X3))
    (active# U91(X1, X2) -> active# X1, active# U104(X1, X2, X3) -> active# X1)
    (active# U91(X1, X2) -> active# X1, active# isNat s V1 -> U21#(isNatKind V1, V1))
    (active# U91(X1, X2) -> active# X1, active# isNat s V1 -> isNatKind# V1)
    (active# U91(X1, X2) -> active# X1, active# isNat x(V1, V2) -> U31#(isNatKind V1, V1, V2))
    (active# U91(X1, X2) -> active# X1, active# isNat x(V1, V2) -> isNatKind# V1)
    (active# U91(X1, X2) -> active# X1, active# isNat plus(V1, V2) -> U11#(isNatKind V1, V1, V2))
    (active# U91(X1, X2) -> active# X1, active# isNat plus(V1, V2) -> isNatKind# V1)
    (active# U91(X1, X2) -> active# X1, active# U103(tt(), M, N) -> U104#(isNatKind N, M, N))
    (active# U91(X1, X2) -> active# X1, active# U103(tt(), M, N) -> isNatKind# N)
    (active# U91(X1, X2) -> active# X1, active# U103(X1, X2, X3) -> U103#(active X1, X2, X3))
    (active# U91(X1, X2) -> active# X1, active# U103(X1, X2, X3) -> active# X1)
    (active# U91(X1, X2) -> active# X1, active# U101(tt(), M, N) -> isNatKind# M)
    (active# U91(X1, X2) -> active# X1, active# U101(tt(), M, N) -> U102#(isNatKind M, M, N))
    (active# U91(X1, X2) -> active# X1, active# U101(X1, X2, X3) -> U101#(active X1, X2, X3))
    (active# U91(X1, X2) -> active# X1, active# U101(X1, X2, X3) -> active# X1)
    (active# U91(X1, X2) -> active# X1, active# isNatKind s V1 -> U51# isNatKind V1)
    (active# U91(X1, X2) -> active# X1, active# isNatKind s V1 -> isNatKind# V1)
    (active# U91(X1, X2) -> active# X1, active# isNatKind x(V1, V2) -> U61#(isNatKind V1, V2))
    (active# U91(X1, X2) -> active# X1, active# isNatKind x(V1, V2) -> isNatKind# V1)
    (active# U91(X1, X2) -> active# X1, active# isNatKind plus(V1, V2) -> U41#(isNatKind V1, V2))
    (active# U91(X1, X2) -> active# X1, active# isNatKind plus(V1, V2) -> isNatKind# V1)
    (active# U91(X1, X2) -> active# X1, active# U102(tt(), M, N) -> isNat# N)
    (active# U91(X1, X2) -> active# X1, active# U102(tt(), M, N) -> U103#(isNat N, M, N))
    (active# U91(X1, X2) -> active# X1, active# U102(X1, X2, X3) -> active# X1)
    (active# U91(X1, X2) -> active# X1, active# U102(X1, X2, X3) -> U102#(active X1, X2, X3))
    (proper# U101(X1, X2, X3) -> proper# X1, proper# U91(X1, X2) -> proper# X2)
    (proper# U101(X1, X2, X3) -> proper# X1, proper# U91(X1, X2) -> proper# X1)
    (proper# U101(X1, X2, X3) -> proper# X1, proper# U91(X1, X2) -> U91#(proper X1, proper X2))
    (proper# U101(X1, X2, X3) -> proper# X1, proper# U92 X -> proper# X)
    (proper# U101(X1, X2, X3) -> proper# X1, proper# U92 X -> U92# proper X)
    (proper# U101(X1, X2, X3) -> proper# X1, proper# s X -> proper# X)
    (proper# U101(X1, X2, X3) -> proper# X1, proper# s X -> s# proper X)
    (proper# U101(X1, X2, X3) -> proper# X1, proper# U84(X1, X2, X3) -> proper# X3)
    (proper# U101(X1, X2, X3) -> proper# X1, proper# U84(X1, X2, X3) -> proper# X2)
    (proper# U101(X1, X2, X3) -> proper# X1, proper# U84(X1, X2, X3) -> proper# X1)
    (proper# U101(X1, X2, X3) -> proper# X1, proper# U84(X1, X2, X3) -> U84#(proper X1, proper X2, proper X3))
    (proper# U101(X1, X2, X3) -> proper# X1, proper# U83(X1, X2, X3) -> proper# X3)
    (proper# U101(X1, X2, X3) -> proper# X1, proper# U83(X1, X2, X3) -> proper# X2)
    (proper# U101(X1, X2, X3) -> proper# X1, proper# U83(X1, X2, X3) -> proper# X1)
    (proper# U101(X1, X2, X3) -> proper# X1, proper# U83(X1, X2, X3) -> U83#(proper X1, proper X2, proper X3))
    (proper# U101(X1, X2, X3) -> proper# X1, proper# U81(X1, X2, X3) -> proper# X3)
    (proper# U101(X1, X2, X3) -> proper# X1, proper# U81(X1, X2, X3) -> proper# X2)
    (proper# U101(X1, X2, X3) -> proper# X1, proper# U81(X1, X2, X3) -> proper# X1)
    (proper# U101(X1, X2, X3) -> proper# X1, proper# U81(X1, X2, X3) -> U81#(proper X1, proper X2, proper X3))
    (proper# U101(X1, X2, X3) -> proper# X1, proper# U82(X1, X2, X3) -> proper# X3)
    (proper# U101(X1, X2, X3) -> proper# X1, proper# U82(X1, X2, X3) -> proper# X2)
    (proper# U101(X1, X2, X3) -> proper# X1, proper# U82(X1, X2, X3) -> proper# X1)
    (proper# U101(X1, X2, X3) -> proper# X1, proper# U82(X1, X2, X3) -> U82#(proper X1, proper X2, proper X3))
    (proper# U101(X1, X2, X3) -> proper# X1, proper# U71(X1, X2) -> proper# X2)
    (proper# U101(X1, X2, X3) -> proper# X1, proper# U71(X1, X2) -> proper# X1)
    (proper# U101(X1, X2, X3) -> proper# X1, proper# U71(X1, X2) -> U71#(proper X1, proper X2))
    (proper# U101(X1, X2, X3) -> proper# X1, proper# U72(X1, X2) -> proper# X2)
    (proper# U101(X1, X2, X3) -> proper# X1, proper# U72(X1, X2) -> proper# X1)
    (proper# U101(X1, X2, X3) -> proper# X1, proper# U72(X1, X2) -> U72#(proper X1, proper X2))
    (proper# U101(X1, X2, X3) -> proper# X1, proper# U61(X1, X2) -> proper# X2)
    (proper# U101(X1, X2, X3) -> proper# X1, proper# U61(X1, X2) -> proper# X1)
    (proper# U101(X1, X2, X3) -> proper# X1, proper# U61(X1, X2) -> U61#(proper X1, proper X2))
    (proper# U101(X1, X2, X3) -> proper# X1, proper# U62 X -> proper# X)
    (proper# U101(X1, X2, X3) -> proper# X1, proper# U62 X -> U62# proper X)
    (proper# U101(X1, X2, X3) -> proper# X1, proper# U51 X -> proper# X)
    (proper# U101(X1, X2, X3) -> proper# X1, proper# U51 X -> U51# proper X)
    (proper# U101(X1, X2, X3) -> proper# X1, proper# U41(X1, X2) -> proper# X2)
    (proper# U101(X1, X2, X3) -> proper# X1, proper# U41(X1, X2) -> proper# X1)
    (proper# U101(X1, X2, X3) -> proper# X1, proper# U41(X1, X2) -> U41#(proper X1, proper X2))
    (proper# U101(X1, X2, X3) -> proper# X1, proper# U42 X -> proper# X)
    (proper# U101(X1, X2, X3) -> proper# X1, proper# U42 X -> U42# proper X)
    (proper# U101(X1, X2, X3) -> proper# X1, proper# U36 X -> proper# X)
    (proper# U101(X1, X2, X3) -> proper# X1, proper# U36 X -> U36# proper X)
    (proper# U101(X1, X2, X3) -> proper# X1, proper# U35(X1, X2) -> proper# X2)
    (proper# U101(X1, X2, X3) -> proper# X1, proper# U35(X1, X2) -> proper# X1)
    (proper# U101(X1, X2, X3) -> proper# X1, proper# U35(X1, X2) -> U35#(proper X1, proper X2))
    (proper# U101(X1, X2, X3) -> proper# X1, proper# U34(X1, X2, X3) -> proper# X3)
    (proper# U101(X1, X2, X3) -> proper# X1, proper# U34(X1, X2, X3) -> proper# X2)
    (proper# U101(X1, X2, X3) -> proper# X1, proper# U34(X1, X2, X3) -> proper# X1)
    (proper# U101(X1, X2, X3) -> proper# X1, proper# U34(X1, X2, X3) -> U34#(proper X1, proper X2, proper X3))
    (proper# U101(X1, X2, X3) -> proper# X1, proper# U33(X1, X2, X3) -> proper# X3)
    (proper# U101(X1, X2, X3) -> proper# X1, proper# U33(X1, X2, X3) -> proper# X2)
    (proper# U101(X1, X2, X3) -> proper# X1, proper# U33(X1, X2, X3) -> proper# X1)
    (proper# U101(X1, X2, X3) -> proper# X1, proper# U33(X1, X2, X3) -> U33#(proper X1, proper X2, proper X3))
    (proper# U101(X1, X2, X3) -> proper# X1, proper# U31(X1, X2, X3) -> proper# X3)
    (proper# U101(X1, X2, X3) -> proper# X1, proper# U31(X1, X2, X3) -> proper# X2)
    (proper# U101(X1, X2, X3) -> proper# X1, proper# U31(X1, X2, X3) -> proper# X1)
    (proper# U101(X1, X2, X3) -> proper# X1, proper# U31(X1, X2, X3) -> U31#(proper X1, proper X2, proper X3))
    (proper# U101(X1, X2, X3) -> proper# X1, proper# U32(X1, X2, X3) -> proper# X3)
    (proper# U101(X1, X2, X3) -> proper# X1, proper# U32(X1, X2, X3) -> proper# X2)
    (proper# U101(X1, X2, X3) -> proper# X1, proper# U32(X1, X2, X3) -> proper# X1)
    (proper# U101(X1, X2, X3) -> proper# X1, proper# U32(X1, X2, X3) -> U32#(proper X1, proper X2, proper X3))
    (proper# U101(X1, X2, X3) -> proper# X1, proper# U23 X -> proper# X)
    (proper# U101(X1, X2, X3) -> proper# X1, proper# U23 X -> U23# proper X)
    (proper# U101(X1, X2, X3) -> proper# X1, proper# U21(X1, X2) -> proper# X2)
    (proper# U101(X1, X2, X3) -> proper# X1, proper# U21(X1, X2) -> proper# X1)
    (proper# U101(X1, X2, X3) -> proper# X1, proper# U21(X1, X2) -> U21#(proper X1, proper X2))
    (proper# U101(X1, X2, X3) -> proper# X1, proper# U22(X1, X2) -> proper# X2)
    (proper# U101(X1, X2, X3) -> proper# X1, proper# U22(X1, X2) -> proper# X1)
    (proper# U101(X1, X2, X3) -> proper# X1, proper# U22(X1, X2) -> U22#(proper X1, proper X2))
    (proper# U101(X1, X2, X3) -> proper# X1, proper# U16 X -> proper# X)
    (proper# U101(X1, X2, X3) -> proper# X1, proper# U16 X -> U16# proper X)
    (proper# U101(X1, X2, X3) -> proper# X1, proper# U15(X1, X2) -> proper# X2)
    (proper# U101(X1, X2, X3) -> proper# X1, proper# U15(X1, X2) -> proper# X1)
    (proper# U101(X1, X2, X3) -> proper# X1, proper# U15(X1, X2) -> U15#(proper X1, proper X2))
    (proper# U101(X1, X2, X3) -> proper# X1, proper# U14(X1, X2, X3) -> proper# X3)
    (proper# U101(X1, X2, X3) -> proper# X1, proper# U14(X1, X2, X3) -> proper# X2)
    (proper# U101(X1, X2, X3) -> proper# X1, proper# U14(X1, X2, X3) -> proper# X1)
    (proper# U101(X1, X2, X3) -> proper# X1, proper# U14(X1, X2, X3) -> U14#(proper X1, proper X2, proper X3))
    (proper# U101(X1, X2, X3) -> proper# X1, proper# U13(X1, X2, X3) -> proper# X3)
    (proper# U101(X1, X2, X3) -> proper# X1, proper# U13(X1, X2, X3) -> proper# X2)
    (proper# U101(X1, X2, X3) -> proper# X1, proper# U13(X1, X2, X3) -> proper# X1)
    (proper# U101(X1, X2, X3) -> proper# X1, proper# U13(X1, X2, X3) -> U13#(proper X1, proper X2, proper X3))
    (proper# U101(X1, X2, X3) -> proper# X1, proper# U11(X1, X2, X3) -> proper# X3)
    (proper# U101(X1, X2, X3) -> proper# X1, proper# U11(X1, X2, X3) -> proper# X2)
    (proper# U101(X1, X2, X3) -> proper# X1, proper# U11(X1, X2, X3) -> proper# X1)
    (proper# U101(X1, X2, X3) -> proper# X1, proper# U11(X1, X2, X3) -> U11#(proper X1, proper X2, proper X3))
    (proper# U101(X1, X2, X3) -> proper# X1, proper# U12(X1, X2, X3) -> proper# X3)
    (proper# U101(X1, X2, X3) -> proper# X1, proper# U12(X1, X2, X3) -> proper# X2)
    (proper# U101(X1, X2, X3) -> proper# X1, proper# U12(X1, X2, X3) -> proper# X1)
    (proper# U101(X1, X2, X3) -> proper# X1, proper# U12(X1, X2, X3) -> U12#(proper X1, proper X2, proper X3))
    (proper# U101(X1, X2, X3) -> proper# X1, proper# x(X1, X2) -> proper# X2)
    (proper# U101(X1, X2, X3) -> proper# X1, proper# x(X1, X2) -> proper# X1)
    (proper# U101(X1, X2, X3) -> proper# X1, proper# x(X1, X2) -> x#(proper X1, proper X2))
    (proper# U101(X1, X2, X3) -> proper# X1, proper# plus(X1, X2) -> proper# X2)
    (proper# U101(X1, X2, X3) -> proper# X1, proper# plus(X1, X2) -> proper# X1)
    (proper# U101(X1, X2, X3) -> proper# X1, proper# plus(X1, X2) -> plus#(proper X1, proper X2))
    (proper# U101(X1, X2, X3) -> proper# X1, proper# U104(X1, X2, X3) -> proper# X3)
    (proper# U101(X1, X2, X3) -> proper# X1, proper# U104(X1, X2, X3) -> proper# X2)
    (proper# U101(X1, X2, X3) -> proper# X1, proper# U104(X1, X2, X3) -> proper# X1)
    (proper# U101(X1, X2, X3) -> proper# X1, proper# U104(X1, X2, X3) -> U104#(proper X1, proper X2, proper X3))
    (proper# U101(X1, X2, X3) -> proper# X1, proper# isNat X -> proper# X)
    (proper# U101(X1, X2, X3) -> proper# X1, proper# isNat X -> isNat# proper X)
    (proper# U101(X1, X2, X3) -> proper# X1, proper# U103(X1, X2, X3) -> proper# X3)
    (proper# U101(X1, X2, X3) -> proper# X1, proper# U103(X1, X2, X3) -> proper# X2)
    (proper# U101(X1, X2, X3) -> proper# X1, proper# U103(X1, X2, X3) -> proper# X1)
    (proper# U101(X1, X2, X3) -> proper# X1, proper# U103(X1, X2, X3) -> U103#(proper X1, proper X2, proper X3))
    (proper# U101(X1, X2, X3) -> proper# X1, proper# U101(X1, X2, X3) -> proper# X3)
    (proper# U101(X1, X2, X3) -> proper# X1, proper# U101(X1, X2, X3) -> proper# X2)
    (proper# U101(X1, X2, X3) -> proper# X1, proper# U101(X1, X2, X3) -> proper# X1)
    (proper# U101(X1, X2, X3) -> proper# X1, proper# U101(X1, X2, X3) -> U101#(proper X1, proper X2, proper X3))
    (proper# U101(X1, X2, X3) -> proper# X1, proper# isNatKind X -> proper# X)
    (proper# U101(X1, X2, X3) -> proper# X1, proper# isNatKind X -> isNatKind# proper X)
    (proper# U101(X1, X2, X3) -> proper# X1, proper# U102(X1, X2, X3) -> proper# X3)
    (proper# U101(X1, X2, X3) -> proper# X1, proper# U102(X1, X2, X3) -> proper# X2)
    (proper# U101(X1, X2, X3) -> proper# X1, proper# U102(X1, X2, X3) -> proper# X1)
    (proper# U101(X1, X2, X3) -> proper# X1, proper# U102(X1, X2, X3) -> U102#(proper X1, proper X2, proper X3))
    (proper# U104(X1, X2, X3) -> proper# X1, proper# U91(X1, X2) -> proper# X2)
    (proper# U104(X1, X2, X3) -> proper# X1, proper# U91(X1, X2) -> proper# X1)
    (proper# U104(X1, X2, X3) -> proper# X1, proper# U91(X1, X2) -> U91#(proper X1, proper X2))
    (proper# U104(X1, X2, X3) -> proper# X1, proper# U92 X -> proper# X)
    (proper# U104(X1, X2, X3) -> proper# X1, proper# U92 X -> U92# proper X)
    (proper# U104(X1, X2, X3) -> proper# X1, proper# s X -> proper# X)
    (proper# U104(X1, X2, X3) -> proper# X1, proper# s X -> s# proper X)
    (proper# U104(X1, X2, X3) -> proper# X1, proper# U84(X1, X2, X3) -> proper# X3)
    (proper# U104(X1, X2, X3) -> proper# X1, proper# U84(X1, X2, X3) -> proper# X2)
    (proper# U104(X1, X2, X3) -> proper# X1, proper# U84(X1, X2, X3) -> proper# X1)
    (proper# U104(X1, X2, X3) -> proper# X1, proper# U84(X1, X2, X3) -> U84#(proper X1, proper X2, proper X3))
    (proper# U104(X1, X2, X3) -> proper# X1, proper# U83(X1, X2, X3) -> proper# X3)
    (proper# U104(X1, X2, X3) -> proper# X1, proper# U83(X1, X2, X3) -> proper# X2)
    (proper# U104(X1, X2, X3) -> proper# X1, proper# U83(X1, X2, X3) -> proper# X1)
    (proper# U104(X1, X2, X3) -> proper# X1, proper# U83(X1, X2, X3) -> U83#(proper X1, proper X2, proper X3))
    (proper# U104(X1, X2, X3) -> proper# X1, proper# U81(X1, X2, X3) -> proper# X3)
    (proper# U104(X1, X2, X3) -> proper# X1, proper# U81(X1, X2, X3) -> proper# X2)
    (proper# U104(X1, X2, X3) -> proper# X1, proper# U81(X1, X2, X3) -> proper# X1)
    (proper# U104(X1, X2, X3) -> proper# X1, proper# U81(X1, X2, X3) -> U81#(proper X1, proper X2, proper X3))
    (proper# U104(X1, X2, X3) -> proper# X1, proper# U82(X1, X2, X3) -> proper# X3)
    (proper# U104(X1, X2, X3) -> proper# X1, proper# U82(X1, X2, X3) -> proper# X2)
    (proper# U104(X1, X2, X3) -> proper# X1, proper# U82(X1, X2, X3) -> proper# X1)
    (proper# U104(X1, X2, X3) -> proper# X1, proper# U82(X1, X2, X3) -> U82#(proper X1, proper X2, proper X3))
    (proper# U104(X1, X2, X3) -> proper# X1, proper# U71(X1, X2) -> proper# X2)
    (proper# U104(X1, X2, X3) -> proper# X1, proper# U71(X1, X2) -> proper# X1)
    (proper# U104(X1, X2, X3) -> proper# X1, proper# U71(X1, X2) -> U71#(proper X1, proper X2))
    (proper# U104(X1, X2, X3) -> proper# X1, proper# U72(X1, X2) -> proper# X2)
    (proper# U104(X1, X2, X3) -> proper# X1, proper# U72(X1, X2) -> proper# X1)
    (proper# U104(X1, X2, X3) -> proper# X1, proper# U72(X1, X2) -> U72#(proper X1, proper X2))
    (proper# U104(X1, X2, X3) -> proper# X1, proper# U61(X1, X2) -> proper# X2)
    (proper# U104(X1, X2, X3) -> proper# X1, proper# U61(X1, X2) -> proper# X1)
    (proper# U104(X1, X2, X3) -> proper# X1, proper# U61(X1, X2) -> U61#(proper X1, proper X2))
    (proper# U104(X1, X2, X3) -> proper# X1, proper# U62 X -> proper# X)
    (proper# U104(X1, X2, X3) -> proper# X1, proper# U62 X -> U62# proper X)
    (proper# U104(X1, X2, X3) -> proper# X1, proper# U51 X -> proper# X)
    (proper# U104(X1, X2, X3) -> proper# X1, proper# U51 X -> U51# proper X)
    (proper# U104(X1, X2, X3) -> proper# X1, proper# U41(X1, X2) -> proper# X2)
    (proper# U104(X1, X2, X3) -> proper# X1, proper# U41(X1, X2) -> proper# X1)
    (proper# U104(X1, X2, X3) -> proper# X1, proper# U41(X1, X2) -> U41#(proper X1, proper X2))
    (proper# U104(X1, X2, X3) -> proper# X1, proper# U42 X -> proper# X)
    (proper# U104(X1, X2, X3) -> proper# X1, proper# U42 X -> U42# proper X)
    (proper# U104(X1, X2, X3) -> proper# X1, proper# U36 X -> proper# X)
    (proper# U104(X1, X2, X3) -> proper# X1, proper# U36 X -> U36# proper X)
    (proper# U104(X1, X2, X3) -> proper# X1, proper# U35(X1, X2) -> proper# X2)
    (proper# U104(X1, X2, X3) -> proper# X1, proper# U35(X1, X2) -> proper# X1)
    (proper# U104(X1, X2, X3) -> proper# X1, proper# U35(X1, X2) -> U35#(proper X1, proper X2))
    (proper# U104(X1, X2, X3) -> proper# X1, proper# U34(X1, X2, X3) -> proper# X3)
    (proper# U104(X1, X2, X3) -> proper# X1, proper# U34(X1, X2, X3) -> proper# X2)
    (proper# U104(X1, X2, X3) -> proper# X1, proper# U34(X1, X2, X3) -> proper# X1)
    (proper# U104(X1, X2, X3) -> proper# X1, proper# U34(X1, X2, X3) -> U34#(proper X1, proper X2, proper X3))
    (proper# U104(X1, X2, X3) -> proper# X1, proper# U33(X1, X2, X3) -> proper# X3)
    (proper# U104(X1, X2, X3) -> proper# X1, proper# U33(X1, X2, X3) -> proper# X2)
    (proper# U104(X1, X2, X3) -> proper# X1, proper# U33(X1, X2, X3) -> proper# X1)
    (proper# U104(X1, X2, X3) -> proper# X1, proper# U33(X1, X2, X3) -> U33#(proper X1, proper X2, proper X3))
    (proper# U104(X1, X2, X3) -> proper# X1, proper# U31(X1, X2, X3) -> proper# X3)
    (proper# U104(X1, X2, X3) -> proper# X1, proper# U31(X1, X2, X3) -> proper# X2)
    (proper# U104(X1, X2, X3) -> proper# X1, proper# U31(X1, X2, X3) -> proper# X1)
    (proper# U104(X1, X2, X3) -> proper# X1, proper# U31(X1, X2, X3) -> U31#(proper X1, proper X2, proper X3))
    (proper# U104(X1, X2, X3) -> proper# X1, proper# U32(X1, X2, X3) -> proper# X3)
    (proper# U104(X1, X2, X3) -> proper# X1, proper# U32(X1, X2, X3) -> proper# X2)
    (proper# U104(X1, X2, X3) -> proper# X1, proper# U32(X1, X2, X3) -> proper# X1)
    (proper# U104(X1, X2, X3) -> proper# X1, proper# U32(X1, X2, X3) -> U32#(proper X1, proper X2, proper X3))
    (proper# U104(X1, X2, X3) -> proper# X1, proper# U23 X -> proper# X)
    (proper# U104(X1, X2, X3) -> proper# X1, proper# U23 X -> U23# proper X)
    (proper# U104(X1, X2, X3) -> proper# X1, proper# U21(X1, X2) -> proper# X2)
    (proper# U104(X1, X2, X3) -> proper# X1, proper# U21(X1, X2) -> proper# X1)
    (proper# U104(X1, X2, X3) -> proper# X1, proper# U21(X1, X2) -> U21#(proper X1, proper X2))
    (proper# U104(X1, X2, X3) -> proper# X1, proper# U22(X1, X2) -> proper# X2)
    (proper# U104(X1, X2, X3) -> proper# X1, proper# U22(X1, X2) -> proper# X1)
    (proper# U104(X1, X2, X3) -> proper# X1, proper# U22(X1, X2) -> U22#(proper X1, proper X2))
    (proper# U104(X1, X2, X3) -> proper# X1, proper# U16 X -> proper# X)
    (proper# U104(X1, X2, X3) -> proper# X1, proper# U16 X -> U16# proper X)
    (proper# U104(X1, X2, X3) -> proper# X1, proper# U15(X1, X2) -> proper# X2)
    (proper# U104(X1, X2, X3) -> proper# X1, proper# U15(X1, X2) -> proper# X1)
    (proper# U104(X1, X2, X3) -> proper# X1, proper# U15(X1, X2) -> U15#(proper X1, proper X2))
    (proper# U104(X1, X2, X3) -> proper# X1, proper# U14(X1, X2, X3) -> proper# X3)
    (proper# U104(X1, X2, X3) -> proper# X1, proper# U14(X1, X2, X3) -> proper# X2)
    (proper# U104(X1, X2, X3) -> proper# X1, proper# U14(X1, X2, X3) -> proper# X1)
    (proper# U104(X1, X2, X3) -> proper# X1, proper# U14(X1, X2, X3) -> U14#(proper X1, proper X2, proper X3))
    (proper# U104(X1, X2, X3) -> proper# X1, proper# U13(X1, X2, X3) -> proper# X3)
    (proper# U104(X1, X2, X3) -> proper# X1, proper# U13(X1, X2, X3) -> proper# X2)
    (proper# U104(X1, X2, X3) -> proper# X1, proper# U13(X1, X2, X3) -> proper# X1)
    (proper# U104(X1, X2, X3) -> proper# X1, proper# U13(X1, X2, X3) -> U13#(proper X1, proper X2, proper X3))
    (proper# U104(X1, X2, X3) -> proper# X1, proper# U11(X1, X2, X3) -> proper# X3)
    (proper# U104(X1, X2, X3) -> proper# X1, proper# U11(X1, X2, X3) -> proper# X2)
    (proper# U104(X1, X2, X3) -> proper# X1, proper# U11(X1, X2, X3) -> proper# X1)
    (proper# U104(X1, X2, X3) -> proper# X1, proper# U11(X1, X2, X3) -> U11#(proper X1, proper X2, proper X3))
    (proper# U104(X1, X2, X3) -> proper# X1, proper# U12(X1, X2, X3) -> proper# X3)
    (proper# U104(X1, X2, X3) -> proper# X1, proper# U12(X1, X2, X3) -> proper# X2)
    (proper# U104(X1, X2, X3) -> proper# X1, proper# U12(X1, X2, X3) -> proper# X1)
    (proper# U104(X1, X2, X3) -> proper# X1, proper# U12(X1, X2, X3) -> U12#(proper X1, proper X2, proper X3))
    (proper# U104(X1, X2, X3) -> proper# X1, proper# x(X1, X2) -> proper# X2)
    (proper# U104(X1, X2, X3) -> proper# X1, proper# x(X1, X2) -> proper# X1)
    (proper# U104(X1, X2, X3) -> proper# X1, proper# x(X1, X2) -> x#(proper X1, proper X2))
    (proper# U104(X1, X2, X3) -> proper# X1, proper# plus(X1, X2) -> proper# X2)
    (proper# U104(X1, X2, X3) -> proper# X1, proper# plus(X1, X2) -> proper# X1)
    (proper# U104(X1, X2, X3) -> proper# X1, proper# plus(X1, X2) -> plus#(proper X1, proper X2))
    (proper# U104(X1, X2, X3) -> proper# X1, proper# U104(X1, X2, X3) -> proper# X3)
    (proper# U104(X1, X2, X3) -> proper# X1, proper# U104(X1, X2, X3) -> proper# X2)
    (proper# U104(X1, X2, X3) -> proper# X1, proper# U104(X1, X2, X3) -> proper# X1)
    (proper# U104(X1, X2, X3) -> proper# X1, proper# U104(X1, X2, X3) -> U104#(proper X1, proper X2, proper X3))
    (proper# U104(X1, X2, X3) -> proper# X1, proper# isNat X -> proper# X)
    (proper# U104(X1, X2, X3) -> proper# X1, proper# isNat X -> isNat# proper X)
    (proper# U104(X1, X2, X3) -> proper# X1, proper# U103(X1, X2, X3) -> proper# X3)
    (proper# U104(X1, X2, X3) -> proper# X1, proper# U103(X1, X2, X3) -> proper# X2)
    (proper# U104(X1, X2, X3) -> proper# X1, proper# U103(X1, X2, X3) -> proper# X1)
    (proper# U104(X1, X2, X3) -> proper# X1, proper# U103(X1, X2, X3) -> U103#(proper X1, proper X2, proper X3))
    (proper# U104(X1, X2, X3) -> proper# X1, proper# U101(X1, X2, X3) -> proper# X3)
    (proper# U104(X1, X2, X3) -> proper# X1, proper# U101(X1, X2, X3) -> proper# X2)
    (proper# U104(X1, X2, X3) -> proper# X1, proper# U101(X1, X2, X3) -> proper# X1)
    (proper# U104(X1, X2, X3) -> proper# X1, proper# U101(X1, X2, X3) -> U101#(proper X1, proper X2, proper X3))
    (proper# U104(X1, X2, X3) -> proper# X1, proper# isNatKind X -> proper# X)
    (proper# U104(X1, X2, X3) -> proper# X1, proper# isNatKind X -> isNatKind# proper X)
    (proper# U104(X1, X2, X3) -> proper# X1, proper# U102(X1, X2, X3) -> proper# X3)
    (proper# U104(X1, X2, X3) -> proper# X1, proper# U102(X1, X2, X3) -> proper# X2)
    (proper# U104(X1, X2, X3) -> proper# X1, proper# U102(X1, X2, X3) -> proper# X1)
    (proper# U104(X1, X2, X3) -> proper# X1, proper# U102(X1, X2, X3) -> U102#(proper X1, proper X2, proper X3))
    (proper# x(X1, X2) -> proper# X1, proper# U91(X1, X2) -> proper# X2)
    (proper# x(X1, X2) -> proper# X1, proper# U91(X1, X2) -> proper# X1)
    (proper# x(X1, X2) -> proper# X1, proper# U91(X1, X2) -> U91#(proper X1, proper X2))
    (proper# x(X1, X2) -> proper# X1, proper# U92 X -> proper# X)
    (proper# x(X1, X2) -> proper# X1, proper# U92 X -> U92# proper X)
    (proper# x(X1, X2) -> proper# X1, proper# s X -> proper# X)
    (proper# x(X1, X2) -> proper# X1, proper# s X -> s# proper X)
    (proper# x(X1, X2) -> proper# X1, proper# U84(X1, X2, X3) -> proper# X3)
    (proper# x(X1, X2) -> proper# X1, proper# U84(X1, X2, X3) -> proper# X2)
    (proper# x(X1, X2) -> proper# X1, proper# U84(X1, X2, X3) -> proper# X1)
    (proper# x(X1, X2) -> proper# X1, proper# U84(X1, X2, X3) -> U84#(proper X1, proper X2, proper X3))
    (proper# x(X1, X2) -> proper# X1, proper# U83(X1, X2, X3) -> proper# X3)
    (proper# x(X1, X2) -> proper# X1, proper# U83(X1, X2, X3) -> proper# X2)
    (proper# x(X1, X2) -> proper# X1, proper# U83(X1, X2, X3) -> proper# X1)
    (proper# x(X1, X2) -> proper# X1, proper# U83(X1, X2, X3) -> U83#(proper X1, proper X2, proper X3))
    (proper# x(X1, X2) -> proper# X1, proper# U81(X1, X2, X3) -> proper# X3)
    (proper# x(X1, X2) -> proper# X1, proper# U81(X1, X2, X3) -> proper# X2)
    (proper# x(X1, X2) -> proper# X1, proper# U81(X1, X2, X3) -> proper# X1)
    (proper# x(X1, X2) -> proper# X1, proper# U81(X1, X2, X3) -> U81#(proper X1, proper X2, proper X3))
    (proper# x(X1, X2) -> proper# X1, proper# U82(X1, X2, X3) -> proper# X3)
    (proper# x(X1, X2) -> proper# X1, proper# U82(X1, X2, X3) -> proper# X2)
    (proper# x(X1, X2) -> proper# X1, proper# U82(X1, X2, X3) -> proper# X1)
    (proper# x(X1, X2) -> proper# X1, proper# U82(X1, X2, X3) -> U82#(proper X1, proper X2, proper X3))
    (proper# x(X1, X2) -> proper# X1, proper# U71(X1, X2) -> proper# X2)
    (proper# x(X1, X2) -> proper# X1, proper# U71(X1, X2) -> proper# X1)
    (proper# x(X1, X2) -> proper# X1, proper# U71(X1, X2) -> U71#(proper X1, proper X2))
    (proper# x(X1, X2) -> proper# X1, proper# U72(X1, X2) -> proper# X2)
    (proper# x(X1, X2) -> proper# X1, proper# U72(X1, X2) -> proper# X1)
    (proper# x(X1, X2) -> proper# X1, proper# U72(X1, X2) -> U72#(proper X1, proper X2))
    (proper# x(X1, X2) -> proper# X1, proper# U61(X1, X2) -> proper# X2)
    (proper# x(X1, X2) -> proper# X1, proper# U61(X1, X2) -> proper# X1)
    (proper# x(X1, X2) -> proper# X1, proper# U61(X1, X2) -> U61#(proper X1, proper X2))
    (proper# x(X1, X2) -> proper# X1, proper# U62 X -> proper# X)
    (proper# x(X1, X2) -> proper# X1, proper# U62 X -> U62# proper X)
    (proper# x(X1, X2) -> proper# X1, proper# U51 X -> proper# X)
    (proper# x(X1, X2) -> proper# X1, proper# U51 X -> U51# 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# U41(X1, X2) -> U41#(proper X1, proper X2))
    (proper# x(X1, X2) -> proper# X1, proper# U42 X -> proper# X)
    (proper# x(X1, X2) -> proper# X1, proper# U42 X -> U42# proper X)
    (proper# x(X1, X2) -> proper# X1, proper# U36 X -> proper# X)
    (proper# x(X1, X2) -> proper# X1, proper# U36 X -> U36# proper X)
    (proper# x(X1, X2) -> proper# X1, proper# U35(X1, X2) -> proper# X2)
    (proper# x(X1, X2) -> proper# X1, proper# U35(X1, X2) -> proper# X1)
    (proper# x(X1, X2) -> proper# X1, proper# U35(X1, X2) -> U35#(proper X1, proper X2))
    (proper# x(X1, X2) -> proper# X1, proper# U34(X1, X2, X3) -> proper# X3)
    (proper# x(X1, X2) -> proper# X1, proper# U34(X1, X2, X3) -> proper# X2)
    (proper# x(X1, X2) -> proper# X1, proper# U34(X1, X2, X3) -> proper# X1)
    (proper# x(X1, X2) -> proper# X1, proper# U34(X1, X2, X3) -> U34#(proper X1, proper X2, proper X3))
    (proper# x(X1, X2) -> proper# X1, proper# U33(X1, X2, X3) -> proper# X3)
    (proper# x(X1, X2) -> proper# X1, proper# U33(X1, X2, X3) -> proper# X2)
    (proper# x(X1, X2) -> proper# X1, proper# U33(X1, X2, X3) -> proper# X1)
    (proper# x(X1, X2) -> proper# X1, proper# U33(X1, X2, X3) -> U33#(proper X1, proper X2, proper X3))
    (proper# x(X1, X2) -> proper# X1, proper# U31(X1, X2, X3) -> proper# X3)
    (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# U31(X1, X2, X3) -> U31#(proper X1, proper X2, proper X3))
    (proper# x(X1, X2) -> proper# X1, proper# U32(X1, X2, X3) -> proper# X3)
    (proper# x(X1, X2) -> proper# X1, proper# U32(X1, X2, X3) -> proper# X2)
    (proper# x(X1, X2) -> proper# X1, proper# U32(X1, X2, X3) -> proper# X1)
    (proper# x(X1, X2) -> proper# X1, proper# U32(X1, X2, X3) -> U32#(proper X1, proper X2, proper X3))
    (proper# x(X1, X2) -> proper# X1, proper# U23 X -> proper# X)
    (proper# x(X1, X2) -> proper# X1, proper# U23 X -> U23# proper X)
    (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# U21(X1, X2) -> U21#(proper X1, proper X2))
    (proper# x(X1, X2) -> proper# X1, proper# U22(X1, X2) -> proper# X2)
    (proper# x(X1, X2) -> proper# X1, proper# U22(X1, X2) -> proper# X1)
    (proper# x(X1, X2) -> proper# X1, proper# U22(X1, X2) -> U22#(proper X1, proper X2))
    (proper# x(X1, X2) -> proper# X1, proper# U16 X -> proper# X)
    (proper# x(X1, X2) -> proper# X1, proper# U16 X -> U16# proper X)
    (proper# x(X1, X2) -> proper# X1, proper# U15(X1, X2) -> proper# X2)
    (proper# x(X1, X2) -> proper# X1, proper# U15(X1, X2) -> proper# X1)
    (proper# x(X1, X2) -> proper# X1, proper# U15(X1, X2) -> U15#(proper X1, proper X2))
    (proper# x(X1, X2) -> proper# X1, proper# U14(X1, X2, X3) -> proper# X3)
    (proper# x(X1, X2) -> proper# X1, proper# U14(X1, X2, X3) -> proper# X2)
    (proper# x(X1, X2) -> proper# X1, proper# U14(X1, X2, X3) -> proper# X1)
    (proper# x(X1, X2) -> proper# X1, proper# U14(X1, X2, X3) -> U14#(proper X1, proper X2, proper X3))
    (proper# x(X1, X2) -> proper# X1, proper# U13(X1, X2, X3) -> proper# X3)
    (proper# x(X1, X2) -> proper# X1, proper# U13(X1, X2, X3) -> proper# X2)
    (proper# x(X1, X2) -> proper# X1, proper# U13(X1, X2, X3) -> proper# X1)
    (proper# x(X1, X2) -> proper# X1, proper# U13(X1, X2, X3) -> U13#(proper X1, proper X2, proper X3))
    (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# U11(X1, X2, X3) -> U11#(proper X1, proper X2, proper X3))
    (proper# x(X1, X2) -> proper# X1, proper# U12(X1, X2, X3) -> proper# X3)
    (proper# x(X1, X2) -> proper# X1, proper# U12(X1, X2, X3) -> proper# X2)
    (proper# x(X1, X2) -> proper# X1, proper# U12(X1, X2, X3) -> proper# X1)
    (proper# x(X1, X2) -> proper# X1, proper# U12(X1, X2, X3) -> U12#(proper X1, proper X2, proper X3))
    (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# x(X1, X2) -> x#(proper X1, proper X2))
    (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# plus(X1, X2) -> plus#(proper X1, proper X2))
    (proper# x(X1, X2) -> proper# X1, proper# U104(X1, X2, X3) -> proper# X3)
    (proper# x(X1, X2) -> proper# X1, proper# U104(X1, X2, X3) -> proper# X2)
    (proper# x(X1, X2) -> proper# X1, proper# U104(X1, X2, X3) -> proper# X1)
    (proper# x(X1, X2) -> proper# X1, proper# U104(X1, X2, X3) -> U104#(proper X1, proper X2, proper X3))
    (proper# x(X1, X2) -> proper# X1, proper# isNat X -> proper# X)
    (proper# x(X1, X2) -> proper# X1, proper# isNat X -> isNat# proper X)
    (proper# x(X1, X2) -> proper# X1, proper# U103(X1, X2, X3) -> proper# X3)
    (proper# x(X1, X2) -> proper# X1, proper# U103(X1, X2, X3) -> proper# X2)
    (proper# x(X1, X2) -> proper# X1, proper# U103(X1, X2, X3) -> proper# X1)
    (proper# x(X1, X2) -> proper# X1, proper# U103(X1, X2, X3) -> U103#(proper X1, proper X2, proper X3))
    (proper# x(X1, X2) -> proper# X1, proper# U101(X1, X2, X3) -> proper# X3)
    (proper# x(X1, X2) -> proper# X1, proper# U101(X1, X2, X3) -> proper# X2)
    (proper# x(X1, X2) -> proper# X1, proper# U101(X1, X2, X3) -> proper# X1)
    (proper# x(X1, X2) -> proper# X1, proper# U101(X1, X2, X3) -> U101#(proper X1, proper X2, proper X3))
    (proper# x(X1, X2) -> proper# X1, proper# isNatKind X -> proper# X)
    (proper# x(X1, X2) -> proper# X1, proper# isNatKind X -> isNatKind# proper X)
    (proper# x(X1, X2) -> proper# X1, proper# U102(X1, X2, X3) -> proper# X3)
    (proper# x(X1, X2) -> proper# X1, proper# U102(X1, X2, X3) -> proper# X2)
    (proper# x(X1, X2) -> proper# X1, proper# U102(X1, X2, X3) -> proper# X1)
    (proper# x(X1, X2) -> proper# X1, proper# U102(X1, X2, X3) -> U102#(proper X1, proper X2, proper X3))
    (proper# U11(X1, X2, X3) -> proper# X1, proper# U91(X1, X2) -> proper# X2)
    (proper# U11(X1, X2, X3) -> proper# X1, proper# U91(X1, X2) -> proper# X1)
    (proper# U11(X1, X2, X3) -> proper# X1, proper# U91(X1, X2) -> U91#(proper X1, proper X2))
    (proper# U11(X1, X2, X3) -> proper# X1, proper# U92 X -> proper# X)
    (proper# U11(X1, X2, X3) -> proper# X1, proper# U92 X -> U92# proper X)
    (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# U84(X1, X2, X3) -> proper# X3)
    (proper# U11(X1, X2, X3) -> proper# X1, proper# U84(X1, X2, X3) -> proper# X2)
    (proper# U11(X1, X2, X3) -> proper# X1, proper# U84(X1, X2, X3) -> proper# X1)
    (proper# U11(X1, X2, X3) -> proper# X1, proper# U84(X1, X2, X3) -> U84#(proper X1, proper X2, proper X3))
    (proper# U11(X1, X2, X3) -> proper# X1, proper# U83(X1, X2, X3) -> proper# X3)
    (proper# U11(X1, X2, X3) -> proper# X1, proper# U83(X1, X2, X3) -> proper# X2)
    (proper# U11(X1, X2, X3) -> proper# X1, proper# U83(X1, X2, X3) -> proper# X1)
    (proper# U11(X1, X2, X3) -> proper# X1, proper# U83(X1, X2, X3) -> U83#(proper X1, proper X2, proper X3))
    (proper# U11(X1, X2, X3) -> proper# X1, proper# U81(X1, X2, X3) -> proper# X3)
    (proper# U11(X1, X2, X3) -> proper# X1, proper# U81(X1, X2, X3) -> proper# X2)
    (proper# U11(X1, X2, X3) -> proper# X1, proper# U81(X1, X2, X3) -> proper# X1)
    (proper# U11(X1, X2, X3) -> proper# X1, proper# U81(X1, X2, X3) -> U81#(proper X1, proper X2, proper X3))
    (proper# U11(X1, X2, X3) -> proper# X1, proper# U82(X1, X2, X3) -> proper# X3)
    (proper# U11(X1, X2, X3) -> proper# X1, proper# U82(X1, X2, X3) -> proper# X2)
    (proper# U11(X1, X2, X3) -> proper# X1, proper# U82(X1, X2, X3) -> proper# X1)
    (proper# U11(X1, X2, X3) -> proper# X1, proper# U82(X1, X2, X3) -> U82#(proper X1, proper X2, proper X3))
    (proper# U11(X1, X2, X3) -> proper# X1, proper# U71(X1, X2) -> proper# X2)
    (proper# U11(X1, X2, X3) -> proper# X1, proper# U71(X1, X2) -> proper# X1)
    (proper# U11(X1, X2, X3) -> proper# X1, proper# U71(X1, X2) -> U71#(proper X1, proper X2))
    (proper# U11(X1, X2, X3) -> proper# X1, proper# U72(X1, X2) -> proper# X2)
    (proper# U11(X1, X2, X3) -> proper# X1, proper# U72(X1, X2) -> proper# X1)
    (proper# U11(X1, X2, X3) -> proper# X1, proper# U72(X1, X2) -> U72#(proper X1, proper X2))
    (proper# U11(X1, X2, X3) -> proper# X1, proper# U61(X1, X2) -> proper# X2)
    (proper# U11(X1, X2, X3) -> proper# X1, proper# U61(X1, X2) -> proper# X1)
    (proper# U11(X1, X2, X3) -> proper# X1, proper# U61(X1, X2) -> U61#(proper X1, proper X2))
    (proper# U11(X1, X2, X3) -> proper# X1, proper# U62 X -> proper# X)
    (proper# U11(X1, X2, X3) -> proper# X1, proper# U62 X -> U62# proper X)
    (proper# U11(X1, X2, X3) -> proper# X1, proper# U51 X -> proper# X)
    (proper# U11(X1, X2, X3) -> proper# X1, proper# U51 X -> U51# 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# U42 X -> proper# X)
    (proper# U11(X1, X2, X3) -> proper# X1, proper# U42 X -> U42# proper X)
    (proper# U11(X1, X2, X3) -> proper# X1, proper# U36 X -> proper# X)
    (proper# U11(X1, X2, X3) -> proper# X1, proper# U36 X -> U36# proper X)
    (proper# U11(X1, X2, X3) -> proper# X1, proper# U35(X1, X2) -> proper# X2)
    (proper# U11(X1, X2, X3) -> proper# X1, proper# U35(X1, X2) -> proper# X1)
    (proper# U11(X1, X2, X3) -> proper# X1, proper# U35(X1, X2) -> U35#(proper X1, proper X2))
    (proper# U11(X1, X2, X3) -> proper# X1, proper# U34(X1, X2, X3) -> proper# X3)
    (proper# U11(X1, X2, X3) -> proper# X1, proper# U34(X1, X2, X3) -> proper# X2)
    (proper# U11(X1, X2, X3) -> proper# X1, proper# U34(X1, X2, X3) -> proper# X1)
    (proper# U11(X1, X2, X3) -> proper# X1, proper# U34(X1, X2, X3) -> U34#(proper X1, proper X2, proper X3))
    (proper# U11(X1, X2, X3) -> proper# X1, proper# U33(X1, X2, X3) -> proper# X3)
    (proper# U11(X1, X2, X3) -> proper# X1, proper# U33(X1, X2, X3) -> proper# X2)
    (proper# U11(X1, X2, X3) -> proper# X1, proper# U33(X1, X2, X3) -> proper# X1)
    (proper# U11(X1, X2, X3) -> proper# X1, proper# U33(X1, X2, X3) -> U33#(proper X1, proper X2, proper X3))
    (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, X3) -> proper# X3)
    (proper# U11(X1, X2, X3) -> proper# X1, proper# U32(X1, X2, X3) -> proper# X2)
    (proper# U11(X1, X2, X3) -> proper# X1, proper# U32(X1, X2, X3) -> proper# X1)
    (proper# U11(X1, X2, X3) -> proper# X1, proper# U32(X1, X2, X3) -> U32#(proper X1, proper X2, proper X3))
    (proper# U11(X1, X2, X3) -> proper# X1, proper# U23 X -> proper# X)
    (proper# U11(X1, X2, X3) -> proper# X1, proper# U23 X -> U23# proper X)
    (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(X1, X2) -> proper# X2)
    (proper# U11(X1, X2, X3) -> proper# X1, proper# U22(X1, X2) -> proper# X1)
    (proper# U11(X1, X2, X3) -> proper# X1, proper# U22(X1, X2) -> U22#(proper X1, proper X2))
    (proper# U11(X1, X2, X3) -> proper# X1, proper# U16 X -> proper# X)
    (proper# U11(X1, X2, X3) -> proper# X1, proper# U16 X -> U16# proper X)
    (proper# U11(X1, X2, X3) -> proper# X1, proper# U15(X1, X2) -> proper# X2)
    (proper# U11(X1, X2, X3) -> proper# X1, proper# U15(X1, X2) -> proper# X1)
    (proper# U11(X1, X2, X3) -> proper# X1, proper# U15(X1, X2) -> U15#(proper X1, proper X2))
    (proper# U11(X1, X2, X3) -> proper# X1, proper# U14(X1, X2, X3) -> proper# X3)
    (proper# U11(X1, X2, X3) -> proper# X1, proper# U14(X1, X2, X3) -> proper# X2)
    (proper# U11(X1, X2, X3) -> proper# X1, proper# U14(X1, X2, X3) -> proper# X1)
    (proper# U11(X1, X2, X3) -> proper# X1, proper# U14(X1, X2, X3) -> U14#(proper X1, proper X2, proper X3))
    (proper# U11(X1, X2, X3) -> proper# X1, proper# U13(X1, X2, X3) -> proper# X3)
    (proper# U11(X1, X2, X3) -> proper# X1, proper# U13(X1, X2, X3) -> proper# X2)
    (proper# U11(X1, X2, X3) -> proper# X1, proper# U13(X1, X2, X3) -> proper# X1)
    (proper# U11(X1, X2, X3) -> proper# X1, proper# U13(X1, X2, X3) -> U13#(proper X1, proper X2, proper X3))
    (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# U12(X1, X2, X3) -> proper# X3)
    (proper# U11(X1, X2, X3) -> proper# X1, proper# U12(X1, X2, X3) -> proper# X2)
    (proper# U11(X1, X2, X3) -> proper# X1, proper# U12(X1, X2, X3) -> proper# X1)
    (proper# U11(X1, X2, X3) -> proper# X1, proper# U12(X1, X2, X3) -> U12#(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# 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# U104(X1, X2, X3) -> proper# X3)
    (proper# U11(X1, X2, X3) -> proper# X1, proper# U104(X1, X2, X3) -> proper# X2)
    (proper# U11(X1, X2, X3) -> proper# X1, proper# U104(X1, X2, X3) -> proper# X1)
    (proper# U11(X1, X2, X3) -> proper# X1, proper# U104(X1, X2, X3) -> U104#(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# U103(X1, X2, X3) -> proper# X3)
    (proper# U11(X1, X2, X3) -> proper# X1, proper# U103(X1, X2, X3) -> proper# X2)
    (proper# U11(X1, X2, X3) -> proper# X1, proper# U103(X1, X2, X3) -> proper# X1)
    (proper# U11(X1, X2, X3) -> proper# X1, proper# U103(X1, X2, X3) -> U103#(proper X1, proper X2, proper X3))
    (proper# U11(X1, X2, X3) -> proper# X1, proper# U101(X1, X2, X3) -> proper# X3)
    (proper# U11(X1, X2, X3) -> proper# X1, proper# U101(X1, X2, X3) -> proper# X2)
    (proper# U11(X1, X2, X3) -> proper# X1, proper# U101(X1, X2, X3) -> proper# X1)
    (proper# U11(X1, X2, X3) -> proper# X1, proper# U101(X1, X2, X3) -> U101#(proper X1, proper X2, proper X3))
    (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# U102(X1, X2, X3) -> proper# X3)
    (proper# U11(X1, X2, X3) -> proper# X1, proper# U102(X1, X2, X3) -> proper# X2)
    (proper# U11(X1, X2, X3) -> proper# X1, proper# U102(X1, X2, X3) -> proper# X1)
    (proper# U11(X1, X2, X3) -> proper# X1, proper# U102(X1, X2, X3) -> U102#(proper X1, proper X2, proper X3))
    (proper# U14(X1, X2, X3) -> proper# X1, proper# U91(X1, X2) -> proper# X2)
    (proper# U14(X1, X2, X3) -> proper# X1, proper# U91(X1, X2) -> proper# X1)
    (proper# U14(X1, X2, X3) -> proper# X1, proper# U91(X1, X2) -> U91#(proper X1, proper X2))
    (proper# U14(X1, X2, X3) -> proper# X1, proper# U92 X -> proper# X)
    (proper# U14(X1, X2, X3) -> proper# X1, proper# U92 X -> U92# proper X)
    (proper# U14(X1, X2, X3) -> proper# X1, proper# s X -> proper# X)
    (proper# U14(X1, X2, X3) -> proper# X1, proper# s X -> s# proper X)
    (proper# U14(X1, X2, X3) -> proper# X1, proper# U84(X1, X2, X3) -> proper# X3)
    (proper# U14(X1, X2, X3) -> proper# X1, proper# U84(X1, X2, X3) -> proper# X2)
    (proper# U14(X1, X2, X3) -> proper# X1, proper# U84(X1, X2, X3) -> proper# X1)
    (proper# U14(X1, X2, X3) -> proper# X1, proper# U84(X1, X2, X3) -> U84#(proper X1, proper X2, proper X3))
    (proper# U14(X1, X2, X3) -> proper# X1, proper# U83(X1, X2, X3) -> proper# X3)
    (proper# U14(X1, X2, X3) -> proper# X1, proper# U83(X1, X2, X3) -> proper# X2)
    (proper# U14(X1, X2, X3) -> proper# X1, proper# U83(X1, X2, X3) -> proper# X1)
    (proper# U14(X1, X2, X3) -> proper# X1, proper# U83(X1, X2, X3) -> U83#(proper X1, proper X2, proper X3))
    (proper# U14(X1, X2, X3) -> proper# X1, proper# U81(X1, X2, X3) -> proper# X3)
    (proper# U14(X1, X2, X3) -> proper# X1, proper# U81(X1, X2, X3) -> proper# X2)
    (proper# U14(X1, X2, X3) -> proper# X1, proper# U81(X1, X2, X3) -> proper# X1)
    (proper# U14(X1, X2, X3) -> proper# X1, proper# U81(X1, X2, X3) -> U81#(proper X1, proper X2, proper X3))
    (proper# U14(X1, X2, X3) -> proper# X1, proper# U82(X1, X2, X3) -> proper# X3)
    (proper# U14(X1, X2, X3) -> proper# X1, proper# U82(X1, X2, X3) -> proper# X2)
    (proper# U14(X1, X2, X3) -> proper# X1, proper# U82(X1, X2, X3) -> proper# X1)
    (proper# U14(X1, X2, X3) -> proper# X1, proper# U82(X1, X2, X3) -> U82#(proper X1, proper X2, proper X3))
    (proper# U14(X1, X2, X3) -> proper# X1, proper# U71(X1, X2) -> proper# X2)
    (proper# U14(X1, X2, X3) -> proper# X1, proper# U71(X1, X2) -> proper# X1)
    (proper# U14(X1, X2, X3) -> proper# X1, proper# U71(X1, X2) -> U71#(proper X1, proper X2))
    (proper# U14(X1, X2, X3) -> proper# X1, proper# U72(X1, X2) -> proper# X2)
    (proper# U14(X1, X2, X3) -> proper# X1, proper# U72(X1, X2) -> proper# X1)
    (proper# U14(X1, X2, X3) -> proper# X1, proper# U72(X1, X2) -> U72#(proper X1, proper X2))
    (proper# U14(X1, X2, X3) -> proper# X1, proper# U61(X1, X2) -> proper# X2)
    (proper# U14(X1, X2, X3) -> proper# X1, proper# U61(X1, X2) -> proper# X1)
    (proper# U14(X1, X2, X3) -> proper# X1, proper# U61(X1, X2) -> U61#(proper X1, proper X2))
    (proper# U14(X1, X2, X3) -> proper# X1, proper# U62 X -> proper# X)
    (proper# U14(X1, X2, X3) -> proper# X1, proper# U62 X -> U62# proper X)
    (proper# U14(X1, X2, X3) -> proper# X1, proper# U51 X -> proper# X)
    (proper# U14(X1, X2, X3) -> proper# X1, proper# U51 X -> U51# proper X)
    (proper# U14(X1, X2, X3) -> proper# X1, proper# U41(X1, X2) -> proper# X2)
    (proper# U14(X1, X2, X3) -> proper# X1, proper# U41(X1, X2) -> proper# X1)
    (proper# U14(X1, X2, X3) -> proper# X1, proper# U41(X1, X2) -> U41#(proper X1, proper X2))
    (proper# U14(X1, X2, X3) -> proper# X1, proper# U42 X -> proper# X)
    (proper# U14(X1, X2, X3) -> proper# X1, proper# U42 X -> U42# proper X)
    (proper# U14(X1, X2, X3) -> proper# X1, proper# U36 X -> proper# X)
    (proper# U14(X1, X2, X3) -> proper# X1, proper# U36 X -> U36# proper X)
    (proper# U14(X1, X2, X3) -> proper# X1, proper# U35(X1, X2) -> proper# X2)
    (proper# U14(X1, X2, X3) -> proper# X1, proper# U35(X1, X2) -> proper# X1)
    (proper# U14(X1, X2, X3) -> proper# X1, proper# U35(X1, X2) -> U35#(proper X1, proper X2))
    (proper# U14(X1, X2, X3) -> proper# X1, proper# U34(X1, X2, X3) -> proper# X3)
    (proper# U14(X1, X2, X3) -> proper# X1, proper# U34(X1, X2, X3) -> proper# X2)
    (proper# U14(X1, X2, X3) -> proper# X1, proper# U34(X1, X2, X3) -> proper# X1)
    (proper# U14(X1, X2, X3) -> proper# X1, proper# U34(X1, X2, X3) -> U34#(proper X1, proper X2, proper X3))
    (proper# U14(X1, X2, X3) -> proper# X1, proper# U33(X1, X2, X3) -> proper# X3)
    (proper# U14(X1, X2, X3) -> proper# X1, proper# U33(X1, X2, X3) -> proper# X2)
    (proper# U14(X1, X2, X3) -> proper# X1, proper# U33(X1, X2, X3) -> proper# X1)
    (proper# U14(X1, X2, X3) -> proper# X1, proper# U33(X1, X2, X3) -> U33#(proper X1, proper X2, proper X3))
    (proper# U14(X1, X2, X3) -> proper# X1, proper# U31(X1, X2, X3) -> proper# X3)
    (proper# U14(X1, X2, X3) -> proper# X1, proper# U31(X1, X2, X3) -> proper# X2)
    (proper# U14(X1, X2, X3) -> proper# X1, proper# U31(X1, X2, X3) -> proper# X1)
    (proper# U14(X1, X2, X3) -> proper# X1, proper# U31(X1, X2, X3) -> U31#(proper X1, proper X2, proper X3))
    (proper# U14(X1, X2, X3) -> proper# X1, proper# U32(X1, X2, X3) -> proper# X3)
    (proper# U14(X1, X2, X3) -> proper# X1, proper# U32(X1, X2, X3) -> proper# X2)
    (proper# U14(X1, X2, X3) -> proper# X1, proper# U32(X1, X2, X3) -> proper# X1)
    (proper# U14(X1, X2, X3) -> proper# X1, proper# U32(X1, X2, X3) -> U32#(proper X1, proper X2, proper X3))
    (proper# U14(X1, X2, X3) -> proper# X1, proper# U23 X -> proper# X)
    (proper# U14(X1, X2, X3) -> proper# X1, proper# U23 X -> U23# proper X)
    (proper# U14(X1, X2, X3) -> proper# X1, proper# U21(X1, X2) -> proper# X2)
    (proper# U14(X1, X2, X3) -> proper# X1, proper# U21(X1, X2) -> proper# X1)
    (proper# U14(X1, X2, X3) -> proper# X1, proper# U21(X1, X2) -> U21#(proper X1, proper X2))
    (proper# U14(X1, X2, X3) -> proper# X1, proper# U22(X1, X2) -> proper# X2)
    (proper# U14(X1, X2, X3) -> proper# X1, proper# U22(X1, X2) -> proper# X1)
    (proper# U14(X1, X2, X3) -> proper# X1, proper# U22(X1, X2) -> U22#(proper X1, proper X2))
    (proper# U14(X1, X2, X3) -> proper# X1, proper# U16 X -> proper# X)
    (proper# U14(X1, X2, X3) -> proper# X1, proper# U16 X -> U16# proper X)
    (proper# U14(X1, X2, X3) -> proper# X1, proper# U15(X1, X2) -> proper# X2)
    (proper# U14(X1, X2, X3) -> proper# X1, proper# U15(X1, X2) -> proper# X1)
    (proper# U14(X1, X2, X3) -> proper# X1, proper# U15(X1, X2) -> U15#(proper X1, proper X2))
    (proper# U14(X1, X2, X3) -> proper# X1, proper# U14(X1, X2, X3) -> proper# X3)
    (proper# U14(X1, X2, X3) -> proper# X1, proper# U14(X1, X2, X3) -> proper# X2)
    (proper# U14(X1, X2, X3) -> proper# X1, proper# U14(X1, X2, X3) -> proper# X1)
    (proper# U14(X1, X2, X3) -> proper# X1, proper# U14(X1, X2, X3) -> U14#(proper X1, proper X2, proper X3))
    (proper# U14(X1, X2, X3) -> proper# X1, proper# U13(X1, X2, X3) -> proper# X3)
    (proper# U14(X1, X2, X3) -> proper# X1, proper# U13(X1, X2, X3) -> proper# X2)
    (proper# U14(X1, X2, X3) -> proper# X1, proper# U13(X1, X2, X3) -> proper# X1)
    (proper# U14(X1, X2, X3) -> proper# X1, proper# U13(X1, X2, X3) -> U13#(proper X1, proper X2, proper X3))
    (proper# U14(X1, X2, X3) -> proper# X1, proper# U11(X1, X2, X3) -> proper# X3)
    (proper# U14(X1, X2, X3) -> proper# X1, proper# U11(X1, X2, X3) -> proper# X2)
    (proper# U14(X1, X2, X3) -> proper# X1, proper# U11(X1, X2, X3) -> proper# X1)
    (proper# U14(X1, X2, X3) -> proper# X1, proper# U11(X1, X2, X3) -> U11#(proper X1, proper X2, proper X3))
    (proper# U14(X1, X2, X3) -> proper# X1, proper# U12(X1, X2, X3) -> proper# X3)
    (proper# U14(X1, X2, X3) -> proper# X1, proper# U12(X1, X2, X3) -> proper# X2)
    (proper# U14(X1, X2, X3) -> proper# X1, proper# U12(X1, X2, X3) -> proper# X1)
    (proper# U14(X1, X2, X3) -> proper# X1, proper# U12(X1, X2, X3) -> U12#(proper X1, proper X2, proper X3))
    (proper# U14(X1, X2, X3) -> proper# X1, proper# x(X1, X2) -> proper# X2)
    (proper# U14(X1, X2, X3) -> proper# X1, proper# x(X1, X2) -> proper# X1)
    (proper# U14(X1, X2, X3) -> proper# X1, proper# x(X1, X2) -> x#(proper X1, proper X2))
    (proper# U14(X1, X2, X3) -> proper# X1, proper# plus(X1, X2) -> proper# X2)
    (proper# U14(X1, X2, X3) -> proper# X1, proper# plus(X1, X2) -> proper# X1)
    (proper# U14(X1, X2, X3) -> proper# X1, proper# plus(X1, X2) -> plus#(proper X1, proper X2))
    (proper# U14(X1, X2, X3) -> proper# X1, proper# U104(X1, X2, X3) -> proper# X3)
    (proper# U14(X1, X2, X3) -> proper# X1, proper# U104(X1, X2, X3) -> proper# X2)
    (proper# U14(X1, X2, X3) -> proper# X1, proper# U104(X1, X2, X3) -> proper# X1)
    (proper# U14(X1, X2, X3) -> proper# X1, proper# U104(X1, X2, X3) -> U104#(proper X1, proper X2, proper X3))
    (proper# U14(X1, X2, X3) -> proper# X1, proper# isNat X -> proper# X)
    (proper# U14(X1, X2, X3) -> proper# X1, proper# isNat X -> isNat# proper X)
    (proper# U14(X1, X2, X3) -> proper# X1, proper# U103(X1, X2, X3) -> proper# X3)
    (proper# U14(X1, X2, X3) -> proper# X1, proper# U103(X1, X2, X3) -> proper# X2)
    (proper# U14(X1, X2, X3) -> proper# X1, proper# U103(X1, X2, X3) -> proper# X1)
    (proper# U14(X1, X2, X3) -> proper# X1, proper# U103(X1, X2, X3) -> U103#(proper X1, proper X2, proper X3))
    (proper# U14(X1, X2, X3) -> proper# X1, proper# U101(X1, X2, X3) -> proper# X3)
    (proper# U14(X1, X2, X3) -> proper# X1, proper# U101(X1, X2, X3) -> proper# X2)
    (proper# U14(X1, X2, X3) -> proper# X1, proper# U101(X1, X2, X3) -> proper# X1)
    (proper# U14(X1, X2, X3) -> proper# X1, proper# U101(X1, X2, X3) -> U101#(proper X1, proper X2, proper X3))
    (proper# U14(X1, X2, X3) -> proper# X1, proper# isNatKind X -> proper# X)
    (proper# U14(X1, X2, X3) -> proper# X1, proper# isNatKind X -> isNatKind# proper X)
    (proper# U14(X1, X2, X3) -> proper# X1, proper# U102(X1, X2, X3) -> proper# X3)
    (proper# U14(X1, X2, X3) -> proper# X1, proper# U102(X1, X2, X3) -> proper# X2)
    (proper# U14(X1, X2, X3) -> proper# X1, proper# U102(X1, X2, X3) -> proper# X1)
    (proper# U14(X1, X2, X3) -> proper# X1, proper# U102(X1, X2, X3) -> U102#(proper X1, proper X2, proper X3))
    (proper# U22(X1, X2) -> proper# X1, proper# U91(X1, X2) -> proper# X2)
    (proper# U22(X1, X2) -> proper# X1, proper# U91(X1, X2) -> proper# X1)
    (proper# U22(X1, X2) -> proper# X1, proper# U91(X1, X2) -> U91#(proper X1, proper X2))
    (proper# U22(X1, X2) -> proper# X1, proper# U92 X -> proper# X)
    (proper# U22(X1, X2) -> proper# X1, proper# U92 X -> U92# proper X)
    (proper# U22(X1, X2) -> proper# X1, proper# s X -> proper# X)
    (proper# U22(X1, X2) -> proper# X1, proper# s X -> s# proper X)
    (proper# U22(X1, X2) -> proper# X1, proper# U84(X1, X2, X3) -> proper# X3)
    (proper# U22(X1, X2) -> proper# X1, proper# U84(X1, X2, X3) -> proper# X2)
    (proper# U22(X1, X2) -> proper# X1, proper# U84(X1, X2, X3) -> proper# X1)
    (proper# U22(X1, X2) -> proper# X1, proper# U84(X1, X2, X3) -> U84#(proper X1, proper X2, proper X3))
    (proper# U22(X1, X2) -> proper# X1, proper# U83(X1, X2, X3) -> proper# X3)
    (proper# U22(X1, X2) -> proper# X1, proper# U83(X1, X2, X3) -> proper# X2)
    (proper# U22(X1, X2) -> proper# X1, proper# U83(X1, X2, X3) -> proper# X1)
    (proper# U22(X1, X2) -> proper# X1, proper# U83(X1, X2, X3) -> U83#(proper X1, proper X2, proper X3))
    (proper# U22(X1, X2) -> proper# X1, proper# U81(X1, X2, X3) -> proper# X3)
    (proper# U22(X1, X2) -> proper# X1, proper# U81(X1, X2, X3) -> proper# X2)
    (proper# U22(X1, X2) -> proper# X1, proper# U81(X1, X2, X3) -> proper# X1)
    (proper# U22(X1, X2) -> proper# X1, proper# U81(X1, X2, X3) -> U81#(proper X1, proper X2, proper X3))
    (proper# U22(X1, X2) -> proper# X1, proper# U82(X1, X2, X3) -> proper# X3)
    (proper# U22(X1, X2) -> proper# X1, proper# U82(X1, X2, X3) -> proper# X2)
    (proper# U22(X1, X2) -> proper# X1, proper# U82(X1, X2, X3) -> proper# X1)
    (proper# U22(X1, X2) -> proper# X1, proper# U82(X1, X2, X3) -> U82#(proper X1, proper X2, proper X3))
    (proper# U22(X1, X2) -> proper# X1, proper# U71(X1, X2) -> proper# X2)
    (proper# U22(X1, X2) -> proper# X1, proper# U71(X1, X2) -> proper# X1)
    (proper# U22(X1, X2) -> proper# X1, proper# U71(X1, X2) -> U71#(proper X1, proper X2))
    (proper# U22(X1, X2) -> proper# X1, proper# U72(X1, X2) -> proper# X2)
    (proper# U22(X1, X2) -> proper# X1, proper# U72(X1, X2) -> proper# X1)
    (proper# U22(X1, X2) -> proper# X1, proper# U72(X1, X2) -> U72#(proper X1, proper X2))
    (proper# U22(X1, X2) -> proper# X1, proper# U61(X1, X2) -> proper# X2)
    (proper# U22(X1, X2) -> proper# X1, proper# U61(X1, X2) -> proper# X1)
    (proper# U22(X1, X2) -> proper# X1, proper# U61(X1, X2) -> U61#(proper X1, proper X2))
    (proper# U22(X1, X2) -> proper# X1, proper# U62 X -> proper# X)
    (proper# U22(X1, X2) -> proper# X1, proper# U62 X -> U62# proper X)
    (proper# U22(X1, X2) -> proper# X1, proper# U51 X -> proper# X)
    (proper# U22(X1, X2) -> proper# X1, proper# U51 X -> U51# proper X)
    (proper# U22(X1, X2) -> proper# X1, proper# U41(X1, X2) -> proper# X2)
    (proper# U22(X1, X2) -> proper# X1, proper# U41(X1, X2) -> proper# X1)
    (proper# U22(X1, X2) -> proper# X1, proper# U41(X1, X2) -> U41#(proper X1, proper X2))
    (proper# U22(X1, X2) -> proper# X1, proper# U42 X -> proper# X)
    (proper# U22(X1, X2) -> proper# X1, proper# U42 X -> U42# proper X)
    (proper# U22(X1, X2) -> proper# X1, proper# U36 X -> proper# X)
    (proper# U22(X1, X2) -> proper# X1, proper# U36 X -> U36# proper X)
    (proper# U22(X1, X2) -> proper# X1, proper# U35(X1, X2) -> proper# X2)
    (proper# U22(X1, X2) -> proper# X1, proper# U35(X1, X2) -> proper# X1)
    (proper# U22(X1, X2) -> proper# X1, proper# U35(X1, X2) -> U35#(proper X1, proper X2))
    (proper# U22(X1, X2) -> proper# X1, proper# U34(X1, X2, X3) -> proper# X3)
    (proper# U22(X1, X2) -> proper# X1, proper# U34(X1, X2, X3) -> proper# X2)
    (proper# U22(X1, X2) -> proper# X1, proper# U34(X1, X2, X3) -> proper# X1)
    (proper# U22(X1, X2) -> proper# X1, proper# U34(X1, X2, X3) -> U34#(proper X1, proper X2, proper X3))
    (proper# U22(X1, X2) -> proper# X1, proper# U33(X1, X2, X3) -> proper# X3)
    (proper# U22(X1, X2) -> proper# X1, proper# U33(X1, X2, X3) -> proper# X2)
    (proper# U22(X1, X2) -> proper# X1, proper# U33(X1, X2, X3) -> proper# X1)
    (proper# U22(X1, X2) -> proper# X1, proper# U33(X1, X2, X3) -> U33#(proper X1, proper X2, proper X3))
    (proper# U22(X1, X2) -> proper# X1, proper# U31(X1, X2, X3) -> proper# X3)
    (proper# U22(X1, X2) -> proper# X1, proper# U31(X1, X2, X3) -> proper# X2)
    (proper# U22(X1, X2) -> proper# X1, proper# U31(X1, X2, X3) -> proper# X1)
    (proper# U22(X1, X2) -> proper# X1, proper# U31(X1, X2, X3) -> U31#(proper X1, proper X2, proper X3))
    (proper# U22(X1, X2) -> proper# X1, proper# U32(X1, X2, X3) -> proper# X3)
    (proper# U22(X1, X2) -> proper# X1, proper# U32(X1, X2, X3) -> proper# X2)
    (proper# U22(X1, X2) -> proper# X1, proper# U32(X1, X2, X3) -> proper# X1)
    (proper# U22(X1, X2) -> proper# X1, proper# U32(X1, X2, X3) -> U32#(proper X1, proper X2, proper X3))
    (proper# U22(X1, X2) -> proper# X1, proper# U23 X -> proper# X)
    (proper# U22(X1, X2) -> proper# X1, proper# U23 X -> U23# proper X)
    (proper# U22(X1, X2) -> proper# X1, proper# U21(X1, X2) -> proper# X2)
    (proper# U22(X1, X2) -> proper# X1, proper# U21(X1, X2) -> proper# X1)
    (proper# U22(X1, X2) -> proper# X1, proper# U21(X1, X2) -> U21#(proper X1, proper X2))
    (proper# U22(X1, X2) -> proper# X1, proper# U22(X1, X2) -> proper# X2)
    (proper# U22(X1, X2) -> proper# X1, proper# U22(X1, X2) -> proper# X1)
    (proper# U22(X1, X2) -> proper# X1, proper# U22(X1, X2) -> U22#(proper X1, proper X2))
    (proper# U22(X1, X2) -> proper# X1, proper# U16 X -> proper# X)
    (proper# U22(X1, X2) -> proper# X1, proper# U16 X -> U16# proper X)
    (proper# U22(X1, X2) -> proper# X1, proper# U15(X1, X2) -> proper# X2)
    (proper# U22(X1, X2) -> proper# X1, proper# U15(X1, X2) -> proper# X1)
    (proper# U22(X1, X2) -> proper# X1, proper# U15(X1, X2) -> U15#(proper X1, proper X2))
    (proper# U22(X1, X2) -> proper# X1, proper# U14(X1, X2, X3) -> proper# X3)
    (proper# U22(X1, X2) -> proper# X1, proper# U14(X1, X2, X3) -> proper# X2)
    (proper# U22(X1, X2) -> proper# X1, proper# U14(X1, X2, X3) -> proper# X1)
    (proper# U22(X1, X2) -> proper# X1, proper# U14(X1, X2, X3) -> U14#(proper X1, proper X2, proper X3))
    (proper# U22(X1, X2) -> proper# X1, proper# U13(X1, X2, X3) -> proper# X3)
    (proper# U22(X1, X2) -> proper# X1, proper# U13(X1, X2, X3) -> proper# X2)
    (proper# U22(X1, X2) -> proper# X1, proper# U13(X1, X2, X3) -> proper# X1)
    (proper# U22(X1, X2) -> proper# X1, proper# U13(X1, X2, X3) -> U13#(proper X1, proper X2, proper X3))
    (proper# U22(X1, X2) -> proper# X1, proper# U11(X1, X2, X3) -> proper# X3)
    (proper# U22(X1, X2) -> proper# X1, proper# U11(X1, X2, X3) -> proper# X2)
    (proper# U22(X1, X2) -> proper# X1, proper# U11(X1, X2, X3) -> proper# X1)
    (proper# U22(X1, X2) -> proper# X1, proper# U11(X1, X2, X3) -> U11#(proper X1, proper X2, proper X3))
    (proper# U22(X1, X2) -> proper# X1, proper# U12(X1, X2, X3) -> proper# X3)
    (proper# U22(X1, X2) -> proper# X1, proper# U12(X1, X2, X3) -> proper# X2)
    (proper# U22(X1, X2) -> proper# X1, proper# U12(X1, X2, X3) -> proper# X1)
    (proper# U22(X1, X2) -> proper# X1, proper# U12(X1, X2, X3) -> U12#(proper X1, proper X2, proper X3))
    (proper# U22(X1, X2) -> proper# X1, proper# x(X1, X2) -> proper# X2)
    (proper# U22(X1, X2) -> proper# X1, proper# x(X1, X2) -> proper# X1)
    (proper# U22(X1, X2) -> proper# X1, proper# x(X1, X2) -> x#(proper X1, proper X2))
    (proper# U22(X1, X2) -> proper# X1, proper# plus(X1, X2) -> proper# X2)
    (proper# U22(X1, X2) -> proper# X1, proper# plus(X1, X2) -> proper# X1)
    (proper# U22(X1, X2) -> proper# X1, proper# plus(X1, X2) -> plus#(proper X1, proper X2))
    (proper# U22(X1, X2) -> proper# X1, proper# U104(X1, X2, X3) -> proper# X3)
    (proper# U22(X1, X2) -> proper# X1, proper# U104(X1, X2, X3) -> proper# X2)
    (proper# U22(X1, X2) -> proper# X1, proper# U104(X1, X2, X3) -> proper# X1)
    (proper# U22(X1, X2) -> proper# X1, proper# U104(X1, X2, X3) -> U104#(proper X1, proper X2, proper X3))
    (proper# U22(X1, X2) -> proper# X1, proper# isNat X -> proper# X)
    (proper# U22(X1, X2) -> proper# X1, proper# isNat X -> isNat# proper X)
    (proper# U22(X1, X2) -> proper# X1, proper# U103(X1, X2, X3) -> proper# X3)
    (proper# U22(X1, X2) -> proper# X1, proper# U103(X1, X2, X3) -> proper# X2)
    (proper# U22(X1, X2) -> proper# X1, proper# U103(X1, X2, X3) -> proper# X1)
    (proper# U22(X1, X2) -> proper# X1, proper# U103(X1, X2, X3) -> U103#(proper X1, proper X2, proper X3))
    (proper# U22(X1, X2) -> proper# X1, proper# U101(X1, X2, X3) -> proper# X3)
    (proper# U22(X1, X2) -> proper# X1, proper# U101(X1, X2, X3) -> proper# X2)
    (proper# U22(X1, X2) -> proper# X1, proper# U101(X1, X2, X3) -> proper# X1)
    (proper# U22(X1, X2) -> proper# X1, proper# U101(X1, X2, X3) -> U101#(proper X1, proper X2, proper X3))
    (proper# U22(X1, X2) -> proper# X1, proper# isNatKind X -> proper# X)
    (proper# U22(X1, X2) -> proper# X1, proper# isNatKind X -> isNatKind# proper X)
    (proper# U22(X1, X2) -> proper# X1, proper# U102(X1, X2, X3) -> proper# X3)
    (proper# U22(X1, X2) -> proper# X1, proper# U102(X1, X2, X3) -> proper# X2)
    (proper# U22(X1, X2) -> proper# X1, proper# U102(X1, X2, X3) -> proper# X1)
    (proper# U22(X1, X2) -> proper# X1, proper# U102(X1, X2, X3) -> U102#(proper X1, proper X2, proper X3))
    (proper# U32(X1, X2, X3) -> proper# X1, proper# U91(X1, X2) -> proper# X2)
    (proper# U32(X1, X2, X3) -> proper# X1, proper# U91(X1, X2) -> proper# X1)
    (proper# U32(X1, X2, X3) -> proper# X1, proper# U91(X1, X2) -> U91#(proper X1, proper X2))
    (proper# U32(X1, X2, X3) -> proper# X1, proper# U92 X -> proper# X)
    (proper# U32(X1, X2, X3) -> proper# X1, proper# U92 X -> U92# proper X)
    (proper# U32(X1, X2, X3) -> proper# X1, proper# s X -> proper# X)
    (proper# U32(X1, X2, X3) -> proper# X1, proper# s X -> s# proper X)
    (proper# U32(X1, X2, X3) -> proper# X1, proper# U84(X1, X2, X3) -> proper# X3)
    (proper# U32(X1, X2, X3) -> proper# X1, proper# U84(X1, X2, X3) -> proper# X2)
    (proper# U32(X1, X2, X3) -> proper# X1, proper# U84(X1, X2, X3) -> proper# X1)
    (proper# U32(X1, X2, X3) -> proper# X1, proper# U84(X1, X2, X3) -> U84#(proper X1, proper X2, proper X3))
    (proper# U32(X1, X2, X3) -> proper# X1, proper# U83(X1, X2, X3) -> proper# X3)
    (proper# U32(X1, X2, X3) -> proper# X1, proper# U83(X1, X2, X3) -> proper# X2)
    (proper# U32(X1, X2, X3) -> proper# X1, proper# U83(X1, X2, X3) -> proper# X1)
    (proper# U32(X1, X2, X3) -> proper# X1, proper# U83(X1, X2, X3) -> U83#(proper X1, proper X2, proper X3))
    (proper# U32(X1, X2, X3) -> proper# X1, proper# U81(X1, X2, X3) -> proper# X3)
    (proper# U32(X1, X2, X3) -> proper# X1, proper# U81(X1, X2, X3) -> proper# X2)
    (proper# U32(X1, X2, X3) -> proper# X1, proper# U81(X1, X2, X3) -> proper# X1)
    (proper# U32(X1, X2, X3) -> proper# X1, proper# U81(X1, X2, X3) -> U81#(proper X1, proper X2, proper X3))
    (proper# U32(X1, X2, X3) -> proper# X1, proper# U82(X1, X2, X3) -> proper# X3)
    (proper# U32(X1, X2, X3) -> proper# X1, proper# U82(X1, X2, X3) -> proper# X2)
    (proper# U32(X1, X2, X3) -> proper# X1, proper# U82(X1, X2, X3) -> proper# X1)
    (proper# U32(X1, X2, X3) -> proper# X1, proper# U82(X1, X2, X3) -> U82#(proper X1, proper X2, proper X3))
    (proper# U32(X1, X2, X3) -> proper# X1, proper# U71(X1, X2) -> proper# X2)
    (proper# U32(X1, X2, X3) -> proper# X1, proper# U71(X1, X2) -> proper# X1)
    (proper# U32(X1, X2, X3) -> proper# X1, proper# U71(X1, X2) -> U71#(proper X1, proper X2))
    (proper# U32(X1, X2, X3) -> proper# X1, proper# U72(X1, X2) -> proper# X2)
    (proper# U32(X1, X2, X3) -> proper# X1, proper# U72(X1, X2) -> proper# X1)
    (proper# U32(X1, X2, X3) -> proper# X1, proper# U72(X1, X2) -> U72#(proper X1, proper X2))
    (proper# U32(X1, X2, X3) -> proper# X1, proper# U61(X1, X2) -> proper# X2)
    (proper# U32(X1, X2, X3) -> proper# X1, proper# U61(X1, X2) -> proper# X1)
    (proper# U32(X1, X2, X3) -> proper# X1, proper# U61(X1, X2) -> U61#(proper X1, proper X2))
    (proper# U32(X1, X2, X3) -> proper# X1, proper# U62 X -> proper# X)
    (proper# U32(X1, X2, X3) -> proper# X1, proper# U62 X -> U62# proper X)
    (proper# U32(X1, X2, X3) -> proper# X1, proper# U51 X -> proper# X)
    (proper# U32(X1, X2, X3) -> proper# X1, proper# U51 X -> U51# proper X)
    (proper# U32(X1, X2, X3) -> proper# X1, proper# U41(X1, X2) -> proper# X2)
    (proper# U32(X1, X2, X3) -> proper# X1, proper# U41(X1, X2) -> proper# X1)
    (proper# U32(X1, X2, X3) -> proper# X1, proper# U41(X1, X2) -> U41#(proper X1, proper X2))
    (proper# U32(X1, X2, X3) -> proper# X1, proper# U42 X -> proper# X)
    (proper# U32(X1, X2, X3) -> proper# X1, proper# U42 X -> U42# proper X)
    (proper# U32(X1, X2, X3) -> proper# X1, proper# U36 X -> proper# X)
    (proper# U32(X1, X2, X3) -> proper# X1, proper# U36 X -> U36# proper X)
    (proper# U32(X1, X2, X3) -> proper# X1, proper# U35(X1, X2) -> proper# X2)
    (proper# U32(X1, X2, X3) -> proper# X1, proper# U35(X1, X2) -> proper# X1)
    (proper# U32(X1, X2, X3) -> proper# X1, proper# U35(X1, X2) -> U35#(proper X1, proper X2))
    (proper# U32(X1, X2, X3) -> proper# X1, proper# U34(X1, X2, X3) -> proper# X3)
    (proper# U32(X1, X2, X3) -> proper# X1, proper# U34(X1, X2, X3) -> proper# X2)
    (proper# U32(X1, X2, X3) -> proper# X1, proper# U34(X1, X2, X3) -> proper# X1)
    (proper# U32(X1, X2, X3) -> proper# X1, proper# U34(X1, X2, X3) -> U34#(proper X1, proper X2, proper X3))
    (proper# U32(X1, X2, X3) -> proper# X1, proper# U33(X1, X2, X3) -> proper# X3)
    (proper# U32(X1, X2, X3) -> proper# X1, proper# U33(X1, X2, X3) -> proper# X2)
    (proper# U32(X1, X2, X3) -> proper# X1, proper# U33(X1, X2, X3) -> proper# X1)
    (proper# U32(X1, X2, X3) -> proper# X1, proper# U33(X1, X2, X3) -> U33#(proper X1, proper X2, proper X3))
    (proper# U32(X1, X2, X3) -> proper# X1, proper# U31(X1, X2, X3) -> proper# X3)
    (proper# U32(X1, X2, X3) -> proper# X1, proper# U31(X1, X2, X3) -> proper# X2)
    (proper# U32(X1, X2, X3) -> proper# X1, proper# U31(X1, X2, X3) -> proper# X1)
    (proper# U32(X1, X2, X3) -> proper# X1, proper# U31(X1, X2, X3) -> U31#(proper X1, proper X2, proper X3))
    (proper# U32(X1, X2, X3) -> proper# X1, proper# U32(X1, X2, X3) -> proper# X3)
    (proper# U32(X1, X2, X3) -> proper# X1, proper# U32(X1, X2, X3) -> proper# X2)
    (proper# U32(X1, X2, X3) -> proper# X1, proper# U32(X1, X2, X3) -> proper# X1)
    (proper# U32(X1, X2, X3) -> proper# X1, proper# U32(X1, X2, X3) -> U32#(proper X1, proper X2, proper X3))
    (proper# U32(X1, X2, X3) -> proper# X1, proper# U23 X -> proper# X)
    (proper# U32(X1, X2, X3) -> proper# X1, proper# U23 X -> U23# proper X)
    (proper# U32(X1, X2, X3) -> proper# X1, proper# U21(X1, X2) -> proper# X2)
    (proper# U32(X1, X2, X3) -> proper# X1, proper# U21(X1, X2) -> proper# X1)
    (proper# U32(X1, X2, X3) -> proper# X1, proper# U21(X1, X2) -> U21#(proper X1, proper X2))
    (proper# U32(X1, X2, X3) -> proper# X1, proper# U22(X1, X2) -> proper# X2)
    (proper# U32(X1, X2, X3) -> proper# X1, proper# U22(X1, X2) -> proper# X1)
    (proper# U32(X1, X2, X3) -> proper# X1, proper# U22(X1, X2) -> U22#(proper X1, proper X2))
    (proper# U32(X1, X2, X3) -> proper# X1, proper# U16 X -> proper# X)
    (proper# U32(X1, X2, X3) -> proper# X1, proper# U16 X -> U16# proper X)
    (proper# U32(X1, X2, X3) -> proper# X1, proper# U15(X1, X2) -> proper# X2)
    (proper# U32(X1, X2, X3) -> proper# X1, proper# U15(X1, X2) -> proper# X1)
    (proper# U32(X1, X2, X3) -> proper# X1, proper# U15(X1, X2) -> U15#(proper X1, proper X2))
    (proper# U32(X1, X2, X3) -> proper# X1, proper# U14(X1, X2, X3) -> proper# X3)
    (proper# U32(X1, X2, X3) -> proper# X1, proper# U14(X1, X2, X3) -> proper# X2)
    (proper# U32(X1, X2, X3) -> proper# X1, proper# U14(X1, X2, X3) -> proper# X1)
    (proper# U32(X1, X2, X3) -> proper# X1, proper# U14(X1, X2, X3) -> U14#(proper X1, proper X2, proper X3))
    (proper# U32(X1, X2, X3) -> proper# X1, proper# U13(X1, X2, X3) -> proper# X3)
    (proper# U32(X1, X2, X3) -> proper# X1, proper# U13(X1, X2, X3) -> proper# X2)
    (proper# U32(X1, X2, X3) -> proper# X1, proper# U13(X1, X2, X3) -> proper# X1)
    (proper# U32(X1, X2, X3) -> proper# X1, proper# U13(X1, X2, X3) -> U13#(proper X1, proper X2, proper X3))
    (proper# U32(X1, X2, X3) -> proper# X1, proper# U11(X1, X2, X3) -> proper# X3)
    (proper# U32(X1, X2, X3) -> proper# X1, proper# U11(X1, X2, X3) -> proper# X2)
    (proper# U32(X1, X2, X3) -> proper# X1, proper# U11(X1, X2, X3) -> proper# X1)
    (proper# U32(X1, X2, X3) -> proper# X1, proper# U11(X1, X2, X3) -> U11#(proper X1, proper X2, proper X3))
    (proper# U32(X1, X2, X3) -> proper# X1, proper# U12(X1, X2, X3) -> proper# X3)
    (proper# U32(X1, X2, X3) -> proper# X1, proper# U12(X1, X2, X3) -> proper# X2)
    (proper# U32(X1, X2, X3) -> proper# X1, proper# U12(X1, X2, X3) -> proper# X1)
    (proper# U32(X1, X2, X3) -> proper# X1, proper# U12(X1, X2, X3) -> U12#(proper X1, proper X2, proper X3))
    (proper# U32(X1, X2, X3) -> proper# X1, proper# x(X1, X2) -> proper# X2)
    (proper# U32(X1, X2, X3) -> proper# X1, proper# x(X1, X2) -> proper# X1)
    (proper# U32(X1, X2, X3) -> proper# X1, proper# x(X1, X2) -> x#(proper X1, proper X2))
    (proper# U32(X1, X2, X3) -> proper# X1, proper# plus(X1, X2) -> proper# X2)
    (proper# U32(X1, X2, X3) -> proper# X1, proper# plus(X1, X2) -> proper# X1)
    (proper# U32(X1, X2, X3) -> proper# X1, proper# plus(X1, X2) -> plus#(proper X1, proper X2))
    (proper# U32(X1, X2, X3) -> proper# X1, proper# U104(X1, X2, X3) -> proper# X3)
    (proper# U32(X1, X2, X3) -> proper# X1, proper# U104(X1, X2, X3) -> proper# X2)
    (proper# U32(X1, X2, X3) -> proper# X1, proper# U104(X1, X2, X3) -> proper# X1)
    (proper# U32(X1, X2, X3) -> proper# X1, proper# U104(X1, X2, X3) -> U104#(proper X1, proper X2, proper X3))
    (proper# U32(X1, X2, X3) -> proper# X1, proper# isNat X -> proper# X)
    (proper# U32(X1, X2, X3) -> proper# X1, proper# isNat X -> isNat# proper X)
    (proper# U32(X1, X2, X3) -> proper# X1, proper# U103(X1, X2, X3) -> proper# X3)
    (proper# U32(X1, X2, X3) -> proper# X1, proper# U103(X1, X2, X3) -> proper# X2)
    (proper# U32(X1, X2, X3) -> proper# X1, proper# U103(X1, X2, X3) -> proper# X1)
    (proper# U32(X1, X2, X3) -> proper# X1, proper# U103(X1, X2, X3) -> U103#(proper X1, proper X2, proper X3))
    (proper# U32(X1, X2, X3) -> proper# X1, proper# U101(X1, X2, X3) -> proper# X3)
    (proper# U32(X1, X2, X3) -> proper# X1, proper# U101(X1, X2, X3) -> proper# X2)
    (proper# U32(X1, X2, X3) -> proper# X1, proper# U101(X1, X2, X3) -> proper# X1)
    (proper# U32(X1, X2, X3) -> proper# X1, proper# U101(X1, X2, X3) -> U101#(proper X1, proper X2, proper X3))
    (proper# U32(X1, X2, X3) -> proper# X1, proper# isNatKind X -> proper# X)
    (proper# U32(X1, X2, X3) -> proper# X1, proper# isNatKind X -> isNatKind# proper X)
    (proper# U32(X1, X2, X3) -> proper# X1, proper# U102(X1, X2, X3) -> proper# X3)
    (proper# U32(X1, X2, X3) -> proper# X1, proper# U102(X1, X2, X3) -> proper# X2)
    (proper# U32(X1, X2, X3) -> proper# X1, proper# U102(X1, X2, X3) -> proper# X1)
    (proper# U32(X1, X2, X3) -> proper# X1, proper# U102(X1, X2, X3) -> U102#(proper X1, proper X2, proper X3))
    (proper# U33(X1, X2, X3) -> proper# X1, proper# U91(X1, X2) -> proper# X2)
    (proper# U33(X1, X2, X3) -> proper# X1, proper# U91(X1, X2) -> proper# X1)
    (proper# U33(X1, X2, X3) -> proper# X1, proper# U91(X1, X2) -> U91#(proper X1, proper X2))
    (proper# U33(X1, X2, X3) -> proper# X1, proper# U92 X -> proper# X)
    (proper# U33(X1, X2, X3) -> proper# X1, proper# U92 X -> U92# proper X)
    (proper# U33(X1, X2, X3) -> proper# X1, proper# s X -> proper# X)
    (proper# U33(X1, X2, X3) -> proper# X1, proper# s X -> s# proper X)
    (proper# U33(X1, X2, X3) -> proper# X1, proper# U84(X1, X2, X3) -> proper# X3)
    (proper# U33(X1, X2, X3) -> proper# X1, proper# U84(X1, X2, X3) -> proper# X2)
    (proper# U33(X1, X2, X3) -> proper# X1, proper# U84(X1, X2, X3) -> proper# X1)
    (proper# U33(X1, X2, X3) -> proper# X1, proper# U84(X1, X2, X3) -> U84#(proper X1, proper X2, proper X3))
    (proper# U33(X1, X2, X3) -> proper# X1, proper# U83(X1, X2, X3) -> proper# X3)
    (proper# U33(X1, X2, X3) -> proper# X1, proper# U83(X1, X2, X3) -> proper# X2)
    (proper# U33(X1, X2, X3) -> proper# X1, proper# U83(X1, X2, X3) -> proper# X1)
    (proper# U33(X1, X2, X3) -> proper# X1, proper# U83(X1, X2, X3) -> U83#(proper X1, proper X2, proper X3))
    (proper# U33(X1, X2, X3) -> proper# X1, proper# U81(X1, X2, X3) -> proper# X3)
    (proper# U33(X1, X2, X3) -> proper# X1, proper# U81(X1, X2, X3) -> proper# X2)
    (proper# U33(X1, X2, X3) -> proper# X1, proper# U81(X1, X2, X3) -> proper# X1)
    (proper# U33(X1, X2, X3) -> proper# X1, proper# U81(X1, X2, X3) -> U81#(proper X1, proper X2, proper X3))
    (proper# U33(X1, X2, X3) -> proper# X1, proper# U82(X1, X2, X3) -> proper# X3)
    (proper# U33(X1, X2, X3) -> proper# X1, proper# U82(X1, X2, X3) -> proper# X2)
    (proper# U33(X1, X2, X3) -> proper# X1, proper# U82(X1, X2, X3) -> proper# X1)
    (proper# U33(X1, X2, X3) -> proper# X1, proper# U82(X1, X2, X3) -> U82#(proper X1, proper X2, proper X3))
    (proper# U33(X1, X2, X3) -> proper# X1, proper# U71(X1, X2) -> proper# X2)
    (proper# U33(X1, X2, X3) -> proper# X1, proper# U71(X1, X2) -> proper# X1)
    (proper# U33(X1, X2, X3) -> proper# X1, proper# U71(X1, X2) -> U71#(proper X1, proper X2))
    (proper# U33(X1, X2, X3) -> proper# X1, proper# U72(X1, X2) -> proper# X2)
    (proper# U33(X1, X2, X3) -> proper# X1, proper# U72(X1, X2) -> proper# X1)
    (proper# U33(X1, X2, X3) -> proper# X1, proper# U72(X1, X2) -> U72#(proper X1, proper X2))
    (proper# U33(X1, X2, X3) -> proper# X1, proper# U61(X1, X2) -> proper# X2)
    (proper# U33(X1, X2, X3) -> proper# X1, proper# U61(X1, X2) -> proper# X1)
    (proper# U33(X1, X2, X3) -> proper# X1, proper# U61(X1, X2) -> U61#(proper X1, proper X2))
    (proper# U33(X1, X2, X3) -> proper# X1, proper# U62 X -> proper# X)
    (proper# U33(X1, X2, X3) -> proper# X1, proper# U62 X -> U62# proper X)
    (proper# U33(X1, X2, X3) -> proper# X1, proper# U51 X -> proper# X)
    (proper# U33(X1, X2, X3) -> proper# X1, proper# U51 X -> U51# proper X)
    (proper# U33(X1, X2, X3) -> proper# X1, proper# U41(X1, X2) -> proper# X2)
    (proper# U33(X1, X2, X3) -> proper# X1, proper# U41(X1, X2) -> proper# X1)
    (proper# U33(X1, X2, X3) -> proper# X1, proper# U41(X1, X2) -> U41#(proper X1, proper X2))
    (proper# U33(X1, X2, X3) -> proper# X1, proper# U42 X -> proper# X)
    (proper# U33(X1, X2, X3) -> proper# X1, proper# U42 X -> U42# proper X)
    (proper# U33(X1, X2, X3) -> proper# X1, proper# U36 X -> proper# X)
    (proper# U33(X1, X2, X3) -> proper# X1, proper# U36 X -> U36# proper X)
    (proper# U33(X1, X2, X3) -> proper# X1, proper# U35(X1, X2) -> proper# X2)
    (proper# U33(X1, X2, X3) -> proper# X1, proper# U35(X1, X2) -> proper# X1)
    (proper# U33(X1, X2, X3) -> proper# X1, proper# U35(X1, X2) -> U35#(proper X1, proper X2))
    (proper# U33(X1, X2, X3) -> proper# X1, proper# U34(X1, X2, X3) -> proper# X3)
    (proper# U33(X1, X2, X3) -> proper# X1, proper# U34(X1, X2, X3) -> proper# X2)
    (proper# U33(X1, X2, X3) -> proper# X1, proper# U34(X1, X2, X3) -> proper# X1)
    (proper# U33(X1, X2, X3) -> proper# X1, proper# U34(X1, X2, X3) -> U34#(proper X1, proper X2, proper X3))
    (proper# U33(X1, X2, X3) -> proper# X1, proper# U33(X1, X2, X3) -> proper# X3)
    (proper# U33(X1, X2, X3) -> proper# X1, proper# U33(X1, X2, X3) -> proper# X2)
    (proper# U33(X1, X2, X3) -> proper# X1, proper# U33(X1, X2, X3) -> proper# X1)
    (proper# U33(X1, X2, X3) -> proper# X1, proper# U33(X1, X2, X3) -> U33#(proper X1, proper X2, proper X3))
    (proper# U33(X1, X2, X3) -> proper# X1, proper# U31(X1, X2, X3) -> proper# X3)
    (proper# U33(X1, X2, X3) -> proper# X1, proper# U31(X1, X2, X3) -> proper# X2)
    (proper# U33(X1, X2, X3) -> proper# X1, proper# U31(X1, X2, X3) -> proper# X1)
    (proper# U33(X1, X2, X3) -> proper# X1, proper# U31(X1, X2, X3) -> U31#(proper X1, proper X2, proper X3))
    (proper# U33(X1, X2, X3) -> proper# X1, proper# U32(X1, X2, X3) -> proper# X3)
    (proper# U33(X1, X2, X3) -> proper# X1, proper# U32(X1, X2, X3) -> proper# X2)
    (proper# U33(X1, X2, X3) -> proper# X1, proper# U32(X1, X2, X3) -> proper# X1)
    (proper# U33(X1, X2, X3) -> proper# X1, proper# U32(X1, X2, X3) -> U32#(proper X1, proper X2, proper X3))
    (proper# U33(X1, X2, X3) -> proper# X1, proper# U23 X -> proper# X)
    (proper# U33(X1, X2, X3) -> proper# X1, proper# U23 X -> U23# proper X)
    (proper# U33(X1, X2, X3) -> proper# X1, proper# U21(X1, X2) -> proper# X2)
    (proper# U33(X1, X2, X3) -> proper# X1, proper# U21(X1, X2) -> proper# X1)
    (proper# U33(X1, X2, X3) -> proper# X1, proper# U21(X1, X2) -> U21#(proper X1, proper X2))
    (proper# U33(X1, X2, X3) -> proper# X1, proper# U22(X1, X2) -> proper# X2)
    (proper# U33(X1, X2, X3) -> proper# X1, proper# U22(X1, X2) -> proper# X1)
    (proper# U33(X1, X2, X3) -> proper# X1, proper# U22(X1, X2) -> U22#(proper X1, proper X2))
    (proper# U33(X1, X2, X3) -> proper# X1, proper# U16 X -> proper# X)
    (proper# U33(X1, X2, X3) -> proper# X1, proper# U16 X -> U16# proper X)
    (proper# U33(X1, X2, X3) -> proper# X1, proper# U15(X1, X2) -> proper# X2)
    (proper# U33(X1, X2, X3) -> proper# X1, proper# U15(X1, X2) -> proper# X1)
    (proper# U33(X1, X2, X3) -> proper# X1, proper# U15(X1, X2) -> U15#(proper X1, proper X2))
    (proper# U33(X1, X2, X3) -> proper# X1, proper# U14(X1, X2, X3) -> proper# X3)
    (proper# U33(X1, X2, X3) -> proper# X1, proper# U14(X1, X2, X3) -> proper# X2)
    (proper# U33(X1, X2, X3) -> proper# X1, proper# U14(X1, X2, X3) -> proper# X1)
    (proper# U33(X1, X2, X3) -> proper# X1, proper# U14(X1, X2, X3) -> U14#(proper X1, proper X2, proper X3))
    (proper# U33(X1, X2, X3) -> proper# X1, proper# U13(X1, X2, X3) -> proper# X3)
    (proper# U33(X1, X2, X3) -> proper# X1, proper# U13(X1, X2, X3) -> proper# X2)
    (proper# U33(X1, X2, X3) -> proper# X1, proper# U13(X1, X2, X3) -> proper# X1)
    (proper# U33(X1, X2, X3) -> proper# X1, proper# U13(X1, X2, X3) -> U13#(proper X1, proper X2, proper X3))
    (proper# U33(X1, X2, X3) -> proper# X1, proper# U11(X1, X2, X3) -> proper# X3)
    (proper# U33(X1, X2, X3) -> proper# X1, proper# U11(X1, X2, X3) -> proper# X2)
    (proper# U33(X1, X2, X3) -> proper# X1, proper# U11(X1, X2, X3) -> proper# X1)
    (proper# U33(X1, X2, X3) -> proper# X1, proper# U11(X1, X2, X3) -> U11#(proper X1, proper X2, proper X3))
    (proper# U33(X1, X2, X3) -> proper# X1, proper# U12(X1, X2, X3) -> proper# X3)
    (proper# U33(X1, X2, X3) -> proper# X1, proper# U12(X1, X2, X3) -> proper# X2)
    (proper# U33(X1, X2, X3) -> proper# X1, proper# U12(X1, X2, X3) -> proper# X1)
    (proper# U33(X1, X2, X3) -> proper# X1, proper# U12(X1, X2, X3) -> U12#(proper X1, proper X2, proper X3))
    (proper# U33(X1, X2, X3) -> proper# X1, proper# x(X1, X2) -> proper# X2)
    (proper# U33(X1, X2, X3) -> proper# X1, proper# x(X1, X2) -> proper# X1)
    (proper# U33(X1, X2, X3) -> proper# X1, proper# x(X1, X2) -> x#(proper X1, proper X2))
    (proper# U33(X1, X2, X3) -> proper# X1, proper# plus(X1, X2) -> proper# X2)
    (proper# U33(X1, X2, X3) -> proper# X1, proper# plus(X1, X2) -> proper# X1)
    (proper# U33(X1, X2, X3) -> proper# X1, proper# plus(X1, X2) -> plus#(proper X1, proper X2))
    (proper# U33(X1, X2, X3) -> proper# X1, proper# U104(X1, X2, X3) -> proper# X3)
    (proper# U33(X1, X2, X3) -> proper# X1, proper# U104(X1, X2, X3) -> proper# X2)
    (proper# U33(X1, X2, X3) -> proper# X1, proper# U104(X1, X2, X3) -> proper# X1)
    (proper# U33(X1, X2, X3) -> proper# X1, proper# U104(X1, X2, X3) -> U104#(proper X1, proper X2, proper X3))
    (proper# U33(X1, X2, X3) -> proper# X1, proper# isNat X -> proper# X)
    (proper# U33(X1, X2, X3) -> proper# X1, proper# isNat X -> isNat# proper X)
    (proper# U33(X1, X2, X3) -> proper# X1, proper# U103(X1, X2, X3) -> proper# X3)
    (proper# U33(X1, X2, X3) -> proper# X1, proper# U103(X1, X2, X3) -> proper# X2)
    (proper# U33(X1, X2, X3) -> proper# X1, proper# U103(X1, X2, X3) -> proper# X1)
    (proper# U33(X1, X2, X3) -> proper# X1, proper# U103(X1, X2, X3) -> U103#(proper X1, proper X2, proper X3))
    (proper# U33(X1, X2, X3) -> proper# X1, proper# U101(X1, X2, X3) -> proper# X3)
    (proper# U33(X1, X2, X3) -> proper# X1, proper# U101(X1, X2, X3) -> proper# X2)
    (proper# U33(X1, X2, X3) -> proper# X1, proper# U101(X1, X2, X3) -> proper# X1)
    (proper# U33(X1, X2, X3) -> proper# X1, proper# U101(X1, X2, X3) -> U101#(proper X1, proper X2, proper X3))
    (proper# U33(X1, X2, X3) -> proper# X1, proper# isNatKind X -> proper# X)
    (proper# U33(X1, X2, X3) -> proper# X1, proper# isNatKind X -> isNatKind# proper X)
    (proper# U33(X1, X2, X3) -> proper# X1, proper# U102(X1, X2, X3) -> proper# X3)
    (proper# U33(X1, X2, X3) -> proper# X1, proper# U102(X1, X2, X3) -> proper# X2)
    (proper# U33(X1, X2, X3) -> proper# X1, proper# U102(X1, X2, X3) -> proper# X1)
    (proper# U33(X1, X2, X3) -> proper# X1, proper# U102(X1, X2, X3) -> U102#(proper X1, proper X2, proper X3))
    (proper# U35(X1, X2) -> proper# X1, proper# U91(X1, X2) -> proper# X2)
    (proper# U35(X1, X2) -> proper# X1, proper# U91(X1, X2) -> proper# X1)
    (proper# U35(X1, X2) -> proper# X1, proper# U91(X1, X2) -> U91#(proper X1, proper X2))
    (proper# U35(X1, X2) -> proper# X1, proper# U92 X -> proper# X)
    (proper# U35(X1, X2) -> proper# X1, proper# U92 X -> U92# proper X)
    (proper# U35(X1, X2) -> proper# X1, proper# s X -> proper# X)
    (proper# U35(X1, X2) -> proper# X1, proper# s X -> s# proper X)
    (proper# U35(X1, X2) -> proper# X1, proper# U84(X1, X2, X3) -> proper# X3)
    (proper# U35(X1, X2) -> proper# X1, proper# U84(X1, X2, X3) -> proper# X2)
    (proper# U35(X1, X2) -> proper# X1, proper# U84(X1, X2, X3) -> proper# X1)
    (proper# U35(X1, X2) -> proper# X1, proper# U84(X1, X2, X3) -> U84#(proper X1, proper X2, proper X3))
    (proper# U35(X1, X2) -> proper# X1, proper# U83(X1, X2, X3) -> proper# X3)
    (proper# U35(X1, X2) -> proper# X1, proper# U83(X1, X2, X3) -> proper# X2)
    (proper# U35(X1, X2) -> proper# X1, proper# U83(X1, X2, X3) -> proper# X1)
    (proper# U35(X1, X2) -> proper# X1, proper# U83(X1, X2, X3) -> U83#(proper X1, proper X2, proper X3))
    (proper# U35(X1, X2) -> proper# X1, proper# U81(X1, X2, X3) -> proper# X3)
    (proper# U35(X1, X2) -> proper# X1, proper# U81(X1, X2, X3) -> proper# X2)
    (proper# U35(X1, X2) -> proper# X1, proper# U81(X1, X2, X3) -> proper# X1)
    (proper# U35(X1, X2) -> proper# X1, proper# U81(X1, X2, X3) -> U81#(proper X1, proper X2, proper X3))
    (proper# U35(X1, X2) -> proper# X1, proper# U82(X1, X2, X3) -> proper# X3)
    (proper# U35(X1, X2) -> proper# X1, proper# U82(X1, X2, X3) -> proper# X2)
    (proper# U35(X1, X2) -> proper# X1, proper# U82(X1, X2, X3) -> proper# X1)
    (proper# U35(X1, X2) -> proper# X1, proper# U82(X1, X2, X3) -> U82#(proper X1, proper X2, proper X3))
    (proper# U35(X1, X2) -> proper# X1, proper# U71(X1, X2) -> proper# X2)
    (proper# U35(X1, X2) -> proper# X1, proper# U71(X1, X2) -> proper# X1)
    (proper# U35(X1, X2) -> proper# X1, proper# U71(X1, X2) -> U71#(proper X1, proper X2))
    (proper# U35(X1, X2) -> proper# X1, proper# U72(X1, X2) -> proper# X2)
    (proper# U35(X1, X2) -> proper# X1, proper# U72(X1, X2) -> proper# X1)
    (proper# U35(X1, X2) -> proper# X1, proper# U72(X1, X2) -> U72#(proper X1, proper X2))
    (proper# U35(X1, X2) -> proper# X1, proper# U61(X1, X2) -> proper# X2)
    (proper# U35(X1, X2) -> proper# X1, proper# U61(X1, X2) -> proper# X1)
    (proper# U35(X1, X2) -> proper# X1, proper# U61(X1, X2) -> U61#(proper X1, proper X2))
    (proper# U35(X1, X2) -> proper# X1, proper# U62 X -> proper# X)
    (proper# U35(X1, X2) -> proper# X1, proper# U62 X -> U62# proper X)
    (proper# U35(X1, X2) -> proper# X1, proper# U51 X -> proper# X)
    (proper# U35(X1, X2) -> proper# X1, proper# U51 X -> U51# proper X)
    (proper# U35(X1, X2) -> proper# X1, proper# U41(X1, X2) -> proper# X2)
    (proper# U35(X1, X2) -> proper# X1, proper# U41(X1, X2) -> proper# X1)
    (proper# U35(X1, X2) -> proper# X1, proper# U41(X1, X2) -> U41#(proper X1, proper X2))
    (proper# U35(X1, X2) -> proper# X1, proper# U42 X -> proper# X)
    (proper# U35(X1, X2) -> proper# X1, proper# U42 X -> U42# proper X)
    (proper# U35(X1, X2) -> proper# X1, proper# U36 X -> proper# X)
    (proper# U35(X1, X2) -> proper# X1, proper# U36 X -> U36# proper X)
    (proper# U35(X1, X2) -> proper# X1, proper# U35(X1, X2) -> proper# X2)
    (proper# U35(X1, X2) -> proper# X1, proper# U35(X1, X2) -> proper# X1)
    (proper# U35(X1, X2) -> proper# X1, proper# U35(X1, X2) -> U35#(proper X1, proper X2))
    (proper# U35(X1, X2) -> proper# X1, proper# U34(X1, X2, X3) -> proper# X3)
    (proper# U35(X1, X2) -> proper# X1, proper# U34(X1, X2, X3) -> proper# X2)
    (proper# U35(X1, X2) -> proper# X1, proper# U34(X1, X2, X3) -> proper# X1)
    (proper# U35(X1, X2) -> proper# X1, proper# U34(X1, X2, X3) -> U34#(proper X1, proper X2, proper X3))
    (proper# U35(X1, X2) -> proper# X1, proper# U33(X1, X2, X3) -> proper# X3)
    (proper# U35(X1, X2) -> proper# X1, proper# U33(X1, X2, X3) -> proper# X2)
    (proper# U35(X1, X2) -> proper# X1, proper# U33(X1, X2, X3) -> proper# X1)
    (proper# U35(X1, X2) -> proper# X1, proper# U33(X1, X2, X3) -> U33#(proper X1, proper X2, proper X3))
    (proper# U35(X1, X2) -> proper# X1, proper# U31(X1, X2, X3) -> proper# X3)
    (proper# U35(X1, X2) -> proper# X1, proper# U31(X1, X2, X3) -> proper# X2)
    (proper# U35(X1, X2) -> proper# X1, proper# U31(X1, X2, X3) -> proper# X1)
    (proper# U35(X1, X2) -> proper# X1, proper# U31(X1, X2, X3) -> U31#(proper X1, proper X2, proper X3))
    (proper# U35(X1, X2) -> proper# X1, proper# U32(X1, X2, X3) -> proper# X3)
    (proper# U35(X1, X2) -> proper# X1, proper# U32(X1, X2, X3) -> proper# X2)
    (proper# U35(X1, X2) -> proper# X1, proper# U32(X1, X2, X3) -> proper# X1)
    (proper# U35(X1, X2) -> proper# X1, proper# U32(X1, X2, X3) -> U32#(proper X1, proper X2, proper X3))
    (proper# U35(X1, X2) -> proper# X1, proper# U23 X -> proper# X)
    (proper# U35(X1, X2) -> proper# X1, proper# U23 X -> U23# proper X)
    (proper# U35(X1, X2) -> proper# X1, proper# U21(X1, X2) -> proper# X2)
    (proper# U35(X1, X2) -> proper# X1, proper# U21(X1, X2) -> proper# X1)
    (proper# U35(X1, X2) -> proper# X1, proper# U21(X1, X2) -> U21#(proper X1, proper X2))
    (proper# U35(X1, X2) -> proper# X1, proper# U22(X1, X2) -> proper# X2)
    (proper# U35(X1, X2) -> proper# X1, proper# U22(X1, X2) -> proper# X1)
    (proper# U35(X1, X2) -> proper# X1, proper# U22(X1, X2) -> U22#(proper X1, proper X2))
    (proper# U35(X1, X2) -> proper# X1, proper# U16 X -> proper# X)
    (proper# U35(X1, X2) -> proper# X1, proper# U16 X -> U16# proper X)
    (proper# U35(X1, X2) -> proper# X1, proper# U15(X1, X2) -> proper# X2)
    (proper# U35(X1, X2) -> proper# X1, proper# U15(X1, X2) -> proper# X1)
    (proper# U35(X1, X2) -> proper# X1, proper# U15(X1, X2) -> U15#(proper X1, proper X2))
    (proper# U35(X1, X2) -> proper# X1, proper# U14(X1, X2, X3) -> proper# X3)
    (proper# U35(X1, X2) -> proper# X1, proper# U14(X1, X2, X3) -> proper# X2)
    (proper# U35(X1, X2) -> proper# X1, proper# U14(X1, X2, X3) -> proper# X1)
    (proper# U35(X1, X2) -> proper# X1, proper# U14(X1, X2, X3) -> U14#(proper X1, proper X2, proper X3))
    (proper# U35(X1, X2) -> proper# X1, proper# U13(X1, X2, X3) -> proper# X3)
    (proper# U35(X1, X2) -> proper# X1, proper# U13(X1, X2, X3) -> proper# X2)
    (proper# U35(X1, X2) -> proper# X1, proper# U13(X1, X2, X3) -> proper# X1)
    (proper# U35(X1, X2) -> proper# X1, proper# U13(X1, X2, X3) -> U13#(proper X1, proper X2, proper X3))
    (proper# U35(X1, X2) -> proper# X1, proper# U11(X1, X2, X3) -> proper# X3)
    (proper# U35(X1, X2) -> proper# X1, proper# U11(X1, X2, X3) -> proper# X2)
    (proper# U35(X1, X2) -> proper# X1, proper# U11(X1, X2, X3) -> proper# X1)
    (proper# U35(X1, X2) -> proper# X1, proper# U11(X1, X2, X3) -> U11#(proper X1, proper X2, proper X3))
    (proper# U35(X1, X2) -> proper# X1, proper# U12(X1, X2, X3) -> proper# X3)
    (proper# U35(X1, X2) -> proper# X1, proper# U12(X1, X2, X3) -> proper# X2)
    (proper# U35(X1, X2) -> proper# X1, proper# U12(X1, X2, X3) -> proper# X1)
    (proper# U35(X1, X2) -> proper# X1, proper# U12(X1, X2, X3) -> U12#(proper X1, proper X2, proper X3))
    (proper# U35(X1, X2) -> proper# X1, proper# x(X1, X2) -> proper# X2)
    (proper# U35(X1, X2) -> proper# X1, proper# x(X1, X2) -> proper# X1)
    (proper# U35(X1, X2) -> proper# X1, proper# x(X1, X2) -> x#(proper X1, proper X2))
    (proper# U35(X1, X2) -> proper# X1, proper# plus(X1, X2) -> proper# X2)
    (proper# U35(X1, X2) -> proper# X1, proper# plus(X1, X2) -> proper# X1)
    (proper# U35(X1, X2) -> proper# X1, proper# plus(X1, X2) -> plus#(proper X1, proper X2))
    (proper# U35(X1, X2) -> proper# X1, proper# U104(X1, X2, X3) -> proper# X3)
    (proper# U35(X1, X2) -> proper# X1, proper# U104(X1, X2, X3) -> proper# X2)
    (proper# U35(X1, X2) -> proper# X1, proper# U104(X1, X2, X3) -> proper# X1)
    (proper# U35(X1, X2) -> proper# X1, proper# U104(X1, X2, X3) -> U104#(proper X1, proper X2, proper X3))
    (proper# U35(X1, X2) -> proper# X1, proper# isNat X -> proper# X)
    (proper# U35(X1, X2) -> proper# X1, proper# isNat X -> isNat# proper X)
    (proper# U35(X1, X2) -> proper# X1, proper# U103(X1, X2, X3) -> proper# X3)
    (proper# U35(X1, X2) -> proper# X1, proper# U103(X1, X2, X3) -> proper# X2)
    (proper# U35(X1, X2) -> proper# X1, proper# U103(X1, X2, X3) -> proper# X1)
    (proper# U35(X1, X2) -> proper# X1, proper# U103(X1, X2, X3) -> U103#(proper X1, proper X2, proper X3))
    (proper# U35(X1, X2) -> proper# X1, proper# U101(X1, X2, X3) -> proper# X3)
    (proper# U35(X1, X2) -> proper# X1, proper# U101(X1, X2, X3) -> proper# X2)
    (proper# U35(X1, X2) -> proper# X1, proper# U101(X1, X2, X3) -> proper# X1)
    (proper# U35(X1, X2) -> proper# X1, proper# U101(X1, X2, X3) -> U101#(proper X1, proper X2, proper X3))
    (proper# U35(X1, X2) -> proper# X1, proper# isNatKind X -> proper# X)
    (proper# U35(X1, X2) -> proper# X1, proper# isNatKind X -> isNatKind# proper X)
    (proper# U35(X1, X2) -> proper# X1, proper# U102(X1, X2, X3) -> proper# X3)
    (proper# U35(X1, X2) -> proper# X1, proper# U102(X1, X2, X3) -> proper# X2)
    (proper# U35(X1, X2) -> proper# X1, proper# U102(X1, X2, X3) -> proper# X1)
    (proper# U35(X1, X2) -> proper# X1, proper# U102(X1, X2, X3) -> U102#(proper X1, proper X2, proper X3))
    (proper# U61(X1, X2) -> proper# X1, proper# U91(X1, X2) -> proper# X2)
    (proper# U61(X1, X2) -> proper# X1, proper# U91(X1, X2) -> proper# X1)
    (proper# U61(X1, X2) -> proper# X1, proper# U91(X1, X2) -> U91#(proper X1, proper X2))
    (proper# U61(X1, X2) -> proper# X1, proper# U92 X -> proper# X)
    (proper# U61(X1, X2) -> proper# X1, proper# U92 X -> U92# proper X)
    (proper# U61(X1, X2) -> proper# X1, proper# s X -> proper# X)
    (proper# U61(X1, X2) -> proper# X1, proper# s X -> s# proper X)
    (proper# U61(X1, X2) -> proper# X1, proper# U84(X1, X2, X3) -> proper# X3)
    (proper# U61(X1, X2) -> proper# X1, proper# U84(X1, X2, X3) -> proper# X2)
    (proper# U61(X1, X2) -> proper# X1, proper# U84(X1, X2, X3) -> proper# X1)
    (proper# U61(X1, X2) -> proper# X1, proper# U84(X1, X2, X3) -> U84#(proper X1, proper X2, proper X3))
    (proper# U61(X1, X2) -> proper# X1, proper# U83(X1, X2, X3) -> proper# X3)
    (proper# U61(X1, X2) -> proper# X1, proper# U83(X1, X2, X3) -> proper# X2)
    (proper# U61(X1, X2) -> proper# X1, proper# U83(X1, X2, X3) -> proper# X1)
    (proper# U61(X1, X2) -> proper# X1, proper# U83(X1, X2, X3) -> U83#(proper X1, proper X2, proper X3))
    (proper# U61(X1, X2) -> proper# X1, proper# U81(X1, X2, X3) -> proper# X3)
    (proper# U61(X1, X2) -> proper# X1, proper# U81(X1, X2, X3) -> proper# X2)
    (proper# U61(X1, X2) -> proper# X1, proper# U81(X1, X2, X3) -> proper# X1)
    (proper# U61(X1, X2) -> proper# X1, proper# U81(X1, X2, X3) -> U81#(proper X1, proper X2, proper X3))
    (proper# U61(X1, X2) -> proper# X1, proper# U82(X1, X2, X3) -> proper# X3)
    (proper# U61(X1, X2) -> proper# X1, proper# U82(X1, X2, X3) -> proper# X2)
    (proper# U61(X1, X2) -> proper# X1, proper# U82(X1, X2, X3) -> proper# X1)
    (proper# U61(X1, X2) -> proper# X1, proper# U82(X1, X2, X3) -> U82#(proper X1, proper X2, proper X3))
    (proper# U61(X1, X2) -> proper# X1, proper# U71(X1, X2) -> proper# X2)
    (proper# U61(X1, X2) -> proper# X1, proper# U71(X1, X2) -> proper# X1)
    (proper# U61(X1, X2) -> proper# X1, proper# U71(X1, X2) -> U71#(proper X1, proper X2))
    (proper# U61(X1, X2) -> proper# X1, proper# U72(X1, X2) -> proper# X2)
    (proper# U61(X1, X2) -> proper# X1, proper# U72(X1, X2) -> proper# X1)
    (proper# U61(X1, X2) -> proper# X1, proper# U72(X1, X2) -> U72#(proper X1, proper X2))
    (proper# U61(X1, X2) -> proper# X1, proper# U61(X1, X2) -> proper# X2)
    (proper# U61(X1, X2) -> proper# X1, proper# U61(X1, X2) -> proper# X1)
    (proper# U61(X1, X2) -> proper# X1, proper# U61(X1, X2) -> U61#(proper X1, proper X2))
    (proper# U61(X1, X2) -> proper# X1, proper# U62 X -> proper# X)
    (proper# U61(X1, X2) -> proper# X1, proper# U62 X -> U62# proper X)
    (proper# U61(X1, X2) -> proper# X1, proper# U51 X -> proper# X)
    (proper# U61(X1, X2) -> proper# X1, proper# U51 X -> U51# proper X)
    (proper# U61(X1, X2) -> proper# X1, proper# U41(X1, X2) -> proper# X2)
    (proper# U61(X1, X2) -> proper# X1, proper# U41(X1, X2) -> proper# X1)
    (proper# U61(X1, X2) -> proper# X1, proper# U41(X1, X2) -> U41#(proper X1, proper X2))
    (proper# U61(X1, X2) -> proper# X1, proper# U42 X -> proper# X)
    (proper# U61(X1, X2) -> proper# X1, proper# U42 X -> U42# proper X)
    (proper# U61(X1, X2) -> proper# X1, proper# U36 X -> proper# X)
    (proper# U61(X1, X2) -> proper# X1, proper# U36 X -> U36# proper X)
    (proper# U61(X1, X2) -> proper# X1, proper# U35(X1, X2) -> proper# X2)
    (proper# U61(X1, X2) -> proper# X1, proper# U35(X1, X2) -> proper# X1)
    (proper# U61(X1, X2) -> proper# X1, proper# U35(X1, X2) -> U35#(proper X1, proper X2))
    (proper# U61(X1, X2) -> proper# X1, proper# U34(X1, X2, X3) -> proper# X3)
    (proper# U61(X1, X2) -> proper# X1, proper# U34(X1, X2, X3) -> proper# X2)
    (proper# U61(X1, X2) -> proper# X1, proper# U34(X1, X2, X3) -> proper# X1)
    (proper# U61(X1, X2) -> proper# X1, proper# U34(X1, X2, X3) -> U34#(proper X1, proper X2, proper X3))
    (proper# U61(X1, X2) -> proper# X1, proper# U33(X1, X2, X3) -> proper# X3)
    (proper# U61(X1, X2) -> proper# X1, proper# U33(X1, X2, X3) -> proper# X2)
    (proper# U61(X1, X2) -> proper# X1, proper# U33(X1, X2, X3) -> proper# X1)
    (proper# U61(X1, X2) -> proper# X1, proper# U33(X1, X2, X3) -> U33#(proper X1, proper X2, proper X3))
    (proper# U61(X1, X2) -> proper# X1, proper# U31(X1, X2, X3) -> proper# X3)
    (proper# U61(X1, X2) -> proper# X1, proper# U31(X1, X2, X3) -> proper# X2)
    (proper# U61(X1, X2) -> proper# X1, proper# U31(X1, X2, X3) -> proper# X1)
    (proper# U61(X1, X2) -> proper# X1, proper# U31(X1, X2, X3) -> U31#(proper X1, proper X2, proper X3))
    (proper# U61(X1, X2) -> proper# X1, proper# U32(X1, X2, X3) -> proper# X3)
    (proper# U61(X1, X2) -> proper# X1, proper# U32(X1, X2, X3) -> proper# X2)
    (proper# U61(X1, X2) -> proper# X1, proper# U32(X1, X2, X3) -> proper# X1)
    (proper# U61(X1, X2) -> proper# X1, proper# U32(X1, X2, X3) -> U32#(proper X1, proper X2, proper X3))
    (proper# U61(X1, X2) -> proper# X1, proper# U23 X -> proper# X)
    (proper# U61(X1, X2) -> proper# X1, proper# U23 X -> U23# proper X)
    (proper# U61(X1, X2) -> proper# X1, proper# U21(X1, X2) -> proper# X2)
    (proper# U61(X1, X2) -> proper# X1, proper# U21(X1, X2) -> proper# X1)
    (proper# U61(X1, X2) -> proper# X1, proper# U21(X1, X2) -> U21#(proper X1, proper X2))
    (proper# U61(X1, X2) -> proper# X1, proper# U22(X1, X2) -> proper# X2)
    (proper# U61(X1, X2) -> proper# X1, proper# U22(X1, X2) -> proper# X1)
    (proper# U61(X1, X2) -> proper# X1, proper# U22(X1, X2) -> U22#(proper X1, proper X2))
    (proper# U61(X1, X2) -> proper# X1, proper# U16 X -> proper# X)
    (proper# U61(X1, X2) -> proper# X1, proper# U16 X -> U16# proper X)
    (proper# U61(X1, X2) -> proper# X1, proper# U15(X1, X2) -> proper# X2)
    (proper# U61(X1, X2) -> proper# X1, proper# U15(X1, X2) -> proper# X1)
    (proper# U61(X1, X2) -> proper# X1, proper# U15(X1, X2) -> U15#(proper X1, proper X2))
    (proper# U61(X1, X2) -> proper# X1, proper# U14(X1, X2, X3) -> proper# X3)
    (proper# U61(X1, X2) -> proper# X1, proper# U14(X1, X2, X3) -> proper# X2)
    (proper# U61(X1, X2) -> proper# X1, proper# U14(X1, X2, X3) -> proper# X1)
    (proper# U61(X1, X2) -> proper# X1, proper# U14(X1, X2, X3) -> U14#(proper X1, proper X2, proper X3))
    (proper# U61(X1, X2) -> proper# X1, proper# U13(X1, X2, X3) -> proper# X3)
    (proper# U61(X1, X2) -> proper# X1, proper# U13(X1, X2, X3) -> proper# X2)
    (proper# U61(X1, X2) -> proper# X1, proper# U13(X1, X2, X3) -> proper# X1)
    (proper# U61(X1, X2) -> proper# X1, proper# U13(X1, X2, X3) -> U13#(proper X1, proper X2, proper X3))
    (proper# U61(X1, X2) -> proper# X1, proper# U11(X1, X2, X3) -> proper# X3)
    (proper# U61(X1, X2) -> proper# X1, proper# U11(X1, X2, X3) -> proper# X2)
    (proper# U61(X1, X2) -> proper# X1, proper# U11(X1, X2, X3) -> proper# X1)
    (proper# U61(X1, X2) -> proper# X1, proper# U11(X1, X2, X3) -> U11#(proper X1, proper X2, proper X3))
    (proper# U61(X1, X2) -> proper# X1, proper# U12(X1, X2, X3) -> proper# X3)
    (proper# U61(X1, X2) -> proper# X1, proper# U12(X1, X2, X3) -> proper# X2)
    (proper# U61(X1, X2) -> proper# X1, proper# U12(X1, X2, X3) -> proper# X1)
    (proper# U61(X1, X2) -> proper# X1, proper# U12(X1, X2, X3) -> U12#(proper X1, proper X2, proper X3))
    (proper# U61(X1, X2) -> proper# X1, proper# x(X1, X2) -> proper# X2)
    (proper# U61(X1, X2) -> proper# X1, proper# x(X1, X2) -> proper# X1)
    (proper# U61(X1, X2) -> proper# X1, proper# x(X1, X2) -> x#(proper X1, proper X2))
    (proper# U61(X1, X2) -> proper# X1, proper# plus(X1, X2) -> proper# X2)
    (proper# U61(X1, X2) -> proper# X1, proper# plus(X1, X2) -> proper# X1)
    (proper# U61(X1, X2) -> proper# X1, proper# plus(X1, X2) -> plus#(proper X1, proper X2))
    (proper# U61(X1, X2) -> proper# X1, proper# U104(X1, X2, X3) -> proper# X3)
    (proper# U61(X1, X2) -> proper# X1, proper# U104(X1, X2, X3) -> proper# X2)
    (proper# U61(X1, X2) -> proper# X1, proper# U104(X1, X2, X3) -> proper# X1)
    (proper# U61(X1, X2) -> proper# X1, proper# U104(X1, X2, X3) -> U104#(proper X1, proper X2, proper X3))
    (proper# U61(X1, X2) -> proper# X1, proper# isNat X -> proper# X)
    (proper# U61(X1, X2) -> proper# X1, proper# isNat X -> isNat# proper X)
    (proper# U61(X1, X2) -> proper# X1, proper# U103(X1, X2, X3) -> proper# X3)
    (proper# U61(X1, X2) -> proper# X1, proper# U103(X1, X2, X3) -> proper# X2)
    (proper# U61(X1, X2) -> proper# X1, proper# U103(X1, X2, X3) -> proper# X1)
    (proper# U61(X1, X2) -> proper# X1, proper# U103(X1, X2, X3) -> U103#(proper X1, proper X2, proper X3))
    (proper# U61(X1, X2) -> proper# X1, proper# U101(X1, X2, X3) -> proper# X3)
    (proper# U61(X1, X2) -> proper# X1, proper# U101(X1, X2, X3) -> proper# X2)
    (proper# U61(X1, X2) -> proper# X1, proper# U101(X1, X2, X3) -> proper# X1)
    (proper# U61(X1, X2) -> proper# X1, proper# U101(X1, X2, X3) -> U101#(proper X1, proper X2, proper X3))
    (proper# U61(X1, X2) -> proper# X1, proper# isNatKind X -> proper# X)
    (proper# U61(X1, X2) -> proper# X1, proper# isNatKind X -> isNatKind# proper X)
    (proper# U61(X1, X2) -> proper# X1, proper# U102(X1, X2, X3) -> proper# X3)
    (proper# U61(X1, X2) -> proper# X1, proper# U102(X1, X2, X3) -> proper# X2)
    (proper# U61(X1, X2) -> proper# X1, proper# U102(X1, X2, X3) -> proper# X1)
    (proper# U61(X1, X2) -> proper# X1, proper# U102(X1, X2, X3) -> U102#(proper X1, proper X2, proper X3))
    (proper# U71(X1, X2) -> proper# X1, proper# U91(X1, X2) -> proper# X2)
    (proper# U71(X1, X2) -> proper# X1, proper# U91(X1, X2) -> proper# X1)
    (proper# U71(X1, X2) -> proper# X1, proper# U91(X1, X2) -> U91#(proper X1, proper X2))
    (proper# U71(X1, X2) -> proper# X1, proper# U92 X -> proper# X)
    (proper# U71(X1, X2) -> proper# X1, proper# U92 X -> U92# proper X)
    (proper# U71(X1, X2) -> proper# X1, proper# s X -> proper# X)
    (proper# U71(X1, X2) -> proper# X1, proper# s X -> s# proper X)
    (proper# U71(X1, X2) -> proper# X1, proper# U84(X1, X2, X3) -> proper# X3)
    (proper# U71(X1, X2) -> proper# X1, proper# U84(X1, X2, X3) -> proper# X2)
    (proper# U71(X1, X2) -> proper# X1, proper# U84(X1, X2, X3) -> proper# X1)
    (proper# U71(X1, X2) -> proper# X1, proper# U84(X1, X2, X3) -> U84#(proper X1, proper X2, proper X3))
    (proper# U71(X1, X2) -> proper# X1, proper# U83(X1, X2, X3) -> proper# X3)
    (proper# U71(X1, X2) -> proper# X1, proper# U83(X1, X2, X3) -> proper# X2)
    (proper# U71(X1, X2) -> proper# X1, proper# U83(X1, X2, X3) -> proper# X1)
    (proper# U71(X1, X2) -> proper# X1, proper# U83(X1, X2, X3) -> U83#(proper X1, proper X2, proper X3))
    (proper# U71(X1, X2) -> proper# X1, proper# U81(X1, X2, X3) -> proper# X3)
    (proper# U71(X1, X2) -> proper# X1, proper# U81(X1, X2, X3) -> proper# X2)
    (proper# U71(X1, X2) -> proper# X1, proper# U81(X1, X2, X3) -> proper# X1)
    (proper# U71(X1, X2) -> proper# X1, proper# U81(X1, X2, X3) -> U81#(proper X1, proper X2, proper X3))
    (proper# U71(X1, X2) -> proper# X1, proper# U82(X1, X2, X3) -> proper# X3)
    (proper# U71(X1, X2) -> proper# X1, proper# U82(X1, X2, X3) -> proper# X2)
    (proper# U71(X1, X2) -> proper# X1, proper# U82(X1, X2, X3) -> proper# X1)
    (proper# U71(X1, X2) -> proper# X1, proper# U82(X1, X2, X3) -> U82#(proper X1, proper X2, proper X3))
    (proper# U71(X1, X2) -> proper# X1, proper# U71(X1, X2) -> proper# X2)
    (proper# U71(X1, X2) -> proper# X1, proper# U71(X1, X2) -> proper# X1)
    (proper# U71(X1, X2) -> proper# X1, proper# U71(X1, X2) -> U71#(proper X1, proper X2))
    (proper# U71(X1, X2) -> proper# X1, proper# U72(X1, X2) -> proper# X2)
    (proper# U71(X1, X2) -> proper# X1, proper# U72(X1, X2) -> proper# X1)
    (proper# U71(X1, X2) -> proper# X1, proper# U72(X1, X2) -> U72#(proper X1, proper X2))
    (proper# U71(X1, X2) -> proper# X1, proper# U61(X1, X2) -> proper# X2)
    (proper# U71(X1, X2) -> proper# X1, proper# U61(X1, X2) -> proper# X1)
    (proper# U71(X1, X2) -> proper# X1, proper# U61(X1, X2) -> U61#(proper X1, proper X2))
    (proper# U71(X1, X2) -> proper# X1, proper# U62 X -> proper# X)
    (proper# U71(X1, X2) -> proper# X1, proper# U62 X -> U62# proper X)
    (proper# U71(X1, X2) -> proper# X1, proper# U51 X -> proper# X)
    (proper# U71(X1, X2) -> proper# X1, proper# U51 X -> U51# proper X)
    (proper# U71(X1, X2) -> proper# X1, proper# U41(X1, X2) -> proper# X2)
    (proper# U71(X1, X2) -> proper# X1, proper# U41(X1, X2) -> proper# X1)
    (proper# U71(X1, X2) -> proper# X1, proper# U41(X1, X2) -> U41#(proper X1, proper X2))
    (proper# U71(X1, X2) -> proper# X1, proper# U42 X -> proper# X)
    (proper# U71(X1, X2) -> proper# X1, proper# U42 X -> U42# proper X)
    (proper# U71(X1, X2) -> proper# X1, proper# U36 X -> proper# X)
    (proper# U71(X1, X2) -> proper# X1, proper# U36 X -> U36# proper X)
    (proper# U71(X1, X2) -> proper# X1, proper# U35(X1, X2) -> proper# X2)
    (proper# U71(X1, X2) -> proper# X1, proper# U35(X1, X2) -> proper# X1)
    (proper# U71(X1, X2) -> proper# X1, proper# U35(X1, X2) -> U35#(proper X1, proper X2))
    (proper# U71(X1, X2) -> proper# X1, proper# U34(X1, X2, X3) -> proper# X3)
    (proper# U71(X1, X2) -> proper# X1, proper# U34(X1, X2, X3) -> proper# X2)
    (proper# U71(X1, X2) -> proper# X1, proper# U34(X1, X2, X3) -> proper# X1)
    (proper# U71(X1, X2) -> proper# X1, proper# U34(X1, X2, X3) -> U34#(proper X1, proper X2, proper X3))
    (proper# U71(X1, X2) -> proper# X1, proper# U33(X1, X2, X3) -> proper# X3)
    (proper# U71(X1, X2) -> proper# X1, proper# U33(X1, X2, X3) -> proper# X2)
    (proper# U71(X1, X2) -> proper# X1, proper# U33(X1, X2, X3) -> proper# X1)
    (proper# U71(X1, X2) -> proper# X1, proper# U33(X1, X2, X3) -> U33#(proper X1, proper X2, proper X3))
    (proper# U71(X1, X2) -> proper# X1, proper# U31(X1, X2, X3) -> proper# X3)
    (proper# U71(X1, X2) -> proper# X1, proper# U31(X1, X2, X3) -> proper# X2)
    (proper# U71(X1, X2) -> proper# X1, proper# U31(X1, X2, X3) -> proper# X1)
    (proper# U71(X1, X2) -> proper# X1, proper# U31(X1, X2, X3) -> U31#(proper X1, proper X2, proper X3))
    (proper# U71(X1, X2) -> proper# X1, proper# U32(X1, X2, X3) -> proper# X3)
    (proper# U71(X1, X2) -> proper# X1, proper# U32(X1, X2, X3) -> proper# X2)
    (proper# U71(X1, X2) -> proper# X1, proper# U32(X1, X2, X3) -> proper# X1)
    (proper# U71(X1, X2) -> proper# X1, proper# U32(X1, X2, X3) -> U32#(proper X1, proper X2, proper X3))
    (proper# U71(X1, X2) -> proper# X1, proper# U23 X -> proper# X)
    (proper# U71(X1, X2) -> proper# X1, proper# U23 X -> U23# proper X)
    (proper# U71(X1, X2) -> proper# X1, proper# U21(X1, X2) -> proper# X2)
    (proper# U71(X1, X2) -> proper# X1, proper# U21(X1, X2) -> proper# X1)
    (proper# U71(X1, X2) -> proper# X1, proper# U21(X1, X2) -> U21#(proper X1, proper X2))
    (proper# U71(X1, X2) -> proper# X1, proper# U22(X1, X2) -> proper# X2)
    (proper# U71(X1, X2) -> proper# X1, proper# U22(X1, X2) -> proper# X1)
    (proper# U71(X1, X2) -> proper# X1, proper# U22(X1, X2) -> U22#(proper X1, proper X2))
    (proper# U71(X1, X2) -> proper# X1, proper# U16 X -> proper# X)
    (proper# U71(X1, X2) -> proper# X1, proper# U16 X -> U16# proper X)
    (proper# U71(X1, X2) -> proper# X1, proper# U15(X1, X2) -> proper# X2)
    (proper# U71(X1, X2) -> proper# X1, proper# U15(X1, X2) -> proper# X1)
    (proper# U71(X1, X2) -> proper# X1, proper# U15(X1, X2) -> U15#(proper X1, proper X2))
    (proper# U71(X1, X2) -> proper# X1, proper# U14(X1, X2, X3) -> proper# X3)
    (proper# U71(X1, X2) -> proper# X1, proper# U14(X1, X2, X3) -> proper# X2)
    (proper# U71(X1, X2) -> proper# X1, proper# U14(X1, X2, X3) -> proper# X1)
    (proper# U71(X1, X2) -> proper# X1, proper# U14(X1, X2, X3) -> U14#(proper X1, proper X2, proper X3))
    (proper# U71(X1, X2) -> proper# X1, proper# U13(X1, X2, X3) -> proper# X3)
    (proper# U71(X1, X2) -> proper# X1, proper# U13(X1, X2, X3) -> proper# X2)
    (proper# U71(X1, X2) -> proper# X1, proper# U13(X1, X2, X3) -> proper# X1)
    (proper# U71(X1, X2) -> proper# X1, proper# U13(X1, X2, X3) -> U13#(proper X1, proper X2, proper X3))
    (proper# U71(X1, X2) -> proper# X1, proper# U11(X1, X2, X3) -> proper# X3)
    (proper# U71(X1, X2) -> proper# X1, proper# U11(X1, X2, X3) -> proper# X2)
    (proper# U71(X1, X2) -> proper# X1, proper# U11(X1, X2, X3) -> proper# X1)
    (proper# U71(X1, X2) -> proper# X1, proper# U11(X1, X2, X3) -> U11#(proper X1, proper X2, proper X3))
    (proper# U71(X1, X2) -> proper# X1, proper# U12(X1, X2, X3) -> proper# X3)
    (proper# U71(X1, X2) -> proper# X1, proper# U12(X1, X2, X3) -> proper# X2)
    (proper# U71(X1, X2) -> proper# X1, proper# U12(X1, X2, X3) -> proper# X1)
    (proper# U71(X1, X2) -> proper# X1, proper# U12(X1, X2, X3) -> U12#(proper X1, proper X2, proper X3))
    (proper# U71(X1, X2) -> proper# X1, proper# x(X1, X2) -> proper# X2)
    (proper# U71(X1, X2) -> proper# X1, proper# x(X1, X2) -> proper# X1)
    (proper# U71(X1, X2) -> proper# X1, proper# x(X1, X2) -> x#(proper X1, proper X2))
    (proper# U71(X1, X2) -> proper# X1, proper# plus(X1, X2) -> proper# X2)
    (proper# U71(X1, X2) -> proper# X1, proper# plus(X1, X2) -> proper# X1)
    (proper# U71(X1, X2) -> proper# X1, proper# plus(X1, X2) -> plus#(proper X1, proper X2))
    (proper# U71(X1, X2) -> proper# X1, proper# U104(X1, X2, X3) -> proper# X3)
    (proper# U71(X1, X2) -> proper# X1, proper# U104(X1, X2, X3) -> proper# X2)
    (proper# U71(X1, X2) -> proper# X1, proper# U104(X1, X2, X3) -> proper# X1)
    (proper# U71(X1, X2) -> proper# X1, proper# U104(X1, X2, X3) -> U104#(proper X1, proper X2, proper X3))
    (proper# U71(X1, X2) -> proper# X1, proper# isNat X -> proper# X)
    (proper# U71(X1, X2) -> proper# X1, proper# isNat X -> isNat# proper X)
    (proper# U71(X1, X2) -> proper# X1, proper# U103(X1, X2, X3) -> proper# X3)
    (proper# U71(X1, X2) -> proper# X1, proper# U103(X1, X2, X3) -> proper# X2)
    (proper# U71(X1, X2) -> proper# X1, proper# U103(X1, X2, X3) -> proper# X1)
    (proper# U71(X1, X2) -> proper# X1, proper# U103(X1, X2, X3) -> U103#(proper X1, proper X2, proper X3))
    (proper# U71(X1, X2) -> proper# X1, proper# U101(X1, X2, X3) -> proper# X3)
    (proper# U71(X1, X2) -> proper# X1, proper# U101(X1, X2, X3) -> proper# X2)
    (proper# U71(X1, X2) -> proper# X1, proper# U101(X1, X2, X3) -> proper# X1)
    (proper# U71(X1, X2) -> proper# X1, proper# U101(X1, X2, X3) -> U101#(proper X1, proper X2, proper X3))
    (proper# U71(X1, X2) -> proper# X1, proper# isNatKind X -> proper# X)
    (proper# U71(X1, X2) -> proper# X1, proper# isNatKind X -> isNatKind# proper X)
    (proper# U71(X1, X2) -> proper# X1, proper# U102(X1, X2, X3) -> proper# X3)
    (proper# U71(X1, X2) -> proper# X1, proper# U102(X1, X2, X3) -> proper# X2)
    (proper# U71(X1, X2) -> proper# X1, proper# U102(X1, X2, X3) -> proper# X1)
    (proper# U71(X1, X2) -> proper# X1, proper# U102(X1, X2, X3) -> U102#(proper X1, proper X2, proper X3))
    (proper# U81(X1, X2, X3) -> proper# X1, proper# U91(X1, X2) -> proper# X2)
    (proper# U81(X1, X2, X3) -> proper# X1, proper# U91(X1, X2) -> proper# X1)
    (proper# U81(X1, X2, X3) -> proper# X1, proper# U91(X1, X2) -> U91#(proper X1, proper X2))
    (proper# U81(X1, X2, X3) -> proper# X1, proper# U92 X -> proper# X)
    (proper# U81(X1, X2, X3) -> proper# X1, proper# U92 X -> U92# proper X)
    (proper# U81(X1, X2, X3) -> proper# X1, proper# s X -> proper# X)
    (proper# U81(X1, X2, X3) -> proper# X1, proper# s X -> s# proper X)
    (proper# U81(X1, X2, X3) -> proper# X1, proper# U84(X1, X2, X3) -> proper# X3)
    (proper# U81(X1, X2, X3) -> proper# X1, proper# U84(X1, X2, X3) -> proper# X2)
    (proper# U81(X1, X2, X3) -> proper# X1, proper# U84(X1, X2, X3) -> proper# X1)
    (proper# U81(X1, X2, X3) -> proper# X1, proper# U84(X1, X2, X3) -> U84#(proper X1, proper X2, proper X3))
    (proper# U81(X1, X2, X3) -> proper# X1, proper# U83(X1, X2, X3) -> proper# X3)
    (proper# U81(X1, X2, X3) -> proper# X1, proper# U83(X1, X2, X3) -> proper# X2)
    (proper# U81(X1, X2, X3) -> proper# X1, proper# U83(X1, X2, X3) -> proper# X1)
    (proper# U81(X1, X2, X3) -> proper# X1, proper# U83(X1, X2, X3) -> U83#(proper X1, proper X2, proper X3))
    (proper# U81(X1, X2, X3) -> proper# X1, proper# U81(X1, X2, X3) -> proper# X3)
    (proper# U81(X1, X2, X3) -> proper# X1, proper# U81(X1, X2, X3) -> proper# X2)
    (proper# U81(X1, X2, X3) -> proper# X1, proper# U81(X1, X2, X3) -> proper# X1)
    (proper# U81(X1, X2, X3) -> proper# X1, proper# U81(X1, X2, X3) -> U81#(proper X1, proper X2, proper X3))
    (proper# U81(X1, X2, X3) -> proper# X1, proper# U82(X1, X2, X3) -> proper# X3)
    (proper# U81(X1, X2, X3) -> proper# X1, proper# U82(X1, X2, X3) -> proper# X2)
    (proper# U81(X1, X2, X3) -> proper# X1, proper# U82(X1, X2, X3) -> proper# X1)
    (proper# U81(X1, X2, X3) -> proper# X1, proper# U82(X1, X2, X3) -> U82#(proper X1, proper X2, proper X3))
    (proper# U81(X1, X2, X3) -> proper# X1, proper# U71(X1, X2) -> proper# X2)
    (proper# U81(X1, X2, X3) -> proper# X1, proper# U71(X1, X2) -> proper# X1)
    (proper# U81(X1, X2, X3) -> proper# X1, proper# U71(X1, X2) -> U71#(proper X1, proper X2))
    (proper# U81(X1, X2, X3) -> proper# X1, proper# U72(X1, X2) -> proper# X2)
    (proper# U81(X1, X2, X3) -> proper# X1, proper# U72(X1, X2) -> proper# X1)
    (proper# U81(X1, X2, X3) -> proper# X1, proper# U72(X1, X2) -> U72#(proper X1, proper X2))
    (proper# U81(X1, X2, X3) -> proper# X1, proper# U61(X1, X2) -> proper# X2)
    (proper# U81(X1, X2, X3) -> proper# X1, proper# U61(X1, X2) -> proper# X1)
    (proper# U81(X1, X2, X3) -> proper# X1, proper# U61(X1, X2) -> U61#(proper X1, proper X2))
    (proper# U81(X1, X2, X3) -> proper# X1, proper# U62 X -> proper# X)
    (proper# U81(X1, X2, X3) -> proper# X1, proper# U62 X -> U62# proper X)
    (proper# U81(X1, X2, X3) -> proper# X1, proper# U51 X -> proper# X)
    (proper# U81(X1, X2, X3) -> proper# X1, proper# U51 X -> U51# proper X)
    (proper# U81(X1, X2, X3) -> proper# X1, proper# U41(X1, X2) -> proper# X2)
    (proper# U81(X1, X2, X3) -> proper# X1, proper# U41(X1, X2) -> proper# X1)
    (proper# U81(X1, X2, X3) -> proper# X1, proper# U41(X1, X2) -> U41#(proper X1, proper X2))
    (proper# U81(X1, X2, X3) -> proper# X1, proper# U42 X -> proper# X)
    (proper# U81(X1, X2, X3) -> proper# X1, proper# U42 X -> U42# proper X)
    (proper# U81(X1, X2, X3) -> proper# X1, proper# U36 X -> proper# X)
    (proper# U81(X1, X2, X3) -> proper# X1, proper# U36 X -> U36# proper X)
    (proper# U81(X1, X2, X3) -> proper# X1, proper# U35(X1, X2) -> proper# X2)
    (proper# U81(X1, X2, X3) -> proper# X1, proper# U35(X1, X2) -> proper# X1)
    (proper# U81(X1, X2, X3) -> proper# X1, proper# U35(X1, X2) -> U35#(proper X1, proper X2))
    (proper# U81(X1, X2, X3) -> proper# X1, proper# U34(X1, X2, X3) -> proper# X3)
    (proper# U81(X1, X2, X3) -> proper# X1, proper# U34(X1, X2, X3) -> proper# X2)
    (proper# U81(X1, X2, X3) -> proper# X1, proper# U34(X1, X2, X3) -> proper# X1)
    (proper# U81(X1, X2, X3) -> proper# X1, proper# U34(X1, X2, X3) -> U34#(proper X1, proper X2, proper X3))
    (proper# U81(X1, X2, X3) -> proper# X1, proper# U33(X1, X2, X3) -> proper# X3)
    (proper# U81(X1, X2, X3) -> proper# X1, proper# U33(X1, X2, X3) -> proper# X2)
    (proper# U81(X1, X2, X3) -> proper# X1, proper# U33(X1, X2, X3) -> proper# X1)
    (proper# U81(X1, X2, X3) -> proper# X1, proper# U33(X1, X2, X3) -> U33#(proper X1, proper X2, proper X3))
    (proper# U81(X1, X2, X3) -> proper# X1, proper# U31(X1, X2, X3) -> proper# X3)
    (proper# U81(X1, X2, X3) -> proper# X1, proper# U31(X1, X2, X3) -> proper# X2)
    (proper# U81(X1, X2, X3) -> proper# X1, proper# U31(X1, X2, X3) -> proper# X1)
    (proper# U81(X1, X2, X3) -> proper# X1, proper# U31(X1, X2, X3) -> U31#(proper X1, proper X2, proper X3))
    (proper# U81(X1, X2, X3) -> proper# X1, proper# U32(X1, X2, X3) -> proper# X3)
    (proper# U81(X1, X2, X3) -> proper# X1, proper# U32(X1, X2, X3) -> proper# X2)
    (proper# U81(X1, X2, X3) -> proper# X1, proper# U32(X1, X2, X3) -> proper# X1)
    (proper# U81(X1, X2, X3) -> proper# X1, proper# U32(X1, X2, X3) -> U32#(proper X1, proper X2, proper X3))
    (proper# U81(X1, X2, X3) -> proper# X1, proper# U23 X -> proper# X)
    (proper# U81(X1, X2, X3) -> proper# X1, proper# U23 X -> U23# proper X)
    (proper# U81(X1, X2, X3) -> proper# X1, proper# U21(X1, X2) -> proper# X2)
    (proper# U81(X1, X2, X3) -> proper# X1, proper# U21(X1, X2) -> proper# X1)
    (proper# U81(X1, X2, X3) -> proper# X1, proper# U21(X1, X2) -> U21#(proper X1, proper X2))
    (proper# U81(X1, X2, X3) -> proper# X1, proper# U22(X1, X2) -> proper# X2)
    (proper# U81(X1, X2, X3) -> proper# X1, proper# U22(X1, X2) -> proper# X1)
    (proper# U81(X1, X2, X3) -> proper# X1, proper# U22(X1, X2) -> U22#(proper X1, proper X2))
    (proper# U81(X1, X2, X3) -> proper# X1, proper# U16 X -> proper# X)
    (proper# U81(X1, X2, X3) -> proper# X1, proper# U16 X -> U16# proper X)
    (proper# U81(X1, X2, X3) -> proper# X1, proper# U15(X1, X2) -> proper# X2)
    (proper# U81(X1, X2, X3) -> proper# X1, proper# U15(X1, X2) -> proper# X1)
    (proper# U81(X1, X2, X3) -> proper# X1, proper# U15(X1, X2) -> U15#(proper X1, proper X2))
    (proper# U81(X1, X2, X3) -> proper# X1, proper# U14(X1, X2, X3) -> proper# X3)
    (proper# U81(X1, X2, X3) -> proper# X1, proper# U14(X1, X2, X3) -> proper# X2)
    (proper# U81(X1, X2, X3) -> proper# X1, proper# U14(X1, X2, X3) -> proper# X1)
    (proper# U81(X1, X2, X3) -> proper# X1, proper# U14(X1, X2, X3) -> U14#(proper X1, proper X2, proper X3))
    (proper# U81(X1, X2, X3) -> proper# X1, proper# U13(X1, X2, X3) -> proper# X3)
    (proper# U81(X1, X2, X3) -> proper# X1, proper# U13(X1, X2, X3) -> proper# X2)
    (proper# U81(X1, X2, X3) -> proper# X1, proper# U13(X1, X2, X3) -> proper# X1)
    (proper# U81(X1, X2, X3) -> proper# X1, proper# U13(X1, X2, X3) -> U13#(proper X1, proper X2, proper X3))
    (proper# U81(X1, X2, X3) -> proper# X1, proper# U11(X1, X2, X3) -> proper# X3)
    (proper# U81(X1, X2, X3) -> proper# X1, proper# U11(X1, X2, X3) -> proper# X2)
    (proper# U81(X1, X2, X3) -> proper# X1, proper# U11(X1, X2, X3) -> proper# X1)
    (proper# U81(X1, X2, X3) -> proper# X1, proper# U11(X1, X2, X3) -> U11#(proper X1, proper X2, proper X3))
    (proper# U81(X1, X2, X3) -> proper# X1, proper# U12(X1, X2, X3) -> proper# X3)
    (proper# U81(X1, X2, X3) -> proper# X1, proper# U12(X1, X2, X3) -> proper# X2)
    (proper# U81(X1, X2, X3) -> proper# X1, proper# U12(X1, X2, X3) -> proper# X1)
    (proper# U81(X1, X2, X3) -> proper# X1, proper# U12(X1, X2, X3) -> U12#(proper X1, proper X2, proper X3))
    (proper# U81(X1, X2, X3) -> proper# X1, proper# x(X1, X2) -> proper# X2)
    (proper# U81(X1, X2, X3) -> proper# X1, proper# x(X1, X2) -> proper# X1)
    (proper# U81(X1, X2, X3) -> proper# X1, proper# x(X1, X2) -> x#(proper X1, proper X2))
    (proper# U81(X1, X2, X3) -> proper# X1, proper# plus(X1, X2) -> proper# X2)
    (proper# U81(X1, X2, X3) -> proper# X1, proper# plus(X1, X2) -> proper# X1)
    (proper# U81(X1, X2, X3) -> proper# X1, proper# plus(X1, X2) -> plus#(proper X1, proper X2))
    (proper# U81(X1, X2, X3) -> proper# X1, proper# U104(X1, X2, X3) -> proper# X3)
    (proper# U81(X1, X2, X3) -> proper# X1, proper# U104(X1, X2, X3) -> proper# X2)
    (proper# U81(X1, X2, X3) -> proper# X1, proper# U104(X1, X2, X3) -> proper# X1)
    (proper# U81(X1, X2, X3) -> proper# X1, proper# U104(X1, X2, X3) -> U104#(proper X1, proper X2, proper X3))
    (proper# U81(X1, X2, X3) -> proper# X1, proper# isNat X -> proper# X)
    (proper# U81(X1, X2, X3) -> proper# X1, proper# isNat X -> isNat# proper X)
    (proper# U81(X1, X2, X3) -> proper# X1, proper# U103(X1, X2, X3) -> proper# X3)
    (proper# U81(X1, X2, X3) -> proper# X1, proper# U103(X1, X2, X3) -> proper# X2)
    (proper# U81(X1, X2, X3) -> proper# X1, proper# U103(X1, X2, X3) -> proper# X1)
    (proper# U81(X1, X2, X3) -> proper# X1, proper# U103(X1, X2, X3) -> U103#(proper X1, proper X2, proper X3))
    (proper# U81(X1, X2, X3) -> proper# X1, proper# U101(X1, X2, X3) -> proper# X3)
    (proper# U81(X1, X2, X3) -> proper# X1, proper# U101(X1, X2, X3) -> proper# X2)
    (proper# U81(X1, X2, X3) -> proper# X1, proper# U101(X1, X2, X3) -> proper# X1)
    (proper# U81(X1, X2, X3) -> proper# X1, proper# U101(X1, X2, X3) -> U101#(proper X1, proper X2, proper X3))
    (proper# U81(X1, X2, X3) -> proper# X1, proper# isNatKind X -> proper# X)
    (proper# U81(X1, X2, X3) -> proper# X1, proper# isNatKind X -> isNatKind# proper X)
    (proper# U81(X1, X2, X3) -> proper# X1, proper# U102(X1, X2, X3) -> proper# X3)
    (proper# U81(X1, X2, X3) -> proper# X1, proper# U102(X1, X2, X3) -> proper# X2)
    (proper# U81(X1, X2, X3) -> proper# X1, proper# U102(X1, X2, X3) -> proper# X1)
    (proper# U81(X1, X2, X3) -> proper# X1, proper# U102(X1, X2, X3) -> U102#(proper X1, proper X2, proper X3))
    (proper# U84(X1, X2, X3) -> proper# X1, proper# U91(X1, X2) -> proper# X2)
    (proper# U84(X1, X2, X3) -> proper# X1, proper# U91(X1, X2) -> proper# X1)
    (proper# U84(X1, X2, X3) -> proper# X1, proper# U91(X1, X2) -> U91#(proper X1, proper X2))
    (proper# U84(X1, X2, X3) -> proper# X1, proper# U92 X -> proper# X)
    (proper# U84(X1, X2, X3) -> proper# X1, proper# U92 X -> U92# proper X)
    (proper# U84(X1, X2, X3) -> proper# X1, proper# s X -> proper# X)
    (proper# U84(X1, X2, X3) -> proper# X1, proper# s X -> s# proper X)
    (proper# U84(X1, X2, X3) -> proper# X1, proper# U84(X1, X2, X3) -> proper# X3)
    (proper# U84(X1, X2, X3) -> proper# X1, proper# U84(X1, X2, X3) -> proper# X2)
    (proper# U84(X1, X2, X3) -> proper# X1, proper# U84(X1, X2, X3) -> proper# X1)
    (proper# U84(X1, X2, X3) -> proper# X1, proper# U84(X1, X2, X3) -> U84#(proper X1, proper X2, proper X3))
    (proper# U84(X1, X2, X3) -> proper# X1, proper# U83(X1, X2, X3) -> proper# X3)
    (proper# U84(X1, X2, X3) -> proper# X1, proper# U83(X1, X2, X3) -> proper# X2)
    (proper# U84(X1, X2, X3) -> proper# X1, proper# U83(X1, X2, X3) -> proper# X1)
    (proper# U84(X1, X2, X3) -> proper# X1, proper# U83(X1, X2, X3) -> U83#(proper X1, proper X2, proper X3))
    (proper# U84(X1, X2, X3) -> proper# X1, proper# U81(X1, X2, X3) -> proper# X3)
    (proper# U84(X1, X2, X3) -> proper# X1, proper# U81(X1, X2, X3) -> proper# X2)
    (proper# U84(X1, X2, X3) -> proper# X1, proper# U81(X1, X2, X3) -> proper# X1)
    (proper# U84(X1, X2, X3) -> proper# X1, proper# U81(X1, X2, X3) -> U81#(proper X1, proper X2, proper X3))
    (proper# U84(X1, X2, X3) -> proper# X1, proper# U82(X1, X2, X3) -> proper# X3)
    (proper# U84(X1, X2, X3) -> proper# X1, proper# U82(X1, X2, X3) -> proper# X2)
    (proper# U84(X1, X2, X3) -> proper# X1, proper# U82(X1, X2, X3) -> proper# X1)
    (proper# U84(X1, X2, X3) -> proper# X1, proper# U82(X1, X2, X3) -> U82#(proper X1, proper X2, proper X3))
    (proper# U84(X1, X2, X3) -> proper# X1, proper# U71(X1, X2) -> proper# X2)
    (proper# U84(X1, X2, X3) -> proper# X1, proper# U71(X1, X2) -> proper# X1)
    (proper# U84(X1, X2, X3) -> proper# X1, proper# U71(X1, X2) -> U71#(proper X1, proper X2))
    (proper# U84(X1, X2, X3) -> proper# X1, proper# U72(X1, X2) -> proper# X2)
    (proper# U84(X1, X2, X3) -> proper# X1, proper# U72(X1, X2) -> proper# X1)
    (proper# U84(X1, X2, X3) -> proper# X1, proper# U72(X1, X2) -> U72#(proper X1, proper X2))
    (proper# U84(X1, X2, X3) -> proper# X1, proper# U61(X1, X2) -> proper# X2)
    (proper# U84(X1, X2, X3) -> proper# X1, proper# U61(X1, X2) -> proper# X1)
    (proper# U84(X1, X2, X3) -> proper# X1, proper# U61(X1, X2) -> U61#(proper X1, proper X2))
    (proper# U84(X1, X2, X3) -> proper# X1, proper# U62 X -> proper# X)
    (proper# U84(X1, X2, X3) -> proper# X1, proper# U62 X -> U62# proper X)
    (proper# U84(X1, X2, X3) -> proper# X1, proper# U51 X -> proper# X)
    (proper# U84(X1, X2, X3) -> proper# X1, proper# U51 X -> U51# proper X)
    (proper# U84(X1, X2, X3) -> proper# X1, proper# U41(X1, X2) -> proper# X2)
    (proper# U84(X1, X2, X3) -> proper# X1, proper# U41(X1, X2) -> proper# X1)
    (proper# U84(X1, X2, X3) -> proper# X1, proper# U41(X1, X2) -> U41#(proper X1, proper X2))
    (proper# U84(X1, X2, X3) -> proper# X1, proper# U42 X -> proper# X)
    (proper# U84(X1, X2, X3) -> proper# X1, proper# U42 X -> U42# proper X)
    (proper# U84(X1, X2, X3) -> proper# X1, proper# U36 X -> proper# X)
    (proper# U84(X1, X2, X3) -> proper# X1, proper# U36 X -> U36# proper X)
    (proper# U84(X1, X2, X3) -> proper# X1, proper# U35(X1, X2) -> proper# X2)
    (proper# U84(X1, X2, X3) -> proper# X1, proper# U35(X1, X2) -> proper# X1)
    (proper# U84(X1, X2, X3) -> proper# X1, proper# U35(X1, X2) -> U35#(proper X1, proper X2))
    (proper# U84(X1, X2, X3) -> proper# X1, proper# U34(X1, X2, X3) -> proper# X3)
    (proper# U84(X1, X2, X3) -> proper# X1, proper# U34(X1, X2, X3) -> proper# X2)
    (proper# U84(X1, X2, X3) -> proper# X1, proper# U34(X1, X2, X3) -> proper# X1)
    (proper# U84(X1, X2, X3) -> proper# X1, proper# U34(X1, X2, X3) -> U34#(proper X1, proper X2, proper X3))
    (proper# U84(X1, X2, X3) -> proper# X1, proper# U33(X1, X2, X3) -> proper# X3)
    (proper# U84(X1, X2, X3) -> proper# X1, proper# U33(X1, X2, X3) -> proper# X2)
    (proper# U84(X1, X2, X3) -> proper# X1, proper# U33(X1, X2, X3) -> proper# X1)
    (proper# U84(X1, X2, X3) -> proper# X1, proper# U33(X1, X2, X3) -> U33#(proper X1, proper X2, proper X3))
    (proper# U84(X1, X2, X3) -> proper# X1, proper# U31(X1, X2, X3) -> proper# X3)
    (proper# U84(X1, X2, X3) -> proper# X1, proper# U31(X1, X2, X3) -> proper# X2)
    (proper# U84(X1, X2, X3) -> proper# X1, proper# U31(X1, X2, X3) -> proper# X1)
    (proper# U84(X1, X2, X3) -> proper# X1, proper# U31(X1, X2, X3) -> U31#(proper X1, proper X2, proper X3))
    (proper# U84(X1, X2, X3) -> proper# X1, proper# U32(X1, X2, X3) -> proper# X3)
    (proper# U84(X1, X2, X3) -> proper# X1, proper# U32(X1, X2, X3) -> proper# X2)
    (proper# U84(X1, X2, X3) -> proper# X1, proper# U32(X1, X2, X3) -> proper# X1)
    (proper# U84(X1, X2, X3) -> proper# X1, proper# U32(X1, X2, X3) -> U32#(proper X1, proper X2, proper X3))
    (proper# U84(X1, X2, X3) -> proper# X1, proper# U23 X -> proper# X)
    (proper# U84(X1, X2, X3) -> proper# X1, proper# U23 X -> U23# proper X)
    (proper# U84(X1, X2, X3) -> proper# X1, proper# U21(X1, X2) -> proper# X2)
    (proper# U84(X1, X2, X3) -> proper# X1, proper# U21(X1, X2) -> proper# X1)
    (proper# U84(X1, X2, X3) -> proper# X1, proper# U21(X1, X2) -> U21#(proper X1, proper X2))
    (proper# U84(X1, X2, X3) -> proper# X1, proper# U22(X1, X2) -> proper# X2)
    (proper# U84(X1, X2, X3) -> proper# X1, proper# U22(X1, X2) -> proper# X1)
    (proper# U84(X1, X2, X3) -> proper# X1, proper# U22(X1, X2) -> U22#(proper X1, proper X2))
    (proper# U84(X1, X2, X3) -> proper# X1, proper# U16 X -> proper# X)
    (proper# U84(X1, X2, X3) -> proper# X1, proper# U16 X -> U16# proper X)
    (proper# U84(X1, X2, X3) -> proper# X1, proper# U15(X1, X2) -> proper# X2)
    (proper# U84(X1, X2, X3) -> proper# X1, proper# U15(X1, X2) -> proper# X1)
    (proper# U84(X1, X2, X3) -> proper# X1, proper# U15(X1, X2) -> U15#(proper X1, proper X2))
    (proper# U84(X1, X2, X3) -> proper# X1, proper# U14(X1, X2, X3) -> proper# X3)
    (proper# U84(X1, X2, X3) -> proper# X1, proper# U14(X1, X2, X3) -> proper# X2)
    (proper# U84(X1, X2, X3) -> proper# X1, proper# U14(X1, X2, X3) -> proper# X1)
    (proper# U84(X1, X2, X3) -> proper# X1, proper# U14(X1, X2, X3) -> U14#(proper X1, proper X2, proper X3))
    (proper# U84(X1, X2, X3) -> proper# X1, proper# U13(X1, X2, X3) -> proper# X3)
    (proper# U84(X1, X2, X3) -> proper# X1, proper# U13(X1, X2, X3) -> proper# X2)
    (proper# U84(X1, X2, X3) -> proper# X1, proper# U13(X1, X2, X3) -> proper# X1)
    (proper# U84(X1, X2, X3) -> proper# X1, proper# U13(X1, X2, X3) -> U13#(proper X1, proper X2, proper X3))
    (proper# U84(X1, X2, X3) -> proper# X1, proper# U11(X1, X2, X3) -> proper# X3)
    (proper# U84(X1, X2, X3) -> proper# X1, proper# U11(X1, X2, X3) -> proper# X2)
    (proper# U84(X1, X2, X3) -> proper# X1, proper# U11(X1, X2, X3) -> proper# X1)
    (proper# U84(X1, X2, X3) -> proper# X1, proper# U11(X1, X2, X3) -> U11#(proper X1, proper X2, proper X3))
    (proper# U84(X1, X2, X3) -> proper# X1, proper# U12(X1, X2, X3) -> proper# X3)
    (proper# U84(X1, X2, X3) -> proper# X1, proper# U12(X1, X2, X3) -> proper# X2)
    (proper# U84(X1, X2, X3) -> proper# X1, proper# U12(X1, X2, X3) -> proper# X1)
    (proper# U84(X1, X2, X3) -> proper# X1, proper# U12(X1, X2, X3) -> U12#(proper X1, proper X2, proper X3))
    (proper# U84(X1, X2, X3) -> proper# X1, proper# x(X1, X2) -> proper# X2)
    (proper# U84(X1, X2, X3) -> proper# X1, proper# x(X1, X2) -> proper# X1)
    (proper# U84(X1, X2, X3) -> proper# X1, proper# x(X1, X2) -> x#(proper X1, proper X2))
    (proper# U84(X1, X2, X3) -> proper# X1, proper# plus(X1, X2) -> proper# X2)
    (proper# U84(X1, X2, X3) -> proper# X1, proper# plus(X1, X2) -> proper# X1)
    (proper# U84(X1, X2, X3) -> proper# X1, proper# plus(X1, X2) -> plus#(proper X1, proper X2))
    (proper# U84(X1, X2, X3) -> proper# X1, proper# U104(X1, X2, X3) -> proper# X3)
    (proper# U84(X1, X2, X3) -> proper# X1, proper# U104(X1, X2, X3) -> proper# X2)
    (proper# U84(X1, X2, X3) -> proper# X1, proper# U104(X1, X2, X3) -> proper# X1)
    (proper# U84(X1, X2, X3) -> proper# X1, proper# U104(X1, X2, X3) -> U104#(proper X1, proper X2, proper X3))
    (proper# U84(X1, X2, X3) -> proper# X1, proper# isNat X -> proper# X)
    (proper# U84(X1, X2, X3) -> proper# X1, proper# isNat X -> isNat# proper X)
    (proper# U84(X1, X2, X3) -> proper# X1, proper# U103(X1, X2, X3) -> proper# X3)
    (proper# U84(X1, X2, X3) -> proper# X1, proper# U103(X1, X2, X3) -> proper# X2)
    (proper# U84(X1, X2, X3) -> proper# X1, proper# U103(X1, X2, X3) -> proper# X1)
    (proper# U84(X1, X2, X3) -> proper# X1, proper# U103(X1, X2, X3) -> U103#(proper X1, proper X2, proper X3))
    (proper# U84(X1, X2, X3) -> proper# X1, proper# U101(X1, X2, X3) -> proper# X3)
    (proper# U84(X1, X2, X3) -> proper# X1, proper# U101(X1, X2, X3) -> proper# X2)
    (proper# U84(X1, X2, X3) -> proper# X1, proper# U101(X1, X2, X3) -> proper# X1)
    (proper# U84(X1, X2, X3) -> proper# X1, proper# U101(X1, X2, X3) -> U101#(proper X1, proper X2, proper X3))
    (proper# U84(X1, X2, X3) -> proper# X1, proper# isNatKind X -> proper# X)
    (proper# U84(X1, X2, X3) -> proper# X1, proper# isNatKind X -> isNatKind# proper X)
    (proper# U84(X1, X2, X3) -> proper# X1, proper# U102(X1, X2, X3) -> proper# X3)
    (proper# U84(X1, X2, X3) -> proper# X1, proper# U102(X1, X2, X3) -> proper# X2)
    (proper# U84(X1, X2, X3) -> proper# X1, proper# U102(X1, X2, X3) -> proper# X1)
    (proper# U84(X1, X2, X3) -> proper# X1, proper# U102(X1, X2, X3) -> U102#(proper X1, proper X2, proper X3))
    (active# isNatKind plus(V1, V2) -> U41#(isNatKind V1, V2), U41#(ok X1, ok X2) -> U41#(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# U14(tt(), V1, V2) -> U15#(isNat V1, V2), U15#(ok X1, ok X2) -> U15#(X1, X2))
    (proper# plus(X1, X2) -> plus#(proper X1, proper X2), plus#(ok X1, ok 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#(X1, mark X2) -> plus#(X1, X2))
    (proper# U15(X1, X2) -> U15#(proper X1, proper X2), U15#(ok X1, ok X2) -> U15#(X1, X2))
    (proper# U15(X1, X2) -> U15#(proper X1, proper X2), U15#(mark X1, X2) -> U15#(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# U72(X1, X2) -> U72#(proper X1, proper X2), U72#(ok X1, ok X2) -> U72#(X1, X2))
    (proper# U72(X1, X2) -> U72#(proper X1, proper X2), U72#(mark X1, X2) -> U72#(X1, X2))
    (proper# U91(X1, X2) -> U91#(proper X1, proper X2), U91#(ok X1, ok X2) -> U91#(X1, X2))
    (proper# U91(X1, X2) -> U91#(proper X1, proper X2), U91#(mark X1, X2) -> U91#(X1, X2))
    (active# U23 X -> U23# active X, U23# ok X -> U23# X)
    (active# U23 X -> U23# active X, U23# mark X -> U23# X)
    (active# U42 X -> U42# active X, U42# ok X -> U42# X)
    (active# U42 X -> U42# active X, U42# mark X -> U42# X)
    (active# U62 X -> U62# active X, U62# ok X -> U62# X)
    (active# U62 X -> U62# active X, U62# mark X -> U62# X)
    (active# U92 X -> U92# active X, U92# ok X -> U92# X)
    (active# U92 X -> U92# active X, U92# mark X -> U92# X)
    (proper# isNat X -> isNat# proper X, isNat# ok X -> isNat# X)
    (proper# U23 X -> U23# proper X, U23# ok X -> U23# X)
    (proper# U23 X -> U23# proper X, U23# mark X -> U23# X)
    (proper# U42 X -> U42# proper X, U42# ok X -> U42# X)
    (proper# U42 X -> U42# proper X, U42# mark X -> U42# X)
    (proper# U62 X -> U62# proper X, U62# ok X -> U62# X)
    (proper# U62 X -> U62# proper X, U62# mark X -> U62# X)
    (proper# U92 X -> U92# proper X, U92# ok X -> U92# X)
    (proper# U92 X -> U92# proper X, U92# mark X -> U92# X)
    (top# ok X -> top# active X, top# ok X -> top# active X)
    (top# ok X -> top# active X, top# ok X -> active# X)
    (top# ok X -> top# active X, top# mark X -> top# proper X)
    (top# ok X -> top# active X, top# mark X -> proper# X)
    (active# U35(tt(), V2) -> U36# isNat V2, U36# ok X -> U36# X)
    (active# U61(tt(), V2) -> U62# isNatKind V2, U62# ok X -> U62# X)
    (active# U22(tt(), V1) -> U23# isNat V1, U23# ok X -> U23# X)
    (active# isNat plus(V1, V2) -> U11#(isNatKind V1, V1, V2), U11#(ok X1, ok X2, ok X3) -> U11#(X1, X2, X3))
    (active# U12(tt(), V1, V2) -> U13#(isNatKind V2, V1, V2), U13#(ok X1, ok X2, ok X3) -> U13#(X1, X2, X3))
    (active# U13(tt(), V1, V2) -> U14#(isNatKind V2, V1, V2), U14#(ok X1, ok X2, ok X3) -> U14#(X1, X2, X3))
    (active# U31(tt(), V1, V2) -> U32#(isNatKind V1, V1, V2), U32#(ok X1, ok X2, ok X3) -> U32#(X1, X2, X3))
    (active# U104(tt(), M, N) -> plus#(x(N, M), N), plus#(ok X1, ok X2) -> plus#(X1, X2))
    (active# U104(tt(), M, N) -> plus#(x(N, M), N), plus#(mark X1, X2) -> plus#(X1, X2))
    (active# U104(tt(), M, N) -> plus#(x(N, M), N), plus#(X1, mark X2) -> plus#(X1, X2))
    (active# x(N, 0()) -> U91#(isNat N, N), U91#(ok X1, ok X2) -> U91#(X1, X2))
    (active# U102(tt(), M, N) -> isNat# N, isNat# ok X -> isNat# X)
    (active# plus(N, 0()) -> isNat# N, isNat# ok X -> isNat# X)
    (active# U71(tt(), N) -> isNatKind# N, isNatKind# ok X -> isNatKind# X)
    (active# U83(tt(), M, N) -> isNatKind# N, isNatKind# ok X -> isNatKind# X)
    (active# U102(tt(), M, N) -> U103#(isNat N, M, N), U103#(ok X1, ok X2, ok X3) -> U103#(X1, X2, X3))
    (active# U103(tt(), M, N) -> U104#(isNatKind N, M, N), U104#(ok X1, ok X2, ok X3) -> U104#(X1, X2, X3))
    (active# x(N, s M) -> U101#(isNat M, M, N), U101#(ok X1, ok X2, ok X3) -> U101#(X1, X2, X3))
    (active# U81(tt(), M, N) -> U82#(isNatKind M, M, N), U82#(ok X1, ok X2, ok X3) -> U82#(X1, X2, X3))
    (proper# U102(X1, X2, X3) -> U102#(proper X1, proper X2, proper X3), U102#(ok X1, ok X2, ok X3) -> U102#(X1, X2, X3))
    (proper# U102(X1, X2, X3) -> U102#(proper X1, proper X2, proper X3), U102#(mark X1, X2, X3) -> U102#(X1, X2, X3))
    (proper# U103(X1, X2, X3) -> U103#(proper X1, proper X2, proper X3), U103#(ok X1, ok X2, ok X3) -> U103#(X1, X2, X3))
    (proper# U103(X1, X2, X3) -> U103#(proper X1, proper X2, proper X3), U103#(mark X1, X2, X3) -> U103#(X1, X2, X3))
    (proper# U12(X1, X2, X3) -> U12#(proper X1, proper X2, proper X3), U12#(ok X1, ok X2, ok X3) -> U12#(X1, X2, X3))
    (proper# U12(X1, X2, X3) -> U12#(proper X1, proper X2, proper X3), U12#(mark X1, X2, X3) -> U12#(X1, X2, X3))
    (proper# U13(X1, X2, X3) -> U13#(proper X1, proper X2, proper X3), U13#(ok X1, ok X2, ok X3) -> U13#(X1, X2, X3))
    (proper# U13(X1, X2, X3) -> U13#(proper X1, proper X2, proper X3), U13#(mark X1, X2, X3) -> U13#(X1, X2, X3))
    (proper# U32(X1, X2, X3) -> U32#(proper X1, proper X2, proper X3), U32#(ok X1, ok X2, ok X3) -> U32#(X1, X2, X3))
    (proper# U32(X1, X2, X3) -> U32#(proper X1, proper X2, proper X3), U32#(mark X1, X2, X3) -> U32#(X1, X2, X3))
    (proper# U33(X1, X2, X3) -> U33#(proper X1, proper X2, proper X3), U33#(ok X1, ok X2, ok X3) -> U33#(X1, X2, X3))
    (proper# U33(X1, X2, X3) -> U33#(proper X1, proper X2, proper X3), U33#(mark X1, X2, X3) -> U33#(X1, X2, X3))
    (proper# U82(X1, X2, X3) -> U82#(proper X1, proper X2, proper X3), U82#(ok X1, ok X2, ok X3) -> U82#(X1, X2, X3))
    (proper# U82(X1, X2, X3) -> U82#(proper X1, proper X2, proper X3), U82#(mark X1, X2, X3) -> U82#(X1, X2, X3))
    (proper# U83(X1, X2, X3) -> U83#(proper X1, proper X2, proper X3), U83#(ok X1, ok X2, ok X3) -> U83#(X1, X2, X3))
    (proper# U83(X1, X2, X3) -> U83#(proper X1, proper X2, proper X3), U83#(mark X1, X2, X3) -> U83#(X1, X2, X3))
    (proper# U102(X1, X2, X3) -> proper# X3, proper# U91(X1, X2) -> proper# X2)
    (proper# U102(X1, X2, X3) -> proper# X3, proper# U91(X1, X2) -> proper# X1)
    (proper# U102(X1, X2, X3) -> proper# X3, proper# U91(X1, X2) -> U91#(proper X1, proper X2))
    (proper# U102(X1, X2, X3) -> proper# X3, proper# U92 X -> proper# X)
    (proper# U102(X1, X2, X3) -> proper# X3, proper# U92 X -> U92# proper X)
    (proper# U102(X1, X2, X3) -> proper# X3, proper# s X -> proper# X)
    (proper# U102(X1, X2, X3) -> proper# X3, proper# s X -> s# proper X)
    (proper# U102(X1, X2, X3) -> proper# X3, proper# U84(X1, X2, X3) -> proper# X3)
    (proper# U102(X1, X2, X3) -> proper# X3, proper# U84(X1, X2, X3) -> proper# X2)
    (proper# U102(X1, X2, X3) -> proper# X3, proper# U84(X1, X2, X3) -> proper# X1)
    (proper# U102(X1, X2, X3) -> proper# X3, proper# U84(X1, X2, X3) -> U84#(proper X1, proper X2, proper X3))
    (proper# U102(X1, X2, X3) -> proper# X3, proper# U83(X1, X2, X3) -> proper# X3)
    (proper# U102(X1, X2, X3) -> proper# X3, proper# U83(X1, X2, X3) -> proper# X2)
    (proper# U102(X1, X2, X3) -> proper# X3, proper# U83(X1, X2, X3) -> proper# X1)
    (proper# U102(X1, X2, X3) -> proper# X3, proper# U83(X1, X2, X3) -> U83#(proper X1, proper X2, proper X3))
    (proper# U102(X1, X2, X3) -> proper# X3, proper# U81(X1, X2, X3) -> proper# X3)
    (proper# U102(X1, X2, X3) -> proper# X3, proper# U81(X1, X2, X3) -> proper# X2)
    (proper# U102(X1, X2, X3) -> proper# X3, proper# U81(X1, X2, X3) -> proper# X1)
    (proper# U102(X1, X2, X3) -> proper# X3, proper# U81(X1, X2, X3) -> U81#(proper X1, proper X2, proper X3))
    (proper# U102(X1, X2, X3) -> proper# X3, proper# U82(X1, X2, X3) -> proper# X3)
    (proper# U102(X1, X2, X3) -> proper# X3, proper# U82(X1, X2, X3) -> proper# X2)
    (proper# U102(X1, X2, X3) -> proper# X3, proper# U82(X1, X2, X3) -> proper# X1)
    (proper# U102(X1, X2, X3) -> proper# X3, proper# U82(X1, X2, X3) -> U82#(proper X1, proper X2, proper X3))
    (proper# U102(X1, X2, X3) -> proper# X3, proper# U71(X1, X2) -> proper# X2)
    (proper# U102(X1, X2, X3) -> proper# X3, proper# U71(X1, X2) -> proper# X1)
    (proper# U102(X1, X2, X3) -> proper# X3, proper# U71(X1, X2) -> U71#(proper X1, proper X2))
    (proper# U102(X1, X2, X3) -> proper# X3, proper# U72(X1, X2) -> proper# X2)
    (proper# U102(X1, X2, X3) -> proper# X3, proper# U72(X1, X2) -> proper# X1)
    (proper# U102(X1, X2, X3) -> proper# X3, proper# U72(X1, X2) -> U72#(proper X1, proper X2))
    (proper# U102(X1, X2, X3) -> proper# X3, proper# U61(X1, X2) -> proper# X2)
    (proper# U102(X1, X2, X3) -> proper# X3, proper# U61(X1, X2) -> proper# X1)
    (proper# U102(X1, X2, X3) -> proper# X3, proper# U61(X1, X2) -> U61#(proper X1, proper X2))
    (proper# U102(X1, X2, X3) -> proper# X3, proper# U62 X -> proper# X)
    (proper# U102(X1, X2, X3) -> proper# X3, proper# U62 X -> U62# proper X)
    (proper# U102(X1, X2, X3) -> proper# X3, proper# U51 X -> proper# X)
    (proper# U102(X1, X2, X3) -> proper# X3, proper# U51 X -> U51# proper X)
    (proper# U102(X1, X2, X3) -> proper# X3, proper# U41(X1, X2) -> proper# X2)
    (proper# U102(X1, X2, X3) -> proper# X3, proper# U41(X1, X2) -> proper# X1)
    (proper# U102(X1, X2, X3) -> proper# X3, proper# U41(X1, X2) -> U41#(proper X1, proper X2))
    (proper# U102(X1, X2, X3) -> proper# X3, proper# U42 X -> proper# X)
    (proper# U102(X1, X2, X3) -> proper# X3, proper# U42 X -> U42# proper X)
    (proper# U102(X1, X2, X3) -> proper# X3, proper# U36 X -> proper# X)
    (proper# U102(X1, X2, X3) -> proper# X3, proper# U36 X -> U36# proper X)
    (proper# U102(X1, X2, X3) -> proper# X3, proper# U35(X1, X2) -> proper# X2)
    (proper# U102(X1, X2, X3) -> proper# X3, proper# U35(X1, X2) -> proper# X1)
    (proper# U102(X1, X2, X3) -> proper# X3, proper# U35(X1, X2) -> U35#(proper X1, proper X2))
    (proper# U102(X1, X2, X3) -> proper# X3, proper# U34(X1, X2, X3) -> proper# X3)
    (proper# U102(X1, X2, X3) -> proper# X3, proper# U34(X1, X2, X3) -> proper# X2)
    (proper# U102(X1, X2, X3) -> proper# X3, proper# U34(X1, X2, X3) -> proper# X1)
    (proper# U102(X1, X2, X3) -> proper# X3, proper# U34(X1, X2, X3) -> U34#(proper X1, proper X2, proper X3))
    (proper# U102(X1, X2, X3) -> proper# X3, proper# U33(X1, X2, X3) -> proper# X3)
    (proper# U102(X1, X2, X3) -> proper# X3, proper# U33(X1, X2, X3) -> proper# X2)
    (proper# U102(X1, X2, X3) -> proper# X3, proper# U33(X1, X2, X3) -> proper# X1)
    (proper# U102(X1, X2, X3) -> proper# X3, proper# U33(X1, X2, X3) -> U33#(proper X1, proper X2, proper X3))
    (proper# U102(X1, X2, X3) -> proper# X3, proper# U31(X1, X2, X3) -> proper# X3)
    (proper# U102(X1, X2, X3) -> proper# X3, proper# U31(X1, X2, X3) -> proper# X2)
    (proper# U102(X1, X2, X3) -> proper# X3, proper# U31(X1, X2, X3) -> proper# X1)
    (proper# U102(X1, X2, X3) -> proper# X3, proper# U31(X1, X2, X3) -> U31#(proper X1, proper X2, proper X3))
    (proper# U102(X1, X2, X3) -> proper# X3, proper# U32(X1, X2, X3) -> proper# X3)
    (proper# U102(X1, X2, X3) -> proper# X3, proper# U32(X1, X2, X3) -> proper# X2)
    (proper# U102(X1, X2, X3) -> proper# X3, proper# U32(X1, X2, X3) -> proper# X1)
    (proper# U102(X1, X2, X3) -> proper# X3, proper# U32(X1, X2, X3) -> U32#(proper X1, proper X2, proper X3))
    (proper# U102(X1, X2, X3) -> proper# X3, proper# U23 X -> proper# X)
    (proper# U102(X1, X2, X3) -> proper# X3, proper# U23 X -> U23# proper X)
    (proper# U102(X1, X2, X3) -> proper# X3, proper# U21(X1, X2) -> proper# X2)
    (proper# U102(X1, X2, X3) -> proper# X3, proper# U21(X1, X2) -> proper# X1)
    (proper# U102(X1, X2, X3) -> proper# X3, proper# U21(X1, X2) -> U21#(proper X1, proper X2))
    (proper# U102(X1, X2, X3) -> proper# X3, proper# U22(X1, X2) -> proper# X2)
    (proper# U102(X1, X2, X3) -> proper# X3, proper# U22(X1, X2) -> proper# X1)
    (proper# U102(X1, X2, X3) -> proper# X3, proper# U22(X1, X2) -> U22#(proper X1, proper X2))
    (proper# U102(X1, X2, X3) -> proper# X3, proper# U16 X -> proper# X)
    (proper# U102(X1, X2, X3) -> proper# X3, proper# U16 X -> U16# proper X)
    (proper# U102(X1, X2, X3) -> proper# X3, proper# U15(X1, X2) -> proper# X2)
    (proper# U102(X1, X2, X3) -> proper# X3, proper# U15(X1, X2) -> proper# X1)
    (proper# U102(X1, X2, X3) -> proper# X3, proper# U15(X1, X2) -> U15#(proper X1, proper X2))
    (proper# U102(X1, X2, X3) -> proper# X3, proper# U14(X1, X2, X3) -> proper# X3)
    (proper# U102(X1, X2, X3) -> proper# X3, proper# U14(X1, X2, X3) -> proper# X2)
    (proper# U102(X1, X2, X3) -> proper# X3, proper# U14(X1, X2, X3) -> proper# X1)
    (proper# U102(X1, X2, X3) -> proper# X3, proper# U14(X1, X2, X3) -> U14#(proper X1, proper X2, proper X3))
    (proper# U102(X1, X2, X3) -> proper# X3, proper# U13(X1, X2, X3) -> proper# X3)
    (proper# U102(X1, X2, X3) -> proper# X3, proper# U13(X1, X2, X3) -> proper# X2)
    (proper# U102(X1, X2, X3) -> proper# X3, proper# U13(X1, X2, X3) -> proper# X1)
    (proper# U102(X1, X2, X3) -> proper# X3, proper# U13(X1, X2, X3) -> U13#(proper X1, proper X2, proper X3))
    (proper# U102(X1, X2, X3) -> proper# X3, proper# U11(X1, X2, X3) -> proper# X3)
    (proper# U102(X1, X2, X3) -> proper# X3, proper# U11(X1, X2, X3) -> proper# X2)
    (proper# U102(X1, X2, X3) -> proper# X3, proper# U11(X1, X2, X3) -> proper# X1)
    (proper# U102(X1, X2, X3) -> proper# X3, proper# U11(X1, X2, X3) -> U11#(proper X1, proper X2, proper X3))
    (proper# U102(X1, X2, X3) -> proper# X3, proper# U12(X1, X2, X3) -> proper# X3)
    (proper# U102(X1, X2, X3) -> proper# X3, proper# U12(X1, X2, X3) -> proper# X2)
    (proper# U102(X1, X2, X3) -> proper# X3, proper# U12(X1, X2, X3) -> proper# X1)
    (proper# U102(X1, X2, X3) -> proper# X3, proper# U12(X1, X2, X3) -> U12#(proper X1, proper X2, proper X3))
    (proper# U102(X1, X2, X3) -> proper# X3, proper# x(X1, X2) -> proper# X2)
    (proper# U102(X1, X2, X3) -> proper# X3, proper# x(X1, X2) -> proper# X1)
    (proper# U102(X1, X2, X3) -> proper# X3, proper# x(X1, X2) -> x#(proper X1, proper X2))
    (proper# U102(X1, X2, X3) -> proper# X3, proper# plus(X1, X2) -> proper# X2)
    (proper# U102(X1, X2, X3) -> proper# X3, proper# plus(X1, X2) -> proper# X1)
    (proper# U102(X1, X2, X3) -> proper# X3, proper# plus(X1, X2) -> plus#(proper X1, proper X2))
    (proper# U102(X1, X2, X3) -> proper# X3, proper# U104(X1, X2, X3) -> proper# X3)
    (proper# U102(X1, X2, X3) -> proper# X3, proper# U104(X1, X2, X3) -> proper# X2)
    (proper# U102(X1, X2, X3) -> proper# X3, proper# U104(X1, X2, X3) -> proper# X1)
    (proper# U102(X1, X2, X3) -> proper# X3, proper# U104(X1, X2, X3) -> U104#(proper X1, proper X2, proper X3))
    (proper# U102(X1, X2, X3) -> proper# X3, proper# isNat X -> proper# X)
    (proper# U102(X1, X2, X3) -> proper# X3, proper# isNat X -> isNat# proper X)
    (proper# U102(X1, X2, X3) -> proper# X3, proper# U103(X1, X2, X3) -> proper# X3)
    (proper# U102(X1, X2, X3) -> proper# X3, proper# U103(X1, X2, X3) -> proper# X2)
    (proper# U102(X1, X2, X3) -> proper# X3, proper# U103(X1, X2, X3) -> proper# X1)
    (proper# U102(X1, X2, X3) -> proper# X3, proper# U103(X1, X2, X3) -> U103#(proper X1, proper X2, proper X3))
    (proper# U102(X1, X2, X3) -> proper# X3, proper# U101(X1, X2, X3) -> proper# X3)
    (proper# U102(X1, X2, X3) -> proper# X3, proper# U101(X1, X2, X3) -> proper# X2)
    (proper# U102(X1, X2, X3) -> proper# X3, proper# U101(X1, X2, X3) -> proper# X1)
    (proper# U102(X1, X2, X3) -> proper# X3, proper# U101(X1, X2, X3) -> U101#(proper X1, proper X2, proper X3))
    (proper# U102(X1, X2, X3) -> proper# X3, proper# isNatKind X -> proper# X)
    (proper# U102(X1, X2, X3) -> proper# X3, proper# isNatKind X -> isNatKind# proper X)
    (proper# U102(X1, X2, X3) -> proper# X3, proper# U102(X1, X2, X3) -> proper# X3)
    (proper# U102(X1, X2, X3) -> proper# X3, proper# U102(X1, X2, X3) -> proper# X2)
    (proper# U102(X1, X2, X3) -> proper# X3, proper# U102(X1, X2, X3) -> proper# X1)
    (proper# U102(X1, X2, X3) -> proper# X3, proper# U102(X1, X2, X3) -> U102#(proper X1, proper X2, proper X3))
    (proper# U103(X1, X2, X3) -> proper# X3, proper# U91(X1, X2) -> proper# X2)
    (proper# U103(X1, X2, X3) -> proper# X3, proper# U91(X1, X2) -> proper# X1)
    (proper# U103(X1, X2, X3) -> proper# X3, proper# U91(X1, X2) -> U91#(proper X1, proper X2))
    (proper# U103(X1, X2, X3) -> proper# X3, proper# U92 X -> proper# X)
    (proper# U103(X1, X2, X3) -> proper# X3, proper# U92 X -> U92# proper X)
    (proper# U103(X1, X2, X3) -> proper# X3, proper# s X -> proper# X)
    (proper# U103(X1, X2, X3) -> proper# X3, proper# s X -> s# proper X)
    (proper# U103(X1, X2, X3) -> proper# X3, proper# U84(X1, X2, X3) -> proper# X3)
    (proper# U103(X1, X2, X3) -> proper# X3, proper# U84(X1, X2, X3) -> proper# X2)
    (proper# U103(X1, X2, X3) -> proper# X3, proper# U84(X1, X2, X3) -> proper# X1)
    (proper# U103(X1, X2, X3) -> proper# X3, proper# U84(X1, X2, X3) -> U84#(proper X1, proper X2, proper X3))
    (proper# U103(X1, X2, X3) -> proper# X3, proper# U83(X1, X2, X3) -> proper# X3)
    (proper# U103(X1, X2, X3) -> proper# X3, proper# U83(X1, X2, X3) -> proper# X2)
    (proper# U103(X1, X2, X3) -> proper# X3, proper# U83(X1, X2, X3) -> proper# X1)
    (proper# U103(X1, X2, X3) -> proper# X3, proper# U83(X1, X2, X3) -> U83#(proper X1, proper X2, proper X3))
    (proper# U103(X1, X2, X3) -> proper# X3, proper# U81(X1, X2, X3) -> proper# X3)
    (proper# U103(X1, X2, X3) -> proper# X3, proper# U81(X1, X2, X3) -> proper# X2)
    (proper# U103(X1, X2, X3) -> proper# X3, proper# U81(X1, X2, X3) -> proper# X1)
    (proper# U103(X1, X2, X3) -> proper# X3, proper# U81(X1, X2, X3) -> U81#(proper X1, proper X2, proper X3))
    (proper# U103(X1, X2, X3) -> proper# X3, proper# U82(X1, X2, X3) -> proper# X3)
    (proper# U103(X1, X2, X3) -> proper# X3, proper# U82(X1, X2, X3) -> proper# X2)
    (proper# U103(X1, X2, X3) -> proper# X3, proper# U82(X1, X2, X3) -> proper# X1)
    (proper# U103(X1, X2, X3) -> proper# X3, proper# U82(X1, X2, X3) -> U82#(proper X1, proper X2, proper X3))
    (proper# U103(X1, X2, X3) -> proper# X3, proper# U71(X1, X2) -> proper# X2)
    (proper# U103(X1, X2, X3) -> proper# X3, proper# U71(X1, X2) -> proper# X1)
    (proper# U103(X1, X2, X3) -> proper# X3, proper# U71(X1, X2) -> U71#(proper X1, proper X2))
    (proper# U103(X1, X2, X3) -> proper# X3, proper# U72(X1, X2) -> proper# X2)
    (proper# U103(X1, X2, X3) -> proper# X3, proper# U72(X1, X2) -> proper# X1)
    (proper# U103(X1, X2, X3) -> proper# X3, proper# U72(X1, X2) -> U72#(proper X1, proper X2))
    (proper# U103(X1, X2, X3) -> proper# X3, proper# U61(X1, X2) -> proper# X2)
    (proper# U103(X1, X2, X3) -> proper# X3, proper# U61(X1, X2) -> proper# X1)
    (proper# U103(X1, X2, X3) -> proper# X3, proper# U61(X1, X2) -> U61#(proper X1, proper X2))
    (proper# U103(X1, X2, X3) -> proper# X3, proper# U62 X -> proper# X)
    (proper# U103(X1, X2, X3) -> proper# X3, proper# U62 X -> U62# proper X)
    (proper# U103(X1, X2, X3) -> proper# X3, proper# U51 X -> proper# X)
    (proper# U103(X1, X2, X3) -> proper# X3, proper# U51 X -> U51# proper X)
    (proper# U103(X1, X2, X3) -> proper# X3, proper# U41(X1, X2) -> proper# X2)
    (proper# U103(X1, X2, X3) -> proper# X3, proper# U41(X1, X2) -> proper# X1)
    (proper# U103(X1, X2, X3) -> proper# X3, proper# U41(X1, X2) -> U41#(proper X1, proper X2))
    (proper# U103(X1, X2, X3) -> proper# X3, proper# U42 X -> proper# X)
    (proper# U103(X1, X2, X3) -> proper# X3, proper# U42 X -> U42# proper X)
    (proper# U103(X1, X2, X3) -> proper# X3, proper# U36 X -> proper# X)
    (proper# U103(X1, X2, X3) -> proper# X3, proper# U36 X -> U36# proper X)
    (proper# U103(X1, X2, X3) -> proper# X3, proper# U35(X1, X2) -> proper# X2)
    (proper# U103(X1, X2, X3) -> proper# X3, proper# U35(X1, X2) -> proper# X1)
    (proper# U103(X1, X2, X3) -> proper# X3, proper# U35(X1, X2) -> U35#(proper X1, proper X2))
    (proper# U103(X1, X2, X3) -> proper# X3, proper# U34(X1, X2, X3) -> proper# X3)
    (proper# U103(X1, X2, X3) -> proper# X3, proper# U34(X1, X2, X3) -> proper# X2)
    (proper# U103(X1, X2, X3) -> proper# X3, proper# U34(X1, X2, X3) -> proper# X1)
    (proper# U103(X1, X2, X3) -> proper# X3, proper# U34(X1, X2, X3) -> U34#(proper X1, proper X2, proper X3))
    (proper# U103(X1, X2, X3) -> proper# X3, proper# U33(X1, X2, X3) -> proper# X3)
    (proper# U103(X1, X2, X3) -> proper# X3, proper# U33(X1, X2, X3) -> proper# X2)
    (proper# U103(X1, X2, X3) -> proper# X3, proper# U33(X1, X2, X3) -> proper# X1)
    (proper# U103(X1, X2, X3) -> proper# X3, proper# U33(X1, X2, X3) -> U33#(proper X1, proper X2, proper X3))
    (proper# U103(X1, X2, X3) -> proper# X3, proper# U31(X1, X2, X3) -> proper# X3)
    (proper# U103(X1, X2, X3) -> proper# X3, proper# U31(X1, X2, X3) -> proper# X2)
    (proper# U103(X1, X2, X3) -> proper# X3, proper# U31(X1, X2, X3) -> proper# X1)
    (proper# U103(X1, X2, X3) -> proper# X3, proper# U31(X1, X2, X3) -> U31#(proper X1, proper X2, proper X3))
    (proper# U103(X1, X2, X3) -> proper# X3, proper# U32(X1, X2, X3) -> proper# X3)
    (proper# U103(X1, X2, X3) -> proper# X3, proper# U32(X1, X2, X3) -> proper# X2)
    (proper# U103(X1, X2, X3) -> proper# X3, proper# U32(X1, X2, X3) -> proper# X1)
    (proper# U103(X1, X2, X3) -> proper# X3, proper# U32(X1, X2, X3) -> U32#(proper X1, proper X2, proper X3))
    (proper# U103(X1, X2, X3) -> proper# X3, proper# U23 X -> proper# X)
    (proper# U103(X1, X2, X3) -> proper# X3, proper# U23 X -> U23# proper X)
    (proper# U103(X1, X2, X3) -> proper# X3, proper# U21(X1, X2) -> proper# X2)
    (proper# U103(X1, X2, X3) -> proper# X3, proper# U21(X1, X2) -> proper# X1)
    (proper# U103(X1, X2, X3) -> proper# X3, proper# U21(X1, X2) -> U21#(proper X1, proper X2))
    (proper# U103(X1, X2, X3) -> proper# X3, proper# U22(X1, X2) -> proper# X2)
    (proper# U103(X1, X2, X3) -> proper# X3, proper# U22(X1, X2) -> proper# X1)
    (proper# U103(X1, X2, X3) -> proper# X3, proper# U22(X1, X2) -> U22#(proper X1, proper X2))
    (proper# U103(X1, X2, X3) -> proper# X3, proper# U16 X -> proper# X)
    (proper# U103(X1, X2, X3) -> proper# X3, proper# U16 X -> U16# proper X)
    (proper# U103(X1, X2, X3) -> proper# X3, proper# U15(X1, X2) -> proper# X2)
    (proper# U103(X1, X2, X3) -> proper# X3, proper# U15(X1, X2) -> proper# X1)
    (proper# U103(X1, X2, X3) -> proper# X3, proper# U15(X1, X2) -> U15#(proper X1, proper X2))
    (proper# U103(X1, X2, X3) -> proper# X3, proper# U14(X1, X2, X3) -> proper# X3)
    (proper# U103(X1, X2, X3) -> proper# X3, proper# U14(X1, X2, X3) -> proper# X2)
    (proper# U103(X1, X2, X3) -> proper# X3, proper# U14(X1, X2, X3) -> proper# X1)
    (proper# U103(X1, X2, X3) -> proper# X3, proper# U14(X1, X2, X3) -> U14#(proper X1, proper X2, proper X3))
    (proper# U103(X1, X2, X3) -> proper# X3, proper# U13(X1, X2, X3) -> proper# X3)
    (proper# U103(X1, X2, X3) -> proper# X3, proper# U13(X1, X2, X3) -> proper# X2)
    (proper# U103(X1, X2, X3) -> proper# X3, proper# U13(X1, X2, X3) -> proper# X1)
    (proper# U103(X1, X2, X3) -> proper# X3, proper# U13(X1, X2, X3) -> U13#(proper X1, proper X2, proper X3))
    (proper# U103(X1, X2, X3) -> proper# X3, proper# U11(X1, X2, X3) -> proper# X3)
    (proper# U103(X1, X2, X3) -> proper# X3, proper# U11(X1, X2, X3) -> proper# X2)
    (proper# U103(X1, X2, X3) -> proper# X3, proper# U11(X1, X2, X3) -> proper# X1)
    (proper# U103(X1, X2, X3) -> proper# X3, proper# U11(X1, X2, X3) -> U11#(proper X1, proper X2, proper X3))
    (proper# U103(X1, X2, X3) -> proper# X3, proper# U12(X1, X2, X3) -> proper# X3)
    (proper# U103(X1, X2, X3) -> proper# X3, proper# U12(X1, X2, X3) -> proper# X2)
    (proper# U103(X1, X2, X3) -> proper# X3, proper# U12(X1, X2, X3) -> proper# X1)
    (proper# U103(X1, X2, X3) -> proper# X3, proper# U12(X1, X2, X3) -> U12#(proper X1, proper X2, proper X3))
    (proper# U103(X1, X2, X3) -> proper# X3, proper# x(X1, X2) -> proper# X2)
    (proper# U103(X1, X2, X3) -> proper# X3, proper# x(X1, X2) -> proper# X1)
    (proper# U103(X1, X2, X3) -> proper# X3, proper# x(X1, X2) -> x#(proper X1, proper X2))
    (proper# U103(X1, X2, X3) -> proper# X3, proper# plus(X1, X2) -> proper# X2)
    (proper# U103(X1, X2, X3) -> proper# X3, proper# plus(X1, X2) -> proper# X1)
    (proper# U103(X1, X2, X3) -> proper# X3, proper# plus(X1, X2) -> plus#(proper X1, proper X2))
    (proper# U103(X1, X2, X3) -> proper# X3, proper# U104(X1, X2, X3) -> proper# X3)
    (proper# U103(X1, X2, X3) -> proper# X3, proper# U104(X1, X2, X3) -> proper# X2)
    (proper# U103(X1, X2, X3) -> proper# X3, proper# U104(X1, X2, X3) -> proper# X1)
    (proper# U103(X1, X2, X3) -> proper# X3, proper# U104(X1, X2, X3) -> U104#(proper X1, proper X2, proper X3))
    (proper# U103(X1, X2, X3) -> proper# X3, proper# isNat X -> proper# X)
    (proper# U103(X1, X2, X3) -> proper# X3, proper# isNat X -> isNat# proper X)
    (proper# U103(X1, X2, X3) -> proper# X3, proper# U103(X1, X2, X3) -> proper# X3)
    (proper# U103(X1, X2, X3) -> proper# X3, proper# U103(X1, X2, X3) -> proper# X2)
    (proper# U103(X1, X2, X3) -> proper# X3, proper# U103(X1, X2, X3) -> proper# X1)
    (proper# U103(X1, X2, X3) -> proper# X3, proper# U103(X1, X2, X3) -> U103#(proper X1, proper X2, proper X3))
    (proper# U103(X1, X2, X3) -> proper# X3, proper# U101(X1, X2, X3) -> proper# X3)
    (proper# U103(X1, X2, X3) -> proper# X3, proper# U101(X1, X2, X3) -> proper# X2)
    (proper# U103(X1, X2, X3) -> proper# X3, proper# U101(X1, X2, X3) -> proper# X1)
    (proper# U103(X1, X2, X3) -> proper# X3, proper# U101(X1, X2, X3) -> U101#(proper X1, proper X2, proper X3))
    (proper# U103(X1, X2, X3) -> proper# X3, proper# isNatKind X -> proper# X)
    (proper# U103(X1, X2, X3) -> proper# X3, proper# isNatKind X -> isNatKind# proper X)
    (proper# U103(X1, X2, X3) -> proper# X3, proper# U102(X1, X2, X3) -> proper# X3)
    (proper# U103(X1, X2, X3) -> proper# X3, proper# U102(X1, X2, X3) -> proper# X2)
    (proper# U103(X1, X2, X3) -> proper# X3, proper# U102(X1, X2, X3) -> proper# X1)
    (proper# U103(X1, X2, X3) -> proper# X3, proper# U102(X1, X2, X3) -> U102#(proper X1, proper X2, proper X3))
    (proper# U12(X1, X2, X3) -> proper# X3, proper# U91(X1, X2) -> proper# X2)
    (proper# U12(X1, X2, X3) -> proper# X3, proper# U91(X1, X2) -> proper# X1)
    (proper# U12(X1, X2, X3) -> proper# X3, proper# U91(X1, X2) -> U91#(proper X1, proper X2))
    (proper# U12(X1, X2, X3) -> proper# X3, proper# U92 X -> proper# X)
    (proper# U12(X1, X2, X3) -> proper# X3, proper# U92 X -> U92# proper X)
    (proper# U12(X1, X2, X3) -> proper# X3, proper# s X -> proper# X)
    (proper# U12(X1, X2, X3) -> proper# X3, proper# s X -> s# proper X)
    (proper# U12(X1, X2, X3) -> proper# X3, proper# U84(X1, X2, X3) -> proper# X3)
    (proper# U12(X1, X2, X3) -> proper# X3, proper# U84(X1, X2, X3) -> proper# X2)
    (proper# U12(X1, X2, X3) -> proper# X3, proper# U84(X1, X2, X3) -> proper# X1)
    (proper# U12(X1, X2, X3) -> proper# X3, proper# U84(X1, X2, X3) -> U84#(proper X1, proper X2, proper X3))
    (proper# U12(X1, X2, X3) -> proper# X3, proper# U83(X1, X2, X3) -> proper# X3)
    (proper# U12(X1, X2, X3) -> proper# X3, proper# U83(X1, X2, X3) -> proper# X2)
    (proper# U12(X1, X2, X3) -> proper# X3, proper# U83(X1, X2, X3) -> proper# X1)
    (proper# U12(X1, X2, X3) -> proper# X3, proper# U83(X1, X2, X3) -> U83#(proper X1, proper X2, proper X3))
    (proper# U12(X1, X2, X3) -> proper# X3, proper# U81(X1, X2, X3) -> proper# X3)
    (proper# U12(X1, X2, X3) -> proper# X3, proper# U81(X1, X2, X3) -> proper# X2)
    (proper# U12(X1, X2, X3) -> proper# X3, proper# U81(X1, X2, X3) -> proper# X1)
    (proper# U12(X1, X2, X3) -> proper# X3, proper# U81(X1, X2, X3) -> U81#(proper X1, proper X2, proper X3))
    (proper# U12(X1, X2, X3) -> proper# X3, proper# U82(X1, X2, X3) -> proper# X3)
    (proper# U12(X1, X2, X3) -> proper# X3, proper# U82(X1, X2, X3) -> proper# X2)
    (proper# U12(X1, X2, X3) -> proper# X3, proper# U82(X1, X2, X3) -> proper# X1)
    (proper# U12(X1, X2, X3) -> proper# X3, proper# U82(X1, X2, X3) -> U82#(proper X1, proper X2, proper X3))
    (proper# U12(X1, X2, X3) -> proper# X3, proper# U71(X1, X2) -> proper# X2)
    (proper# U12(X1, X2, X3) -> proper# X3, proper# U71(X1, X2) -> proper# X1)
    (proper# U12(X1, X2, X3) -> proper# X3, proper# U71(X1, X2) -> U71#(proper X1, proper X2))
    (proper# U12(X1, X2, X3) -> proper# X3, proper# U72(X1, X2) -> proper# X2)
    (proper# U12(X1, X2, X3) -> proper# X3, proper# U72(X1, X2) -> proper# X1)
    (proper# U12(X1, X2, X3) -> proper# X3, proper# U72(X1, X2) -> U72#(proper X1, proper X2))
    (proper# U12(X1, X2, X3) -> proper# X3, proper# U61(X1, X2) -> proper# X2)
    (proper# U12(X1, X2, X3) -> proper# X3, proper# U61(X1, X2) -> proper# X1)
    (proper# U12(X1, X2, X3) -> proper# X3, proper# U61(X1, X2) -> U61#(proper X1, proper X2))
    (proper# U12(X1, X2, X3) -> proper# X3, proper# U62 X -> proper# X)
    (proper# U12(X1, X2, X3) -> proper# X3, proper# U62 X -> U62# proper X)
    (proper# U12(X1, X2, X3) -> proper# X3, proper# U51 X -> proper# X)
    (proper# U12(X1, X2, X3) -> proper# X3, proper# U51 X -> U51# proper X)
    (proper# U12(X1, X2, X3) -> proper# X3, proper# U41(X1, X2) -> proper# X2)
    (proper# U12(X1, X2, X3) -> proper# X3, proper# U41(X1, X2) -> proper# X1)
    (proper# U12(X1, X2, X3) -> proper# X3, proper# U41(X1, X2) -> U41#(proper X1, proper X2))
    (proper# U12(X1, X2, X3) -> proper# X3, proper# U42 X -> proper# X)
    (proper# U12(X1, X2, X3) -> proper# X3, proper# U42 X -> U42# proper X)
    (proper# U12(X1, X2, X3) -> proper# X3, proper# U36 X -> proper# X)
    (proper# U12(X1, X2, X3) -> proper# X3, proper# U36 X -> U36# proper X)
    (proper# U12(X1, X2, X3) -> proper# X3, proper# U35(X1, X2) -> proper# X2)
    (proper# U12(X1, X2, X3) -> proper# X3, proper# U35(X1, X2) -> proper# X1)
    (proper# U12(X1, X2, X3) -> proper# X3, proper# U35(X1, X2) -> U35#(proper X1, proper X2))
    (proper# U12(X1, X2, X3) -> proper# X3, proper# U34(X1, X2, X3) -> proper# X3)
    (proper# U12(X1, X2, X3) -> proper# X3, proper# U34(X1, X2, X3) -> proper# X2)
    (proper# U12(X1, X2, X3) -> proper# X3, proper# U34(X1, X2, X3) -> proper# X1)
    (proper# U12(X1, X2, X3) -> proper# X3, proper# U34(X1, X2, X3) -> U34#(proper X1, proper X2, proper X3))
    (proper# U12(X1, X2, X3) -> proper# X3, proper# U33(X1, X2, X3) -> proper# X3)
    (proper# U12(X1, X2, X3) -> proper# X3, proper# U33(X1, X2, X3) -> proper# X2)
    (proper# U12(X1, X2, X3) -> proper# X3, proper# U33(X1, X2, X3) -> proper# X1)
    (proper# U12(X1, X2, X3) -> proper# X3, proper# U33(X1, X2, X3) -> U33#(proper X1, proper X2, proper X3))
    (proper# U12(X1, X2, X3) -> proper# X3, proper# U31(X1, X2, X3) -> proper# X3)
    (proper# U12(X1, X2, X3) -> proper# X3, proper# U31(X1, X2, X3) -> proper# X2)
    (proper# U12(X1, X2, X3) -> proper# X3, proper# U31(X1, X2, X3) -> proper# X1)
    (proper# U12(X1, X2, X3) -> proper# X3, proper# U31(X1, X2, X3) -> U31#(proper X1, proper X2, proper X3))
    (proper# U12(X1, X2, X3) -> proper# X3, proper# U32(X1, X2, X3) -> proper# X3)
    (proper# U12(X1, X2, X3) -> proper# X3, proper# U32(X1, X2, X3) -> proper# X2)
    (proper# U12(X1, X2, X3) -> proper# X3, proper# U32(X1, X2, X3) -> proper# X1)
    (proper# U12(X1, X2, X3) -> proper# X3, proper# U32(X1, X2, X3) -> U32#(proper X1, proper X2, proper X3))
    (proper# U12(X1, X2, X3) -> proper# X3, proper# U23 X -> proper# X)
    (proper# U12(X1, X2, X3) -> proper# X3, proper# U23 X -> U23# proper X)
    (proper# U12(X1, X2, X3) -> proper# X3, proper# U21(X1, X2) -> proper# X2)
    (proper# U12(X1, X2, X3) -> proper# X3, proper# U21(X1, X2) -> proper# X1)
    (proper# U12(X1, X2, X3) -> proper# X3, proper# U21(X1, X2) -> U21#(proper X1, proper X2))
    (proper# U12(X1, X2, X3) -> proper# X3, proper# U22(X1, X2) -> proper# X2)
    (proper# U12(X1, X2, X3) -> proper# X3, proper# U22(X1, X2) -> proper# X1)
    (proper# U12(X1, X2, X3) -> proper# X3, proper# U22(X1, X2) -> U22#(proper X1, proper X2))
    (proper# U12(X1, X2, X3) -> proper# X3, proper# U16 X -> proper# X)
    (proper# U12(X1, X2, X3) -> proper# X3, proper# U16 X -> U16# proper X)
    (proper# U12(X1, X2, X3) -> proper# X3, proper# U15(X1, X2) -> proper# X2)
    (proper# U12(X1, X2, X3) -> proper# X3, proper# U15(X1, X2) -> proper# X1)
    (proper# U12(X1, X2, X3) -> proper# X3, proper# U15(X1, X2) -> U15#(proper X1, proper X2))
    (proper# U12(X1, X2, X3) -> proper# X3, proper# U14(X1, X2, X3) -> proper# X3)
    (proper# U12(X1, X2, X3) -> proper# X3, proper# U14(X1, X2, X3) -> proper# X2)
    (proper# U12(X1, X2, X3) -> proper# X3, proper# U14(X1, X2, X3) -> proper# X1)
    (proper# U12(X1, X2, X3) -> proper# X3, proper# U14(X1, X2, X3) -> U14#(proper X1, proper X2, proper X3))
    (proper# U12(X1, X2, X3) -> proper# X3, proper# U13(X1, X2, X3) -> proper# X3)
    (proper# U12(X1, X2, X3) -> proper# X3, proper# U13(X1, X2, X3) -> proper# X2)
    (proper# U12(X1, X2, X3) -> proper# X3, proper# U13(X1, X2, X3) -> proper# X1)
    (proper# U12(X1, X2, X3) -> proper# X3, proper# U13(X1, X2, X3) -> U13#(proper X1, proper X2, proper X3))
    (proper# U12(X1, X2, X3) -> proper# X3, proper# U11(X1, X2, X3) -> proper# X3)
    (proper# U12(X1, X2, X3) -> proper# X3, proper# U11(X1, X2, X3) -> proper# X2)
    (proper# U12(X1, X2, X3) -> proper# X3, proper# U11(X1, X2, X3) -> proper# X1)
    (proper# U12(X1, X2, X3) -> proper# X3, proper# U11(X1, X2, X3) -> U11#(proper X1, proper X2, proper X3))
    (proper# U12(X1, X2, X3) -> proper# X3, proper# U12(X1, X2, X3) -> proper# X3)
    (proper# U12(X1, X2, X3) -> proper# X3, proper# U12(X1, X2, X3) -> proper# X2)
    (proper# U12(X1, X2, X3) -> proper# X3, proper# U12(X1, X2, X3) -> proper# X1)
    (proper# U12(X1, X2, X3) -> proper# X3, proper# U12(X1, X2, X3) -> U12#(proper X1, proper X2, proper X3))
    (proper# U12(X1, X2, X3) -> proper# X3, proper# x(X1, X2) -> proper# X2)
    (proper# U12(X1, X2, X3) -> proper# X3, proper# x(X1, X2) -> proper# X1)
    (proper# U12(X1, X2, X3) -> proper# X3, proper# x(X1, X2) -> x#(proper X1, proper X2))
    (proper# U12(X1, X2, X3) -> proper# X3, proper# plus(X1, X2) -> proper# X2)
    (proper# U12(X1, X2, X3) -> proper# X3, proper# plus(X1, X2) -> proper# X1)
    (proper# U12(X1, X2, X3) -> proper# X3, proper# plus(X1, X2) -> plus#(proper X1, proper X2))
    (proper# U12(X1, X2, X3) -> proper# X3, proper# U104(X1, X2, X3) -> proper# X3)
    (proper# U12(X1, X2, X3) -> proper# X3, proper# U104(X1, X2, X3) -> proper# X2)
    (proper# U12(X1, X2, X3) -> proper# X3, proper# U104(X1, X2, X3) -> proper# X1)
    (proper# U12(X1, X2, X3) -> proper# X3, proper# U104(X1, X2, X3) -> U104#(proper X1, proper X2, proper X3))
    (proper# U12(X1, X2, X3) -> proper# X3, proper# isNat X -> proper# X)
    (proper# U12(X1, X2, X3) -> proper# X3, proper# isNat X -> isNat# proper X)
    (proper# U12(X1, X2, X3) -> proper# X3, proper# U103(X1, X2, X3) -> proper# X3)
    (proper# U12(X1, X2, X3) -> proper# X3, proper# U103(X1, X2, X3) -> proper# X2)
    (proper# U12(X1, X2, X3) -> proper# X3, proper# U103(X1, X2, X3) -> proper# X1)
    (proper# U12(X1, X2, X3) -> proper# X3, proper# U103(X1, X2, X3) -> U103#(proper X1, proper X2, proper X3))
    (proper# U12(X1, X2, X3) -> proper# X3, proper# U101(X1, X2, X3) -> proper# X3)
    (proper# U12(X1, X2, X3) -> proper# X3, proper# U101(X1, X2, X3) -> proper# X2)
    (proper# U12(X1, X2, X3) -> proper# X3, proper# U101(X1, X2, X3) -> proper# X1)
    (proper# U12(X1, X2, X3) -> proper# X3, proper# U101(X1, X2, X3) -> U101#(proper X1, proper X2, proper X3))
    (proper# U12(X1, X2, X3) -> proper# X3, proper# isNatKind X -> proper# X)
    (proper# U12(X1, X2, X3) -> proper# X3, proper# isNatKind X -> isNatKind# proper X)
    (proper# U12(X1, X2, X3) -> proper# X3, proper# U102(X1, X2, X3) -> proper# X3)
    (proper# U12(X1, X2, X3) -> proper# X3, proper# U102(X1, X2, X3) -> proper# X2)
    (proper# U12(X1, X2, X3) -> proper# X3, proper# U102(X1, X2, X3) -> proper# X1)
    (proper# U12(X1, X2, X3) -> proper# X3, proper# U102(X1, X2, X3) -> U102#(proper X1, proper X2, proper X3))
    (proper# U13(X1, X2, X3) -> proper# X3, proper# U91(X1, X2) -> proper# X2)
    (proper# U13(X1, X2, X3) -> proper# X3, proper# U91(X1, X2) -> proper# X1)
    (proper# U13(X1, X2, X3) -> proper# X3, proper# U91(X1, X2) -> U91#(proper X1, proper X2))
    (proper# U13(X1, X2, X3) -> proper# X3, proper# U92 X -> proper# X)
    (proper# U13(X1, X2, X3) -> proper# X3, proper# U92 X -> U92# proper X)
    (proper# U13(X1, X2, X3) -> proper# X3, proper# s X -> proper# X)
    (proper# U13(X1, X2, X3) -> proper# X3, proper# s X -> s# proper X)
    (proper# U13(X1, X2, X3) -> proper# X3, proper# U84(X1, X2, X3) -> proper# X3)
    (proper# U13(X1, X2, X3) -> proper# X3, proper# U84(X1, X2, X3) -> proper# X2)
    (proper# U13(X1, X2, X3) -> proper# X3, proper# U84(X1, X2, X3) -> proper# X1)
    (proper# U13(X1, X2, X3) -> proper# X3, proper# U84(X1, X2, X3) -> U84#(proper X1, proper X2, proper X3))
    (proper# U13(X1, X2, X3) -> proper# X3, proper# U83(X1, X2, X3) -> proper# X3)
    (proper# U13(X1, X2, X3) -> proper# X3, proper# U83(X1, X2, X3) -> proper# X2)
    (proper# U13(X1, X2, X3) -> proper# X3, proper# U83(X1, X2, X3) -> proper# X1)
    (proper# U13(X1, X2, X3) -> proper# X3, proper# U83(X1, X2, X3) -> U83#(proper X1, proper X2, proper X3))
    (proper# U13(X1, X2, X3) -> proper# X3, proper# U81(X1, X2, X3) -> proper# X3)
    (proper# U13(X1, X2, X3) -> proper# X3, proper# U81(X1, X2, X3) -> proper# X2)
    (proper# U13(X1, X2, X3) -> proper# X3, proper# U81(X1, X2, X3) -> proper# X1)
    (proper# U13(X1, X2, X3) -> proper# X3, proper# U81(X1, X2, X3) -> U81#(proper X1, proper X2, proper X3))
    (proper# U13(X1, X2, X3) -> proper# X3, proper# U82(X1, X2, X3) -> proper# X3)
    (proper# U13(X1, X2, X3) -> proper# X3, proper# U82(X1, X2, X3) -> proper# X2)
    (proper# U13(X1, X2, X3) -> proper# X3, proper# U82(X1, X2, X3) -> proper# X1)
    (proper# U13(X1, X2, X3) -> proper# X3, proper# U82(X1, X2, X3) -> U82#(proper X1, proper X2, proper X3))
    (proper# U13(X1, X2, X3) -> proper# X3, proper# U71(X1, X2) -> proper# X2)
    (proper# U13(X1, X2, X3) -> proper# X3, proper# U71(X1, X2) -> proper# X1)
    (proper# U13(X1, X2, X3) -> proper# X3, proper# U71(X1, X2) -> U71#(proper X1, proper X2))
    (proper# U13(X1, X2, X3) -> proper# X3, proper# U72(X1, X2) -> proper# X2)
    (proper# U13(X1, X2, X3) -> proper# X3, proper# U72(X1, X2) -> proper# X1)
    (proper# U13(X1, X2, X3) -> proper# X3, proper# U72(X1, X2) -> U72#(proper X1, proper X2))
    (proper# U13(X1, X2, X3) -> proper# X3, proper# U61(X1, X2) -> proper# X2)
    (proper# U13(X1, X2, X3) -> proper# X3, proper# U61(X1, X2) -> proper# X1)
    (proper# U13(X1, X2, X3) -> proper# X3, proper# U61(X1, X2) -> U61#(proper X1, proper X2))
    (proper# U13(X1, X2, X3) -> proper# X3, proper# U62 X -> proper# X)
    (proper# U13(X1, X2, X3) -> proper# X3, proper# U62 X -> U62# proper X)
    (proper# U13(X1, X2, X3) -> proper# X3, proper# U51 X -> proper# X)
    (proper# U13(X1, X2, X3) -> proper# X3, proper# U51 X -> U51# proper X)
    (proper# U13(X1, X2, X3) -> proper# X3, proper# U41(X1, X2) -> proper# X2)
    (proper# U13(X1, X2, X3) -> proper# X3, proper# U41(X1, X2) -> proper# X1)
    (proper# U13(X1, X2, X3) -> proper# X3, proper# U41(X1, X2) -> U41#(proper X1, proper X2))
    (proper# U13(X1, X2, X3) -> proper# X3, proper# U42 X -> proper# X)
    (proper# U13(X1, X2, X3) -> proper# X3, proper# U42 X -> U42# proper X)
    (proper# U13(X1, X2, X3) -> proper# X3, proper# U36 X -> proper# X)
    (proper# U13(X1, X2, X3) -> proper# X3, proper# U36 X -> U36# proper X)
    (proper# U13(X1, X2, X3) -> proper# X3, proper# U35(X1, X2) -> proper# X2)
    (proper# U13(X1, X2, X3) -> proper# X3, proper# U35(X1, X2) -> proper# X1)
    (proper# U13(X1, X2, X3) -> proper# X3, proper# U35(X1, X2) -> U35#(proper X1, proper X2))
    (proper# U13(X1, X2, X3) -> proper# X3, proper# U34(X1, X2, X3) -> proper# X3)
    (proper# U13(X1, X2, X3) -> proper# X3, proper# U34(X1, X2, X3) -> proper# X2)
    (proper# U13(X1, X2, X3) -> proper# X3, proper# U34(X1, X2, X3) -> proper# X1)
    (proper# U13(X1, X2, X3) -> proper# X3, proper# U34(X1, X2, X3) -> U34#(proper X1, proper X2, proper X3))
    (proper# U13(X1, X2, X3) -> proper# X3, proper# U33(X1, X2, X3) -> proper# X3)
    (proper# U13(X1, X2, X3) -> proper# X3, proper# U33(X1, X2, X3) -> proper# X2)
    (proper# U13(X1, X2, X3) -> proper# X3, proper# U33(X1, X2, X3) -> proper# X1)
    (proper# U13(X1, X2, X3) -> proper# X3, proper# U33(X1, X2, X3) -> U33#(proper X1, proper X2, proper X3))
    (proper# U13(X1, X2, X3) -> proper# X3, proper# U31(X1, X2, X3) -> proper# X3)
    (proper# U13(X1, X2, X3) -> proper# X3, proper# U31(X1, X2, X3) -> proper# X2)
    (proper# U13(X1, X2, X3) -> proper# X3, proper# U31(X1, X2, X3) -> proper# X1)
    (proper# U13(X1, X2, X3) -> proper# X3, proper# U31(X1, X2, X3) -> U31#(proper X1, proper X2, proper X3))
    (proper# U13(X1, X2, X3) -> proper# X3, proper# U32(X1, X2, X3) -> proper# X3)
    (proper# U13(X1, X2, X3) -> proper# X3, proper# U32(X1, X2, X3) -> proper# X2)
    (proper# U13(X1, X2, X3) -> proper# X3, proper# U32(X1, X2, X3) -> proper# X1)
    (proper# U13(X1, X2, X3) -> proper# X3, proper# U32(X1, X2, X3) -> U32#(proper X1, proper X2, proper X3))
    (proper# U13(X1, X2, X3) -> proper# X3, proper# U23 X -> proper# X)
    (proper# U13(X1, X2, X3) -> proper# X3, proper# U23 X -> U23# proper X)
    (proper# U13(X1, X2, X3) -> proper# X3, proper# U21(X1, X2) -> proper# X2)
    (proper# U13(X1, X2, X3) -> proper# X3, proper# U21(X1, X2) -> proper# X1)
    (proper# U13(X1, X2, X3) -> proper# X3, proper# U21(X1, X2) -> U21#(proper X1, proper X2))
    (proper# U13(X1, X2, X3) -> proper# X3, proper# U22(X1, X2) -> proper# X2)
    (proper# U13(X1, X2, X3) -> proper# X3, proper# U22(X1, X2) -> proper# X1)
    (proper# U13(X1, X2, X3) -> proper# X3, proper# U22(X1, X2) -> U22#(proper X1, proper X2))
    (proper# U13(X1, X2, X3) -> proper# X3, proper# U16 X -> proper# X)
    (proper# U13(X1, X2, X3) -> proper# X3, proper# U16 X -> U16# proper X)
    (proper# U13(X1, X2, X3) -> proper# X3, proper# U15(X1, X2) -> proper# X2)
    (proper# U13(X1, X2, X3) -> proper# X3, proper# U15(X1, X2) -> proper# X1)
    (proper# U13(X1, X2, X3) -> proper# X3, proper# U15(X1, X2) -> U15#(proper X1, proper X2))
    (proper# U13(X1, X2, X3) -> proper# X3, proper# U14(X1, X2, X3) -> proper# X3)
    (proper# U13(X1, X2, X3) -> proper# X3, proper# U14(X1, X2, X3) -> proper# X2)
    (proper# U13(X1, X2, X3) -> proper# X3, proper# U14(X1, X2, X3) -> proper# X1)
    (proper# U13(X1, X2, X3) -> proper# X3, proper# U14(X1, X2, X3) -> U14#(proper X1, proper X2, proper X3))
    (proper# U13(X1, X2, X3) -> proper# X3, proper# U13(X1, X2, X3) -> proper# X3)
    (proper# U13(X1, X2, X3) -> proper# X3, proper# U13(X1, X2, X3) -> proper# X2)
    (proper# U13(X1, X2, X3) -> proper# X3, proper# U13(X1, X2, X3) -> proper# X1)
    (proper# U13(X1, X2, X3) -> proper# X3, proper# U13(X1, X2, X3) -> U13#(proper X1, proper X2, proper X3))
    (proper# U13(X1, X2, X3) -> proper# X3, proper# U11(X1, X2, X3) -> proper# X3)
    (proper# U13(X1, X2, X3) -> proper# X3, proper# U11(X1, X2, X3) -> proper# X2)
    (proper# U13(X1, X2, X3) -> proper# X3, proper# U11(X1, X2, X3) -> proper# X1)
    (proper# U13(X1, X2, X3) -> proper# X3, proper# U11(X1, X2, X3) -> U11#(proper X1, proper X2, proper X3))
    (proper# U13(X1, X2, X3) -> proper# X3, proper# U12(X1, X2, X3) -> proper# X3)
    (proper# U13(X1, X2, X3) -> proper# X3, proper# U12(X1, X2, X3) -> proper# X2)
    (proper# U13(X1, X2, X3) -> proper# X3, proper# U12(X1, X2, X3) -> proper# X1)
    (proper# U13(X1, X2, X3) -> proper# X3, proper# U12(X1, X2, X3) -> U12#(proper X1, proper X2, proper X3))
    (proper# U13(X1, X2, X3) -> proper# X3, proper# x(X1, X2) -> proper# X2)
    (proper# U13(X1, X2, X3) -> proper# X3, proper# x(X1, X2) -> proper# X1)
    (proper# U13(X1, X2, X3) -> proper# X3, proper# x(X1, X2) -> x#(proper X1, proper X2))
    (proper# U13(X1, X2, X3) -> proper# X3, proper# plus(X1, X2) -> proper# X2)
    (proper# U13(X1, X2, X3) -> proper# X3, proper# plus(X1, X2) -> proper# X1)
    (proper# U13(X1, X2, X3) -> proper# X3, proper# plus(X1, X2) -> plus#(proper X1, proper X2))
    (proper# U13(X1, X2, X3) -> proper# X3, proper# U104(X1, X2, X3) -> proper# X3)
    (proper# U13(X1, X2, X3) -> proper# X3, proper# U104(X1, X2, X3) -> proper# X2)
    (proper# U13(X1, X2, X3) -> proper# X3, proper# U104(X1, X2, X3) -> proper# X1)
    (proper# U13(X1, X2, X3) -> proper# X3, proper# U104(X1, X2, X3) -> U104#(proper X1, proper X2, proper X3))
    (proper# U13(X1, X2, X3) -> proper# X3, proper# isNat X -> proper# X)
    (proper# U13(X1, X2, X3) -> proper# X3, proper# isNat X -> isNat# proper X)
    (proper# U13(X1, X2, X3) -> proper# X3, proper# U103(X1, X2, X3) -> proper# X3)
    (proper# U13(X1, X2, X3) -> proper# X3, proper# U103(X1, X2, X3) -> proper# X2)
    (proper# U13(X1, X2, X3) -> proper# X3, proper# U103(X1, X2, X3) -> proper# X1)
    (proper# U13(X1, X2, X3) -> proper# X3, proper# U103(X1, X2, X3) -> U103#(proper X1, proper X2, proper X3))
    (proper# U13(X1, X2, X3) -> proper# X3, proper# U101(X1, X2, X3) -> proper# X3)
    (proper# U13(X1, X2, X3) -> proper# X3, proper# U101(X1, X2, X3) -> proper# X2)
    (proper# U13(X1, X2, X3) -> proper# X3, proper# U101(X1, X2, X3) -> proper# X1)
    (proper# U13(X1, X2, X3) -> proper# X3, proper# U101(X1, X2, X3) -> U101#(proper X1, proper X2, proper X3))
    (proper# U13(X1, X2, X3) -> proper# X3, proper# isNatKind X -> proper# X)
    (proper# U13(X1, X2, X3) -> proper# X3, proper# isNatKind X -> isNatKind# proper X)
    (proper# U13(X1, X2, X3) -> proper# X3, proper# U102(X1, X2, X3) -> proper# X3)
    (proper# U13(X1, X2, X3) -> proper# X3, proper# U102(X1, X2, X3) -> proper# X2)
    (proper# U13(X1, X2, X3) -> proper# X3, proper# U102(X1, X2, X3) -> proper# X1)
    (proper# U13(X1, X2, X3) -> proper# X3, proper# U102(X1, X2, X3) -> U102#(proper X1, proper X2, proper X3))
    (proper# U32(X1, X2, X3) -> proper# X3, proper# U91(X1, X2) -> proper# X2)
    (proper# U32(X1, X2, X3) -> proper# X3, proper# U91(X1, X2) -> proper# X1)
    (proper# U32(X1, X2, X3) -> proper# X3, proper# U91(X1, X2) -> U91#(proper X1, proper X2))
    (proper# U32(X1, X2, X3) -> proper# X3, proper# U92 X -> proper# X)
    (proper# U32(X1, X2, X3) -> proper# X3, proper# U92 X -> U92# proper X)
    (proper# U32(X1, X2, X3) -> proper# X3, proper# s X -> proper# X)
    (proper# U32(X1, X2, X3) -> proper# X3, proper# s X -> s# proper X)
    (proper# U32(X1, X2, X3) -> proper# X3, proper# U84(X1, X2, X3) -> proper# X3)
    (proper# U32(X1, X2, X3) -> proper# X3, proper# U84(X1, X2, X3) -> proper# X2)
    (proper# U32(X1, X2, X3) -> proper# X3, proper# U84(X1, X2, X3) -> proper# X1)
    (proper# U32(X1, X2, X3) -> proper# X3, proper# U84(X1, X2, X3) -> U84#(proper X1, proper X2, proper X3))
    (proper# U32(X1, X2, X3) -> proper# X3, proper# U83(X1, X2, X3) -> proper# X3)
    (proper# U32(X1, X2, X3) -> proper# X3, proper# U83(X1, X2, X3) -> proper# X2)
    (proper# U32(X1, X2, X3) -> proper# X3, proper# U83(X1, X2, X3) -> proper# X1)
    (proper# U32(X1, X2, X3) -> proper# X3, proper# U83(X1, X2, X3) -> U83#(proper X1, proper X2, proper X3))
    (proper# U32(X1, X2, X3) -> proper# X3, proper# U81(X1, X2, X3) -> proper# X3)
    (proper# U32(X1, X2, X3) -> proper# X3, proper# U81(X1, X2, X3) -> proper# X2)
    (proper# U32(X1, X2, X3) -> proper# X3, proper# U81(X1, X2, X3) -> proper# X1)
    (proper# U32(X1, X2, X3) -> proper# X3, proper# U81(X1, X2, X3) -> U81#(proper X1, proper X2, proper X3))
    (proper# U32(X1, X2, X3) -> proper# X3, proper# U82(X1, X2, X3) -> proper# X3)
    (proper# U32(X1, X2, X3) -> proper# X3, proper# U82(X1, X2, X3) -> proper# X2)
    (proper# U32(X1, X2, X3) -> proper# X3, proper# U82(X1, X2, X3) -> proper# X1)
    (proper# U32(X1, X2, X3) -> proper# X3, proper# U82(X1, X2, X3) -> U82#(proper X1, proper X2, proper X3))
    (proper# U32(X1, X2, X3) -> proper# X3, proper# U71(X1, X2) -> proper# X2)
    (proper# U32(X1, X2, X3) -> proper# X3, proper# U71(X1, X2) -> proper# X1)
    (proper# U32(X1, X2, X3) -> proper# X3, proper# U71(X1, X2) -> U71#(proper X1, proper X2))
    (proper# U32(X1, X2, X3) -> proper# X3, proper# U72(X1, X2) -> proper# X2)
    (proper# U32(X1, X2, X3) -> proper# X3, proper# U72(X1, X2) -> proper# X1)
    (proper# U32(X1, X2, X3) -> proper# X3, proper# U72(X1, X2) -> U72#(proper X1, proper X2))
    (proper# U32(X1, X2, X3) -> proper# X3, proper# U61(X1, X2) -> proper# X2)
    (proper# U32(X1, X2, X3) -> proper# X3, proper# U61(X1, X2) -> proper# X1)
    (proper# U32(X1, X2, X3) -> proper# X3, proper# U61(X1, X2) -> U61#(proper X1, proper X2))
    (proper# U32(X1, X2, X3) -> proper# X3, proper# U62 X -> proper# X)
    (proper# U32(X1, X2, X3) -> proper# X3, proper# U62 X -> U62# proper X)
    (proper# U32(X1, X2, X3) -> proper# X3, proper# U51 X -> proper# X)
    (proper# U32(X1, X2, X3) -> proper# X3, proper# U51 X -> U51# proper X)
    (proper# U32(X1, X2, X3) -> proper# X3, proper# U41(X1, X2) -> proper# X2)
    (proper# U32(X1, X2, X3) -> proper# X3, proper# U41(X1, X2) -> proper# X1)
    (proper# U32(X1, X2, X3) -> proper# X3, proper# U41(X1, X2) -> U41#(proper X1, proper X2))
    (proper# U32(X1, X2, X3) -> proper# X3, proper# U42 X -> proper# X)
    (proper# U32(X1, X2, X3) -> proper# X3, proper# U42 X -> U42# proper X)
    (proper# U32(X1, X2, X3) -> proper# X3, proper# U36 X -> proper# X)
    (proper# U32(X1, X2, X3) -> proper# X3, proper# U36 X -> U36# proper X)
    (proper# U32(X1, X2, X3) -> proper# X3, proper# U35(X1, X2) -> proper# X2)
    (proper# U32(X1, X2, X3) -> proper# X3, proper# U35(X1, X2) -> proper# X1)
    (proper# U32(X1, X2, X3) -> proper# X3, proper# U35(X1, X2) -> U35#(proper X1, proper X2))
    (proper# U32(X1, X2, X3) -> proper# X3, proper# U34(X1, X2, X3) -> proper# X3)
    (proper# U32(X1, X2, X3) -> proper# X3, proper# U34(X1, X2, X3) -> proper# X2)
    (proper# U32(X1, X2, X3) -> proper# X3, proper# U34(X1, X2, X3) -> proper# X1)
    (proper# U32(X1, X2, X3) -> proper# X3, proper# U34(X1, X2, X3) -> U34#(proper X1, proper X2, proper X3))
    (proper# U32(X1, X2, X3) -> proper# X3, proper# U33(X1, X2, X3) -> proper# X3)
    (proper# U32(X1, X2, X3) -> proper# X3, proper# U33(X1, X2, X3) -> proper# X2)
    (proper# U32(X1, X2, X3) -> proper# X3, proper# U33(X1, X2, X3) -> proper# X1)
    (proper# U32(X1, X2, X3) -> proper# X3, proper# U33(X1, X2, X3) -> U33#(proper X1, proper X2, proper X3))
    (proper# U32(X1, X2, X3) -> proper# X3, proper# U31(X1, X2, X3) -> proper# X3)
    (proper# U32(X1, X2, X3) -> proper# X3, proper# U31(X1, X2, X3) -> proper# X2)
    (proper# U32(X1, X2, X3) -> proper# X3, proper# U31(X1, X2, X3) -> proper# X1)
    (proper# U32(X1, X2, X3) -> proper# X3, proper# U31(X1, X2, X3) -> U31#(proper X1, proper X2, proper X3))
    (proper# U32(X1, X2, X3) -> proper# X3, proper# U32(X1, X2, X3) -> proper# X3)
    (proper# U32(X1, X2, X3) -> proper# X3, proper# U32(X1, X2, X3) -> proper# X2)
    (proper# U32(X1, X2, X3) -> proper# X3, proper# U32(X1, X2, X3) -> proper# X1)
    (proper# U32(X1, X2, X3) -> proper# X3, proper# U32(X1, X2, X3) -> U32#(proper X1, proper X2, proper X3))
    (proper# U32(X1, X2, X3) -> proper# X3, proper# U23 X -> proper# X)
    (proper# U32(X1, X2, X3) -> proper# X3, proper# U23 X -> U23# proper X)
    (proper# U32(X1, X2, X3) -> proper# X3, proper# U21(X1, X2) -> proper# X2)
    (proper# U32(X1, X2, X3) -> proper# X3, proper# U21(X1, X2) -> proper# X1)
    (proper# U32(X1, X2, X3) -> proper# X3, proper# U21(X1, X2) -> U21#(proper X1, proper X2))
    (proper# U32(X1, X2, X3) -> proper# X3, proper# U22(X1, X2) -> proper# X2)
    (proper# U32(X1, X2, X3) -> proper# X3, proper# U22(X1, X2) -> proper# X1)
    (proper# U32(X1, X2, X3) -> proper# X3, proper# U22(X1, X2) -> U22#(proper X1, proper X2))
    (proper# U32(X1, X2, X3) -> proper# X3, proper# U16 X -> proper# X)
    (proper# U32(X1, X2, X3) -> proper# X3, proper# U16 X -> U16# proper X)
    (proper# U32(X1, X2, X3) -> proper# X3, proper# U15(X1, X2) -> proper# X2)
    (proper# U32(X1, X2, X3) -> proper# X3, proper# U15(X1, X2) -> proper# X1)
    (proper# U32(X1, X2, X3) -> proper# X3, proper# U15(X1, X2) -> U15#(proper X1, proper X2))
    (proper# U32(X1, X2, X3) -> proper# X3, proper# U14(X1, X2, X3) -> proper# X3)
    (proper# U32(X1, X2, X3) -> proper# X3, proper# U14(X1, X2, X3) -> proper# X2)
    (proper# U32(X1, X2, X3) -> proper# X3, proper# U14(X1, X2, X3) -> proper# X1)
    (proper# U32(X1, X2, X3) -> proper# X3, proper# U14(X1, X2, X3) -> U14#(proper X1, proper X2, proper X3))
    (proper# U32(X1, X2, X3) -> proper# X3, proper# U13(X1, X2, X3) -> proper# X3)
    (proper# U32(X1, X2, X3) -> proper# X3, proper# U13(X1, X2, X3) -> proper# X2)
    (proper# U32(X1, X2, X3) -> proper# X3, proper# U13(X1, X2, X3) -> proper# X1)
    (proper# U32(X1, X2, X3) -> proper# X3, proper# U13(X1, X2, X3) -> U13#(proper X1, proper X2, proper X3))
    (proper# U32(X1, X2, X3) -> proper# X3, proper# U11(X1, X2, X3) -> proper# X3)
    (proper# U32(X1, X2, X3) -> proper# X3, proper# U11(X1, X2, X3) -> proper# X2)
    (proper# U32(X1, X2, X3) -> proper# X3, proper# U11(X1, X2, X3) -> proper# X1)
    (proper# U32(X1, X2, X3) -> proper# X3, proper# U11(X1, X2, X3) -> U11#(proper X1, proper X2, proper X3))
    (proper# U32(X1, X2, X3) -> proper# X3, proper# U12(X1, X2, X3) -> proper# X3)
    (proper# U32(X1, X2, X3) -> proper# X3, proper# U12(X1, X2, X3) -> proper# X2)
    (proper# U32(X1, X2, X3) -> proper# X3, proper# U12(X1, X2, X3) -> proper# X1)
    (proper# U32(X1, X2, X3) -> proper# X3, proper# U12(X1, X2, X3) -> U12#(proper X1, proper X2, proper X3))
    (proper# U32(X1, X2, X3) -> proper# X3, proper# x(X1, X2) -> proper# X2)
    (proper# U32(X1, X2, X3) -> proper# X3, proper# x(X1, X2) -> proper# X1)
    (proper# U32(X1, X2, X3) -> proper# X3, proper# x(X1, X2) -> x#(proper X1, proper X2))
    (proper# U32(X1, X2, X3) -> proper# X3, proper# plus(X1, X2) -> proper# X2)
    (proper# U32(X1, X2, X3) -> proper# X3, proper# plus(X1, X2) -> proper# X1)
    (proper# U32(X1, X2, X3) -> proper# X3, proper# plus(X1, X2) -> plus#(proper X1, proper X2))
    (proper# U32(X1, X2, X3) -> proper# X3, proper# U104(X1, X2, X3) -> proper# X3)
    (proper# U32(X1, X2, X3) -> proper# X3, proper# U104(X1, X2, X3) -> proper# X2)
    (proper# U32(X1, X2, X3) -> proper# X3, proper# U104(X1, X2, X3) -> proper# X1)
    (proper# U32(X1, X2, X3) -> proper# X3, proper# U104(X1, X2, X3) -> U104#(proper X1, proper X2, proper X3))
    (proper# U32(X1, X2, X3) -> proper# X3, proper# isNat X -> proper# X)
    (proper# U32(X1, X2, X3) -> proper# X3, proper# isNat X -> isNat# proper X)
    (proper# U32(X1, X2, X3) -> proper# X3, proper# U103(X1, X2, X3) -> proper# X3)
    (proper# U32(X1, X2, X3) -> proper# X3, proper# U103(X1, X2, X3) -> proper# X2)
    (proper# U32(X1, X2, X3) -> proper# X3, proper# U103(X1, X2, X3) -> proper# X1)
    (proper# U32(X1, X2, X3) -> proper# X3, proper# U103(X1, X2, X3) -> U103#(proper X1, proper X2, proper X3))
    (proper# U32(X1, X2, X3) -> proper# X3, proper# U101(X1, X2, X3) -> proper# X3)
    (proper# U32(X1, X2, X3) -> proper# X3, proper# U101(X1, X2, X3) -> proper# X2)
    (proper# U32(X1, X2, X3) -> proper# X3, proper# U101(X1, X2, X3) -> proper# X1)
    (proper# U32(X1, X2, X3) -> proper# X3, proper# U101(X1, X2, X3) -> U101#(proper X1, proper X2, proper X3))
    (proper# U32(X1, X2, X3) -> proper# X3, proper# isNatKind X -> proper# X)
    (proper# U32(X1, X2, X3) -> proper# X3, proper# isNatKind X -> isNatKind# proper X)
    (proper# U32(X1, X2, X3) -> proper# X3, proper# U102(X1, X2, X3) -> proper# X3)
    (proper# U32(X1, X2, X3) -> proper# X3, proper# U102(X1, X2, X3) -> proper# X2)
    (proper# U32(X1, X2, X3) -> proper# X3, proper# U102(X1, X2, X3) -> proper# X1)
    (proper# U32(X1, X2, X3) -> proper# X3, proper# U102(X1, X2, X3) -> U102#(proper X1, proper X2, proper X3))
    (proper# U33(X1, X2, X3) -> proper# X3, proper# U91(X1, X2) -> proper# X2)
    (proper# U33(X1, X2, X3) -> proper# X3, proper# U91(X1, X2) -> proper# X1)
    (proper# U33(X1, X2, X3) -> proper# X3, proper# U91(X1, X2) -> U91#(proper X1, proper X2))
    (proper# U33(X1, X2, X3) -> proper# X3, proper# U92 X -> proper# X)
    (proper# U33(X1, X2, X3) -> proper# X3, proper# U92 X -> U92# proper X)
    (proper# U33(X1, X2, X3) -> proper# X3, proper# s X -> proper# X)
    (proper# U33(X1, X2, X3) -> proper# X3, proper# s X -> s# proper X)
    (proper# U33(X1, X2, X3) -> proper# X3, proper# U84(X1, X2, X3) -> proper# X3)
    (proper# U33(X1, X2, X3) -> proper# X3, proper# U84(X1, X2, X3) -> proper# X2)
    (proper# U33(X1, X2, X3) -> proper# X3, proper# U84(X1, X2, X3) -> proper# X1)
    (proper# U33(X1, X2, X3) -> proper# X3, proper# U84(X1, X2, X3) -> U84#(proper X1, proper X2, proper X3))
    (proper# U33(X1, X2, X3) -> proper# X3, proper# U83(X1, X2, X3) -> proper# X3)
    (proper# U33(X1, X2, X3) -> proper# X3, proper# U83(X1, X2, X3) -> proper# X2)
    (proper# U33(X1, X2, X3) -> proper# X3, proper# U83(X1, X2, X3) -> proper# X1)
    (proper# U33(X1, X2, X3) -> proper# X3, proper# U83(X1, X2, X3) -> U83#(proper X1, proper X2, proper X3))
    (proper# U33(X1, X2, X3) -> proper# X3, proper# U81(X1, X2, X3) -> proper# X3)
    (proper# U33(X1, X2, X3) -> proper# X3, proper# U81(X1, X2, X3) -> proper# X2)
    (proper# U33(X1, X2, X3) -> proper# X3, proper# U81(X1, X2, X3) -> proper# X1)
    (proper# U33(X1, X2, X3) -> proper# X3, proper# U81(X1, X2, X3) -> U81#(proper X1, proper X2, proper X3))
    (proper# U33(X1, X2, X3) -> proper# X3, proper# U82(X1, X2, X3) -> proper# X3)
    (proper# U33(X1, X2, X3) -> proper# X3, proper# U82(X1, X2, X3) -> proper# X2)
    (proper# U33(X1, X2, X3) -> proper# X3, proper# U82(X1, X2, X3) -> proper# X1)
    (proper# U33(X1, X2, X3) -> proper# X3, proper# U82(X1, X2, X3) -> U82#(proper X1, proper X2, proper X3))
    (proper# U33(X1, X2, X3) -> proper# X3, proper# U71(X1, X2) -> proper# X2)
    (proper# U33(X1, X2, X3) -> proper# X3, proper# U71(X1, X2) -> proper# X1)
    (proper# U33(X1, X2, X3) -> proper# X3, proper# U71(X1, X2) -> U71#(proper X1, proper X2))
    (proper# U33(X1, X2, X3) -> proper# X3, proper# U72(X1, X2) -> proper# X2)
    (proper# U33(X1, X2, X3) -> proper# X3, proper# U72(X1, X2) -> proper# X1)
    (proper# U33(X1, X2, X3) -> proper# X3, proper# U72(X1, X2) -> U72#(proper X1, proper X2))
    (proper# U33(X1, X2, X3) -> proper# X3, proper# U61(X1, X2) -> proper# X2)
    (proper# U33(X1, X2, X3) -> proper# X3, proper# U61(X1, X2) -> proper# X1)
    (proper# U33(X1, X2, X3) -> proper# X3, proper# U61(X1, X2) -> U61#(proper X1, proper X2))
    (proper# U33(X1, X2, X3) -> proper# X3, proper# U62 X -> proper# X)
    (proper# U33(X1, X2, X3) -> proper# X3, proper# U62 X -> U62# proper X)
    (proper# U33(X1, X2, X3) -> proper# X3, proper# U51 X -> proper# X)
    (proper# U33(X1, X2, X3) -> proper# X3, proper# U51 X -> U51# proper X)
    (proper# U33(X1, X2, X3) -> proper# X3, proper# U41(X1, X2) -> proper# X2)
    (proper# U33(X1, X2, X3) -> proper# X3, proper# U41(X1, X2) -> proper# X1)
    (proper# U33(X1, X2, X3) -> proper# X3, proper# U41(X1, X2) -> U41#(proper X1, proper X2))
    (proper# U33(X1, X2, X3) -> proper# X3, proper# U42 X -> proper# X)
    (proper# U33(X1, X2, X3) -> proper# X3, proper# U42 X -> U42# proper X)
    (proper# U33(X1, X2, X3) -> proper# X3, proper# U36 X -> proper# X)
    (proper# U33(X1, X2, X3) -> proper# X3, proper# U36 X -> U36# proper X)
    (proper# U33(X1, X2, X3) -> proper# X3, proper# U35(X1, X2) -> proper# X2)
    (proper# U33(X1, X2, X3) -> proper# X3, proper# U35(X1, X2) -> proper# X1)
    (proper# U33(X1, X2, X3) -> proper# X3, proper# U35(X1, X2) -> U35#(proper X1, proper X2))
    (proper# U33(X1, X2, X3) -> proper# X3, proper# U34(X1, X2, X3) -> proper# X3)
    (proper# U33(X1, X2, X3) -> proper# X3, proper# U34(X1, X2, X3) -> proper# X2)
    (proper# U33(X1, X2, X3) -> proper# X3, proper# U34(X1, X2, X3) -> proper# X1)
    (proper# U33(X1, X2, X3) -> proper# X3, proper# U34(X1, X2, X3) -> U34#(proper X1, proper X2, proper X3))
    (proper# U33(X1, X2, X3) -> proper# X3, proper# U33(X1, X2, X3) -> proper# X3)
    (proper# U33(X1, X2, X3) -> proper# X3, proper# U33(X1, X2, X3) -> proper# X2)
    (proper# U33(X1, X2, X3) -> proper# X3, proper# U33(X1, X2, X3) -> proper# X1)
    (proper# U33(X1, X2, X3) -> proper# X3, proper# U33(X1, X2, X3) -> U33#(proper X1, proper X2, proper X3))
    (proper# U33(X1, X2, X3) -> proper# X3, proper# U31(X1, X2, X3) -> proper# X3)
    (proper# U33(X1, X2, X3) -> proper# X3, proper# U31(X1, X2, X3) -> proper# X2)
    (proper# U33(X1, X2, X3) -> proper# X3, proper# U31(X1, X2, X3) -> proper# X1)
    (proper# U33(X1, X2, X3) -> proper# X3, proper# U31(X1, X2, X3) -> U31#(proper X1, proper X2, proper X3))
    (proper# U33(X1, X2, X3) -> proper# X3, proper# U32(X1, X2, X3) -> proper# X3)
    (proper# U33(X1, X2, X3) -> proper# X3, proper# U32(X1, X2, X3) -> proper# X2)
    (proper# U33(X1, X2, X3) -> proper# X3, proper# U32(X1, X2, X3) -> proper# X1)
    (proper# U33(X1, X2, X3) -> proper# X3, proper# U32(X1, X2, X3) -> U32#(proper X1, proper X2, proper X3))
    (proper# U33(X1, X2, X3) -> proper# X3, proper# U23 X -> proper# X)
    (proper# U33(X1, X2, X3) -> proper# X3, proper# U23 X -> U23# proper X)
    (proper# U33(X1, X2, X3) -> proper# X3, proper# U21(X1, X2) -> proper# X2)
    (proper# U33(X1, X2, X3) -> proper# X3, proper# U21(X1, X2) -> proper# X1)
    (proper# U33(X1, X2, X3) -> proper# X3, proper# U21(X1, X2) -> U21#(proper X1, proper X2))
    (proper# U33(X1, X2, X3) -> proper# X3, proper# U22(X1, X2) -> proper# X2)
    (proper# U33(X1, X2, X3) -> proper# X3, proper# U22(X1, X2) -> proper# X1)
    (proper# U33(X1, X2, X3) -> proper# X3, proper# U22(X1, X2) -> U22#(proper X1, proper X2))
    (proper# U33(X1, X2, X3) -> proper# X3, proper# U16 X -> proper# X)
    (proper# U33(X1, X2, X3) -> proper# X3, proper# U16 X -> U16# proper X)
    (proper# U33(X1, X2, X3) -> proper# X3, proper# U15(X1, X2) -> proper# X2)
    (proper# U33(X1, X2, X3) -> proper# X3, proper# U15(X1, X2) -> proper# X1)
    (proper# U33(X1, X2, X3) -> proper# X3, proper# U15(X1, X2) -> U15#(proper X1, proper X2))
    (proper# U33(X1, X2, X3) -> proper# X3, proper# U14(X1, X2, X3) -> proper# X3)
    (proper# U33(X1, X2, X3) -> proper# X3, proper# U14(X1, X2, X3) -> proper# X2)
    (proper# U33(X1, X2, X3) -> proper# X3, proper# U14(X1, X2, X3) -> proper# X1)
    (proper# U33(X1, X2, X3) -> proper# X3, proper# U14(X1, X2, X3) -> U14#(proper X1, proper X2, proper X3))
    (proper# U33(X1, X2, X3) -> proper# X3, proper# U13(X1, X2, X3) -> proper# X3)
    (proper# U33(X1, X2, X3) -> proper# X3, proper# U13(X1, X2, X3) -> proper# X2)
    (proper# U33(X1, X2, X3) -> proper# X3, proper# U13(X1, X2, X3) -> proper# X1)
    (proper# U33(X1, X2, X3) -> proper# X3, proper# U13(X1, X2, X3) -> U13#(proper X1, proper X2, proper X3))
    (proper# U33(X1, X2, X3) -> proper# X3, proper# U11(X1, X2, X3) -> proper# X3)
    (proper# U33(X1, X2, X3) -> proper# X3, proper# U11(X1, X2, X3) -> proper# X2)
    (proper# U33(X1, X2, X3) -> proper# X3, proper# U11(X1, X2, X3) -> proper# X1)
    (proper# U33(X1, X2, X3) -> proper# X3, proper# U11(X1, X2, X3) -> U11#(proper X1, proper X2, proper X3))
    (proper# U33(X1, X2, X3) -> proper# X3, proper# U12(X1, X2, X3) -> proper# X3)
    (proper# U33(X1, X2, X3) -> proper# X3, proper# U12(X1, X2, X3) -> proper# X2)
    (proper# U33(X1, X2, X3) -> proper# X3, proper# U12(X1, X2, X3) -> proper# X1)
    (proper# U33(X1, X2, X3) -> proper# X3, proper# U12(X1, X2, X3) -> U12#(proper X1, proper X2, proper X3))
    (proper# U33(X1, X2, X3) -> proper# X3, proper# x(X1, X2) -> proper# X2)
    (proper# U33(X1, X2, X3) -> proper# X3, proper# x(X1, X2) -> proper# X1)
    (proper# U33(X1, X2, X3) -> proper# X3, proper# x(X1, X2) -> x#(proper X1, proper X2))
    (proper# U33(X1, X2, X3) -> proper# X3, proper# plus(X1, X2) -> proper# X2)
    (proper# U33(X1, X2, X3) -> proper# X3, proper# plus(X1, X2) -> proper# X1)
    (proper# U33(X1, X2, X3) -> proper# X3, proper# plus(X1, X2) -> plus#(proper X1, proper X2))
    (proper# U33(X1, X2, X3) -> proper# X3, proper# U104(X1, X2, X3) -> proper# X3)
    (proper# U33(X1, X2, X3) -> proper# X3, proper# U104(X1, X2, X3) -> proper# X2)
    (proper# U33(X1, X2, X3) -> proper# X3, proper# U104(X1, X2, X3) -> proper# X1)
    (proper# U33(X1, X2, X3) -> proper# X3, proper# U104(X1, X2, X3) -> U104#(proper X1, proper X2, proper X3))
    (proper# U33(X1, X2, X3) -> proper# X3, proper# isNat X -> proper# X)
    (proper# U33(X1, X2, X3) -> proper# X3, proper# isNat X -> isNat# proper X)
    (proper# U33(X1, X2, X3) -> proper# X3, proper# U103(X1, X2, X3) -> proper# X3)
    (proper# U33(X1, X2, X3) -> proper# X3, proper# U103(X1, X2, X3) -> proper# X2)
    (proper# U33(X1, X2, X3) -> proper# X3, proper# U103(X1, X2, X3) -> proper# X1)
    (proper# U33(X1, X2, X3) -> proper# X3, proper# U103(X1, X2, X3) -> U103#(proper X1, proper X2, proper X3))
    (proper# U33(X1, X2, X3) -> proper# X3, proper# U101(X1, X2, X3) -> proper# X3)
    (proper# U33(X1, X2, X3) -> proper# X3, proper# U101(X1, X2, X3) -> proper# X2)
    (proper# U33(X1, X2, X3) -> proper# X3, proper# U101(X1, X2, X3) -> proper# X1)
    (proper# U33(X1, X2, X3) -> proper# X3, proper# U101(X1, X2, X3) -> U101#(proper X1, proper X2, proper X3))
    (proper# U33(X1, X2, X3) -> proper# X3, proper# isNatKind X -> proper# X)
    (proper# U33(X1, X2, X3) -> proper# X3, proper# isNatKind X -> isNatKind# proper X)
    (proper# U33(X1, X2, X3) -> proper# X3, proper# U102(X1, X2, X3) -> proper# X3)
    (proper# U33(X1, X2, X3) -> proper# X3, proper# U102(X1, X2, X3) -> proper# X2)
    (proper# U33(X1, X2, X3) -> proper# X3, proper# U102(X1, X2, X3) -> proper# X1)
    (proper# U33(X1, X2, X3) -> proper# X3, proper# U102(X1, X2, X3) -> U102#(proper X1, proper X2, proper X3))
    (proper# U82(X1, X2, X3) -> proper# X3, proper# U91(X1, X2) -> proper# X2)
    (proper# U82(X1, X2, X3) -> proper# X3, proper# U91(X1, X2) -> proper# X1)
    (proper# U82(X1, X2, X3) -> proper# X3, proper# U91(X1, X2) -> U91#(proper X1, proper X2))
    (proper# U82(X1, X2, X3) -> proper# X3, proper# U92 X -> proper# X)
    (proper# U82(X1, X2, X3) -> proper# X3, proper# U92 X -> U92# proper X)
    (proper# U82(X1, X2, X3) -> proper# X3, proper# s X -> proper# X)
    (proper# U82(X1, X2, X3) -> proper# X3, proper# s X -> s# proper X)
    (proper# U82(X1, X2, X3) -> proper# X3, proper# U84(X1, X2, X3) -> proper# X3)
    (proper# U82(X1, X2, X3) -> proper# X3, proper# U84(X1, X2, X3) -> proper# X2)
    (proper# U82(X1, X2, X3) -> proper# X3, proper# U84(X1, X2, X3) -> proper# X1)
    (proper# U82(X1, X2, X3) -> proper# X3, proper# U84(X1, X2, X3) -> U84#(proper X1, proper X2, proper X3))
    (proper# U82(X1, X2, X3) -> proper# X3, proper# U83(X1, X2, X3) -> proper# X3)
    (proper# U82(X1, X2, X3) -> proper# X3, proper# U83(X1, X2, X3) -> proper# X2)
    (proper# U82(X1, X2, X3) -> proper# X3, proper# U83(X1, X2, X3) -> proper# X1)
    (proper# U82(X1, X2, X3) -> proper# X3, proper# U83(X1, X2, X3) -> U83#(proper X1, proper X2, proper X3))
    (proper# U82(X1, X2, X3) -> proper# X3, proper# U81(X1, X2, X3) -> proper# X3)
    (proper# U82(X1, X2, X3) -> proper# X3, proper# U81(X1, X2, X3) -> proper# X2)
    (proper# U82(X1, X2, X3) -> proper# X3, proper# U81(X1, X2, X3) -> proper# X1)
    (proper# U82(X1, X2, X3) -> proper# X3, proper# U81(X1, X2, X3) -> U81#(proper X1, proper X2, proper X3))
    (proper# U82(X1, X2, X3) -> proper# X3, proper# U82(X1, X2, X3) -> proper# X3)
    (proper# U82(X1, X2, X3) -> proper# X3, proper# U82(X1, X2, X3) -> proper# X2)
    (proper# U82(X1, X2, X3) -> proper# X3, proper# U82(X1, X2, X3) -> proper# X1)
    (proper# U82(X1, X2, X3) -> proper# X3, proper# U82(X1, X2, X3) -> U82#(proper X1, proper X2, proper X3))
    (proper# U82(X1, X2, X3) -> proper# X3, proper# U71(X1, X2) -> proper# X2)
    (proper# U82(X1, X2, X3) -> proper# X3, proper# U71(X1, X2) -> proper# X1)
    (proper# U82(X1, X2, X3) -> proper# X3, proper# U71(X1, X2) -> U71#(proper X1, proper X2))
    (proper# U82(X1, X2, X3) -> proper# X3, proper# U72(X1, X2) -> proper# X2)
    (proper# U82(X1, X2, X3) -> proper# X3, proper# U72(X1, X2) -> proper# X1)
    (proper# U82(X1, X2, X3) -> proper# X3, proper# U72(X1, X2) -> U72#(proper X1, proper X2))
    (proper# U82(X1, X2, X3) -> proper# X3, proper# U61(X1, X2) -> proper# X2)
    (proper# U82(X1, X2, X3) -> proper# X3, proper# U61(X1, X2) -> proper# X1)
    (proper# U82(X1, X2, X3) -> proper# X3, proper# U61(X1, X2) -> U61#(proper X1, proper X2))
    (proper# U82(X1, X2, X3) -> proper# X3, proper# U62 X -> proper# X)
    (proper# U82(X1, X2, X3) -> proper# X3, proper# U62 X -> U62# proper X)
    (proper# U82(X1, X2, X3) -> proper# X3, proper# U51 X -> proper# X)
    (proper# U82(X1, X2, X3) -> proper# X3, proper# U51 X -> U51# proper X)
    (proper# U82(X1, X2, X3) -> proper# X3, proper# U41(X1, X2) -> proper# X2)
    (proper# U82(X1, X2, X3) -> proper# X3, proper# U41(X1, X2) -> proper# X1)
    (proper# U82(X1, X2, X3) -> proper# X3, proper# U41(X1, X2) -> U41#(proper X1, proper X2))
    (proper# U82(X1, X2, X3) -> proper# X3, proper# U42 X -> proper# X)
    (proper# U82(X1, X2, X3) -> proper# X3, proper# U42 X -> U42# proper X)
    (proper# U82(X1, X2, X3) -> proper# X3, proper# U36 X -> proper# X)
    (proper# U82(X1, X2, X3) -> proper# X3, proper# U36 X -> U36# proper X)
    (proper# U82(X1, X2, X3) -> proper# X3, proper# U35(X1, X2) -> proper# X2)
    (proper# U82(X1, X2, X3) -> proper# X3, proper# U35(X1, X2) -> proper# X1)
    (proper# U82(X1, X2, X3) -> proper# X3, proper# U35(X1, X2) -> U35#(proper X1, proper X2))
    (proper# U82(X1, X2, X3) -> proper# X3, proper# U34(X1, X2, X3) -> proper# X3)
    (proper# U82(X1, X2, X3) -> proper# X3, proper# U34(X1, X2, X3) -> proper# X2)
    (proper# U82(X1, X2, X3) -> proper# X3, proper# U34(X1, X2, X3) -> proper# X1)
    (proper# U82(X1, X2, X3) -> proper# X3, proper# U34(X1, X2, X3) -> U34#(proper X1, proper X2, proper X3))
    (proper# U82(X1, X2, X3) -> proper# X3, proper# U33(X1, X2, X3) -> proper# X3)
    (proper# U82(X1, X2, X3) -> proper# X3, proper# U33(X1, X2, X3) -> proper# X2)
    (proper# U82(X1, X2, X3) -> proper# X3, proper# U33(X1, X2, X3) -> proper# X1)
    (proper# U82(X1, X2, X3) -> proper# X3, proper# U33(X1, X2, X3) -> U33#(proper X1, proper X2, proper X3))
    (proper# U82(X1, X2, X3) -> proper# X3, proper# U31(X1, X2, X3) -> proper# X3)
    (proper# U82(X1, X2, X3) -> proper# X3, proper# U31(X1, X2, X3) -> proper# X2)
    (proper# U82(X1, X2, X3) -> proper# X3, proper# U31(X1, X2, X3) -> proper# X1)
    (proper# U82(X1, X2, X3) -> proper# X3, proper# U31(X1, X2, X3) -> U31#(proper X1, proper X2, proper X3))
    (proper# U82(X1, X2, X3) -> proper# X3, proper# U32(X1, X2, X3) -> proper# X3)
    (proper# U82(X1, X2, X3) -> proper# X3, proper# U32(X1, X2, X3) -> proper# X2)
    (proper# U82(X1, X2, X3) -> proper# X3, proper# U32(X1, X2, X3) -> proper# X1)
    (proper# U82(X1, X2, X3) -> proper# X3, proper# U32(X1, X2, X3) -> U32#(proper X1, proper X2, proper X3))
    (proper# U82(X1, X2, X3) -> proper# X3, proper# U23 X -> proper# X)
    (proper# U82(X1, X2, X3) -> proper# X3, proper# U23 X -> U23# proper X)
    (proper# U82(X1, X2, X3) -> proper# X3, proper# U21(X1, X2) -> proper# X2)
    (proper# U82(X1, X2, X3) -> proper# X3, proper# U21(X1, X2) -> proper# X1)
    (proper# U82(X1, X2, X3) -> proper# X3, proper# U21(X1, X2) -> U21#(proper X1, proper X2))
    (proper# U82(X1, X2, X3) -> proper# X3, proper# U22(X1, X2) -> proper# X2)
    (proper# U82(X1, X2, X3) -> proper# X3, proper# U22(X1, X2) -> proper# X1)
    (proper# U82(X1, X2, X3) -> proper# X3, proper# U22(X1, X2) -> U22#(proper X1, proper X2))
    (proper# U82(X1, X2, X3) -> proper# X3, proper# U16 X -> proper# X)
    (proper# U82(X1, X2, X3) -> proper# X3, proper# U16 X -> U16# proper X)
    (proper# U82(X1, X2, X3) -> proper# X3, proper# U15(X1, X2) -> proper# X2)
    (proper# U82(X1, X2, X3) -> proper# X3, proper# U15(X1, X2) -> proper# X1)
    (proper# U82(X1, X2, X3) -> proper# X3, proper# U15(X1, X2) -> U15#(proper X1, proper X2))
    (proper# U82(X1, X2, X3) -> proper# X3, proper# U14(X1, X2, X3) -> proper# X3)
    (proper# U82(X1, X2, X3) -> proper# X3, proper# U14(X1, X2, X3) -> proper# X2)
    (proper# U82(X1, X2, X3) -> proper# X3, proper# U14(X1, X2, X3) -> proper# X1)
    (proper# U82(X1, X2, X3) -> proper# X3, proper# U14(X1, X2, X3) -> U14#(proper X1, proper X2, proper X3))
    (proper# U82(X1, X2, X3) -> proper# X3, proper# U13(X1, X2, X3) -> proper# X3)
    (proper# U82(X1, X2, X3) -> proper# X3, proper# U13(X1, X2, X3) -> proper# X2)
    (proper# U82(X1, X2, X3) -> proper# X3, proper# U13(X1, X2, X3) -> proper# X1)
    (proper# U82(X1, X2, X3) -> proper# X3, proper# U13(X1, X2, X3) -> U13#(proper X1, proper X2, proper X3))
    (proper# U82(X1, X2, X3) -> proper# X3, proper# U11(X1, X2, X3) -> proper# X3)
    (proper# U82(X1, X2, X3) -> proper# X3, proper# U11(X1, X2, X3) -> proper# X2)
    (proper# U82(X1, X2, X3) -> proper# X3, proper# U11(X1, X2, X3) -> proper# X1)
    (proper# U82(X1, X2, X3) -> proper# X3, proper# U11(X1, X2, X3) -> U11#(proper X1, proper X2, proper X3))
    (proper# U82(X1, X2, X3) -> proper# X3, proper# U12(X1, X2, X3) -> proper# X3)
    (proper# U82(X1, X2, X3) -> proper# X3, proper# U12(X1, X2, X3) -> proper# X2)
    (proper# U82(X1, X2, X3) -> proper# X3, proper# U12(X1, X2, X3) -> proper# X1)
    (proper# U82(X1, X2, X3) -> proper# X3, proper# U12(X1, X2, X3) -> U12#(proper X1, proper X2, proper X3))
    (proper# U82(X1, X2, X3) -> proper# X3, proper# x(X1, X2) -> proper# X2)
    (proper# U82(X1, X2, X3) -> proper# X3, proper# x(X1, X2) -> proper# X1)
    (proper# U82(X1, X2, X3) -> proper# X3, proper# x(X1, X2) -> x#(proper X1, proper X2))
    (proper# U82(X1, X2, X3) -> proper# X3, proper# plus(X1, X2) -> proper# X2)
    (proper# U82(X1, X2, X3) -> proper# X3, proper# plus(X1, X2) -> proper# X1)
    (proper# U82(X1, X2, X3) -> proper# X3, proper# plus(X1, X2) -> plus#(proper X1, proper X2))
    (proper# U82(X1, X2, X3) -> proper# X3, proper# U104(X1, X2, X3) -> proper# X3)
    (proper# U82(X1, X2, X3) -> proper# X3, proper# U104(X1, X2, X3) -> proper# X2)
    (proper# U82(X1, X2, X3) -> proper# X3, proper# U104(X1, X2, X3) -> proper# X1)
    (proper# U82(X1, X2, X3) -> proper# X3, proper# U104(X1, X2, X3) -> U104#(proper X1, proper X2, proper X3))
    (proper# U82(X1, X2, X3) -> proper# X3, proper# isNat X -> proper# X)
    (proper# U82(X1, X2, X3) -> proper# X3, proper# isNat X -> isNat# proper X)
    (proper# U82(X1, X2, X3) -> proper# X3, proper# U103(X1, X2, X3) -> proper# X3)
    (proper# U82(X1, X2, X3) -> proper# X3, proper# U103(X1, X2, X3) -> proper# X2)
    (proper# U82(X1, X2, X3) -> proper# X3, proper# U103(X1, X2, X3) -> proper# X1)
    (proper# U82(X1, X2, X3) -> proper# X3, proper# U103(X1, X2, X3) -> U103#(proper X1, proper X2, proper X3))
    (proper# U82(X1, X2, X3) -> proper# X3, proper# U101(X1, X2, X3) -> proper# X3)
    (proper# U82(X1, X2, X3) -> proper# X3, proper# U101(X1, X2, X3) -> proper# X2)
    (proper# U82(X1, X2, X3) -> proper# X3, proper# U101(X1, X2, X3) -> proper# X1)
    (proper# U82(X1, X2, X3) -> proper# X3, proper# U101(X1, X2, X3) -> U101#(proper X1, proper X2, proper X3))
    (proper# U82(X1, X2, X3) -> proper# X3, proper# isNatKind X -> proper# X)
    (proper# U82(X1, X2, X3) -> proper# X3, proper# isNatKind X -> isNatKind# proper X)
    (proper# U82(X1, X2, X3) -> proper# X3, proper# U102(X1, X2, X3) -> proper# X3)
    (proper# U82(X1, X2, X3) -> proper# X3, proper# U102(X1, X2, X3) -> proper# X2)
    (proper# U82(X1, X2, X3) -> proper# X3, proper# U102(X1, X2, X3) -> proper# X1)
    (proper# U82(X1, X2, X3) -> proper# X3, proper# U102(X1, X2, X3) -> U102#(proper X1, proper X2, proper X3))
    (proper# U83(X1, X2, X3) -> proper# X3, proper# U91(X1, X2) -> proper# X2)
    (proper# U83(X1, X2, X3) -> proper# X3, proper# U91(X1, X2) -> proper# X1)
    (proper# U83(X1, X2, X3) -> proper# X3, proper# U91(X1, X2) -> U91#(proper X1, proper X2))
    (proper# U83(X1, X2, X3) -> proper# X3, proper# U92 X -> proper# X)
    (proper# U83(X1, X2, X3) -> proper# X3, proper# U92 X -> U92# proper X)
    (proper# U83(X1, X2, X3) -> proper# X3, proper# s X -> proper# X)
    (proper# U83(X1, X2, X3) -> proper# X3, proper# s X -> s# proper X)
    (proper# U83(X1, X2, X3) -> proper# X3, proper# U84(X1, X2, X3) -> proper# X3)
    (proper# U83(X1, X2, X3) -> proper# X3, proper# U84(X1, X2, X3) -> proper# X2)
    (proper# U83(X1, X2, X3) -> proper# X3, proper# U84(X1, X2, X3) -> proper# X1)
    (proper# U83(X1, X2, X3) -> proper# X3, proper# U84(X1, X2, X3) -> U84#(proper X1, proper X2, proper X3))
    (proper# U83(X1, X2, X3) -> proper# X3, proper# U83(X1, X2, X3) -> proper# X3)
    (proper# U83(X1, X2, X3) -> proper# X3, proper# U83(X1, X2, X3) -> proper# X2)
    (proper# U83(X1, X2, X3) -> proper# X3, proper# U83(X1, X2, X3) -> proper# X1)
    (proper# U83(X1, X2, X3) -> proper# X3, proper# U83(X1, X2, X3) -> U83#(proper X1, proper X2, proper X3))
    (proper# U83(X1, X2, X3) -> proper# X3, proper# U81(X1, X2, X3) -> proper# X3)
    (proper# U83(X1, X2, X3) -> proper# X3, proper# U81(X1, X2, X3) -> proper# X2)
    (proper# U83(X1, X2, X3) -> proper# X3, proper# U81(X1, X2, X3) -> proper# X1)
    (proper# U83(X1, X2, X3) -> proper# X3, proper# U81(X1, X2, X3) -> U81#(proper X1, proper X2, proper X3))
    (proper# U83(X1, X2, X3) -> proper# X3, proper# U82(X1, X2, X3) -> proper# X3)
    (proper# U83(X1, X2, X3) -> proper# X3, proper# U82(X1, X2, X3) -> proper# X2)
    (proper# U83(X1, X2, X3) -> proper# X3, proper# U82(X1, X2, X3) -> proper# X1)
    (proper# U83(X1, X2, X3) -> proper# X3, proper# U82(X1, X2, X3) -> U82#(proper X1, proper X2, proper X3))
    (proper# U83(X1, X2, X3) -> proper# X3, proper# U71(X1, X2) -> proper# X2)
    (proper# U83(X1, X2, X3) -> proper# X3, proper# U71(X1, X2) -> proper# X1)
    (proper# U83(X1, X2, X3) -> proper# X3, proper# U71(X1, X2) -> U71#(proper X1, proper X2))
    (proper# U83(X1, X2, X3) -> proper# X3, proper# U72(X1, X2) -> proper# X2)
    (proper# U83(X1, X2, X3) -> proper# X3, proper# U72(X1, X2) -> proper# X1)
    (proper# U83(X1, X2, X3) -> proper# X3, proper# U72(X1, X2) -> U72#(proper X1, proper X2))
    (proper# U83(X1, X2, X3) -> proper# X3, proper# U61(X1, X2) -> proper# X2)
    (proper# U83(X1, X2, X3) -> proper# X3, proper# U61(X1, X2) -> proper# X1)
    (proper# U83(X1, X2, X3) -> proper# X3, proper# U61(X1, X2) -> U61#(proper X1, proper X2))
    (proper# U83(X1, X2, X3) -> proper# X3, proper# U62 X -> proper# X)
    (proper# U83(X1, X2, X3) -> proper# X3, proper# U62 X -> U62# proper X)
    (proper# U83(X1, X2, X3) -> proper# X3, proper# U51 X -> proper# X)
    (proper# U83(X1, X2, X3) -> proper# X3, proper# U51 X -> U51# proper X)
    (proper# U83(X1, X2, X3) -> proper# X3, proper# U41(X1, X2) -> proper# X2)
    (proper# U83(X1, X2, X3) -> proper# X3, proper# U41(X1, X2) -> proper# X1)
    (proper# U83(X1, X2, X3) -> proper# X3, proper# U41(X1, X2) -> U41#(proper X1, proper X2))
    (proper# U83(X1, X2, X3) -> proper# X3, proper# U42 X -> proper# X)
    (proper# U83(X1, X2, X3) -> proper# X3, proper# U42 X -> U42# proper X)
    (proper# U83(X1, X2, X3) -> proper# X3, proper# U36 X -> proper# X)
    (proper# U83(X1, X2, X3) -> proper# X3, proper# U36 X -> U36# proper X)
    (proper# U83(X1, X2, X3) -> proper# X3, proper# U35(X1, X2) -> proper# X2)
    (proper# U83(X1, X2, X3) -> proper# X3, proper# U35(X1, X2) -> proper# X1)
    (proper# U83(X1, X2, X3) -> proper# X3, proper# U35(X1, X2) -> U35#(proper X1, proper X2))
    (proper# U83(X1, X2, X3) -> proper# X3, proper# U34(X1, X2, X3) -> proper# X3)
    (proper# U83(X1, X2, X3) -> proper# X3, proper# U34(X1, X2, X3) -> proper# X2)
    (proper# U83(X1, X2, X3) -> proper# X3, proper# U34(X1, X2, X3) -> proper# X1)
    (proper# U83(X1, X2, X3) -> proper# X3, proper# U34(X1, X2, X3) -> U34#(proper X1, proper X2, proper X3))
    (proper# U83(X1, X2, X3) -> proper# X3, proper# U33(X1, X2, X3) -> proper# X3)
    (proper# U83(X1, X2, X3) -> proper# X3, proper# U33(X1, X2, X3) -> proper# X2)
    (proper# U83(X1, X2, X3) -> proper# X3, proper# U33(X1, X2, X3) -> proper# X1)
    (proper# U83(X1, X2, X3) -> proper# X3, proper# U33(X1, X2, X3) -> U33#(proper X1, proper X2, proper X3))
    (proper# U83(X1, X2, X3) -> proper# X3, proper# U31(X1, X2, X3) -> proper# X3)
    (proper# U83(X1, X2, X3) -> proper# X3, proper# U31(X1, X2, X3) -> proper# X2)
    (proper# U83(X1, X2, X3) -> proper# X3, proper# U31(X1, X2, X3) -> proper# X1)
    (proper# U83(X1, X2, X3) -> proper# X3, proper# U31(X1, X2, X3) -> U31#(proper X1, proper X2, proper X3))
    (proper# U83(X1, X2, X3) -> proper# X3, proper# U32(X1, X2, X3) -> proper# X3)
    (proper# U83(X1, X2, X3) -> proper# X3, proper# U32(X1, X2, X3) -> proper# X2)
    (proper# U83(X1, X2, X3) -> proper# X3, proper# U32(X1, X2, X3) -> proper# X1)
    (proper# U83(X1, X2, X3) -> proper# X3, proper# U32(X1, X2, X3) -> U32#(proper X1, proper X2, proper X3))
    (proper# U83(X1, X2, X3) -> proper# X3, proper# U23 X -> proper# X)
    (proper# U83(X1, X2, X3) -> proper# X3, proper# U23 X -> U23# proper X)
    (proper# U83(X1, X2, X3) -> proper# X3, proper# U21(X1, X2) -> proper# X2)
    (proper# U83(X1, X2, X3) -> proper# X3, proper# U21(X1, X2) -> proper# X1)
    (proper# U83(X1, X2, X3) -> proper# X3, proper# U21(X1, X2) -> U21#(proper X1, proper X2))
    (proper# U83(X1, X2, X3) -> proper# X3, proper# U22(X1, X2) -> proper# X2)
    (proper# U83(X1, X2, X3) -> proper# X3, proper# U22(X1, X2) -> proper# X1)
    (proper# U83(X1, X2, X3) -> proper# X3, proper# U22(X1, X2) -> U22#(proper X1, proper X2))
    (proper# U83(X1, X2, X3) -> proper# X3, proper# U16 X -> proper# X)
    (proper# U83(X1, X2, X3) -> proper# X3, proper# U16 X -> U16# proper X)
    (proper# U83(X1, X2, X3) -> proper# X3, proper# U15(X1, X2) -> proper# X2)
    (proper# U83(X1, X2, X3) -> proper# X3, proper# U15(X1, X2) -> proper# X1)
    (proper# U83(X1, X2, X3) -> proper# X3, proper# U15(X1, X2) -> U15#(proper X1, proper X2))
    (proper# U83(X1, X2, X3) -> proper# X3, proper# U14(X1, X2, X3) -> proper# X3)
    (proper# U83(X1, X2, X3) -> proper# X3, proper# U14(X1, X2, X3) -> proper# X2)
    (proper# U83(X1, X2, X3) -> proper# X3, proper# U14(X1, X2, X3) -> proper# X1)
    (proper# U83(X1, X2, X3) -> proper# X3, proper# U14(X1, X2, X3) -> U14#(proper X1, proper X2, proper X3))
    (proper# U83(X1, X2, X3) -> proper# X3, proper# U13(X1, X2, X3) -> proper# X3)
    (proper# U83(X1, X2, X3) -> proper# X3, proper# U13(X1, X2, X3) -> proper# X2)
    (proper# U83(X1, X2, X3) -> proper# X3, proper# U13(X1, X2, X3) -> proper# X1)
    (proper# U83(X1, X2, X3) -> proper# X3, proper# U13(X1, X2, X3) -> U13#(proper X1, proper X2, proper X3))
    (proper# U83(X1, X2, X3) -> proper# X3, proper# U11(X1, X2, X3) -> proper# X3)
    (proper# U83(X1, X2, X3) -> proper# X3, proper# U11(X1, X2, X3) -> proper# X2)
    (proper# U83(X1, X2, X3) -> proper# X3, proper# U11(X1, X2, X3) -> proper# X1)
    (proper# U83(X1, X2, X3) -> proper# X3, proper# U11(X1, X2, X3) -> U11#(proper X1, proper X2, proper X3))
    (proper# U83(X1, X2, X3) -> proper# X3, proper# U12(X1, X2, X3) -> proper# X3)
    (proper# U83(X1, X2, X3) -> proper# X3, proper# U12(X1, X2, X3) -> proper# X2)
    (proper# U83(X1, X2, X3) -> proper# X3, proper# U12(X1, X2, X3) -> proper# X1)
    (proper# U83(X1, X2, X3) -> proper# X3, proper# U12(X1, X2, X3) -> U12#(proper X1, proper X2, proper X3))
    (proper# U83(X1, X2, X3) -> proper# X3, proper# x(X1, X2) -> proper# X2)
    (proper# U83(X1, X2, X3) -> proper# X3, proper# x(X1, X2) -> proper# X1)
    (proper# U83(X1, X2, X3) -> proper# X3, proper# x(X1, X2) -> x#(proper X1, proper X2))
    (proper# U83(X1, X2, X3) -> proper# X3, proper# plus(X1, X2) -> proper# X2)
    (proper# U83(X1, X2, X3) -> proper# X3, proper# plus(X1, X2) -> proper# X1)
    (proper# U83(X1, X2, X3) -> proper# X3, proper# plus(X1, X2) -> plus#(proper X1, proper X2))
    (proper# U83(X1, X2, X3) -> proper# X3, proper# U104(X1, X2, X3) -> proper# X3)
    (proper# U83(X1, X2, X3) -> proper# X3, proper# U104(X1, X2, X3) -> proper# X2)
    (proper# U83(X1, X2, X3) -> proper# X3, proper# U104(X1, X2, X3) -> proper# X1)
    (proper# U83(X1, X2, X3) -> proper# X3, proper# U104(X1, X2, X3) -> U104#(proper X1, proper X2, proper X3))
    (proper# U83(X1, X2, X3) -> proper# X3, proper# isNat X -> proper# X)
    (proper# U83(X1, X2, X3) -> proper# X3, proper# isNat X -> isNat# proper X)
    (proper# U83(X1, X2, X3) -> proper# X3, proper# U103(X1, X2, X3) -> proper# X3)
    (proper# U83(X1, X2, X3) -> proper# X3, proper# U103(X1, X2, X3) -> proper# X2)
    (proper# U83(X1, X2, X3) -> proper# X3, proper# U103(X1, X2, X3) -> proper# X1)
    (proper# U83(X1, X2, X3) -> proper# X3, proper# U103(X1, X2, X3) -> U103#(proper X1, proper X2, proper X3))
    (proper# U83(X1, X2, X3) -> proper# X3, proper# U101(X1, X2, X3) -> proper# X3)
    (proper# U83(X1, X2, X3) -> proper# X3, proper# U101(X1, X2, X3) -> proper# X2)
    (proper# U83(X1, X2, X3) -> proper# X3, proper# U101(X1, X2, X3) -> proper# X1)
    (proper# U83(X1, X2, X3) -> proper# X3, proper# U101(X1, X2, X3) -> U101#(proper X1, proper X2, proper X3))
    (proper# U83(X1, X2, X3) -> proper# X3, proper# isNatKind X -> proper# X)
    (proper# U83(X1, X2, X3) -> proper# X3, proper# isNatKind X -> isNatKind# proper X)
    (proper# U83(X1, X2, X3) -> proper# X3, proper# U102(X1, X2, X3) -> proper# X3)
    (proper# U83(X1, X2, X3) -> proper# X3, proper# U102(X1, X2, X3) -> proper# X2)
    (proper# U83(X1, X2, X3) -> proper# X3, proper# U102(X1, X2, X3) -> proper# X1)
    (proper# U83(X1, X2, X3) -> proper# X3, proper# U102(X1, X2, X3) -> U102#(proper X1, proper X2, proper X3))
    (active# U12(tt(), V1, V2) -> isNatKind# V2, isNatKind# ok X -> isNatKind# X)
    (active# U15(tt(), V2) -> isNat# V2, isNat# ok X -> isNat# X)
    (active# U33(tt(), V1, V2) -> isNatKind# V2, isNatKind# ok X -> isNatKind# X)
    (active# U41(tt(), V2) -> isNatKind# V2, isNatKind# ok X -> isNatKind# X)
    (active# U101(tt(), M, N) -> isNatKind# M, isNatKind# ok X -> isNatKind# X)
    (active# x(N, s M) -> isNat# M, isNat# ok X -> isNat# X)
    (active# isNat s V1 -> U21#(isNatKind V1, V1), U21#(ok X1, ok X2) -> U21#(X1, X2))
    (active# U84(tt(), M, N) -> s# plus(N, M), s# ok X -> s# X)
    (active# U84(tt(), M, N) -> s# plus(N, M), s# mark X -> s# X)
    (active# x(X1, X2) -> active# X2, active# U91(tt(), N) -> U92# isNatKind N)
    (active# x(X1, X2) -> active# X2, active# U91(tt(), N) -> isNatKind# N)
    (active# x(X1, X2) -> active# X2, active# U91(X1, X2) -> U91#(active X1, X2))
    (active# x(X1, X2) -> active# X2, active# U91(X1, X2) -> active# X1)
    (active# x(X1, X2) -> active# X2, active# U92 X -> U92# active X)
    (active# x(X1, X2) -> active# X2, active# U92 X -> active# X)
    (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# U84(tt(), M, N) -> s# plus(N, M))
    (active# x(X1, X2) -> active# X2, active# U84(tt(), M, N) -> plus#(N, M))
    (active# x(X1, X2) -> active# X2, active# U84(X1, X2, X3) -> U84#(active X1, X2, X3))
    (active# x(X1, X2) -> active# X2, active# U84(X1, X2, X3) -> active# X1)
    (active# x(X1, X2) -> active# X2, active# U83(tt(), M, N) -> U84#(isNatKind N, M, N))
    (active# x(X1, X2) -> active# X2, active# U83(tt(), M, N) -> isNatKind# N)
    (active# x(X1, X2) -> active# X2, active# U83(X1, X2, X3) -> U83#(active X1, X2, X3))
    (active# x(X1, X2) -> active# X2, active# U83(X1, X2, X3) -> active# X1)
    (active# x(X1, X2) -> active# X2, active# U81(tt(), M, N) -> U82#(isNatKind M, M, N))
    (active# x(X1, X2) -> active# X2, active# U81(tt(), M, N) -> isNatKind# M)
    (active# x(X1, X2) -> active# X2, active# U81(X1, X2, X3) -> U81#(active X1, X2, X3))
    (active# x(X1, X2) -> active# X2, active# U81(X1, X2, X3) -> active# X1)
    (active# x(X1, X2) -> active# X2, active# U82(tt(), M, N) -> U83#(isNat N, M, N))
    (active# x(X1, X2) -> active# X2, active# U82(tt(), M, N) -> isNat# N)
    (active# x(X1, X2) -> active# X2, active# U82(X1, X2, X3) -> U82#(active X1, X2, X3))
    (active# x(X1, X2) -> active# X2, active# U82(X1, X2, X3) -> active# X1)
    (active# x(X1, X2) -> active# X2, active# U71(tt(), N) -> U72#(isNatKind N, N))
    (active# x(X1, X2) -> active# X2, active# U71(tt(), N) -> isNatKind# N)
    (active# x(X1, X2) -> active# X2, active# U71(X1, X2) -> U71#(active X1, X2))
    (active# x(X1, X2) -> active# X2, active# U71(X1, X2) -> active# X1)
    (active# x(X1, X2) -> active# X2, active# U72(X1, X2) -> U72#(active X1, X2))
    (active# x(X1, X2) -> active# X2, active# U72(X1, X2) -> active# X1)
    (active# x(X1, X2) -> active# X2, active# U61(tt(), V2) -> U62# isNatKind V2)
    (active# x(X1, X2) -> active# X2, active# U61(tt(), V2) -> isNatKind# V2)
    (active# x(X1, X2) -> active# X2, active# U61(X1, X2) -> U61#(active X1, X2))
    (active# x(X1, X2) -> active# X2, active# U61(X1, X2) -> active# X1)
    (active# x(X1, X2) -> active# X2, active# U62 X -> U62# active X)
    (active# x(X1, X2) -> active# X2, active# U62 X -> active# X)
    (active# x(X1, X2) -> active# X2, active# U51 X -> U51# active X)
    (active# x(X1, X2) -> active# X2, active# U51 X -> active# X)
    (active# x(X1, X2) -> active# X2, active# U41(tt(), V2) -> U42# isNatKind V2)
    (active# x(X1, X2) -> active# X2, active# U41(tt(), V2) -> isNatKind# V2)
    (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# U42 X -> U42# active X)
    (active# x(X1, X2) -> active# X2, active# U42 X -> active# X)
    (active# x(X1, X2) -> active# X2, active# U36 X -> U36# active X)
    (active# x(X1, X2) -> active# X2, active# U36 X -> active# X)
    (active# x(X1, X2) -> active# X2, active# U35(tt(), V2) -> U36# isNat V2)
    (active# x(X1, X2) -> active# X2, active# U35(tt(), V2) -> isNat# V2)
    (active# x(X1, X2) -> active# X2, active# U35(X1, X2) -> U35#(active X1, X2))
    (active# x(X1, X2) -> active# X2, active# U35(X1, X2) -> active# X1)
    (active# x(X1, X2) -> active# X2, active# U34(tt(), V1, V2) -> U35#(isNat V1, V2))
    (active# x(X1, X2) -> active# X2, active# U34(tt(), V1, V2) -> isNat# V1)
    (active# x(X1, X2) -> active# X2, active# U34(X1, X2, X3) -> U34#(active X1, X2, X3))
    (active# x(X1, X2) -> active# X2, active# U34(X1, X2, X3) -> active# X1)
    (active# x(X1, X2) -> active# X2, active# U33(tt(), V1, V2) -> U34#(isNatKind V2, V1, V2))
    (active# x(X1, X2) -> active# X2, active# U33(tt(), V1, V2) -> isNatKind# V2)
    (active# x(X1, X2) -> active# X2, active# U33(X1, X2, X3) -> U33#(active X1, X2, X3))
    (active# x(X1, X2) -> active# X2, active# U33(X1, X2, X3) -> active# X1)
    (active# x(X1, X2) -> active# X2, active# U31(tt(), V1, V2) -> U32#(isNatKind V1, V1, V2))
    (active# x(X1, X2) -> active# X2, active# U31(tt(), V1, V2) -> isNatKind# 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(), V1, V2) -> U33#(isNatKind V2, V1, V2))
    (active# x(X1, X2) -> active# X2, active# U32(tt(), V1, V2) -> isNatKind# V2)
    (active# x(X1, X2) -> active# X2, active# U32(X1, X2, X3) -> U32#(active X1, X2, X3))
    (active# x(X1, X2) -> active# X2, active# U32(X1, X2, X3) -> active# X1)
    (active# x(X1, X2) -> active# X2, active# U23 X -> U23# active X)
    (active# x(X1, X2) -> active# X2, active# U23 X -> active# X)
    (active# x(X1, X2) -> active# X2, active# U21(tt(), V1) -> U22#(isNatKind V1, V1))
    (active# x(X1, X2) -> active# X2, active# U21(tt(), V1) -> isNatKind# 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(tt(), V1) -> U23# isNat V1)
    (active# x(X1, X2) -> active# X2, active# U22(tt(), V1) -> isNat# V1)
    (active# x(X1, X2) -> active# X2, active# U22(X1, X2) -> U22#(active X1, X2))
    (active# x(X1, X2) -> active# X2, active# U22(X1, X2) -> active# X1)
    (active# x(X1, X2) -> active# X2, active# U16 X -> U16# active X)
    (active# x(X1, X2) -> active# X2, active# U16 X -> active# X)
    (active# x(X1, X2) -> active# X2, active# U15(tt(), V2) -> U16# isNat V2)
    (active# x(X1, X2) -> active# X2, active# U15(tt(), V2) -> isNat# V2)
    (active# x(X1, X2) -> active# X2, active# U15(X1, X2) -> U15#(active X1, X2))
    (active# x(X1, X2) -> active# X2, active# U15(X1, X2) -> active# X1)
    (active# x(X1, X2) -> active# X2, active# U14(tt(), V1, V2) -> U15#(isNat V1, V2))
    (active# x(X1, X2) -> active# X2, active# U14(tt(), V1, V2) -> isNat# V1)
    (active# x(X1, X2) -> active# X2, active# U14(X1, X2, X3) -> U14#(active X1, X2, X3))
    (active# x(X1, X2) -> active# X2, active# U14(X1, X2, X3) -> active# X1)
    (active# x(X1, X2) -> active# X2, active# U13(tt(), V1, V2) -> U14#(isNatKind V2, V1, V2))
    (active# x(X1, X2) -> active# X2, active# U13(tt(), V1, V2) -> isNatKind# V2)
    (active# x(X1, X2) -> active# X2, active# U13(X1, X2, X3) -> U13#(active X1, X2, X3))
    (active# x(X1, X2) -> active# X2, active# U13(X1, X2, X3) -> active# X1)
    (active# x(X1, X2) -> active# X2, active# U11(tt(), V1, V2) -> U12#(isNatKind V1, V1, V2))
    (active# x(X1, X2) -> active# X2, active# U11(tt(), V1, V2) -> isNatKind# V1)
    (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# U12(tt(), V1, V2) -> U13#(isNatKind V2, V1, V2))
    (active# x(X1, X2) -> active# X2, active# U12(tt(), V1, V2) -> isNatKind# V2)
    (active# x(X1, X2) -> active# X2, active# U12(X1, X2, X3) -> U12#(active X1, X2, X3))
    (active# x(X1, X2) -> active# X2, active# U12(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()) -> U91#(isNat N, N))
    (active# x(X1, X2) -> active# X2, active# x(N, 0()) -> isNat# 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) -> U101#(isNat M, M, N))
    (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()) -> U71#(isNat 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) -> U81#(isNat M, M, N))
    (active# x(X1, X2) -> active# X2, active# plus(N, s M) -> isNat# M)
    (active# x(X1, X2) -> active# X2, active# U104(tt(), M, N) -> x#(N, M))
    (active# x(X1, X2) -> active# X2, active# U104(tt(), M, N) -> plus#(x(N, M), N))
    (active# x(X1, X2) -> active# X2, active# U104(X1, X2, X3) -> U104#(active X1, X2, X3))
    (active# x(X1, X2) -> active# X2, active# U104(X1, X2, X3) -> active# X1)
    (active# x(X1, X2) -> active# X2, active# isNat s V1 -> U21#(isNatKind V1, V1))
    (active# x(X1, X2) -> active# X2, active# isNat s V1 -> isNatKind# V1)
    (active# x(X1, X2) -> active# X2, active# isNat x(V1, V2) -> U31#(isNatKind V1, V1, V2))
    (active# x(X1, X2) -> active# X2, active# isNat x(V1, V2) -> isNatKind# V1)
    (active# x(X1, X2) -> active# X2, active# isNat plus(V1, V2) -> U11#(isNatKind V1, V1, V2))
    (active# x(X1, X2) -> active# X2, active# isNat plus(V1, V2) -> isNatKind# V1)
    (active# x(X1, X2) -> active# X2, active# U103(tt(), M, N) -> U104#(isNatKind N, M, N))
    (active# x(X1, X2) -> active# X2, active# U103(tt(), M, N) -> isNatKind# N)
    (active# x(X1, X2) -> active# X2, active# U103(X1, X2, X3) -> U103#(active X1, X2, X3))
    (active# x(X1, X2) -> active# X2, active# U103(X1, X2, X3) -> active# X1)
    (active# x(X1, X2) -> active# X2, active# U101(tt(), M, N) -> isNatKind# M)
    (active# x(X1, X2) -> active# X2, active# U101(tt(), M, N) -> U102#(isNatKind M, M, N))
    (active# x(X1, X2) -> active# X2, active# U101(X1, X2, X3) -> U101#(active X1, X2, X3))
    (active# x(X1, X2) -> active# X2, active# U101(X1, X2, X3) -> active# X1)
    (active# x(X1, X2) -> active# X2, active# isNatKind s V1 -> U51# isNatKind V1)
    (active# x(X1, X2) -> active# X2, active# isNatKind s V1 -> isNatKind# V1)
    (active# x(X1, X2) -> active# X2, active# isNatKind x(V1, V2) -> U61#(isNatKind V1, V2))
    (active# x(X1, X2) -> active# X2, active# isNatKind x(V1, V2) -> isNatKind# V1)
    (active# x(X1, X2) -> active# X2, active# isNatKind plus(V1, V2) -> U41#(isNatKind V1, V2))
    (active# x(X1, X2) -> active# X2, active# isNatKind plus(V1, V2) -> isNatKind# V1)
    (active# x(X1, X2) -> active# X2, active# U102(tt(), M, N) -> isNat# N)
    (active# x(X1, X2) -> active# X2, active# U102(tt(), M, N) -> U103#(isNat N, M, N))
    (active# x(X1, X2) -> active# X2, active# U102(X1, X2, X3) -> active# X1)
    (active# x(X1, X2) -> active# X2, active# U102(X1, X2, X3) -> U102#(active X1, X2, X3))
    (proper# U101(X1, X2, X3) -> proper# X2, proper# U91(X1, X2) -> proper# X2)
    (proper# U101(X1, X2, X3) -> proper# X2, proper# U91(X1, X2) -> proper# X1)
    (proper# U101(X1, X2, X3) -> proper# X2, proper# U91(X1, X2) -> U91#(proper X1, proper X2))
    (proper# U101(X1, X2, X3) -> proper# X2, proper# U92 X -> proper# X)
    (proper# U101(X1, X2, X3) -> proper# X2, proper# U92 X -> U92# proper X)
    (proper# U101(X1, X2, X3) -> proper# X2, proper# s X -> proper# X)
    (proper# U101(X1, X2, X3) -> proper# X2, proper# s X -> s# proper X)
    (proper# U101(X1, X2, X3) -> proper# X2, proper# U84(X1, X2, X3) -> proper# X3)
    (proper# U101(X1, X2, X3) -> proper# X2, proper# U84(X1, X2, X3) -> proper# X2)
    (proper# U101(X1, X2, X3) -> proper# X2, proper# U84(X1, X2, X3) -> proper# X1)
    (proper# U101(X1, X2, X3) -> proper# X2, proper# U84(X1, X2, X3) -> U84#(proper X1, proper X2, proper X3))
    (proper# U101(X1, X2, X3) -> proper# X2, proper# U83(X1, X2, X3) -> proper# X3)
    (proper# U101(X1, X2, X3) -> proper# X2, proper# U83(X1, X2, X3) -> proper# X2)
    (proper# U101(X1, X2, X3) -> proper# X2, proper# U83(X1, X2, X3) -> proper# X1)
    (proper# U101(X1, X2, X3) -> proper# X2, proper# U83(X1, X2, X3) -> U83#(proper X1, proper X2, proper X3))
    (proper# U101(X1, X2, X3) -> proper# X2, proper# U81(X1, X2, X3) -> proper# X3)
    (proper# U101(X1, X2, X3) -> proper# X2, proper# U81(X1, X2, X3) -> proper# X2)
    (proper# U101(X1, X2, X3) -> proper# X2, proper# U81(X1, X2, X3) -> proper# X1)
    (proper# U101(X1, X2, X3) -> proper# X2, proper# U81(X1, X2, X3) -> U81#(proper X1, proper X2, proper X3))
    (proper# U101(X1, X2, X3) -> proper# X2, proper# U82(X1, X2, X3) -> proper# X3)
    (proper# U101(X1, X2, X3) -> proper# X2, proper# U82(X1, X2, X3) -> proper# X2)
    (proper# U101(X1, X2, X3) -> proper# X2, proper# U82(X1, X2, X3) -> proper# X1)
    (proper# U101(X1, X2, X3) -> proper# X2, proper# U82(X1, X2, X3) -> U82#(proper X1, proper X2, proper X3))
    (proper# U101(X1, X2, X3) -> proper# X2, proper# U71(X1, X2) -> proper# X2)
    (proper# U101(X1, X2, X3) -> proper# X2, proper# U71(X1, X2) -> proper# X1)
    (proper# U101(X1, X2, X3) -> proper# X2, proper# U71(X1, X2) -> U71#(proper X1, proper X2))
    (proper# U101(X1, X2, X3) -> proper# X2, proper# U72(X1, X2) -> proper# X2)
    (proper# U101(X1, X2, X3) -> proper# X2, proper# U72(X1, X2) -> proper# X1)
    (proper# U101(X1, X2, X3) -> proper# X2, proper# U72(X1, X2) -> U72#(proper X1, proper X2))
    (proper# U101(X1, X2, X3) -> proper# X2, proper# U61(X1, X2) -> proper# X2)
    (proper# U101(X1, X2, X3) -> proper# X2, proper# U61(X1, X2) -> proper# X1)
    (proper# U101(X1, X2, X3) -> proper# X2, proper# U61(X1, X2) -> U61#(proper X1, proper X2))
    (proper# U101(X1, X2, X3) -> proper# X2, proper# U62 X -> proper# X)
    (proper# U101(X1, X2, X3) -> proper# X2, proper# U62 X -> U62# proper X)
    (proper# U101(X1, X2, X3) -> proper# X2, proper# U51 X -> proper# X)
    (proper# U101(X1, X2, X3) -> proper# X2, proper# U51 X -> U51# proper X)
    (proper# U101(X1, X2, X3) -> proper# X2, proper# U41(X1, X2) -> proper# X2)
    (proper# U101(X1, X2, X3) -> proper# X2, proper# U41(X1, X2) -> proper# X1)
    (proper# U101(X1, X2, X3) -> proper# X2, proper# U41(X1, X2) -> U41#(proper X1, proper X2))
    (proper# U101(X1, X2, X3) -> proper# X2, proper# U42 X -> proper# X)
    (proper# U101(X1, X2, X3) -> proper# X2, proper# U42 X -> U42# proper X)
    (proper# U101(X1, X2, X3) -> proper# X2, proper# U36 X -> proper# X)
    (proper# U101(X1, X2, X3) -> proper# X2, proper# U36 X -> U36# proper X)
    (proper# U101(X1, X2, X3) -> proper# X2, proper# U35(X1, X2) -> proper# X2)
    (proper# U101(X1, X2, X3) -> proper# X2, proper# U35(X1, X2) -> proper# X1)
    (proper# U101(X1, X2, X3) -> proper# X2, proper# U35(X1, X2) -> U35#(proper X1, proper X2))
    (proper# U101(X1, X2, X3) -> proper# X2, proper# U34(X1, X2, X3) -> proper# X3)
    (proper# U101(X1, X2, X3) -> proper# X2, proper# U34(X1, X2, X3) -> proper# X2)
    (proper# U101(X1, X2, X3) -> proper# X2, proper# U34(X1, X2, X3) -> proper# X1)
    (proper# U101(X1, X2, X3) -> proper# X2, proper# U34(X1, X2, X3) -> U34#(proper X1, proper X2, proper X3))
    (proper# U101(X1, X2, X3) -> proper# X2, proper# U33(X1, X2, X3) -> proper# X3)
    (proper# U101(X1, X2, X3) -> proper# X2, proper# U33(X1, X2, X3) -> proper# X2)
    (proper# U101(X1, X2, X3) -> proper# X2, proper# U33(X1, X2, X3) -> proper# X1)
    (proper# U101(X1, X2, X3) -> proper# X2, proper# U33(X1, X2, X3) -> U33#(proper X1, proper X2, proper X3))
    (proper# U101(X1, X2, X3) -> proper# X2, proper# U31(X1, X2, X3) -> proper# X3)
    (proper# U101(X1, X2, X3) -> proper# X2, proper# U31(X1, X2, X3) -> proper# X2)
    (proper# U101(X1, X2, X3) -> proper# X2, proper# U31(X1, X2, X3) -> proper# X1)
    (proper# U101(X1, X2, X3) -> proper# X2, proper# U31(X1, X2, X3) -> U31#(proper X1, proper X2, proper X3))
    (proper# U101(X1, X2, X3) -> proper# X2, proper# U32(X1, X2, X3) -> proper# X3)
    (proper# U101(X1, X2, X3) -> proper# X2, proper# U32(X1, X2, X3) -> proper# X2)
    (proper# U101(X1, X2, X3) -> proper# X2, proper# U32(X1, X2, X3) -> proper# X1)
    (proper# U101(X1, X2, X3) -> proper# X2, proper# U32(X1, X2, X3) -> U32#(proper X1, proper X2, proper X3))
    (proper# U101(X1, X2, X3) -> proper# X2, proper# U23 X -> proper# X)
    (proper# U101(X1, X2, X3) -> proper# X2, proper# U23 X -> U23# proper X)
    (proper# U101(X1, X2, X3) -> proper# X2, proper# U21(X1, X2) -> proper# X2)
    (proper# U101(X1, X2, X3) -> proper# X2, proper# U21(X1, X2) -> proper# X1)
    (proper# U101(X1, X2, X3) -> proper# X2, proper# U21(X1, X2) -> U21#(proper X1, proper X2))
    (proper# U101(X1, X2, X3) -> proper# X2, proper# U22(X1, X2) -> proper# X2)
    (proper# U101(X1, X2, X3) -> proper# X2, proper# U22(X1, X2) -> proper# X1)
    (proper# U101(X1, X2, X3) -> proper# X2, proper# U22(X1, X2) -> U22#(proper X1, proper X2))
    (proper# U101(X1, X2, X3) -> proper# X2, proper# U16 X -> proper# X)
    (proper# U101(X1, X2, X3) -> proper# X2, proper# U16 X -> U16# proper X)
    (proper# U101(X1, X2, X3) -> proper# X2, proper# U15(X1, X2) -> proper# X2)
    (proper# U101(X1, X2, X3) -> proper# X2, proper# U15(X1, X2) -> proper# X1)
    (proper# U101(X1, X2, X3) -> proper# X2, proper# U15(X1, X2) -> U15#(proper X1, proper X2))
    (proper# U101(X1, X2, X3) -> proper# X2, proper# U14(X1, X2, X3) -> proper# X3)
    (proper# U101(X1, X2, X3) -> proper# X2, proper# U14(X1, X2, X3) -> proper# X2)
    (proper# U101(X1, X2, X3) -> proper# X2, proper# U14(X1, X2, X3) -> proper# X1)
    (proper# U101(X1, X2, X3) -> proper# X2, proper# U14(X1, X2, X3) -> U14#(proper X1, proper X2, proper X3))
    (proper# U101(X1, X2, X3) -> proper# X2, proper# U13(X1, X2, X3) -> proper# X3)
    (proper# U101(X1, X2, X3) -> proper# X2, proper# U13(X1, X2, X3) -> proper# X2)
    (proper# U101(X1, X2, X3) -> proper# X2, proper# U13(X1, X2, X3) -> proper# X1)
    (proper# U101(X1, X2, X3) -> proper# X2, proper# U13(X1, X2, X3) -> U13#(proper X1, proper X2, proper X3))
    (proper# U101(X1, X2, X3) -> proper# X2, proper# U11(X1, X2, X3) -> proper# X3)
    (proper# U101(X1, X2, X3) -> proper# X2, proper# U11(X1, X2, X3) -> proper# X2)
    (proper# U101(X1, X2, X3) -> proper# X2, proper# U11(X1, X2, X3) -> proper# X1)
    (proper# U101(X1, X2, X3) -> proper# X2, proper# U11(X1, X2, X3) -> U11#(proper X1, proper X2, proper X3))
    (proper# U101(X1, X2, X3) -> proper# X2, proper# U12(X1, X2, X3) -> proper# X3)
    (proper# U101(X1, X2, X3) -> proper# X2, proper# U12(X1, X2, X3) -> proper# X2)
    (proper# U101(X1, X2, X3) -> proper# X2, proper# U12(X1, X2, X3) -> proper# X1)
    (proper# U101(X1, X2, X3) -> proper# X2, proper# U12(X1, X2, X3) -> U12#(proper X1, proper X2, proper X3))
    (proper# U101(X1, X2, X3) -> proper# X2, proper# x(X1, X2) -> proper# X2)
    (proper# U101(X1, X2, X3) -> proper# X2, proper# x(X1, X2) -> proper# X1)
    (proper# U101(X1, X2, X3) -> proper# X2, proper# x(X1, X2) -> x#(proper X1, proper X2))
    (proper# U101(X1, X2, X3) -> proper# X2, proper# plus(X1, X2) -> proper# X2)
    (proper# U101(X1, X2, X3) -> proper# X2, proper# plus(X1, X2) -> proper# X1)
    (proper# U101(X1, X2, X3) -> proper# X2, proper# plus(X1, X2) -> plus#(proper X1, proper X2))
    (proper# U101(X1, X2, X3) -> proper# X2, proper# U104(X1, X2, X3) -> proper# X3)
    (proper# U101(X1, X2, X3) -> proper# X2, proper# U104(X1, X2, X3) -> proper# X2)
    (proper# U101(X1, X2, X3) -> proper# X2, proper# U104(X1, X2, X3) -> proper# X1)
    (proper# U101(X1, X2, X3) -> proper# X2, proper# U104(X1, X2, X3) -> U104#(proper X1, proper X2, proper X3))
    (proper# U101(X1, X2, X3) -> proper# X2, proper# isNat X -> proper# X)
    (proper# U101(X1, X2, X3) -> proper# X2, proper# isNat X -> isNat# proper X)
    (proper# U101(X1, X2, X3) -> proper# X2, proper# U103(X1, X2, X3) -> proper# X3)
    (proper# U101(X1, X2, X3) -> proper# X2, proper# U103(X1, X2, X3) -> proper# X2)
    (proper# U101(X1, X2, X3) -> proper# X2, proper# U103(X1, X2, X3) -> proper# X1)
    (proper# U101(X1, X2, X3) -> proper# X2, proper# U103(X1, X2, X3) -> U103#(proper X1, proper X2, proper X3))
    (proper# U101(X1, X2, X3) -> proper# X2, proper# U101(X1, X2, X3) -> proper# X3)
    (proper# U101(X1, X2, X3) -> proper# X2, proper# U101(X1, X2, X3) -> proper# X2)
    (proper# U101(X1, X2, X3) -> proper# X2, proper# U101(X1, X2, X3) -> proper# X1)
    (proper# U101(X1, X2, X3) -> proper# X2, proper# U101(X1, X2, X3) -> U101#(proper X1, proper X2, proper X3))
    (proper# U101(X1, X2, X3) -> proper# X2, proper# isNatKind X -> proper# X)
    (proper# U101(X1, X2, X3) -> proper# X2, proper# isNatKind X -> isNatKind# proper X)
    (proper# U101(X1, X2, X3) -> proper# X2, proper# U102(X1, X2, X3) -> proper# X3)
    (proper# U101(X1, X2, X3) -> proper# X2, proper# U102(X1, X2, X3) -> proper# X2)
    (proper# U101(X1, X2, X3) -> proper# X2, proper# U102(X1, X2, X3) -> proper# X1)
    (proper# U101(X1, X2, X3) -> proper# X2, proper# U102(X1, X2, X3) -> U102#(proper X1, proper X2, proper X3))
    (proper# U104(X1, X2, X3) -> proper# X2, proper# U91(X1, X2) -> proper# X2)
    (proper# U104(X1, X2, X3) -> proper# X2, proper# U91(X1, X2) -> proper# X1)
    (proper# U104(X1, X2, X3) -> proper# X2, proper# U91(X1, X2) -> U91#(proper X1, proper X2))
    (proper# U104(X1, X2, X3) -> proper# X2, proper# U92 X -> proper# X)
    (proper# U104(X1, X2, X3) -> proper# X2, proper# U92 X -> U92# proper X)
    (proper# U104(X1, X2, X3) -> proper# X2, proper# s X -> proper# X)
    (proper# U104(X1, X2, X3) -> proper# X2, proper# s X -> s# proper X)
    (proper# U104(X1, X2, X3) -> proper# X2, proper# U84(X1, X2, X3) -> proper# X3)
    (proper# U104(X1, X2, X3) -> proper# X2, proper# U84(X1, X2, X3) -> proper# X2)
    (proper# U104(X1, X2, X3) -> proper# X2, proper# U84(X1, X2, X3) -> proper# X1)
    (proper# U104(X1, X2, X3) -> proper# X2, proper# U84(X1, X2, X3) -> U84#(proper X1, proper X2, proper X3))
    (proper# U104(X1, X2, X3) -> proper# X2, proper# U83(X1, X2, X3) -> proper# X3)
    (proper# U104(X1, X2, X3) -> proper# X2, proper# U83(X1, X2, X3) -> proper# X2)
    (proper# U104(X1, X2, X3) -> proper# X2, proper# U83(X1, X2, X3) -> proper# X1)
    (proper# U104(X1, X2, X3) -> proper# X2, proper# U83(X1, X2, X3) -> U83#(proper X1, proper X2, proper X3))
    (proper# U104(X1, X2, X3) -> proper# X2, proper# U81(X1, X2, X3) -> proper# X3)
    (proper# U104(X1, X2, X3) -> proper# X2, proper# U81(X1, X2, X3) -> proper# X2)
    (proper# U104(X1, X2, X3) -> proper# X2, proper# U81(X1, X2, X3) -> proper# X1)
    (proper# U104(X1, X2, X3) -> proper# X2, proper# U81(X1, X2, X3) -> U81#(proper X1, proper X2, proper X3))
    (proper# U104(X1, X2, X3) -> proper# X2, proper# U82(X1, X2, X3) -> proper# X3)
    (proper# U104(X1, X2, X3) -> proper# X2, proper# U82(X1, X2, X3) -> proper# X2)
    (proper# U104(X1, X2, X3) -> proper# X2, proper# U82(X1, X2, X3) -> proper# X1)
    (proper# U104(X1, X2, X3) -> proper# X2, proper# U82(X1, X2, X3) -> U82#(proper X1, proper X2, proper X3))
    (proper# U104(X1, X2, X3) -> proper# X2, proper# U71(X1, X2) -> proper# X2)
    (proper# U104(X1, X2, X3) -> proper# X2, proper# U71(X1, X2) -> proper# X1)
    (proper# U104(X1, X2, X3) -> proper# X2, proper# U71(X1, X2) -> U71#(proper X1, proper X2))
    (proper# U104(X1, X2, X3) -> proper# X2, proper# U72(X1, X2) -> proper# X2)
    (proper# U104(X1, X2, X3) -> proper# X2, proper# U72(X1, X2) -> proper# X1)
    (proper# U104(X1, X2, X3) -> proper# X2, proper# U72(X1, X2) -> U72#(proper X1, proper X2))
    (proper# U104(X1, X2, X3) -> proper# X2, proper# U61(X1, X2) -> proper# X2)
    (proper# U104(X1, X2, X3) -> proper# X2, proper# U61(X1, X2) -> proper# X1)
    (proper# U104(X1, X2, X3) -> proper# X2, proper# U61(X1, X2) -> U61#(proper X1, proper X2))
    (proper# U104(X1, X2, X3) -> proper# X2, proper# U62 X -> proper# X)
    (proper# U104(X1, X2, X3) -> proper# X2, proper# U62 X -> U62# proper X)
    (proper# U104(X1, X2, X3) -> proper# X2, proper# U51 X -> proper# X)
    (proper# U104(X1, X2, X3) -> proper# X2, proper# U51 X -> U51# proper X)
    (proper# U104(X1, X2, X3) -> proper# X2, proper# U41(X1, X2) -> proper# X2)
    (proper# U104(X1, X2, X3) -> proper# X2, proper# U41(X1, X2) -> proper# X1)
    (proper# U104(X1, X2, X3) -> proper# X2, proper# U41(X1, X2) -> U41#(proper X1, proper X2))
    (proper# U104(X1, X2, X3) -> proper# X2, proper# U42 X -> proper# X)
    (proper# U104(X1, X2, X3) -> proper# X2, proper# U42 X -> U42# proper X)
    (proper# U104(X1, X2, X3) -> proper# X2, proper# U36 X -> proper# X)
    (proper# U104(X1, X2, X3) -> proper# X2, proper# U36 X -> U36# proper X)
    (proper# U104(X1, X2, X3) -> proper# X2, proper# U35(X1, X2) -> proper# X2)
    (proper# U104(X1, X2, X3) -> proper# X2, proper# U35(X1, X2) -> proper# X1)
    (proper# U104(X1, X2, X3) -> proper# X2, proper# U35(X1, X2) -> U35#(proper X1, proper X2))
    (proper# U104(X1, X2, X3) -> proper# X2, proper# U34(X1, X2, X3) -> proper# X3)
    (proper# U104(X1, X2, X3) -> proper# X2, proper# U34(X1, X2, X3) -> proper# X2)
    (proper# U104(X1, X2, X3) -> proper# X2, proper# U34(X1, X2, X3) -> proper# X1)
    (proper# U104(X1, X2, X3) -> proper# X2, proper# U34(X1, X2, X3) -> U34#(proper X1, proper X2, proper X3))
    (proper# U104(X1, X2, X3) -> proper# X2, proper# U33(X1, X2, X3) -> proper# X3)
    (proper# U104(X1, X2, X3) -> proper# X2, proper# U33(X1, X2, X3) -> proper# X2)
    (proper# U104(X1, X2, X3) -> proper# X2, proper# U33(X1, X2, X3) -> proper# X1)
    (proper# U104(X1, X2, X3) -> proper# X2, proper# U33(X1, X2, X3) -> U33#(proper X1, proper X2, proper X3))
    (proper# U104(X1, X2, X3) -> proper# X2, proper# U31(X1, X2, X3) -> proper# X3)
    (proper# U104(X1, X2, X3) -> proper# X2, proper# U31(X1, X2, X3) -> proper# X2)
    (proper# U104(X1, X2, X3) -> proper# X2, proper# U31(X1, X2, X3) -> proper# X1)
    (proper# U104(X1, X2, X3) -> proper# X2, proper# U31(X1, X2, X3) -> U31#(proper X1, proper X2, proper X3))
    (proper# U104(X1, X2, X3) -> proper# X2, proper# U32(X1, X2, X3) -> proper# X3)
    (proper# U104(X1, X2, X3) -> proper# X2, proper# U32(X1, X2, X3) -> proper# X2)
    (proper# U104(X1, X2, X3) -> proper# X2, proper# U32(X1, X2, X3) -> proper# X1)
    (proper# U104(X1, X2, X3) -> proper# X2, proper# U32(X1, X2, X3) -> U32#(proper X1, proper X2, proper X3))
    (proper# U104(X1, X2, X3) -> proper# X2, proper# U23 X -> proper# X)
    (proper# U104(X1, X2, X3) -> proper# X2, proper# U23 X -> U23# proper X)
    (proper# U104(X1, X2, X3) -> proper# X2, proper# U21(X1, X2) -> proper# X2)
    (proper# U104(X1, X2, X3) -> proper# X2, proper# U21(X1, X2) -> proper# X1)
    (proper# U104(X1, X2, X3) -> proper# X2, proper# U21(X1, X2) -> U21#(proper X1, proper X2))
    (proper# U104(X1, X2, X3) -> proper# X2, proper# U22(X1, X2) -> proper# X2)
    (proper# U104(X1, X2, X3) -> proper# X2, proper# U22(X1, X2) -> proper# X1)
    (proper# U104(X1, X2, X3) -> proper# X2, proper# U22(X1, X2) -> U22#(proper X1, proper X2))
    (proper# U104(X1, X2, X3) -> proper# X2, proper# U16 X -> proper# X)
    (proper# U104(X1, X2, X3) -> proper# X2, proper# U16 X -> U16# proper X)
    (proper# U104(X1, X2, X3) -> proper# X2, proper# U15(X1, X2) -> proper# X2)
    (proper# U104(X1, X2, X3) -> proper# X2, proper# U15(X1, X2) -> proper# X1)
    (proper# U104(X1, X2, X3) -> proper# X2, proper# U15(X1, X2) -> U15#(proper X1, proper X2))
    (proper# U104(X1, X2, X3) -> proper# X2, proper# U14(X1, X2, X3) -> proper# X3)
    (proper# U104(X1, X2, X3) -> proper# X2, proper# U14(X1, X2, X3) -> proper# X2)
    (proper# U104(X1, X2, X3) -> proper# X2, proper# U14(X1, X2, X3) -> proper# X1)
    (proper# U104(X1, X2, X3) -> proper# X2, proper# U14(X1, X2, X3) -> U14#(proper X1, proper X2, proper X3))
    (proper# U104(X1, X2, X3) -> proper# X2, proper# U13(X1, X2, X3) -> proper# X3)
    (proper# U104(X1, X2, X3) -> proper# X2, proper# U13(X1, X2, X3) -> proper# X2)
    (proper# U104(X1, X2, X3) -> proper# X2, proper# U13(X1, X2, X3) -> proper# X1)
    (proper# U104(X1, X2, X3) -> proper# X2, proper# U13(X1, X2, X3) -> U13#(proper X1, proper X2, proper X3))
    (proper# U104(X1, X2, X3) -> proper# X2, proper# U11(X1, X2, X3) -> proper# X3)
    (proper# U104(X1, X2, X3) -> proper# X2, proper# U11(X1, X2, X3) -> proper# X2)
    (proper# U104(X1, X2, X3) -> proper# X2, proper# U11(X1, X2, X3) -> proper# X1)
    (proper# U104(X1, X2, X3) -> proper# X2, proper# U11(X1, X2, X3) -> U11#(proper X1, proper X2, proper X3))
    (proper# U104(X1, X2, X3) -> proper# X2, proper# U12(X1, X2, X3) -> proper# X3)
    (proper# U104(X1, X2, X3) -> proper# X2, proper# U12(X1, X2, X3) -> proper# X2)
    (proper# U104(X1, X2, X3) -> proper# X2, proper# U12(X1, X2, X3) -> proper# X1)
    (proper# U104(X1, X2, X3) -> proper# X2, proper# U12(X1, X2, X3) -> U12#(proper X1, proper X2, proper X3))
    (proper# U104(X1, X2, X3) -> proper# X2, proper# x(X1, X2) -> proper# X2)
    (proper# U104(X1, X2, X3) -> proper# X2, proper# x(X1, X2) -> proper# X1)
    (proper# U104(X1, X2, X3) -> proper# X2, proper# x(X1, X2) -> x#(proper X1, proper X2))
    (proper# U104(X1, X2, X3) -> proper# X2, proper# plus(X1, X2) -> proper# X2)
    (proper# U104(X1, X2, X3) -> proper# X2, proper# plus(X1, X2) -> proper# X1)
    (proper# U104(X1, X2, X3) -> proper# X2, proper# plus(X1, X2) -> plus#(proper X1, proper X2))
    (proper# U104(X1, X2, X3) -> proper# X2, proper# U104(X1, X2, X3) -> proper# X3)
    (proper# U104(X1, X2, X3) -> proper# X2, proper# U104(X1, X2, X3) -> proper# X2)
    (proper# U104(X1, X2, X3) -> proper# X2, proper# U104(X1, X2, X3) -> proper# X1)
    (proper# U104(X1, X2, X3) -> proper# X2, proper# U104(X1, X2, X3) -> U104#(proper X1, proper X2, proper X3))
    (proper# U104(X1, X2, X3) -> proper# X2, proper# isNat X -> proper# X)
    (proper# U104(X1, X2, X3) -> proper# X2, proper# isNat X -> isNat# proper X)
    (proper# U104(X1, X2, X3) -> proper# X2, proper# U103(X1, X2, X3) -> proper# X3)
    (proper# U104(X1, X2, X3) -> proper# X2, proper# U103(X1, X2, X3) -> proper# X2)
    (proper# U104(X1, X2, X3) -> proper# X2, proper# U103(X1, X2, X3) -> proper# X1)
    (proper# U104(X1, X2, X3) -> proper# X2, proper# U103(X1, X2, X3) -> U103#(proper X1, proper X2, proper X3))
    (proper# U104(X1, X2, X3) -> proper# X2, proper# U101(X1, X2, X3) -> proper# X3)
    (proper# U104(X1, X2, X3) -> proper# X2, proper# U101(X1, X2, X3) -> proper# X2)
    (proper# U104(X1, X2, X3) -> proper# X2, proper# U101(X1, X2, X3) -> proper# X1)
    (proper# U104(X1, X2, X3) -> proper# X2, proper# U101(X1, X2, X3) -> U101#(proper X1, proper X2, proper X3))
    (proper# U104(X1, X2, X3) -> proper# X2, proper# isNatKind X -> proper# X)
    (proper# U104(X1, X2, X3) -> proper# X2, proper# isNatKind X -> isNatKind# proper X)
    (proper# U104(X1, X2, X3) -> proper# X2, proper# U102(X1, X2, X3) -> proper# X3)
    (proper# U104(X1, X2, X3) -> proper# X2, proper# U102(X1, X2, X3) -> proper# X2)
    (proper# U104(X1, X2, X3) -> proper# X2, proper# U102(X1, X2, X3) -> proper# X1)
    (proper# U104(X1, X2, X3) -> proper# X2, proper# U102(X1, X2, X3) -> U102#(proper X1, proper X2, proper X3))
    (proper# x(X1, X2) -> proper# X2, proper# U91(X1, X2) -> proper# X2)
    (proper# x(X1, X2) -> proper# X2, proper# U91(X1, X2) -> proper# X1)
    (proper# x(X1, X2) -> proper# X2, proper# U91(X1, X2) -> U91#(proper X1, proper X2))
    (proper# x(X1, X2) -> proper# X2, proper# U92 X -> proper# X)
    (proper# x(X1, X2) -> proper# X2, proper# U92 X -> U92# proper X)
    (proper# x(X1, X2) -> proper# X2, proper# s X -> proper# X)
    (proper# x(X1, X2) -> proper# X2, proper# s X -> s# proper X)
    (proper# x(X1, X2) -> proper# X2, proper# U84(X1, X2, X3) -> proper# X3)
    (proper# x(X1, X2) -> proper# X2, proper# U84(X1, X2, X3) -> proper# X2)
    (proper# x(X1, X2) -> proper# X2, proper# U84(X1, X2, X3) -> proper# X1)
    (proper# x(X1, X2) -> proper# X2, proper# U84(X1, X2, X3) -> U84#(proper X1, proper X2, proper X3))
    (proper# x(X1, X2) -> proper# X2, proper# U83(X1, X2, X3) -> proper# X3)
    (proper# x(X1, X2) -> proper# X2, proper# U83(X1, X2, X3) -> proper# X2)
    (proper# x(X1, X2) -> proper# X2, proper# U83(X1, X2, X3) -> proper# X1)
    (proper# x(X1, X2) -> proper# X2, proper# U83(X1, X2, X3) -> U83#(proper X1, proper X2, proper X3))
    (proper# x(X1, X2) -> proper# X2, proper# U81(X1, X2, X3) -> proper# X3)
    (proper# x(X1, X2) -> proper# X2, proper# U81(X1, X2, X3) -> proper# X2)
    (proper# x(X1, X2) -> proper# X2, proper# U81(X1, X2, X3) -> proper# X1)
    (proper# x(X1, X2) -> proper# X2, proper# U81(X1, X2, X3) -> U81#(proper X1, proper X2, proper X3))
    (proper# x(X1, X2) -> proper# X2, proper# U82(X1, X2, X3) -> proper# X3)
    (proper# x(X1, X2) -> proper# X2, proper# U82(X1, X2, X3) -> proper# X2)
    (proper# x(X1, X2) -> proper# X2, proper# U82(X1, X2, X3) -> proper# X1)
    (proper# x(X1, X2) -> proper# X2, proper# U82(X1, X2, X3) -> U82#(proper X1, proper X2, proper X3))
    (proper# x(X1, X2) -> proper# X2, proper# U71(X1, X2) -> proper# X2)
    (proper# x(X1, X2) -> proper# X2, proper# U71(X1, X2) -> proper# X1)
    (proper# x(X1, X2) -> proper# X2, proper# U71(X1, X2) -> U71#(proper X1, proper X2))
    (proper# x(X1, X2) -> proper# X2, proper# U72(X1, X2) -> proper# X2)
    (proper# x(X1, X2) -> proper# X2, proper# U72(X1, X2) -> proper# X1)
    (proper# x(X1, X2) -> proper# X2, proper# U72(X1, X2) -> U72#(proper X1, proper X2))
    (proper# x(X1, X2) -> proper# X2, proper# U61(X1, X2) -> proper# X2)
    (proper# x(X1, X2) -> proper# X2, proper# U61(X1, X2) -> proper# X1)
    (proper# x(X1, X2) -> proper# X2, proper# U61(X1, X2) -> U61#(proper X1, proper X2))
    (proper# x(X1, X2) -> proper# X2, proper# U62 X -> proper# X)
    (proper# x(X1, X2) -> proper# X2, proper# U62 X -> U62# proper X)
    (proper# x(X1, X2) -> proper# X2, proper# U51 X -> proper# X)
    (proper# x(X1, X2) -> proper# X2, proper# U51 X -> U51# 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# U41(X1, X2) -> U41#(proper X1, proper X2))
    (proper# x(X1, X2) -> proper# X2, proper# U42 X -> proper# X)
    (proper# x(X1, X2) -> proper# X2, proper# U42 X -> U42# proper X)
    (proper# x(X1, X2) -> proper# X2, proper# U36 X -> proper# X)
    (proper# x(X1, X2) -> proper# X2, proper# U36 X -> U36# proper X)
    (proper# x(X1, X2) -> proper# X2, proper# U35(X1, X2) -> proper# X2)
    (proper# x(X1, X2) -> proper# X2, proper# U35(X1, X2) -> proper# X1)
    (proper# x(X1, X2) -> proper# X2, proper# U35(X1, X2) -> U35#(proper X1, proper X2))
    (proper# x(X1, X2) -> proper# X2, proper# U34(X1, X2, X3) -> proper# X3)
    (proper# x(X1, X2) -> proper# X2, proper# U34(X1, X2, X3) -> proper# X2)
    (proper# x(X1, X2) -> proper# X2, proper# U34(X1, X2, X3) -> proper# X1)
    (proper# x(X1, X2) -> proper# X2, proper# U34(X1, X2, X3) -> U34#(proper X1, proper X2, proper X3))
    (proper# x(X1, X2) -> proper# X2, proper# U33(X1, X2, X3) -> proper# X3)
    (proper# x(X1, X2) -> proper# X2, proper# U33(X1, X2, X3) -> proper# X2)
    (proper# x(X1, X2) -> proper# X2, proper# U33(X1, X2, X3) -> proper# X1)
    (proper# x(X1, X2) -> proper# X2, proper# U33(X1, X2, X3) -> U33#(proper X1, proper X2, proper X3))
    (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# U31(X1, X2, X3) -> U31#(proper X1, proper X2, proper X3))
    (proper# x(X1, X2) -> proper# X2, proper# U32(X1, X2, X3) -> proper# X3)
    (proper# x(X1, X2) -> proper# X2, proper# U32(X1, X2, X3) -> proper# X2)
    (proper# x(X1, X2) -> proper# X2, proper# U32(X1, X2, X3) -> proper# X1)
    (proper# x(X1, X2) -> proper# X2, proper# U32(X1, X2, X3) -> U32#(proper X1, proper X2, proper X3))
    (proper# x(X1, X2) -> proper# X2, proper# U23 X -> proper# X)
    (proper# x(X1, X2) -> proper# X2, proper# U23 X -> U23# proper X)
    (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# U21(X1, X2) -> U21#(proper X1, proper X2))
    (proper# x(X1, X2) -> proper# X2, proper# U22(X1, X2) -> proper# X2)
    (proper# x(X1, X2) -> proper# X2, proper# U22(X1, X2) -> proper# X1)
    (proper# x(X1, X2) -> proper# X2, proper# U22(X1, X2) -> U22#(proper X1, proper X2))
    (proper# x(X1, X2) -> proper# X2, proper# U16 X -> proper# X)
    (proper# x(X1, X2) -> proper# X2, proper# U16 X -> U16# proper X)
    (proper# x(X1, X2) -> proper# X2, proper# U15(X1, X2) -> proper# X2)
    (proper# x(X1, X2) -> proper# X2, proper# U15(X1, X2) -> proper# X1)
    (proper# x(X1, X2) -> proper# X2, proper# U15(X1, X2) -> U15#(proper X1, proper X2))
    (proper# x(X1, X2) -> proper# X2, proper# U14(X1, X2, X3) -> proper# X3)
    (proper# x(X1, X2) -> proper# X2, proper# U14(X1, X2, X3) -> proper# X2)
    (proper# x(X1, X2) -> proper# X2, proper# U14(X1, X2, X3) -> proper# X1)
    (proper# x(X1, X2) -> proper# X2, proper# U14(X1, X2, X3) -> U14#(proper X1, proper X2, proper X3))
    (proper# x(X1, X2) -> proper# X2, proper# U13(X1, X2, X3) -> proper# X3)
    (proper# x(X1, X2) -> proper# X2, proper# U13(X1, X2, X3) -> proper# X2)
    (proper# x(X1, X2) -> proper# X2, proper# U13(X1, X2, X3) -> proper# X1)
    (proper# x(X1, X2) -> proper# X2, proper# U13(X1, X2, X3) -> U13#(proper X1, proper X2, proper X3))
    (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# U11(X1, X2, X3) -> U11#(proper X1, proper X2, proper X3))
    (proper# x(X1, X2) -> proper# X2, proper# U12(X1, X2, X3) -> proper# X3)
    (proper# x(X1, X2) -> proper# X2, proper# U12(X1, X2, X3) -> proper# X2)
    (proper# x(X1, X2) -> proper# X2, proper# U12(X1, X2, X3) -> proper# X1)
    (proper# x(X1, X2) -> proper# X2, proper# U12(X1, X2, X3) -> U12#(proper X1, proper X2, proper X3))
    (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# x(X1, X2) -> x#(proper X1, proper X2))
    (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# plus(X1, X2) -> plus#(proper X1, proper X2))
    (proper# x(X1, X2) -> proper# X2, proper# U104(X1, X2, X3) -> proper# X3)
    (proper# x(X1, X2) -> proper# X2, proper# U104(X1, X2, X3) -> proper# X2)
    (proper# x(X1, X2) -> proper# X2, proper# U104(X1, X2, X3) -> proper# X1)
    (proper# x(X1, X2) -> proper# X2, proper# U104(X1, X2, X3) -> U104#(proper X1, proper X2, proper X3))
    (proper# x(X1, X2) -> proper# X2, proper# isNat X -> proper# X)
    (proper# x(X1, X2) -> proper# X2, proper# isNat X -> isNat# proper X)
    (proper# x(X1, X2) -> proper# X2, proper# U103(X1, X2, X3) -> proper# X3)
    (proper# x(X1, X2) -> proper# X2, proper# U103(X1, X2, X3) -> proper# X2)
    (proper# x(X1, X2) -> proper# X2, proper# U103(X1, X2, X3) -> proper# X1)
    (proper# x(X1, X2) -> proper# X2, proper# U103(X1, X2, X3) -> U103#(proper X1, proper X2, proper X3))
    (proper# x(X1, X2) -> proper# X2, proper# U101(X1, X2, X3) -> proper# X3)
    (proper# x(X1, X2) -> proper# X2, proper# U101(X1, X2, X3) -> proper# X2)
    (proper# x(X1, X2) -> proper# X2, proper# U101(X1, X2, X3) -> proper# X1)
    (proper# x(X1, X2) -> proper# X2, proper# U101(X1, X2, X3) -> U101#(proper X1, proper X2, proper X3))
    (proper# x(X1, X2) -> proper# X2, proper# isNatKind X -> proper# X)
    (proper# x(X1, X2) -> proper# X2, proper# isNatKind X -> isNatKind# proper X)
    (proper# x(X1, X2) -> proper# X2, proper# U102(X1, X2, X3) -> proper# X3)
    (proper# x(X1, X2) -> proper# X2, proper# U102(X1, X2, X3) -> proper# X2)
    (proper# x(X1, X2) -> proper# X2, proper# U102(X1, X2, X3) -> proper# X1)
    (proper# x(X1, X2) -> proper# X2, proper# U102(X1, X2, X3) -> U102#(proper X1, proper X2, proper X3))
    (proper# U11(X1, X2, X3) -> proper# X2, proper# U91(X1, X2) -> proper# X2)
    (proper# U11(X1, X2, X3) -> proper# X2, proper# U91(X1, X2) -> proper# X1)
    (proper# U11(X1, X2, X3) -> proper# X2, proper# U91(X1, X2) -> U91#(proper X1, proper X2))
    (proper# U11(X1, X2, X3) -> proper# X2, proper# U92 X -> proper# X)
    (proper# U11(X1, X2, X3) -> proper# X2, proper# U92 X -> U92# proper X)
    (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# U84(X1, X2, X3) -> proper# X3)
    (proper# U11(X1, X2, X3) -> proper# X2, proper# U84(X1, X2, X3) -> proper# X2)
    (proper# U11(X1, X2, X3) -> proper# X2, proper# U84(X1, X2, X3) -> proper# X1)
    (proper# U11(X1, X2, X3) -> proper# X2, proper# U84(X1, X2, X3) -> U84#(proper X1, proper X2, proper X3))
    (proper# U11(X1, X2, X3) -> proper# X2, proper# U83(X1, X2, X3) -> proper# X3)
    (proper# U11(X1, X2, X3) -> proper# X2, proper# U83(X1, X2, X3) -> proper# X2)
    (proper# U11(X1, X2, X3) -> proper# X2, proper# U83(X1, X2, X3) -> proper# X1)
    (proper# U11(X1, X2, X3) -> proper# X2, proper# U83(X1, X2, X3) -> U83#(proper X1, proper X2, proper X3))
    (proper# U11(X1, X2, X3) -> proper# X2, proper# U81(X1, X2, X3) -> proper# X3)
    (proper# U11(X1, X2, X3) -> proper# X2, proper# U81(X1, X2, X3) -> proper# X2)
    (proper# U11(X1, X2, X3) -> proper# X2, proper# U81(X1, X2, X3) -> proper# X1)
    (proper# U11(X1, X2, X3) -> proper# X2, proper# U81(X1, X2, X3) -> U81#(proper X1, proper X2, proper X3))
    (proper# U11(X1, X2, X3) -> proper# X2, proper# U82(X1, X2, X3) -> proper# X3)
    (proper# U11(X1, X2, X3) -> proper# X2, proper# U82(X1, X2, X3) -> proper# X2)
    (proper# U11(X1, X2, X3) -> proper# X2, proper# U82(X1, X2, X3) -> proper# X1)
    (proper# U11(X1, X2, X3) -> proper# X2, proper# U82(X1, X2, X3) -> U82#(proper X1, proper X2, proper X3))
    (proper# U11(X1, X2, X3) -> proper# X2, proper# U71(X1, X2) -> proper# X2)
    (proper# U11(X1, X2, X3) -> proper# X2, proper# U71(X1, X2) -> proper# X1)
    (proper# U11(X1, X2, X3) -> proper# X2, proper# U71(X1, X2) -> U71#(proper X1, proper X2))
    (proper# U11(X1, X2, X3) -> proper# X2, proper# U72(X1, X2) -> proper# X2)
    (proper# U11(X1, X2, X3) -> proper# X2, proper# U72(X1, X2) -> proper# X1)
    (proper# U11(X1, X2, X3) -> proper# X2, proper# U72(X1, X2) -> U72#(proper X1, proper X2))
    (proper# U11(X1, X2, X3) -> proper# X2, proper# U61(X1, X2) -> proper# X2)
    (proper# U11(X1, X2, X3) -> proper# X2, proper# U61(X1, X2) -> proper# X1)
    (proper# U11(X1, X2, X3) -> proper# X2, proper# U61(X1, X2) -> U61#(proper X1, proper X2))
    (proper# U11(X1, X2, X3) -> proper# X2, proper# U62 X -> proper# X)
    (proper# U11(X1, X2, X3) -> proper# X2, proper# U62 X -> U62# proper X)
    (proper# U11(X1, X2, X3) -> proper# X2, proper# U51 X -> proper# X)
    (proper# U11(X1, X2, X3) -> proper# X2, proper# U51 X -> U51# 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# U42 X -> proper# X)
    (proper# U11(X1, X2, X3) -> proper# X2, proper# U42 X -> U42# proper X)
    (proper# U11(X1, X2, X3) -> proper# X2, proper# U36 X -> proper# X)
    (proper# U11(X1, X2, X3) -> proper# X2, proper# U36 X -> U36# proper X)
    (proper# U11(X1, X2, X3) -> proper# X2, proper# U35(X1, X2) -> proper# X2)
    (proper# U11(X1, X2, X3) -> proper# X2, proper# U35(X1, X2) -> proper# X1)
    (proper# U11(X1, X2, X3) -> proper# X2, proper# U35(X1, X2) -> U35#(proper X1, proper X2))
    (proper# U11(X1, X2, X3) -> proper# X2, proper# U34(X1, X2, X3) -> proper# X3)
    (proper# U11(X1, X2, X3) -> proper# X2, proper# U34(X1, X2, X3) -> proper# X2)
    (proper# U11(X1, X2, X3) -> proper# X2, proper# U34(X1, X2, X3) -> proper# X1)
    (proper# U11(X1, X2, X3) -> proper# X2, proper# U34(X1, X2, X3) -> U34#(proper X1, proper X2, proper X3))
    (proper# U11(X1, X2, X3) -> proper# X2, proper# U33(X1, X2, X3) -> proper# X3)
    (proper# U11(X1, X2, X3) -> proper# X2, proper# U33(X1, X2, X3) -> proper# X2)
    (proper# U11(X1, X2, X3) -> proper# X2, proper# U33(X1, X2, X3) -> proper# X1)
    (proper# U11(X1, X2, X3) -> proper# X2, proper# U33(X1, X2, X3) -> U33#(proper X1, proper X2, proper X3))
    (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, X3) -> proper# X3)
    (proper# U11(X1, X2, X3) -> proper# X2, proper# U32(X1, X2, X3) -> proper# X2)
    (proper# U11(X1, X2, X3) -> proper# X2, proper# U32(X1, X2, X3) -> proper# X1)
    (proper# U11(X1, X2, X3) -> proper# X2, proper# U32(X1, X2, X3) -> U32#(proper X1, proper X2, proper X3))
    (proper# U11(X1, X2, X3) -> proper# X2, proper# U23 X -> proper# X)
    (proper# U11(X1, X2, X3) -> proper# X2, proper# U23 X -> U23# proper X)
    (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(X1, X2) -> proper# X2)
    (proper# U11(X1, X2, X3) -> proper# X2, proper# U22(X1, X2) -> proper# X1)
    (proper# U11(X1, X2, X3) -> proper# X2, proper# U22(X1, X2) -> U22#(proper X1, proper X2))
    (proper# U11(X1, X2, X3) -> proper# X2, proper# U16 X -> proper# X)
    (proper# U11(X1, X2, X3) -> proper# X2, proper# U16 X -> U16# proper X)
    (proper# U11(X1, X2, X3) -> proper# X2, proper# U15(X1, X2) -> proper# X2)
    (proper# U11(X1, X2, X3) -> proper# X2, proper# U15(X1, X2) -> proper# X1)
    (proper# U11(X1, X2, X3) -> proper# X2, proper# U15(X1, X2) -> U15#(proper X1, proper X2))
    (proper# U11(X1, X2, X3) -> proper# X2, proper# U14(X1, X2, X3) -> proper# X3)
    (proper# U11(X1, X2, X3) -> proper# X2, proper# U14(X1, X2, X3) -> proper# X2)
    (proper# U11(X1, X2, X3) -> proper# X2, proper# U14(X1, X2, X3) -> proper# X1)
    (proper# U11(X1, X2, X3) -> proper# X2, proper# U14(X1, X2, X3) -> U14#(proper X1, proper X2, proper X3))
    (proper# U11(X1, X2, X3) -> proper# X2, proper# U13(X1, X2, X3) -> proper# X3)
    (proper# U11(X1, X2, X3) -> proper# X2, proper# U13(X1, X2, X3) -> proper# X2)
    (proper# U11(X1, X2, X3) -> proper# X2, proper# U13(X1, X2, X3) -> proper# X1)
    (proper# U11(X1, X2, X3) -> proper# X2, proper# U13(X1, X2, X3) -> U13#(proper X1, proper X2, proper X3))
    (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# U12(X1, X2, X3) -> proper# X3)
    (proper# U11(X1, X2, X3) -> proper# X2, proper# U12(X1, X2, X3) -> proper# X2)
    (proper# U11(X1, X2, X3) -> proper# X2, proper# U12(X1, X2, X3) -> proper# X1)
    (proper# U11(X1, X2, X3) -> proper# X2, proper# U12(X1, X2, X3) -> U12#(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# 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# U104(X1, X2, X3) -> proper# X3)
    (proper# U11(X1, X2, X3) -> proper# X2, proper# U104(X1, X2, X3) -> proper# X2)
    (proper# U11(X1, X2, X3) -> proper# X2, proper# U104(X1, X2, X3) -> proper# X1)
    (proper# U11(X1, X2, X3) -> proper# X2, proper# U104(X1, X2, X3) -> U104#(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# U103(X1, X2, X3) -> proper# X3)
    (proper# U11(X1, X2, X3) -> proper# X2, proper# U103(X1, X2, X3) -> proper# X2)
    (proper# U11(X1, X2, X3) -> proper# X2, proper# U103(X1, X2, X3) -> proper# X1)
    (proper# U11(X1, X2, X3) -> proper# X2, proper# U103(X1, X2, X3) -> U103#(proper X1, proper X2, proper X3))
    (proper# U11(X1, X2, X3) -> proper# X2, proper# U101(X1, X2, X3) -> proper# X3)
    (proper# U11(X1, X2, X3) -> proper# X2, proper# U101(X1, X2, X3) -> proper# X2)
    (proper# U11(X1, X2, X3) -> proper# X2, proper# U101(X1, X2, X3) -> proper# X1)
    (proper# U11(X1, X2, X3) -> proper# X2, proper# U101(X1, X2, X3) -> U101#(proper X1, proper X2, proper X3))
    (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# U102(X1, X2, X3) -> proper# X3)
    (proper# U11(X1, X2, X3) -> proper# X2, proper# U102(X1, X2, X3) -> proper# X2)
    (proper# U11(X1, X2, X3) -> proper# X2, proper# U102(X1, X2, X3) -> proper# X1)
    (proper# U11(X1, X2, X3) -> proper# X2, proper# U102(X1, X2, X3) -> U102#(proper X1, proper X2, proper X3))
    (proper# U14(X1, X2, X3) -> proper# X2, proper# U91(X1, X2) -> proper# X2)
    (proper# U14(X1, X2, X3) -> proper# X2, proper# U91(X1, X2) -> proper# X1)
    (proper# U14(X1, X2, X3) -> proper# X2, proper# U91(X1, X2) -> U91#(proper X1, proper X2))
    (proper# U14(X1, X2, X3) -> proper# X2, proper# U92 X -> proper# X)
    (proper# U14(X1, X2, X3) -> proper# X2, proper# U92 X -> U92# proper X)
    (proper# U14(X1, X2, X3) -> proper# X2, proper# s X -> proper# X)
    (proper# U14(X1, X2, X3) -> proper# X2, proper# s X -> s# proper X)
    (proper# U14(X1, X2, X3) -> proper# X2, proper# U84(X1, X2, X3) -> proper# X3)
    (proper# U14(X1, X2, X3) -> proper# X2, proper# U84(X1, X2, X3) -> proper# X2)
    (proper# U14(X1, X2, X3) -> proper# X2, proper# U84(X1, X2, X3) -> proper# X1)
    (proper# U14(X1, X2, X3) -> proper# X2, proper# U84(X1, X2, X3) -> U84#(proper X1, proper X2, proper X3))
    (proper# U14(X1, X2, X3) -> proper# X2, proper# U83(X1, X2, X3) -> proper# X3)
    (proper# U14(X1, X2, X3) -> proper# X2, proper# U83(X1, X2, X3) -> proper# X2)
    (proper# U14(X1, X2, X3) -> proper# X2, proper# U83(X1, X2, X3) -> proper# X1)
    (proper# U14(X1, X2, X3) -> proper# X2, proper# U83(X1, X2, X3) -> U83#(proper X1, proper X2, proper X3))
    (proper# U14(X1, X2, X3) -> proper# X2, proper# U81(X1, X2, X3) -> proper# X3)
    (proper# U14(X1, X2, X3) -> proper# X2, proper# U81(X1, X2, X3) -> proper# X2)
    (proper# U14(X1, X2, X3) -> proper# X2, proper# U81(X1, X2, X3) -> proper# X1)
    (proper# U14(X1, X2, X3) -> proper# X2, proper# U81(X1, X2, X3) -> U81#(proper X1, proper X2, proper X3))
    (proper# U14(X1, X2, X3) -> proper# X2, proper# U82(X1, X2, X3) -> proper# X3)
    (proper# U14(X1, X2, X3) -> proper# X2, proper# U82(X1, X2, X3) -> proper# X2)
    (proper# U14(X1, X2, X3) -> proper# X2, proper# U82(X1, X2, X3) -> proper# X1)
    (proper# U14(X1, X2, X3) -> proper# X2, proper# U82(X1, X2, X3) -> U82#(proper X1, proper X2, proper X3))
    (proper# U14(X1, X2, X3) -> proper# X2, proper# U71(X1, X2) -> proper# X2)
    (proper# U14(X1, X2, X3) -> proper# X2, proper# U71(X1, X2) -> proper# X1)
    (proper# U14(X1, X2, X3) -> proper# X2, proper# U71(X1, X2) -> U71#(proper X1, proper X2))
    (proper# U14(X1, X2, X3) -> proper# X2, proper# U72(X1, X2) -> proper# X2)
    (proper# U14(X1, X2, X3) -> proper# X2, proper# U72(X1, X2) -> proper# X1)
    (proper# U14(X1, X2, X3) -> proper# X2, proper# U72(X1, X2) -> U72#(proper X1, proper X2))
    (proper# U14(X1, X2, X3) -> proper# X2, proper# U61(X1, X2) -> proper# X2)
    (proper# U14(X1, X2, X3) -> proper# X2, proper# U61(X1, X2) -> proper# X1)
    (proper# U14(X1, X2, X3) -> proper# X2, proper# U61(X1, X2) -> U61#(proper X1, proper X2))
    (proper# U14(X1, X2, X3) -> proper# X2, proper# U62 X -> proper# X)
    (proper# U14(X1, X2, X3) -> proper# X2, proper# U62 X -> U62# proper X)
    (proper# U14(X1, X2, X3) -> proper# X2, proper# U51 X -> proper# X)
    (proper# U14(X1, X2, X3) -> proper# X2, proper# U51 X -> U51# proper X)
    (proper# U14(X1, X2, X3) -> proper# X2, proper# U41(X1, X2) -> proper# X2)
    (proper# U14(X1, X2, X3) -> proper# X2, proper# U41(X1, X2) -> proper# X1)
    (proper# U14(X1, X2, X3) -> proper# X2, proper# U41(X1, X2) -> U41#(proper X1, proper X2))
    (proper# U14(X1, X2, X3) -> proper# X2, proper# U42 X -> proper# X)
    (proper# U14(X1, X2, X3) -> proper# X2, proper# U42 X -> U42# proper X)
    (proper# U14(X1, X2, X3) -> proper# X2, proper# U36 X -> proper# X)
    (proper# U14(X1, X2, X3) -> proper# X2, proper# U36 X -> U36# proper X)
    (proper# U14(X1, X2, X3) -> proper# X2, proper# U35(X1, X2) -> proper# X2)
    (proper# U14(X1, X2, X3) -> proper# X2, proper# U35(X1, X2) -> proper# X1)
    (proper# U14(X1, X2, X3) -> proper# X2, proper# U35(X1, X2) -> U35#(proper X1, proper X2))
    (proper# U14(X1, X2, X3) -> proper# X2, proper# U34(X1, X2, X3) -> proper# X3)
    (proper# U14(X1, X2, X3) -> proper# X2, proper# U34(X1, X2, X3) -> proper# X2)
    (proper# U14(X1, X2, X3) -> proper# X2, proper# U34(X1, X2, X3) -> proper# X1)
    (proper# U14(X1, X2, X3) -> proper# X2, proper# U34(X1, X2, X3) -> U34#(proper X1, proper X2, proper X3))
    (proper# U14(X1, X2, X3) -> proper# X2, proper# U33(X1, X2, X3) -> proper# X3)
    (proper# U14(X1, X2, X3) -> proper# X2, proper# U33(X1, X2, X3) -> proper# X2)
    (proper# U14(X1, X2, X3) -> proper# X2, proper# U33(X1, X2, X3) -> proper# X1)
    (proper# U14(X1, X2, X3) -> proper# X2, proper# U33(X1, X2, X3) -> U33#(proper X1, proper X2, proper X3))
    (proper# U14(X1, X2, X3) -> proper# X2, proper# U31(X1, X2, X3) -> proper# X3)
    (proper# U14(X1, X2, X3) -> proper# X2, proper# U31(X1, X2, X3) -> proper# X2)
    (proper# U14(X1, X2, X3) -> proper# X2, proper# U31(X1, X2, X3) -> proper# X1)
    (proper# U14(X1, X2, X3) -> proper# X2, proper# U31(X1, X2, X3) -> U31#(proper X1, proper X2, proper X3))
    (proper# U14(X1, X2, X3) -> proper# X2, proper# U32(X1, X2, X3) -> proper# X3)
    (proper# U14(X1, X2, X3) -> proper# X2, proper# U32(X1, X2, X3) -> proper# X2)
    (proper# U14(X1, X2, X3) -> proper# X2, proper# U32(X1, X2, X3) -> proper# X1)
    (proper# U14(X1, X2, X3) -> proper# X2, proper# U32(X1, X2, X3) -> U32#(proper X1, proper X2, proper X3))
    (proper# U14(X1, X2, X3) -> proper# X2, proper# U23 X -> proper# X)
    (proper# U14(X1, X2, X3) -> proper# X2, proper# U23 X -> U23# proper X)
    (proper# U14(X1, X2, X3) -> proper# X2, proper# U21(X1, X2) -> proper# X2)
    (proper# U14(X1, X2, X3) -> proper# X2, proper# U21(X1, X2) -> proper# X1)
    (proper# U14(X1, X2, X3) -> proper# X2, proper# U21(X1, X2) -> U21#(proper X1, proper X2))
    (proper# U14(X1, X2, X3) -> proper# X2, proper# U22(X1, X2) -> proper# X2)
    (proper# U14(X1, X2, X3) -> proper# X2, proper# U22(X1, X2) -> proper# X1)
    (proper# U14(X1, X2, X3) -> proper# X2, proper# U22(X1, X2) -> U22#(proper X1, proper X2))
    (proper# U14(X1, X2, X3) -> proper# X2, proper# U16 X -> proper# X)
    (proper# U14(X1, X2, X3) -> proper# X2, proper# U16 X -> U16# proper X)
    (proper# U14(X1, X2, X3) -> proper# X2, proper# U15(X1, X2) -> proper# X2)
    (proper# U14(X1, X2, X3) -> proper# X2, proper# U15(X1, X2) -> proper# X1)
    (proper# U14(X1, X2, X3) -> proper# X2, proper# U15(X1, X2) -> U15#(proper X1, proper X2))
    (proper# U14(X1, X2, X3) -> proper# X2, proper# U14(X1, X2, X3) -> proper# X3)
    (proper# U14(X1, X2, X3) -> proper# X2, proper# U14(X1, X2, X3) -> proper# X2)
    (proper# U14(X1, X2, X3) -> proper# X2, proper# U14(X1, X2, X3) -> proper# X1)
    (proper# U14(X1, X2, X3) -> proper# X2, proper# U14(X1, X2, X3) -> U14#(proper X1, proper X2, proper X3))
    (proper# U14(X1, X2, X3) -> proper# X2, proper# U13(X1, X2, X3) -> proper# X3)
    (proper# U14(X1, X2, X3) -> proper# X2, proper# U13(X1, X2, X3) -> proper# X2)
    (proper# U14(X1, X2, X3) -> proper# X2, proper# U13(X1, X2, X3) -> proper# X1)
    (proper# U14(X1, X2, X3) -> proper# X2, proper# U13(X1, X2, X3) -> U13#(proper X1, proper X2, proper X3))
    (proper# U14(X1, X2, X3) -> proper# X2, proper# U11(X1, X2, X3) -> proper# X3)
    (proper# U14(X1, X2, X3) -> proper# X2, proper# U11(X1, X2, X3) -> proper# X2)
    (proper# U14(X1, X2, X3) -> proper# X2, proper# U11(X1, X2, X3) -> proper# X1)
    (proper# U14(X1, X2, X3) -> proper# X2, proper# U11(X1, X2, X3) -> U11#(proper X1, proper X2, proper X3))
    (proper# U14(X1, X2, X3) -> proper# X2, proper# U12(X1, X2, X3) -> proper# X3)
    (proper# U14(X1, X2, X3) -> proper# X2, proper# U12(X1, X2, X3) -> proper# X2)
    (proper# U14(X1, X2, X3) -> proper# X2, proper# U12(X1, X2, X3) -> proper# X1)
    (proper# U14(X1, X2, X3) -> proper# X2, proper# U12(X1, X2, X3) -> U12#(proper X1, proper X2, proper X3))
    (proper# U14(X1, X2, X3) -> proper# X2, proper# x(X1, X2) -> proper# X2)
    (proper# U14(X1, X2, X3) -> proper# X2, proper# x(X1, X2) -> proper# X1)
    (proper# U14(X1, X2, X3) -> proper# X2, proper# x(X1, X2) -> x#(proper X1, proper X2))
    (proper# U14(X1, X2, X3) -> proper# X2, proper# plus(X1, X2) -> proper# X2)
    (proper# U14(X1, X2, X3) -> proper# X2, proper# plus(X1, X2) -> proper# X1)
    (proper# U14(X1, X2, X3) -> proper# X2, proper# plus(X1, X2) -> plus#(proper X1, proper X2))
    (proper# U14(X1, X2, X3) -> proper# X2, proper# U104(X1, X2, X3) -> proper# X3)
    (proper# U14(X1, X2, X3) -> proper# X2, proper# U104(X1, X2, X3) -> proper# X2)
    (proper# U14(X1, X2, X3) -> proper# X2, proper# U104(X1, X2, X3) -> proper# X1)
    (proper# U14(X1, X2, X3) -> proper# X2, proper# U104(X1, X2, X3) -> U104#(proper X1, proper X2, proper X3))
    (proper# U14(X1, X2, X3) -> proper# X2, proper# isNat X -> proper# X)
    (proper# U14(X1, X2, X3) -> proper# X2, proper# isNat X -> isNat# proper X)
    (proper# U14(X1, X2, X3) -> proper# X2, proper# U103(X1, X2, X3) -> proper# X3)
    (proper# U14(X1, X2, X3) -> proper# X2, proper# U103(X1, X2, X3) -> proper# X2)
    (proper# U14(X1, X2, X3) -> proper# X2, proper# U103(X1, X2, X3) -> proper# X1)
    (proper# U14(X1, X2, X3) -> proper# X2, proper# U103(X1, X2, X3) -> U103#(proper X1, proper X2, proper X3))
    (proper# U14(X1, X2, X3) -> proper# X2, proper# U101(X1, X2, X3) -> proper# X3)
    (proper# U14(X1, X2, X3) -> proper# X2, proper# U101(X1, X2, X3) -> proper# X2)
    (proper# U14(X1, X2, X3) -> proper# X2, proper# U101(X1, X2, X3) -> proper# X1)
    (proper# U14(X1, X2, X3) -> proper# X2, proper# U101(X1, X2, X3) -> U101#(proper X1, proper X2, proper X3))
    (proper# U14(X1, X2, X3) -> proper# X2, proper# isNatKind X -> proper# X)
    (proper# U14(X1, X2, X3) -> proper# X2, proper# isNatKind X -> isNatKind# proper X)
    (proper# U14(X1, X2, X3) -> proper# X2, proper# U102(X1, X2, X3) -> proper# X3)
    (proper# U14(X1, X2, X3) -> proper# X2, proper# U102(X1, X2, X3) -> proper# X2)
    (proper# U14(X1, X2, X3) -> proper# X2, proper# U102(X1, X2, X3) -> proper# X1)
    (proper# U14(X1, X2, X3) -> proper# X2, proper# U102(X1, X2, X3) -> U102#(proper X1, proper X2, proper X3))
    (proper# U22(X1, X2) -> proper# X2, proper# U91(X1, X2) -> proper# X2)
    (proper# U22(X1, X2) -> proper# X2, proper# U91(X1, X2) -> proper# X1)
    (proper# U22(X1, X2) -> proper# X2, proper# U91(X1, X2) -> U91#(proper X1, proper X2))
    (proper# U22(X1, X2) -> proper# X2, proper# U92 X -> proper# X)
    (proper# U22(X1, X2) -> proper# X2, proper# U92 X -> U92# proper X)
    (proper# U22(X1, X2) -> proper# X2, proper# s X -> proper# X)
    (proper# U22(X1, X2) -> proper# X2, proper# s X -> s# proper X)
    (proper# U22(X1, X2) -> proper# X2, proper# U84(X1, X2, X3) -> proper# X3)
    (proper# U22(X1, X2) -> proper# X2, proper# U84(X1, X2, X3) -> proper# X2)
    (proper# U22(X1, X2) -> proper# X2, proper# U84(X1, X2, X3) -> proper# X1)
    (proper# U22(X1, X2) -> proper# X2, proper# U84(X1, X2, X3) -> U84#(proper X1, proper X2, proper X3))
    (proper# U22(X1, X2) -> proper# X2, proper# U83(X1, X2, X3) -> proper# X3)
    (proper# U22(X1, X2) -> proper# X2, proper# U83(X1, X2, X3) -> proper# X2)
    (proper# U22(X1, X2) -> proper# X2, proper# U83(X1, X2, X3) -> proper# X1)
    (proper# U22(X1, X2) -> proper# X2, proper# U83(X1, X2, X3) -> U83#(proper X1, proper X2, proper X3))
    (proper# U22(X1, X2) -> proper# X2, proper# U81(X1, X2, X3) -> proper# X3)
    (proper# U22(X1, X2) -> proper# X2, proper# U81(X1, X2, X3) -> proper# X2)
    (proper# U22(X1, X2) -> proper# X2, proper# U81(X1, X2, X3) -> proper# X1)
    (proper# U22(X1, X2) -> proper# X2, proper# U81(X1, X2, X3) -> U81#(proper X1, proper X2, proper X3))
    (proper# U22(X1, X2) -> proper# X2, proper# U82(X1, X2, X3) -> proper# X3)
    (proper# U22(X1, X2) -> proper# X2, proper# U82(X1, X2, X3) -> proper# X2)
    (proper# U22(X1, X2) -> proper# X2, proper# U82(X1, X2, X3) -> proper# X1)
    (proper# U22(X1, X2) -> proper# X2, proper# U82(X1, X2, X3) -> U82#(proper X1, proper X2, proper X3))
    (proper# U22(X1, X2) -> proper# X2, proper# U71(X1, X2) -> proper# X2)
    (proper# U22(X1, X2) -> proper# X2, proper# U71(X1, X2) -> proper# X1)
    (proper# U22(X1, X2) -> proper# X2, proper# U71(X1, X2) -> U71#(proper X1, proper X2))
    (proper# U22(X1, X2) -> proper# X2, proper# U72(X1, X2) -> proper# X2)
    (proper# U22(X1, X2) -> proper# X2, proper# U72(X1, X2) -> proper# X1)
    (proper# U22(X1, X2) -> proper# X2, proper# U72(X1, X2) -> U72#(proper X1, proper X2))
    (proper# U22(X1, X2) -> proper# X2, proper# U61(X1, X2) -> proper# X2)
    (proper# U22(X1, X2) -> proper# X2, proper# U61(X1, X2) -> proper# X1)
    (proper# U22(X1, X2) -> proper# X2, proper# U61(X1, X2) -> U61#(proper X1, proper X2))
    (proper# U22(X1, X2) -> proper# X2, proper# U62 X -> proper# X)
    (proper# U22(X1, X2) -> proper# X2, proper# U62 X -> U62# proper X)
    (proper# U22(X1, X2) -> proper# X2, proper# U51 X -> proper# X)
    (proper# U22(X1, X2) -> proper# X2, proper# U51 X -> U51# proper X)
    (proper# U22(X1, X2) -> proper# X2, proper# U41(X1, X2) -> proper# X2)
    (proper# U22(X1, X2) -> proper# X2, proper# U41(X1, X2) -> proper# X1)
    (proper# U22(X1, X2) -> proper# X2, proper# U41(X1, X2) -> U41#(proper X1, proper X2))
    (proper# U22(X1, X2) -> proper# X2, proper# U42 X -> proper# X)
    (proper# U22(X1, X2) -> proper# X2, proper# U42 X -> U42# proper X)
    (proper# U22(X1, X2) -> proper# X2, proper# U36 X -> proper# X)
    (proper# U22(X1, X2) -> proper# X2, proper# U36 X -> U36# proper X)
    (proper# U22(X1, X2) -> proper# X2, proper# U35(X1, X2) -> proper# X2)
    (proper# U22(X1, X2) -> proper# X2, proper# U35(X1, X2) -> proper# X1)
    (proper# U22(X1, X2) -> proper# X2, proper# U35(X1, X2) -> U35#(proper X1, proper X2))
    (proper# U22(X1, X2) -> proper# X2, proper# U34(X1, X2, X3) -> proper# X3)
    (proper# U22(X1, X2) -> proper# X2, proper# U34(X1, X2, X3) -> proper# X2)
    (proper# U22(X1, X2) -> proper# X2, proper# U34(X1, X2, X3) -> proper# X1)
    (proper# U22(X1, X2) -> proper# X2, proper# U34(X1, X2, X3) -> U34#(proper X1, proper X2, proper X3))
    (proper# U22(X1, X2) -> proper# X2, proper# U33(X1, X2, X3) -> proper# X3)
    (proper# U22(X1, X2) -> proper# X2, proper# U33(X1, X2, X3) -> proper# X2)
    (proper# U22(X1, X2) -> proper# X2, proper# U33(X1, X2, X3) -> proper# X1)
    (proper# U22(X1, X2) -> proper# X2, proper# U33(X1, X2, X3) -> U33#(proper X1, proper X2, proper X3))
    (proper# U22(X1, X2) -> proper# X2, proper# U31(X1, X2, X3) -> proper# X3)
    (proper# U22(X1, X2) -> proper# X2, proper# U31(X1, X2, X3) -> proper# X2)
    (proper# U22(X1, X2) -> proper# X2, proper# U31(X1, X2, X3) -> proper# X1)
    (proper# U22(X1, X2) -> proper# X2, proper# U31(X1, X2, X3) -> U31#(proper X1, proper X2, proper X3))
    (proper# U22(X1, X2) -> proper# X2, proper# U32(X1, X2, X3) -> proper# X3)
    (proper# U22(X1, X2) -> proper# X2, proper# U32(X1, X2, X3) -> proper# X2)
    (proper# U22(X1, X2) -> proper# X2, proper# U32(X1, X2, X3) -> proper# X1)
    (proper# U22(X1, X2) -> proper# X2, proper# U32(X1, X2, X3) -> U32#(proper X1, proper X2, proper X3))
    (proper# U22(X1, X2) -> proper# X2, proper# U23 X -> proper# X)
    (proper# U22(X1, X2) -> proper# X2, proper# U23 X -> U23# proper X)
    (proper# U22(X1, X2) -> proper# X2, proper# U21(X1, X2) -> proper# X2)
    (proper# U22(X1, X2) -> proper# X2, proper# U21(X1, X2) -> proper# X1)
    (proper# U22(X1, X2) -> proper# X2, proper# U21(X1, X2) -> U21#(proper X1, proper X2))
    (proper# U22(X1, X2) -> proper# X2, proper# U22(X1, X2) -> proper# X2)
    (proper# U22(X1, X2) -> proper# X2, proper# U22(X1, X2) -> proper# X1)
    (proper# U22(X1, X2) -> proper# X2, proper# U22(X1, X2) -> U22#(proper X1, proper X2))
    (proper# U22(X1, X2) -> proper# X2, proper# U16 X -> proper# X)
    (proper# U22(X1, X2) -> proper# X2, proper# U16 X -> U16# proper X)
    (proper# U22(X1, X2) -> proper# X2, proper# U15(X1, X2) -> proper# X2)
    (proper# U22(X1, X2) -> proper# X2, proper# U15(X1, X2) -> proper# X1)
    (proper# U22(X1, X2) -> proper# X2, proper# U15(X1, X2) -> U15#(proper X1, proper X2))
    (proper# U22(X1, X2) -> proper# X2, proper# U14(X1, X2, X3) -> proper# X3)
    (proper# U22(X1, X2) -> proper# X2, proper# U14(X1, X2, X3) -> proper# X2)
    (proper# U22(X1, X2) -> proper# X2, proper# U14(X1, X2, X3) -> proper# X1)
    (proper# U22(X1, X2) -> proper# X2, proper# U14(X1, X2, X3) -> U14#(proper X1, proper X2, proper X3))
    (proper# U22(X1, X2) -> proper# X2, proper# U13(X1, X2, X3) -> proper# X3)
    (proper# U22(X1, X2) -> proper# X2, proper# U13(X1, X2, X3) -> proper# X2)
    (proper# U22(X1, X2) -> proper# X2, proper# U13(X1, X2, X3) -> proper# X1)
    (proper# U22(X1, X2) -> proper# X2, proper# U13(X1, X2, X3) -> U13#(proper X1, proper X2, proper X3))
    (proper# U22(X1, X2) -> proper# X2, proper# U11(X1, X2, X3) -> proper# X3)
    (proper# U22(X1, X2) -> proper# X2, proper# U11(X1, X2, X3) -> proper# X2)
    (proper# U22(X1, X2) -> proper# X2, proper# U11(X1, X2, X3) -> proper# X1)
    (proper# U22(X1, X2) -> proper# X2, proper# U11(X1, X2, X3) -> U11#(proper X1, proper X2, proper X3))
    (proper# U22(X1, X2) -> proper# X2, proper# U12(X1, X2, X3) -> proper# X3)
    (proper# U22(X1, X2) -> proper# X2, proper# U12(X1, X2, X3) -> proper# X2)
    (proper# U22(X1, X2) -> proper# X2, proper# U12(X1, X2, X3) -> proper# X1)
    (proper# U22(X1, X2) -> proper# X2, proper# U12(X1, X2, X3) -> U12#(proper X1, proper X2, proper X3))
    (proper# U22(X1, X2) -> proper# X2, proper# x(X1, X2) -> proper# X2)
    (proper# U22(X1, X2) -> proper# X2, proper# x(X1, X2) -> proper# X1)
    (proper# U22(X1, X2) -> proper# X2, proper# x(X1, X2) -> x#(proper X1, proper X2))
    (proper# U22(X1, X2) -> proper# X2, proper# plus(X1, X2) -> proper# X2)
    (proper# U22(X1, X2) -> proper# X2, proper# plus(X1, X2) -> proper# X1)
    (proper# U22(X1, X2) -> proper# X2, proper# plus(X1, X2) -> plus#(proper X1, proper X2))
    (proper# U22(X1, X2) -> proper# X2, proper# U104(X1, X2, X3) -> proper# X3)
    (proper# U22(X1, X2) -> proper# X2, proper# U104(X1, X2, X3) -> proper# X2)
    (proper# U22(X1, X2) -> proper# X2, proper# U104(X1, X2, X3) -> proper# X1)
    (proper# U22(X1, X2) -> proper# X2, proper# U104(X1, X2, X3) -> U104#(proper X1, proper X2, proper X3))
    (proper# U22(X1, X2) -> proper# X2, proper# isNat X -> proper# X)
    (proper# U22(X1, X2) -> proper# X2, proper# isNat X -> isNat# proper X)
    (proper# U22(X1, X2) -> proper# X2, proper# U103(X1, X2, X3) -> proper# X3)
    (proper# U22(X1, X2) -> proper# X2, proper# U103(X1, X2, X3) -> proper# X2)
    (proper# U22(X1, X2) -> proper# X2, proper# U103(X1, X2, X3) -> proper# X1)
    (proper# U22(X1, X2) -> proper# X2, proper# U103(X1, X2, X3) -> U103#(proper X1, proper X2, proper X3))
    (proper# U22(X1, X2) -> proper# X2, proper# U101(X1, X2, X3) -> proper# X3)
    (proper# U22(X1, X2) -> proper# X2, proper# U101(X1, X2, X3) -> proper# X2)
    (proper# U22(X1, X2) -> proper# X2, proper# U101(X1, X2, X3) -> proper# X1)
    (proper# U22(X1, X2) -> proper# X2, proper# U101(X1, X2, X3) -> U101#(proper X1, proper X2, proper X3))
    (proper# U22(X1, X2) -> proper# X2, proper# isNatKind X -> proper# X)
    (proper# U22(X1, X2) -> proper# X2, proper# isNatKind X -> isNatKind# proper X)
    (proper# U22(X1, X2) -> proper# X2, proper# U102(X1, X2, X3) -> proper# X3)
    (proper# U22(X1, X2) -> proper# X2, proper# U102(X1, X2, X3) -> proper# X2)
    (proper# U22(X1, X2) -> proper# X2, proper# U102(X1, X2, X3) -> proper# X1)
    (proper# U22(X1, X2) -> proper# X2, proper# U102(X1, X2, X3) -> U102#(proper X1, proper X2, proper X3))
    (proper# U32(X1, X2, X3) -> proper# X2, proper# U91(X1, X2) -> proper# X2)
    (proper# U32(X1, X2, X3) -> proper# X2, proper# U91(X1, X2) -> proper# X1)
    (proper# U32(X1, X2, X3) -> proper# X2, proper# U91(X1, X2) -> U91#(proper X1, proper X2))
    (proper# U32(X1, X2, X3) -> proper# X2, proper# U92 X -> proper# X)
    (proper# U32(X1, X2, X3) -> proper# X2, proper# U92 X -> U92# proper X)
    (proper# U32(X1, X2, X3) -> proper# X2, proper# s X -> proper# X)
    (proper# U32(X1, X2, X3) -> proper# X2, proper# s X -> s# proper X)
    (proper# U32(X1, X2, X3) -> proper# X2, proper# U84(X1, X2, X3) -> proper# X3)
    (proper# U32(X1, X2, X3) -> proper# X2, proper# U84(X1, X2, X3) -> proper# X2)
    (proper# U32(X1, X2, X3) -> proper# X2, proper# U84(X1, X2, X3) -> proper# X1)
    (proper# U32(X1, X2, X3) -> proper# X2, proper# U84(X1, X2, X3) -> U84#(proper X1, proper X2, proper X3))
    (proper# U32(X1, X2, X3) -> proper# X2, proper# U83(X1, X2, X3) -> proper# X3)
    (proper# U32(X1, X2, X3) -> proper# X2, proper# U83(X1, X2, X3) -> proper# X2)
    (proper# U32(X1, X2, X3) -> proper# X2, proper# U83(X1, X2, X3) -> proper# X1)
    (proper# U32(X1, X2, X3) -> proper# X2, proper# U83(X1, X2, X3) -> U83#(proper X1, proper X2, proper X3))
    (proper# U32(X1, X2, X3) -> proper# X2, proper# U81(X1, X2, X3) -> proper# X3)
    (proper# U32(X1, X2, X3) -> proper# X2, proper# U81(X1, X2, X3) -> proper# X2)
    (proper# U32(X1, X2, X3) -> proper# X2, proper# U81(X1, X2, X3) -> proper# X1)
    (proper# U32(X1, X2, X3) -> proper# X2, proper# U81(X1, X2, X3) -> U81#(proper X1, proper X2, proper X3))
    (proper# U32(X1, X2, X3) -> proper# X2, proper# U82(X1, X2, X3) -> proper# X3)
    (proper# U32(X1, X2, X3) -> proper# X2, proper# U82(X1, X2, X3) -> proper# X2)
    (proper# U32(X1, X2, X3) -> proper# X2, proper# U82(X1, X2, X3) -> proper# X1)
    (proper# U32(X1, X2, X3) -> proper# X2, proper# U82(X1, X2, X3) -> U82#(proper X1, proper X2, proper X3))
    (proper# U32(X1, X2, X3) -> proper# X2, proper# U71(X1, X2) -> proper# X2)
    (proper# U32(X1, X2, X3) -> proper# X2, proper# U71(X1, X2) -> proper# X1)
    (proper# U32(X1, X2, X3) -> proper# X2, proper# U71(X1, X2) -> U71#(proper X1, proper X2))
    (proper# U32(X1, X2, X3) -> proper# X2, proper# U72(X1, X2) -> proper# X2)
    (proper# U32(X1, X2, X3) -> proper# X2, proper# U72(X1, X2) -> proper# X1)
    (proper# U32(X1, X2, X3) -> proper# X2, proper# U72(X1, X2) -> U72#(proper X1, proper X2))
    (proper# U32(X1, X2, X3) -> proper# X2, proper# U61(X1, X2) -> proper# X2)
    (proper# U32(X1, X2, X3) -> proper# X2, proper# U61(X1, X2) -> proper# X1)
    (proper# U32(X1, X2, X3) -> proper# X2, proper# U61(X1, X2) -> U61#(proper X1, proper X2))
    (proper# U32(X1, X2, X3) -> proper# X2, proper# U62 X -> proper# X)
    (proper# U32(X1, X2, X3) -> proper# X2, proper# U62 X -> U62# proper X)
    (proper# U32(X1, X2, X3) -> proper# X2, proper# U51 X -> proper# X)
    (proper# U32(X1, X2, X3) -> proper# X2, proper# U51 X -> U51# proper X)
    (proper# U32(X1, X2, X3) -> proper# X2, proper# U41(X1, X2) -> proper# X2)
    (proper# U32(X1, X2, X3) -> proper# X2, proper# U41(X1, X2) -> proper# X1)
    (proper# U32(X1, X2, X3) -> proper# X2, proper# U41(X1, X2) -> U41#(proper X1, proper X2))
    (proper# U32(X1, X2, X3) -> proper# X2, proper# U42 X -> proper# X)
    (proper# U32(X1, X2, X3) -> proper# X2, proper# U42 X -> U42# proper X)
    (proper# U32(X1, X2, X3) -> proper# X2, proper# U36 X -> proper# X)
    (proper# U32(X1, X2, X3) -> proper# X2, proper# U36 X -> U36# proper X)
    (proper# U32(X1, X2, X3) -> proper# X2, proper# U35(X1, X2) -> proper# X2)
    (proper# U32(X1, X2, X3) -> proper# X2, proper# U35(X1, X2) -> proper# X1)
    (proper# U32(X1, X2, X3) -> proper# X2, proper# U35(X1, X2) -> U35#(proper X1, proper X2))
    (proper# U32(X1, X2, X3) -> proper# X2, proper# U34(X1, X2, X3) -> proper# X3)
    (proper# U32(X1, X2, X3) -> proper# X2, proper# U34(X1, X2, X3) -> proper# X2)
    (proper# U32(X1, X2, X3) -> proper# X2, proper# U34(X1, X2, X3) -> proper# X1)
    (proper# U32(X1, X2, X3) -> proper# X2, proper# U34(X1, X2, X3) -> U34#(proper X1, proper X2, proper X3))
    (proper# U32(X1, X2, X3) -> proper# X2, proper# U33(X1, X2, X3) -> proper# X3)
    (proper# U32(X1, X2, X3) -> proper# X2, proper# U33(X1, X2, X3) -> proper# X2)
    (proper# U32(X1, X2, X3) -> proper# X2, proper# U33(X1, X2, X3) -> proper# X1)
    (proper# U32(X1, X2, X3) -> proper# X2, proper# U33(X1, X2, X3) -> U33#(proper X1, proper X2, proper X3))
    (proper# U32(X1, X2, X3) -> proper# X2, proper# U31(X1, X2, X3) -> proper# X3)
    (proper# U32(X1, X2, X3) -> proper# X2, proper# U31(X1, X2, X3) -> proper# X2)
    (proper# U32(X1, X2, X3) -> proper# X2, proper# U31(X1, X2, X3) -> proper# X1)
    (proper# U32(X1, X2, X3) -> proper# X2, proper# U31(X1, X2, X3) -> U31#(proper X1, proper X2, proper X3))
    (proper# U32(X1, X2, X3) -> proper# X2, proper# U32(X1, X2, X3) -> proper# X3)
    (proper# U32(X1, X2, X3) -> proper# X2, proper# U32(X1, X2, X3) -> proper# X2)
    (proper# U32(X1, X2, X3) -> proper# X2, proper# U32(X1, X2, X3) -> proper# X1)
    (proper# U32(X1, X2, X3) -> proper# X2, proper# U32(X1, X2, X3) -> U32#(proper X1, proper X2, proper X3))
    (proper# U32(X1, X2, X3) -> proper# X2, proper# U23 X -> proper# X)
    (proper# U32(X1, X2, X3) -> proper# X2, proper# U23 X -> U23# proper X)
    (proper# U32(X1, X2, X3) -> proper# X2, proper# U21(X1, X2) -> proper# X2)
    (proper# U32(X1, X2, X3) -> proper# X2, proper# U21(X1, X2) -> proper# X1)
    (proper# U32(X1, X2, X3) -> proper# X2, proper# U21(X1, X2) -> U21#(proper X1, proper X2))
    (proper# U32(X1, X2, X3) -> proper# X2, proper# U22(X1, X2) -> proper# X2)
    (proper# U32(X1, X2, X3) -> proper# X2, proper# U22(X1, X2) -> proper# X1)
    (proper# U32(X1, X2, X3) -> proper# X2, proper# U22(X1, X2) -> U22#(proper X1, proper X2))
    (proper# U32(X1, X2, X3) -> proper# X2, proper# U16 X -> proper# X)
    (proper# U32(X1, X2, X3) -> proper# X2, proper# U16 X -> U16# proper X)
    (proper# U32(X1, X2, X3) -> proper# X2, proper# U15(X1, X2) -> proper# X2)
    (proper# U32(X1, X2, X3) -> proper# X2, proper# U15(X1, X2) -> proper# X1)
    (proper# U32(X1, X2, X3) -> proper# X2, proper# U15(X1, X2) -> U15#(proper X1, proper X2))
    (proper# U32(X1, X2, X3) -> proper# X2, proper# U14(X1, X2, X3) -> proper# X3)
    (proper# U32(X1, X2, X3) -> proper# X2, proper# U14(X1, X2, X3) -> proper# X2)
    (proper# U32(X1, X2, X3) -> proper# X2, proper# U14(X1, X2, X3) -> proper# X1)
    (proper# U32(X1, X2, X3) -> proper# X2, proper# U14(X1, X2, X3) -> U14#(proper X1, proper X2, proper X3))
    (proper# U32(X1, X2, X3) -> proper# X2, proper# U13(X1, X2, X3) -> proper# X3)
    (proper# U32(X1, X2, X3) -> proper# X2, proper# U13(X1, X2, X3) -> proper# X2)
    (proper# U32(X1, X2, X3) -> proper# X2, proper# U13(X1, X2, X3) -> proper# X1)
    (proper# U32(X1, X2, X3) -> proper# X2, proper# U13(X1, X2, X3) -> U13#(proper X1, proper X2, proper X3))
    (proper# U32(X1, X2, X3) -> proper# X2, proper# U11(X1, X2, X3) -> proper# X3)
    (proper# U32(X1, X2, X3) -> proper# X2, proper# U11(X1, X2, X3) -> proper# X2)
    (proper# U32(X1, X2, X3) -> proper# X2, proper# U11(X1, X2, X3) -> proper# X1)
    (proper# U32(X1, X2, X3) -> proper# X2, proper# U11(X1, X2, X3) -> U11#(proper X1, proper X2, proper X3))
    (proper# U32(X1, X2, X3) -> proper# X2, proper# U12(X1, X2, X3) -> proper# X3)
    (proper# U32(X1, X2, X3) -> proper# X2, proper# U12(X1, X2, X3) -> proper# X2)
    (proper# U32(X1, X2, X3) -> proper# X2, proper# U12(X1, X2, X3) -> proper# X1)
    (proper# U32(X1, X2, X3) -> proper# X2, proper# U12(X1, X2, X3) -> U12#(proper X1, proper X2, proper X3))
    (proper# U32(X1, X2, X3) -> proper# X2, proper# x(X1, X2) -> proper# X2)
    (proper# U32(X1, X2, X3) -> proper# X2, proper# x(X1, X2) -> proper# X1)
    (proper# U32(X1, X2, X3) -> proper# X2, proper# x(X1, X2) -> x#(proper X1, proper X2))
    (proper# U32(X1, X2, X3) -> proper# X2, proper# plus(X1, X2) -> proper# X2)
    (proper# U32(X1, X2, X3) -> proper# X2, proper# plus(X1, X2) -> proper# X1)
    (proper# U32(X1, X2, X3) -> proper# X2, proper# plus(X1, X2) -> plus#(proper X1, proper X2))
    (proper# U32(X1, X2, X3) -> proper# X2, proper# U104(X1, X2, X3) -> proper# X3)
    (proper# U32(X1, X2, X3) -> proper# X2, proper# U104(X1, X2, X3) -> proper# X2)
    (proper# U32(X1, X2, X3) -> proper# X2, proper# U104(X1, X2, X3) -> proper# X1)
    (proper# U32(X1, X2, X3) -> proper# X2, proper# U104(X1, X2, X3) -> U104#(proper X1, proper X2, proper X3))
    (proper# U32(X1, X2, X3) -> proper# X2, proper# isNat X -> proper# X)
    (proper# U32(X1, X2, X3) -> proper# X2, proper# isNat X -> isNat# proper X)
    (proper# U32(X1, X2, X3) -> proper# X2, proper# U103(X1, X2, X3) -> proper# X3)
    (proper# U32(X1, X2, X3) -> proper# X2, proper# U103(X1, X2, X3) -> proper# X2)
    (proper# U32(X1, X2, X3) -> proper# X2, proper# U103(X1, X2, X3) -> proper# X1)
    (proper# U32(X1, X2, X3) -> proper# X2, proper# U103(X1, X2, X3) -> U103#(proper X1, proper X2, proper X3))
    (proper# U32(X1, X2, X3) -> proper# X2, proper# U101(X1, X2, X3) -> proper# X3)
    (proper# U32(X1, X2, X3) -> proper# X2, proper# U101(X1, X2, X3) -> proper# X2)
    (proper# U32(X1, X2, X3) -> proper# X2, proper# U101(X1, X2, X3) -> proper# X1)
    (proper# U32(X1, X2, X3) -> proper# X2, proper# U101(X1, X2, X3) -> U101#(proper X1, proper X2, proper X3))
    (proper# U32(X1, X2, X3) -> proper# X2, proper# isNatKind X -> proper# X)
    (proper# U32(X1, X2, X3) -> proper# X2, proper# isNatKind X -> isNatKind# proper X)
    (proper# U32(X1, X2, X3) -> proper# X2, proper# U102(X1, X2, X3) -> proper# X3)
    (proper# U32(X1, X2, X3) -> proper# X2, proper# U102(X1, X2, X3) -> proper# X2)
    (proper# U32(X1, X2, X3) -> proper# X2, proper# U102(X1, X2, X3) -> proper# X1)
    (proper# U32(X1, X2, X3) -> proper# X2, proper# U102(X1, X2, X3) -> U102#(proper X1, proper X2, proper X3))
    (proper# U33(X1, X2, X3) -> proper# X2, proper# U91(X1, X2) -> proper# X2)
    (proper# U33(X1, X2, X3) -> proper# X2, proper# U91(X1, X2) -> proper# X1)
    (proper# U33(X1, X2, X3) -> proper# X2, proper# U91(X1, X2) -> U91#(proper X1, proper X2))
    (proper# U33(X1, X2, X3) -> proper# X2, proper# U92 X -> proper# X)
    (proper# U33(X1, X2, X3) -> proper# X2, proper# U92 X -> U92# proper X)
    (proper# U33(X1, X2, X3) -> proper# X2, proper# s X -> proper# X)
    (proper# U33(X1, X2, X3) -> proper# X2, proper# s X -> s# proper X)
    (proper# U33(X1, X2, X3) -> proper# X2, proper# U84(X1, X2, X3) -> proper# X3)
    (proper# U33(X1, X2, X3) -> proper# X2, proper# U84(X1, X2, X3) -> proper# X2)
    (proper# U33(X1, X2, X3) -> proper# X2, proper# U84(X1, X2, X3) -> proper# X1)
    (proper# U33(X1, X2, X3) -> proper# X2, proper# U84(X1, X2, X3) -> U84#(proper X1, proper X2, proper X3))
    (proper# U33(X1, X2, X3) -> proper# X2, proper# U83(X1, X2, X3) -> proper# X3)
    (proper# U33(X1, X2, X3) -> proper# X2, proper# U83(X1, X2, X3) -> proper# X2)
    (proper# U33(X1, X2, X3) -> proper# X2, proper# U83(X1, X2, X3) -> proper# X1)
    (proper# U33(X1, X2, X3) -> proper# X2, proper# U83(X1, X2, X3) -> U83#(proper X1, proper X2, proper X3))
    (proper# U33(X1, X2, X3) -> proper# X2, proper# U81(X1, X2, X3) -> proper# X3)
    (proper# U33(X1, X2, X3) -> proper# X2, proper# U81(X1, X2, X3) -> proper# X2)
    (proper# U33(X1, X2, X3) -> proper# X2, proper# U81(X1, X2, X3) -> proper# X1)
    (proper# U33(X1, X2, X3) -> proper# X2, proper# U81(X1, X2, X3) -> U81#(proper X1, proper X2, proper X3))
    (proper# U33(X1, X2, X3) -> proper# X2, proper# U82(X1, X2, X3) -> proper# X3)
    (proper# U33(X1, X2, X3) -> proper# X2, proper# U82(X1, X2, X3) -> proper# X2)
    (proper# U33(X1, X2, X3) -> proper# X2, proper# U82(X1, X2, X3) -> proper# X1)
    (proper# U33(X1, X2, X3) -> proper# X2, proper# U82(X1, X2, X3) -> U82#(proper X1, proper X2, proper X3))
    (proper# U33(X1, X2, X3) -> proper# X2, proper# U71(X1, X2) -> proper# X2)
    (proper# U33(X1, X2, X3) -> proper# X2, proper# U71(X1, X2) -> proper# X1)
    (proper# U33(X1, X2, X3) -> proper# X2, proper# U71(X1, X2) -> U71#(proper X1, proper X2))
    (proper# U33(X1, X2, X3) -> proper# X2, proper# U72(X1, X2) -> proper# X2)
    (proper# U33(X1, X2, X3) -> proper# X2, proper# U72(X1, X2) -> proper# X1)
    (proper# U33(X1, X2, X3) -> proper# X2, proper# U72(X1, X2) -> U72#(proper X1, proper X2))
    (proper# U33(X1, X2, X3) -> proper# X2, proper# U61(X1, X2) -> proper# X2)
    (proper# U33(X1, X2, X3) -> proper# X2, proper# U61(X1, X2) -> proper# X1)
    (proper# U33(X1, X2, X3) -> proper# X2, proper# U61(X1, X2) -> U61#(proper X1, proper X2))
    (proper# U33(X1, X2, X3) -> proper# X2, proper# U62 X -> proper# X)
    (proper# U33(X1, X2, X3) -> proper# X2, proper# U62 X -> U62# proper X)
    (proper# U33(X1, X2, X3) -> proper# X2, proper# U51 X -> proper# X)
    (proper# U33(X1, X2, X3) -> proper# X2, proper# U51 X -> U51# proper X)
    (proper# U33(X1, X2, X3) -> proper# X2, proper# U41(X1, X2) -> proper# X2)
    (proper# U33(X1, X2, X3) -> proper# X2, proper# U41(X1, X2) -> proper# X1)
    (proper# U33(X1, X2, X3) -> proper# X2, proper# U41(X1, X2) -> U41#(proper X1, proper X2))
    (proper# U33(X1, X2, X3) -> proper# X2, proper# U42 X -> proper# X)
    (proper# U33(X1, X2, X3) -> proper# X2, proper# U42 X -> U42# proper X)
    (proper# U33(X1, X2, X3) -> proper# X2, proper# U36 X -> proper# X)
    (proper# U33(X1, X2, X3) -> proper# X2, proper# U36 X -> U36# proper X)
    (proper# U33(X1, X2, X3) -> proper# X2, proper# U35(X1, X2) -> proper# X2)
    (proper# U33(X1, X2, X3) -> proper# X2, proper# U35(X1, X2) -> proper# X1)
    (proper# U33(X1, X2, X3) -> proper# X2, proper# U35(X1, X2) -> U35#(proper X1, proper X2))
    (proper# U33(X1, X2, X3) -> proper# X2, proper# U34(X1, X2, X3) -> proper# X3)
    (proper# U33(X1, X2, X3) -> proper# X2, proper# U34(X1, X2, X3) -> proper# X2)
    (proper# U33(X1, X2, X3) -> proper# X2, proper# U34(X1, X2, X3) -> proper# X1)
    (proper# U33(X1, X2, X3) -> proper# X2, proper# U34(X1, X2, X3) -> U34#(proper X1, proper X2, proper X3))
    (proper# U33(X1, X2, X3) -> proper# X2, proper# U33(X1, X2, X3) -> proper# X3)
    (proper# U33(X1, X2, X3) -> proper# X2, proper# U33(X1, X2, X3) -> proper# X2)
    (proper# U33(X1, X2, X3) -> proper# X2, proper# U33(X1, X2, X3) -> proper# X1)
    (proper# U33(X1, X2, X3) -> proper# X2, proper# U33(X1, X2, X3) -> U33#(proper X1, proper X2, proper X3))
    (proper# U33(X1, X2, X3) -> proper# X2, proper# U31(X1, X2, X3) -> proper# X3)
    (proper# U33(X1, X2, X3) -> proper# X2, proper# U31(X1, X2, X3) -> proper# X2)
    (proper# U33(X1, X2, X3) -> proper# X2, proper# U31(X1, X2, X3) -> proper# X1)
    (proper# U33(X1, X2, X3) -> proper# X2, proper# U31(X1, X2, X3) -> U31#(proper X1, proper X2, proper X3))
    (proper# U33(X1, X2, X3) -> proper# X2, proper# U32(X1, X2, X3) -> proper# X3)
    (proper# U33(X1, X2, X3) -> proper# X2, proper# U32(X1, X2, X3) -> proper# X2)
    (proper# U33(X1, X2, X3) -> proper# X2, proper# U32(X1, X2, X3) -> proper# X1)
    (proper# U33(X1, X2, X3) -> proper# X2, proper# U32(X1, X2, X3) -> U32#(proper X1, proper X2, proper X3))
    (proper# U33(X1, X2, X3) -> proper# X2, proper# U23 X -> proper# X)
    (proper# U33(X1, X2, X3) -> proper# X2, proper# U23 X -> U23# proper X)
    (proper# U33(X1, X2, X3) -> proper# X2, proper# U21(X1, X2) -> proper# X2)
    (proper# U33(X1, X2, X3) -> proper# X2, proper# U21(X1, X2) -> proper# X1)
    (proper# U33(X1, X2, X3) -> proper# X2, proper# U21(X1, X2) -> U21#(proper X1, proper X2))
    (proper# U33(X1, X2, X3) -> proper# X2, proper# U22(X1, X2) -> proper# X2)
    (proper# U33(X1, X2, X3) -> proper# X2, proper# U22(X1, X2) -> proper# X1)
    (proper# U33(X1, X2, X3) -> proper# X2, proper# U22(X1, X2) -> U22#(proper X1, proper X2))
    (proper# U33(X1, X2, X3) -> proper# X2, proper# U16 X -> proper# X)
    (proper# U33(X1, X2, X3) -> proper# X2, proper# U16 X -> U16# proper X)
    (proper# U33(X1, X2, X3) -> proper# X2, proper# U15(X1, X2) -> proper# X2)
    (proper# U33(X1, X2, X3) -> proper# X2, proper# U15(X1, X2) -> proper# X1)
    (proper# U33(X1, X2, X3) -> proper# X2, proper# U15(X1, X2) -> U15#(proper X1, proper X2))
    (proper# U33(X1, X2, X3) -> proper# X2, proper# U14(X1, X2, X3) -> proper# X3)
    (proper# U33(X1, X2, X3) -> proper# X2, proper# U14(X1, X2, X3) -> proper# X2)
    (proper# U33(X1, X2, X3) -> proper# X2, proper# U14(X1, X2, X3) -> proper# X1)
    (proper# U33(X1, X2, X3) -> proper# X2, proper# U14(X1, X2, X3) -> U14#(proper X1, proper X2, proper X3))
    (proper# U33(X1, X2, X3) -> proper# X2, proper# U13(X1, X2, X3) -> proper# X3)
    (proper# U33(X1, X2, X3) -> proper# X2, proper# U13(X1, X2, X3) -> proper# X2)
    (proper# U33(X1, X2, X3) -> proper# X2, proper# U13(X1, X2, X3) -> proper# X1)
    (proper# U33(X1, X2, X3) -> proper# X2, proper# U13(X1, X2, X3) -> U13#(proper X1, proper X2, proper X3))
    (proper# U33(X1, X2, X3) -> proper# X2, proper# U11(X1, X2, X3) -> proper# X3)
    (proper# U33(X1, X2, X3) -> proper# X2, proper# U11(X1, X2, X3) -> proper# X2)
    (proper# U33(X1, X2, X3) -> proper# X2, proper# U11(X1, X2, X3) -> proper# X1)
    (proper# U33(X1, X2, X3) -> proper# X2, proper# U11(X1, X2, X3) -> U11#(proper X1, proper X2, proper X3))
    (proper# U33(X1, X2, X3) -> proper# X2, proper# U12(X1, X2, X3) -> proper# X3)
    (proper# U33(X1, X2, X3) -> proper# X2, proper# U12(X1, X2, X3) -> proper# X2)
    (proper# U33(X1, X2, X3) -> proper# X2, proper# U12(X1, X2, X3) -> proper# X1)
    (proper# U33(X1, X2, X3) -> proper# X2, proper# U12(X1, X2, X3) -> U12#(proper X1, proper X2, proper X3))
    (proper# U33(X1, X2, X3) -> proper# X2, proper# x(X1, X2) -> proper# X2)
    (proper# U33(X1, X2, X3) -> proper# X2, proper# x(X1, X2) -> proper# X1)
    (proper# U33(X1, X2, X3) -> proper# X2, proper# x(X1, X2) -> x#(proper X1, proper X2))
    (proper# U33(X1, X2, X3) -> proper# X2, proper# plus(X1, X2) -> proper# X2)
    (proper# U33(X1, X2, X3) -> proper# X2, proper# plus(X1, X2) -> proper# X1)
    (proper# U33(X1, X2, X3) -> proper# X2, proper# plus(X1, X2) -> plus#(proper X1, proper X2))
    (proper# U33(X1, X2, X3) -> proper# X2, proper# U104(X1, X2, X3) -> proper# X3)
    (proper# U33(X1, X2, X3) -> proper# X2, proper# U104(X1, X2, X3) -> proper# X2)
    (proper# U33(X1, X2, X3) -> proper# X2, proper# U104(X1, X2, X3) -> proper# X1)
    (proper# U33(X1, X2, X3) -> proper# X2, proper# U104(X1, X2, X3) -> U104#(proper X1, proper X2, proper X3))
    (proper# U33(X1, X2, X3) -> proper# X2, proper# isNat X -> proper# X)
    (proper# U33(X1, X2, X3) -> proper# X2, proper# isNat X -> isNat# proper X)
    (proper# U33(X1, X2, X3) -> proper# X2, proper# U103(X1, X2, X3) -> proper# X3)
    (proper# U33(X1, X2, X3) -> proper# X2, proper# U103(X1, X2, X3) -> proper# X2)
    (proper# U33(X1, X2, X3) -> proper# X2, proper# U103(X1, X2, X3) -> proper# X1)
    (proper# U33(X1, X2, X3) -> proper# X2, proper# U103(X1, X2, X3) -> U103#(proper X1, proper X2, proper X3))
    (proper# U33(X1, X2, X3) -> proper# X2, proper# U101(X1, X2, X3) -> proper# X3)
    (proper# U33(X1, X2, X3) -> proper# X2, proper# U101(X1, X2, X3) -> proper# X2)
    (proper# U33(X1, X2, X3) -> proper# X2, proper# U101(X1, X2, X3) -> proper# X1)
    (proper# U33(X1, X2, X3) -> proper# X2, proper# U101(X1, X2, X3) -> U101#(proper X1, proper X2, proper X3))
    (proper# U33(X1, X2, X3) -> proper# X2, proper# isNatKind X -> proper# X)
    (proper# U33(X1, X2, X3) -> proper# X2, proper# isNatKind X -> isNatKind# proper X)
    (proper# U33(X1, X2, X3) -> proper# X2, proper# U102(X1, X2, X3) -> proper# X3)
    (proper# U33(X1, X2, X3) -> proper# X2, proper# U102(X1, X2, X3) -> proper# X2)
    (proper# U33(X1, X2, X3) -> proper# X2, proper# U102(X1, X2, X3) -> proper# X1)
    (proper# U33(X1, X2, X3) -> proper# X2, proper# U102(X1, X2, X3) -> U102#(proper X1, proper X2, proper X3))
    (proper# U35(X1, X2) -> proper# X2, proper# U91(X1, X2) -> proper# X2)
    (proper# U35(X1, X2) -> proper# X2, proper# U91(X1, X2) -> proper# X1)
    (proper# U35(X1, X2) -> proper# X2, proper# U91(X1, X2) -> U91#(proper X1, proper X2))
    (proper# U35(X1, X2) -> proper# X2, proper# U92 X -> proper# X)
    (proper# U35(X1, X2) -> proper# X2, proper# U92 X -> U92# proper X)
    (proper# U35(X1, X2) -> proper# X2, proper# s X -> proper# X)
    (proper# U35(X1, X2) -> proper# X2, proper# s X -> s# proper X)
    (proper# U35(X1, X2) -> proper# X2, proper# U84(X1, X2, X3) -> proper# X3)
    (proper# U35(X1, X2) -> proper# X2, proper# U84(X1, X2, X3) -> proper# X2)
    (proper# U35(X1, X2) -> proper# X2, proper# U84(X1, X2, X3) -> proper# X1)
    (proper# U35(X1, X2) -> proper# X2, proper# U84(X1, X2, X3) -> U84#(proper X1, proper X2, proper X3))
    (proper# U35(X1, X2) -> proper# X2, proper# U83(X1, X2, X3) -> proper# X3)
    (proper# U35(X1, X2) -> proper# X2, proper# U83(X1, X2, X3) -> proper# X2)
    (proper# U35(X1, X2) -> proper# X2, proper# U83(X1, X2, X3) -> proper# X1)
    (proper# U35(X1, X2) -> proper# X2, proper# U83(X1, X2, X3) -> U83#(proper X1, proper X2, proper X3))
    (proper# U35(X1, X2) -> proper# X2, proper# U81(X1, X2, X3) -> proper# X3)
    (proper# U35(X1, X2) -> proper# X2, proper# U81(X1, X2, X3) -> proper# X2)
    (proper# U35(X1, X2) -> proper# X2, proper# U81(X1, X2, X3) -> proper# X1)
    (proper# U35(X1, X2) -> proper# X2, proper# U81(X1, X2, X3) -> U81#(proper X1, proper X2, proper X3))
    (proper# U35(X1, X2) -> proper# X2, proper# U82(X1, X2, X3) -> proper# X3)
    (proper# U35(X1, X2) -> proper# X2, proper# U82(X1, X2, X3) -> proper# X2)
    (proper# U35(X1, X2) -> proper# X2, proper# U82(X1, X2, X3) -> proper# X1)
    (proper# U35(X1, X2) -> proper# X2, proper# U82(X1, X2, X3) -> U82#(proper X1, proper X2, proper X3))
    (proper# U35(X1, X2) -> proper# X2, proper# U71(X1, X2) -> proper# X2)
    (proper# U35(X1, X2) -> proper# X2, proper# U71(X1, X2) -> proper# X1)
    (proper# U35(X1, X2) -> proper# X2, proper# U71(X1, X2) -> U71#(proper X1, proper X2))
    (proper# U35(X1, X2) -> proper# X2, proper# U72(X1, X2) -> proper# X2)
    (proper# U35(X1, X2) -> proper# X2, proper# U72(X1, X2) -> proper# X1)
    (proper# U35(X1, X2) -> proper# X2, proper# U72(X1, X2) -> U72#(proper X1, proper X2))
    (proper# U35(X1, X2) -> proper# X2, proper# U61(X1, X2) -> proper# X2)
    (proper# U35(X1, X2) -> proper# X2, proper# U61(X1, X2) -> proper# X1)
    (proper# U35(X1, X2) -> proper# X2, proper# U61(X1, X2) -> U61#(proper X1, proper X2))
    (proper# U35(X1, X2) -> proper# X2, proper# U62 X -> proper# X)
    (proper# U35(X1, X2) -> proper# X2, proper# U62 X -> U62# proper X)
    (proper# U35(X1, X2) -> proper# X2, proper# U51 X -> proper# X)
    (proper# U35(X1, X2) -> proper# X2, proper# U51 X -> U51# proper X)
    (proper# U35(X1, X2) -> proper# X2, proper# U41(X1, X2) -> proper# X2)
    (proper# U35(X1, X2) -> proper# X2, proper# U41(X1, X2) -> proper# X1)
    (proper# U35(X1, X2) -> proper# X2, proper# U41(X1, X2) -> U41#(proper X1, proper X2))
    (proper# U35(X1, X2) -> proper# X2, proper# U42 X -> proper# X)
    (proper# U35(X1, X2) -> proper# X2, proper# U42 X -> U42# proper X)
    (proper# U35(X1, X2) -> proper# X2, proper# U36 X -> proper# X)
    (proper# U35(X1, X2) -> proper# X2, proper# U36 X -> U36# proper X)
    (proper# U35(X1, X2) -> proper# X2, proper# U35(X1, X2) -> proper# X2)
    (proper# U35(X1, X2) -> proper# X2, proper# U35(X1, X2) -> proper# X1)
    (proper# U35(X1, X2) -> proper# X2, proper# U35(X1, X2) -> U35#(proper X1, proper X2))
    (proper# U35(X1, X2) -> proper# X2, proper# U34(X1, X2, X3) -> proper# X3)
    (proper# U35(X1, X2) -> proper# X2, proper# U34(X1, X2, X3) -> proper# X2)
    (proper# U35(X1, X2) -> proper# X2, proper# U34(X1, X2, X3) -> proper# X1)
    (proper# U35(X1, X2) -> proper# X2, proper# U34(X1, X2, X3) -> U34#(proper X1, proper X2, proper X3))
    (proper# U35(X1, X2) -> proper# X2, proper# U33(X1, X2, X3) -> proper# X3)
    (proper# U35(X1, X2) -> proper# X2, proper# U33(X1, X2, X3) -> proper# X2)
    (proper# U35(X1, X2) -> proper# X2, proper# U33(X1, X2, X3) -> proper# X1)
    (proper# U35(X1, X2) -> proper# X2, proper# U33(X1, X2, X3) -> U33#(proper X1, proper X2, proper X3))
    (proper# U35(X1, X2) -> proper# X2, proper# U31(X1, X2, X3) -> proper# X3)
    (proper# U35(X1, X2) -> proper# X2, proper# U31(X1, X2, X3) -> proper# X2)
    (proper# U35(X1, X2) -> proper# X2, proper# U31(X1, X2, X3) -> proper# X1)
    (proper# U35(X1, X2) -> proper# X2, proper# U31(X1, X2, X3) -> U31#(proper X1, proper X2, proper X3))
    (proper# U35(X1, X2) -> proper# X2, proper# U32(X1, X2, X3) -> proper# X3)
    (proper# U35(X1, X2) -> proper# X2, proper# U32(X1, X2, X3) -> proper# X2)
    (proper# U35(X1, X2) -> proper# X2, proper# U32(X1, X2, X3) -> proper# X1)
    (proper# U35(X1, X2) -> proper# X2, proper# U32(X1, X2, X3) -> U32#(proper X1, proper X2, proper X3))
    (proper# U35(X1, X2) -> proper# X2, proper# U23 X -> proper# X)
    (proper# U35(X1, X2) -> proper# X2, proper# U23 X -> U23# proper X)
    (proper# U35(X1, X2) -> proper# X2, proper# U21(X1, X2) -> proper# X2)
    (proper# U35(X1, X2) -> proper# X2, proper# U21(X1, X2) -> proper# X1)
    (proper# U35(X1, X2) -> proper# X2, proper# U21(X1, X2) -> U21#(proper X1, proper X2))
    (proper# U35(X1, X2) -> proper# X2, proper# U22(X1, X2) -> proper# X2)
    (proper# U35(X1, X2) -> proper# X2, proper# U22(X1, X2) -> proper# X1)
    (proper# U35(X1, X2) -> proper# X2, proper# U22(X1, X2) -> U22#(proper X1, proper X2))
    (proper# U35(X1, X2) -> proper# X2, proper# U16 X -> proper# X)
    (proper# U35(X1, X2) -> proper# X2, proper# U16 X -> U16# proper X)
    (proper# U35(X1, X2) -> proper# X2, proper# U15(X1, X2) -> proper# X2)
    (proper# U35(X1, X2) -> proper# X2, proper# U15(X1, X2) -> proper# X1)
    (proper# U35(X1, X2) -> proper# X2, proper# U15(X1, X2) -> U15#(proper X1, proper X2))
    (proper# U35(X1, X2) -> proper# X2, proper# U14(X1, X2, X3) -> proper# X3)
    (proper# U35(X1, X2) -> proper# X2, proper# U14(X1, X2, X3) -> proper# X2)
    (proper# U35(X1, X2) -> proper# X2, proper# U14(X1, X2, X3) -> proper# X1)
    (proper# U35(X1, X2) -> proper# X2, proper# U14(X1, X2, X3) -> U14#(proper X1, proper X2, proper X3))
    (proper# U35(X1, X2) -> proper# X2, proper# U13(X1, X2, X3) -> proper# X3)
    (proper# U35(X1, X2) -> proper# X2, proper# U13(X1, X2, X3) -> proper# X2)
    (proper# U35(X1, X2) -> proper# X2, proper# U13(X1, X2, X3) -> proper# X1)
    (proper# U35(X1, X2) -> proper# X2, proper# U13(X1, X2, X3) -> U13#(proper X1, proper X2, proper X3))
    (proper# U35(X1, X2) -> proper# X2, proper# U11(X1, X2, X3) -> proper# X3)
    (proper# U35(X1, X2) -> proper# X2, proper# U11(X1, X2, X3) -> proper# X2)
    (proper# U35(X1, X2) -> proper# X2, proper# U11(X1, X2, X3) -> proper# X1)
    (proper# U35(X1, X2) -> proper# X2, proper# U11(X1, X2, X3) -> U11#(proper X1, proper X2, proper X3))
    (proper# U35(X1, X2) -> proper# X2, proper# U12(X1, X2, X3) -> proper# X3)
    (proper# U35(X1, X2) -> proper# X2, proper# U12(X1, X2, X3) -> proper# X2)
    (proper# U35(X1, X2) -> proper# X2, proper# U12(X1, X2, X3) -> proper# X1)
    (proper# U35(X1, X2) -> proper# X2, proper# U12(X1, X2, X3) -> U12#(proper X1, proper X2, proper X3))
    (proper# U35(X1, X2) -> proper# X2, proper# x(X1, X2) -> proper# X2)
    (proper# U35(X1, X2) -> proper# X2, proper# x(X1, X2) -> proper# X1)
    (proper# U35(X1, X2) -> proper# X2, proper# x(X1, X2) -> x#(proper X1, proper X2))
    (proper# U35(X1, X2) -> proper# X2, proper# plus(X1, X2) -> proper# X2)
    (proper# U35(X1, X2) -> proper# X2, proper# plus(X1, X2) -> proper# X1)
    (proper# U35(X1, X2) -> proper# X2, proper# plus(X1, X2) -> plus#(proper X1, proper X2))
    (proper# U35(X1, X2) -> proper# X2, proper# U104(X1, X2, X3) -> proper# X3)
    (proper# U35(X1, X2) -> proper# X2, proper# U104(X1, X2, X3) -> proper# X2)
    (proper# U35(X1, X2) -> proper# X2, proper# U104(X1, X2, X3) -> proper# X1)
    (proper# U35(X1, X2) -> proper# X2, proper# U104(X1, X2, X3) -> U104#(proper X1, proper X2, proper X3))
    (proper# U35(X1, X2) -> proper# X2, proper# isNat X -> proper# X)
    (proper# U35(X1, X2) -> proper# X2, proper# isNat X -> isNat# proper X)
    (proper# U35(X1, X2) -> proper# X2, proper# U103(X1, X2, X3) -> proper# X3)
    (proper# U35(X1, X2) -> proper# X2, proper# U103(X1, X2, X3) -> proper# X2)
    (proper# U35(X1, X2) -> proper# X2, proper# U103(X1, X2, X3) -> proper# X1)
    (proper# U35(X1, X2) -> proper# X2, proper# U103(X1, X2, X3) -> U103#(proper X1, proper X2, proper X3))
    (proper# U35(X1, X2) -> proper# X2, proper# U101(X1, X2, X3) -> proper# X3)
    (proper# U35(X1, X2) -> proper# X2, proper# U101(X1, X2, X3) -> proper# X2)
    (proper# U35(X1, X2) -> proper# X2, proper# U101(X1, X2, X3) -> proper# X1)
    (proper# U35(X1, X2) -> proper# X2, proper# U101(X1, X2, X3) -> U101#(proper X1, proper X2, proper X3))
    (proper# U35(X1, X2) -> proper# X2, proper# isNatKind X -> proper# X)
    (proper# U35(X1, X2) -> proper# X2, proper# isNatKind X -> isNatKind# proper X)
    (proper# U35(X1, X2) -> proper# X2, proper# U102(X1, X2, X3) -> proper# X3)
    (proper# U35(X1, X2) -> proper# X2, proper# U102(X1, X2, X3) -> proper# X2)
    (proper# U35(X1, X2) -> proper# X2, proper# U102(X1, X2, X3) -> proper# X1)
    (proper# U35(X1, X2) -> proper# X2, proper# U102(X1, X2, X3) -> U102#(proper X1, proper X2, proper X3))
    (proper# U61(X1, X2) -> proper# X2, proper# U91(X1, X2) -> proper# X2)
    (proper# U61(X1, X2) -> proper# X2, proper# U91(X1, X2) -> proper# X1)
    (proper# U61(X1, X2) -> proper# X2, proper# U91(X1, X2) -> U91#(proper X1, proper X2))
    (proper# U61(X1, X2) -> proper# X2, proper# U92 X -> proper# X)
    (proper# U61(X1, X2) -> proper# X2, proper# U92 X -> U92# proper X)
    (proper# U61(X1, X2) -> proper# X2, proper# s X -> proper# X)
    (proper# U61(X1, X2) -> proper# X2, proper# s X -> s# proper X)
    (proper# U61(X1, X2) -> proper# X2, proper# U84(X1, X2, X3) -> proper# X3)
    (proper# U61(X1, X2) -> proper# X2, proper# U84(X1, X2, X3) -> proper# X2)
    (proper# U61(X1, X2) -> proper# X2, proper# U84(X1, X2, X3) -> proper# X1)
    (proper# U61(X1, X2) -> proper# X2, proper# U84(X1, X2, X3) -> U84#(proper X1, proper X2, proper X3))
    (proper# U61(X1, X2) -> proper# X2, proper# U83(X1, X2, X3) -> proper# X3)
    (proper# U61(X1, X2) -> proper# X2, proper# U83(X1, X2, X3) -> proper# X2)
    (proper# U61(X1, X2) -> proper# X2, proper# U83(X1, X2, X3) -> proper# X1)
    (proper# U61(X1, X2) -> proper# X2, proper# U83(X1, X2, X3) -> U83#(proper X1, proper X2, proper X3))
    (proper# U61(X1, X2) -> proper# X2, proper# U81(X1, X2, X3) -> proper# X3)
    (proper# U61(X1, X2) -> proper# X2, proper# U81(X1, X2, X3) -> proper# X2)
    (proper# U61(X1, X2) -> proper# X2, proper# U81(X1, X2, X3) -> proper# X1)
    (proper# U61(X1, X2) -> proper# X2, proper# U81(X1, X2, X3) -> U81#(proper X1, proper X2, proper X3))
    (proper# U61(X1, X2) -> proper# X2, proper# U82(X1, X2, X3) -> proper# X3)
    (proper# U61(X1, X2) -> proper# X2, proper# U82(X1, X2, X3) -> proper# X2)
    (proper# U61(X1, X2) -> proper# X2, proper# U82(X1, X2, X3) -> proper# X1)
    (proper# U61(X1, X2) -> proper# X2, proper# U82(X1, X2, X3) -> U82#(proper X1, proper X2, proper X3))
    (proper# U61(X1, X2) -> proper# X2, proper# U71(X1, X2) -> proper# X2)
    (proper# U61(X1, X2) -> proper# X2, proper# U71(X1, X2) -> proper# X1)
    (proper# U61(X1, X2) -> proper# X2, proper# U71(X1, X2) -> U71#(proper X1, proper X2))
    (proper# U61(X1, X2) -> proper# X2, proper# U72(X1, X2) -> proper# X2)
    (proper# U61(X1, X2) -> proper# X2, proper# U72(X1, X2) -> proper# X1)
    (proper# U61(X1, X2) -> proper# X2, proper# U72(X1, X2) -> U72#(proper X1, proper X2))
    (proper# U61(X1, X2) -> proper# X2, proper# U61(X1, X2) -> proper# X2)
    (proper# U61(X1, X2) -> proper# X2, proper# U61(X1, X2) -> proper# X1)
    (proper# U61(X1, X2) -> proper# X2, proper# U61(X1, X2) -> U61#(proper X1, proper X2))
    (proper# U61(X1, X2) -> proper# X2, proper# U62 X -> proper# X)
    (proper# U61(X1, X2) -> proper# X2, proper# U62 X -> U62# proper X)
    (proper# U61(X1, X2) -> proper# X2, proper# U51 X -> proper# X)
    (proper# U61(X1, X2) -> proper# X2, proper# U51 X -> U51# proper X)
    (proper# U61(X1, X2) -> proper# X2, proper# U41(X1, X2) -> proper# X2)
    (proper# U61(X1, X2) -> proper# X2, proper# U41(X1, X2) -> proper# X1)
    (proper# U61(X1, X2) -> proper# X2, proper# U41(X1, X2) -> U41#(proper X1, proper X2))
    (proper# U61(X1, X2) -> proper# X2, proper# U42 X -> proper# X)
    (proper# U61(X1, X2) -> proper# X2, proper# U42 X -> U42# proper X)
    (proper# U61(X1, X2) -> proper# X2, proper# U36 X -> proper# X)
    (proper# U61(X1, X2) -> proper# X2, proper# U36 X -> U36# proper X)
    (proper# U61(X1, X2) -> proper# X2, proper# U35(X1, X2) -> proper# X2)
    (proper# U61(X1, X2) -> proper# X2, proper# U35(X1, X2) -> proper# X1)
    (proper# U61(X1, X2) -> proper# X2, proper# U35(X1, X2) -> U35#(proper X1, proper X2))
    (proper# U61(X1, X2) -> proper# X2, proper# U34(X1, X2, X3) -> proper# X3)
    (proper# U61(X1, X2) -> proper# X2, proper# U34(X1, X2, X3) -> proper# X2)
    (proper# U61(X1, X2) -> proper# X2, proper# U34(X1, X2, X3) -> proper# X1)
    (proper# U61(X1, X2) -> proper# X2, proper# U34(X1, X2, X3) -> U34#(proper X1, proper X2, proper X3))
    (proper# U61(X1, X2) -> proper# X2, proper# U33(X1, X2, X3) -> proper# X3)
    (proper# U61(X1, X2) -> proper# X2, proper# U33(X1, X2, X3) -> proper# X2)
    (proper# U61(X1, X2) -> proper# X2, proper# U33(X1, X2, X3) -> proper# X1)
    (proper# U61(X1, X2) -> proper# X2, proper# U33(X1, X2, X3) -> U33#(proper X1, proper X2, proper X3))
    (proper# U61(X1, X2) -> proper# X2, proper# U31(X1, X2, X3) -> proper# X3)
    (proper# U61(X1, X2) -> proper# X2, proper# U31(X1, X2, X3) -> proper# X2)
    (proper# U61(X1, X2) -> proper# X2, proper# U31(X1, X2, X3) -> proper# X1)
    (proper# U61(X1, X2) -> proper# X2, proper# U31(X1, X2, X3) -> U31#(proper X1, proper X2, proper X3))
    (proper# U61(X1, X2) -> proper# X2, proper# U32(X1, X2, X3) -> proper# X3)
    (proper# U61(X1, X2) -> proper# X2, proper# U32(X1, X2, X3) -> proper# X2)
    (proper# U61(X1, X2) -> proper# X2, proper# U32(X1, X2, X3) -> proper# X1)
    (proper# U61(X1, X2) -> proper# X2, proper# U32(X1, X2, X3) -> U32#(proper X1, proper X2, proper X3))
    (proper# U61(X1, X2) -> proper# X2, proper# U23 X -> proper# X)
    (proper# U61(X1, X2) -> proper# X2, proper# U23 X -> U23# proper X)
    (proper# U61(X1, X2) -> proper# X2, proper# U21(X1, X2) -> proper# X2)
    (proper# U61(X1, X2) -> proper# X2, proper# U21(X1, X2) -> proper# X1)
    (proper# U61(X1, X2) -> proper# X2, proper# U21(X1, X2) -> U21#(proper X1, proper X2))
    (proper# U61(X1, X2) -> proper# X2, proper# U22(X1, X2) -> proper# X2)
    (proper# U61(X1, X2) -> proper# X2, proper# U22(X1, X2) -> proper# X1)
    (proper# U61(X1, X2) -> proper# X2, proper# U22(X1, X2) -> U22#(proper X1, proper X2))
    (proper# U61(X1, X2) -> proper# X2, proper# U16 X -> proper# X)
    (proper# U61(X1, X2) -> proper# X2, proper# U16 X -> U16# proper X)
    (proper# U61(X1, X2) -> proper# X2, proper# U15(X1, X2) -> proper# X2)
    (proper# U61(X1, X2) -> proper# X2, proper# U15(X1, X2) -> proper# X1)
    (proper# U61(X1, X2) -> proper# X2, proper# U15(X1, X2) -> U15#(proper X1, proper X2))
    (proper# U61(X1, X2) -> proper# X2, proper# U14(X1, X2, X3) -> proper# X3)
    (proper# U61(X1, X2) -> proper# X2, proper# U14(X1, X2, X3) -> proper# X2)
    (proper# U61(X1, X2) -> proper# X2, proper# U14(X1, X2, X3) -> proper# X1)
    (proper# U61(X1, X2) -> proper# X2, proper# U14(X1, X2, X3) -> U14#(proper X1, proper X2, proper X3))
    (proper# U61(X1, X2) -> proper# X2, proper# U13(X1, X2, X3) -> proper# X3)
    (proper# U61(X1, X2) -> proper# X2, proper# U13(X1, X2, X3) -> proper# X2)
    (proper# U61(X1, X2) -> proper# X2, proper# U13(X1, X2, X3) -> proper# X1)
    (proper# U61(X1, X2) -> proper# X2, proper# U13(X1, X2, X3) -> U13#(proper X1, proper X2, proper X3))
    (proper# U61(X1, X2) -> proper# X2, proper# U11(X1, X2, X3) -> proper# X3)
    (proper# U61(X1, X2) -> proper# X2, proper# U11(X1, X2, X3) -> proper# X2)
    (proper# U61(X1, X2) -> proper# X2, proper# U11(X1, X2, X3) -> proper# X1)
    (proper# U61(X1, X2) -> proper# X2, proper# U11(X1, X2, X3) -> U11#(proper X1, proper X2, proper X3))
    (proper# U61(X1, X2) -> proper# X2, proper# U12(X1, X2, X3) -> proper# X3)
    (proper# U61(X1, X2) -> proper# X2, proper# U12(X1, X2, X3) -> proper# X2)
    (proper# U61(X1, X2) -> proper# X2, proper# U12(X1, X2, X3) -> proper# X1)
    (proper# U61(X1, X2) -> proper# X2, proper# U12(X1, X2, X3) -> U12#(proper X1, proper X2, proper X3))
    (proper# U61(X1, X2) -> proper# X2, proper# x(X1, X2) -> proper# X2)
    (proper# U61(X1, X2) -> proper# X2, proper# x(X1, X2) -> proper# X1)
    (proper# U61(X1, X2) -> proper# X2, proper# x(X1, X2) -> x#(proper X1, proper X2))
    (proper# U61(X1, X2) -> proper# X2, proper# plus(X1, X2) -> proper# X2)
    (proper# U61(X1, X2) -> proper# X2, proper# plus(X1, X2) -> proper# X1)
    (proper# U61(X1, X2) -> proper# X2, proper# plus(X1, X2) -> plus#(proper X1, proper X2))
    (proper# U61(X1, X2) -> proper# X2, proper# U104(X1, X2, X3) -> proper# X3)
    (proper# U61(X1, X2) -> proper# X2, proper# U104(X1, X2, X3) -> proper# X2)
    (proper# U61(X1, X2) -> proper# X2, proper# U104(X1, X2, X3) -> proper# X1)
    (proper# U61(X1, X2) -> proper# X2, proper# U104(X1, X2, X3) -> U104#(proper X1, proper X2, proper X3))
    (proper# U61(X1, X2) -> proper# X2, proper# isNat X -> proper# X)
    (proper# U61(X1, X2) -> proper# X2, proper# isNat X -> isNat# proper X)
    (proper# U61(X1, X2) -> proper# X2, proper# U103(X1, X2, X3) -> proper# X3)
    (proper# U61(X1, X2) -> proper# X2, proper# U103(X1, X2, X3) -> proper# X2)
    (proper# U61(X1, X2) -> proper# X2, proper# U103(X1, X2, X3) -> proper# X1)
    (proper# U61(X1, X2) -> proper# X2, proper# U103(X1, X2, X3) -> U103#(proper X1, proper X2, proper X3))
    (proper# U61(X1, X2) -> proper# X2, proper# U101(X1, X2, X3) -> proper# X3)
    (proper# U61(X1, X2) -> proper# X2, proper# U101(X1, X2, X3) -> proper# X2)
    (proper# U61(X1, X2) -> proper# X2, proper# U101(X1, X2, X3) -> proper# X1)
    (proper# U61(X1, X2) -> proper# X2, proper# U101(X1, X2, X3) -> U101#(proper X1, proper X2, proper X3))
    (proper# U61(X1, X2) -> proper# X2, proper# isNatKind X -> proper# X)
    (proper# U61(X1, X2) -> proper# X2, proper# isNatKind X -> isNatKind# proper X)
    (proper# U61(X1, X2) -> proper# X2, proper# U102(X1, X2, X3) -> proper# X3)
    (proper# U61(X1, X2) -> proper# X2, proper# U102(X1, X2, X3) -> proper# X2)
    (proper# U61(X1, X2) -> proper# X2, proper# U102(X1, X2, X3) -> proper# X1)
    (proper# U61(X1, X2) -> proper# X2, proper# U102(X1, X2, X3) -> U102#(proper X1, proper X2, proper X3))
    (proper# U71(X1, X2) -> proper# X2, proper# U91(X1, X2) -> proper# X2)
    (proper# U71(X1, X2) -> proper# X2, proper# U91(X1, X2) -> proper# X1)
    (proper# U71(X1, X2) -> proper# X2, proper# U91(X1, X2) -> U91#(proper X1, proper X2))
    (proper# U71(X1, X2) -> proper# X2, proper# U92 X -> proper# X)
    (proper# U71(X1, X2) -> proper# X2, proper# U92 X -> U92# proper X)
    (proper# U71(X1, X2) -> proper# X2, proper# s X -> proper# X)
    (proper# U71(X1, X2) -> proper# X2, proper# s X -> s# proper X)
    (proper# U71(X1, X2) -> proper# X2, proper# U84(X1, X2, X3) -> proper# X3)
    (proper# U71(X1, X2) -> proper# X2, proper# U84(X1, X2, X3) -> proper# X2)
    (proper# U71(X1, X2) -> proper# X2, proper# U84(X1, X2, X3) -> proper# X1)
    (proper# U71(X1, X2) -> proper# X2, proper# U84(X1, X2, X3) -> U84#(proper X1, proper X2, proper X3))
    (proper# U71(X1, X2) -> proper# X2, proper# U83(X1, X2, X3) -> proper# X3)
    (proper# U71(X1, X2) -> proper# X2, proper# U83(X1, X2, X3) -> proper# X2)
    (proper# U71(X1, X2) -> proper# X2, proper# U83(X1, X2, X3) -> proper# X1)
    (proper# U71(X1, X2) -> proper# X2, proper# U83(X1, X2, X3) -> U83#(proper X1, proper X2, proper X3))
    (proper# U71(X1, X2) -> proper# X2, proper# U81(X1, X2, X3) -> proper# X3)
    (proper# U71(X1, X2) -> proper# X2, proper# U81(X1, X2, X3) -> proper# X2)
    (proper# U71(X1, X2) -> proper# X2, proper# U81(X1, X2, X3) -> proper# X1)
    (proper# U71(X1, X2) -> proper# X2, proper# U81(X1, X2, X3) -> U81#(proper X1, proper X2, proper X3))
    (proper# U71(X1, X2) -> proper# X2, proper# U82(X1, X2, X3) -> proper# X3)
    (proper# U71(X1, X2) -> proper# X2, proper# U82(X1, X2, X3) -> proper# X2)
    (proper# U71(X1, X2) -> proper# X2, proper# U82(X1, X2, X3) -> proper# X1)
    (proper# U71(X1, X2) -> proper# X2, proper# U82(X1, X2, X3) -> U82#(proper X1, proper X2, proper X3))
    (proper# U71(X1, X2) -> proper# X2, proper# U71(X1, X2) -> proper# X2)
    (proper# U71(X1, X2) -> proper# X2, proper# U71(X1, X2) -> proper# X1)
    (proper# U71(X1, X2) -> proper# X2, proper# U71(X1, X2) -> U71#(proper X1, proper X2))
    (proper# U71(X1, X2) -> proper# X2, proper# U72(X1, X2) -> proper# X2)
    (proper# U71(X1, X2) -> proper# X2, proper# U72(X1, X2) -> proper# X1)
    (proper# U71(X1, X2) -> proper# X2, proper# U72(X1, X2) -> U72#(proper X1, proper X2))
    (proper# U71(X1, X2) -> proper# X2, proper# U61(X1, X2) -> proper# X2)
    (proper# U71(X1, X2) -> proper# X2, proper# U61(X1, X2) -> proper# X1)
    (proper# U71(X1, X2) -> proper# X2, proper# U61(X1, X2) -> U61#(proper X1, proper X2))
    (proper# U71(X1, X2) -> proper# X2, proper# U62 X -> proper# X)
    (proper# U71(X1, X2) -> proper# X2, proper# U62 X -> U62# proper X)
    (proper# U71(X1, X2) -> proper# X2, proper# U51 X -> proper# X)
    (proper# U71(X1, X2) -> proper# X2, proper# U51 X -> U51# proper X)
    (proper# U71(X1, X2) -> proper# X2, proper# U41(X1, X2) -> proper# X2)
    (proper# U71(X1, X2) -> proper# X2, proper# U41(X1, X2) -> proper# X1)
    (proper# U71(X1, X2) -> proper# X2, proper# U41(X1, X2) -> U41#(proper X1, proper X2))
    (proper# U71(X1, X2) -> proper# X2, proper# U42 X -> proper# X)
    (proper# U71(X1, X2) -> proper# X2, proper# U42 X -> U42# proper X)
    (proper# U71(X1, X2) -> proper# X2, proper# U36 X -> proper# X)
    (proper# U71(X1, X2) -> proper# X2, proper# U36 X -> U36# proper X)
    (proper# U71(X1, X2) -> proper# X2, proper# U35(X1, X2) -> proper# X2)
    (proper# U71(X1, X2) -> proper# X2, proper# U35(X1, X2) -> proper# X1)
    (proper# U71(X1, X2) -> proper# X2, proper# U35(X1, X2) -> U35#(proper X1, proper X2))
    (proper# U71(X1, X2) -> proper# X2, proper# U34(X1, X2, X3) -> proper# X3)
    (proper# U71(X1, X2) -> proper# X2, proper# U34(X1, X2, X3) -> proper# X2)
    (proper# U71(X1, X2) -> proper# X2, proper# U34(X1, X2, X3) -> proper# X1)
    (proper# U71(X1, X2) -> proper# X2, proper# U34(X1, X2, X3) -> U34#(proper X1, proper X2, proper X3))
    (proper# U71(X1, X2) -> proper# X2, proper# U33(X1, X2, X3) -> proper# X3)
    (proper# U71(X1, X2) -> proper# X2, proper# U33(X1, X2, X3) -> proper# X2)
    (proper# U71(X1, X2) -> proper# X2, proper# U33(X1, X2, X3) -> proper# X1)
    (proper# U71(X1, X2) -> proper# X2, proper# U33(X1, X2, X3) -> U33#(proper X1, proper X2, proper X3))
    (proper# U71(X1, X2) -> proper# X2, proper# U31(X1, X2, X3) -> proper# X3)
    (proper# U71(X1, X2) -> proper# X2, proper# U31(X1, X2, X3) -> proper# X2)
    (proper# U71(X1, X2) -> proper# X2, proper# U31(X1, X2, X3) -> proper# X1)
    (proper# U71(X1, X2) -> proper# X2, proper# U31(X1, X2, X3) -> U31#(proper X1, proper X2, proper X3))
    (proper# U71(X1, X2) -> proper# X2, proper# U32(X1, X2, X3) -> proper# X3)
    (proper# U71(X1, X2) -> proper# X2, proper# U32(X1, X2, X3) -> proper# X2)
    (proper# U71(X1, X2) -> proper# X2, proper# U32(X1, X2, X3) -> proper# X1)
    (proper# U71(X1, X2) -> proper# X2, proper# U32(X1, X2, X3) -> U32#(proper X1, proper X2, proper X3))
    (proper# U71(X1, X2) -> proper# X2, proper# U23 X -> proper# X)
    (proper# U71(X1, X2) -> proper# X2, proper# U23 X -> U23# proper X)
    (proper# U71(X1, X2) -> proper# X2, proper# U21(X1, X2) -> proper# X2)
    (proper# U71(X1, X2) -> proper# X2, proper# U21(X1, X2) -> proper# X1)
    (proper# U71(X1, X2) -> proper# X2, proper# U21(X1, X2) -> U21#(proper X1, proper X2))
    (proper# U71(X1, X2) -> proper# X2, proper# U22(X1, X2) -> proper# X2)
    (proper# U71(X1, X2) -> proper# X2, proper# U22(X1, X2) -> proper# X1)
    (proper# U71(X1, X2) -> proper# X2, proper# U22(X1, X2) -> U22#(proper X1, proper X2))
    (proper# U71(X1, X2) -> proper# X2, proper# U16 X -> proper# X)
    (proper# U71(X1, X2) -> proper# X2, proper# U16 X -> U16# proper X)
    (proper# U71(X1, X2) -> proper# X2, proper# U15(X1, X2) -> proper# X2)
    (proper# U71(X1, X2) -> proper# X2, proper# U15(X1, X2) -> proper# X1)
    (proper# U71(X1, X2) -> proper# X2, proper# U15(X1, X2) -> U15#(proper X1, proper X2))
    (proper# U71(X1, X2) -> proper# X2, proper# U14(X1, X2, X3) -> proper# X3)
    (proper# U71(X1, X2) -> proper# X2, proper# U14(X1, X2, X3) -> proper# X2)
    (proper# U71(X1, X2) -> proper# X2, proper# U14(X1, X2, X3) -> proper# X1)
    (proper# U71(X1, X2) -> proper# X2, proper# U14(X1, X2, X3) -> U14#(proper X1, proper X2, proper X3))
    (proper# U71(X1, X2) -> proper# X2, proper# U13(X1, X2, X3) -> proper# X3)
    (proper# U71(X1, X2) -> proper# X2, proper# U13(X1, X2, X3) -> proper# X2)
    (proper# U71(X1, X2) -> proper# X2, proper# U13(X1, X2, X3) -> proper# X1)
    (proper# U71(X1, X2) -> proper# X2, proper# U13(X1, X2, X3) -> U13#(proper X1, proper X2, proper X3))
    (proper# U71(X1, X2) -> proper# X2, proper# U11(X1, X2, X3) -> proper# X3)
    (proper# U71(X1, X2) -> proper# X2, proper# U11(X1, X2, X3) -> proper# X2)
    (proper# U71(X1, X2) -> proper# X2, proper# U11(X1, X2, X3) -> proper# X1)
    (proper# U71(X1, X2) -> proper# X2, proper# U11(X1, X2, X3) -> U11#(proper X1, proper X2, proper X3))
    (proper# U71(X1, X2) -> proper# X2, proper# U12(X1, X2, X3) -> proper# X3)
    (proper# U71(X1, X2) -> proper# X2, proper# U12(X1, X2, X3) -> proper# X2)
    (proper# U71(X1, X2) -> proper# X2, proper# U12(X1, X2, X3) -> proper# X1)
    (proper# U71(X1, X2) -> proper# X2, proper# U12(X1, X2, X3) -> U12#(proper X1, proper X2, proper X3))
    (proper# U71(X1, X2) -> proper# X2, proper# x(X1, X2) -> proper# X2)
    (proper# U71(X1, X2) -> proper# X2, proper# x(X1, X2) -> proper# X1)
    (proper# U71(X1, X2) -> proper# X2, proper# x(X1, X2) -> x#(proper X1, proper X2))
    (proper# U71(X1, X2) -> proper# X2, proper# plus(X1, X2) -> proper# X2)
    (proper# U71(X1, X2) -> proper# X2, proper# plus(X1, X2) -> proper# X1)
    (proper# U71(X1, X2) -> proper# X2, proper# plus(X1, X2) -> plus#(proper X1, proper X2))
    (proper# U71(X1, X2) -> proper# X2, proper# U104(X1, X2, X3) -> proper# X3)
    (proper# U71(X1, X2) -> proper# X2, proper# U104(X1, X2, X3) -> proper# X2)
    (proper# U71(X1, X2) -> proper# X2, proper# U104(X1, X2, X3) -> proper# X1)
    (proper# U71(X1, X2) -> proper# X2, proper# U104(X1, X2, X3) -> U104#(proper X1, proper X2, proper X3))
    (proper# U71(X1, X2) -> proper# X2, proper# isNat X -> proper# X)
    (proper# U71(X1, X2) -> proper# X2, proper# isNat X -> isNat# proper X)
    (proper# U71(X1, X2) -> proper# X2, proper# U103(X1, X2, X3) -> proper# X3)
    (proper# U71(X1, X2) -> proper# X2, proper# U103(X1, X2, X3) -> proper# X2)
    (proper# U71(X1, X2) -> proper# X2, proper# U103(X1, X2, X3) -> proper# X1)
    (proper# U71(X1, X2) -> proper# X2, proper# U103(X1, X2, X3) -> U103#(proper X1, proper X2, proper X3))
    (proper# U71(X1, X2) -> proper# X2, proper# U101(X1, X2, X3) -> proper# X3)
    (proper# U71(X1, X2) -> proper# X2, proper# U101(X1, X2, X3) -> proper# X2)
    (proper# U71(X1, X2) -> proper# X2, proper# U101(X1, X2, X3) -> proper# X1)
    (proper# U71(X1, X2) -> proper# X2, proper# U101(X1, X2, X3) -> U101#(proper X1, proper X2, proper X3))
    (proper# U71(X1, X2) -> proper# X2, proper# isNatKind X -> proper# X)
    (proper# U71(X1, X2) -> proper# X2, proper# isNatKind X -> isNatKind# proper X)
    (proper# U71(X1, X2) -> proper# X2, proper# U102(X1, X2, X3) -> proper# X3)
    (proper# U71(X1, X2) -> proper# X2, proper# U102(X1, X2, X3) -> proper# X2)
    (proper# U71(X1, X2) -> proper# X2, proper# U102(X1, X2, X3) -> proper# X1)
    (proper# U71(X1, X2) -> proper# X2, proper# U102(X1, X2, X3) -> U102#(proper X1, proper X2, proper X3))
    (proper# U81(X1, X2, X3) -> proper# X2, proper# U91(X1, X2) -> proper# X2)
    (proper# U81(X1, X2, X3) -> proper# X2, proper# U91(X1, X2) -> proper# X1)
    (proper# U81(X1, X2, X3) -> proper# X2, proper# U91(X1, X2) -> U91#(proper X1, proper X2))
    (proper# U81(X1, X2, X3) -> proper# X2, proper# U92 X -> proper# X)
    (proper# U81(X1, X2, X3) -> proper# X2, proper# U92 X -> U92# proper X)
    (proper# U81(X1, X2, X3) -> proper# X2, proper# s X -> proper# X)
    (proper# U81(X1, X2, X3) -> proper# X2, proper# s X -> s# proper X)
    (proper# U81(X1, X2, X3) -> proper# X2, proper# U84(X1, X2, X3) -> proper# X3)
    (proper# U81(X1, X2, X3) -> proper# X2, proper# U84(X1, X2, X3) -> proper# X2)
    (proper# U81(X1, X2, X3) -> proper# X2, proper# U84(X1, X2, X3) -> proper# X1)
    (proper# U81(X1, X2, X3) -> proper# X2, proper# U84(X1, X2, X3) -> U84#(proper X1, proper X2, proper X3))
    (proper# U81(X1, X2, X3) -> proper# X2, proper# U83(X1, X2, X3) -> proper# X3)
    (proper# U81(X1, X2, X3) -> proper# X2, proper# U83(X1, X2, X3) -> proper# X2)
    (proper# U81(X1, X2, X3) -> proper# X2, proper# U83(X1, X2, X3) -> proper# X1)
    (proper# U81(X1, X2, X3) -> proper# X2, proper# U83(X1, X2, X3) -> U83#(proper X1, proper X2, proper X3))
    (proper# U81(X1, X2, X3) -> proper# X2, proper# U81(X1, X2, X3) -> proper# X3)
    (proper# U81(X1, X2, X3) -> proper# X2, proper# U81(X1, X2, X3) -> proper# X2)
    (proper# U81(X1, X2, X3) -> proper# X2, proper# U81(X1, X2, X3) -> proper# X1)
    (proper# U81(X1, X2, X3) -> proper# X2, proper# U81(X1, X2, X3) -> U81#(proper X1, proper X2, proper X3))
    (proper# U81(X1, X2, X3) -> proper# X2, proper# U82(X1, X2, X3) -> proper# X3)
    (proper# U81(X1, X2, X3) -> proper# X2, proper# U82(X1, X2, X3) -> proper# X2)
    (proper# U81(X1, X2, X3) -> proper# X2, proper# U82(X1, X2, X3) -> proper# X1)
    (proper# U81(X1, X2, X3) -> proper# X2, proper# U82(X1, X2, X3) -> U82#(proper X1, proper X2, proper X3))
    (proper# U81(X1, X2, X3) -> proper# X2, proper# U71(X1, X2) -> proper# X2)
    (proper# U81(X1, X2, X3) -> proper# X2, proper# U71(X1, X2) -> proper# X1)
    (proper# U81(X1, X2, X3) -> proper# X2, proper# U71(X1, X2) -> U71#(proper X1, proper X2))
    (proper# U81(X1, X2, X3) -> proper# X2, proper# U72(X1, X2) -> proper# X2)
    (proper# U81(X1, X2, X3) -> proper# X2, proper# U72(X1, X2) -> proper# X1)
    (proper# U81(X1, X2, X3) -> proper# X2, proper# U72(X1, X2) -> U72#(proper X1, proper X2))
    (proper# U81(X1, X2, X3) -> proper# X2, proper# U61(X1, X2) -> proper# X2)
    (proper# U81(X1, X2, X3) -> proper# X2, proper# U61(X1, X2) -> proper# X1)
    (proper# U81(X1, X2, X3) -> proper# X2, proper# U61(X1, X2) -> U61#(proper X1, proper X2))
    (proper# U81(X1, X2, X3) -> proper# X2, proper# U62 X -> proper# X)
    (proper# U81(X1, X2, X3) -> proper# X2, proper# U62 X -> U62# proper X)
    (proper# U81(X1, X2, X3) -> proper# X2, proper# U51 X -> proper# X)
    (proper# U81(X1, X2, X3) -> proper# X2, proper# U51 X -> U51# proper X)
    (proper# U81(X1, X2, X3) -> proper# X2, proper# U41(X1, X2) -> proper# X2)
    (proper# U81(X1, X2, X3) -> proper# X2, proper# U41(X1, X2) -> proper# X1)
    (proper# U81(X1, X2, X3) -> proper# X2, proper# U41(X1, X2) -> U41#(proper X1, proper X2))
    (proper# U81(X1, X2, X3) -> proper# X2, proper# U42 X -> proper# X)
    (proper# U81(X1, X2, X3) -> proper# X2, proper# U42 X -> U42# proper X)
    (proper# U81(X1, X2, X3) -> proper# X2, proper# U36 X -> proper# X)
    (proper# U81(X1, X2, X3) -> proper# X2, proper# U36 X -> U36# proper X)
    (proper# U81(X1, X2, X3) -> proper# X2, proper# U35(X1, X2) -> proper# X2)
    (proper# U81(X1, X2, X3) -> proper# X2, proper# U35(X1, X2) -> proper# X1)
    (proper# U81(X1, X2, X3) -> proper# X2, proper# U35(X1, X2) -> U35#(proper X1, proper X2))
    (proper# U81(X1, X2, X3) -> proper# X2, proper# U34(X1, X2, X3) -> proper# X3)
    (proper# U81(X1, X2, X3) -> proper# X2, proper# U34(X1, X2, X3) -> proper# X2)
    (proper# U81(X1, X2, X3) -> proper# X2, proper# U34(X1, X2, X3) -> proper# X1)
    (proper# U81(X1, X2, X3) -> proper# X2, proper# U34(X1, X2, X3) -> U34#(proper X1, proper X2, proper X3))
    (proper# U81(X1, X2, X3) -> proper# X2, proper# U33(X1, X2, X3) -> proper# X3)
    (proper# U81(X1, X2, X3) -> proper# X2, proper# U33(X1, X2, X3) -> proper# X2)
    (proper# U81(X1, X2, X3) -> proper# X2, proper# U33(X1, X2, X3) -> proper# X1)
    (proper# U81(X1, X2, X3) -> proper# X2, proper# U33(X1, X2, X3) -> U33#(proper X1, proper X2, proper X3))
    (proper# U81(X1, X2, X3) -> proper# X2, proper# U31(X1, X2, X3) -> proper# X3)
    (proper# U81(X1, X2, X3) -> proper# X2, proper# U31(X1, X2, X3) -> proper# X2)
    (proper# U81(X1, X2, X3) -> proper# X2, proper# U31(X1, X2, X3) -> proper# X1)
    (proper# U81(X1, X2, X3) -> proper# X2, proper# U31(X1, X2, X3) -> U31#(proper X1, proper X2, proper X3))
    (proper# U81(X1, X2, X3) -> proper# X2, proper# U32(X1, X2, X3) -> proper# X3)
    (proper# U81(X1, X2, X3) -> proper# X2, proper# U32(X1, X2, X3) -> proper# X2)
    (proper# U81(X1, X2, X3) -> proper# X2, proper# U32(X1, X2, X3) -> proper# X1)
    (proper# U81(X1, X2, X3) -> proper# X2, proper# U32(X1, X2, X3) -> U32#(proper X1, proper X2, proper X3))
    (proper# U81(X1, X2, X3) -> proper# X2, proper# U23 X -> proper# X)
    (proper# U81(X1, X2, X3) -> proper# X2, proper# U23 X -> U23# proper X)
    (proper# U81(X1, X2, X3) -> proper# X2, proper# U21(X1, X2) -> proper# X2)
    (proper# U81(X1, X2, X3) -> proper# X2, proper# U21(X1, X2) -> proper# X1)
    (proper# U81(X1, X2, X3) -> proper# X2, proper# U21(X1, X2) -> U21#(proper X1, proper X2))
    (proper# U81(X1, X2, X3) -> proper# X2, proper# U22(X1, X2) -> proper# X2)
    (proper# U81(X1, X2, X3) -> proper# X2, proper# U22(X1, X2) -> proper# X1)
    (proper# U81(X1, X2, X3) -> proper# X2, proper# U22(X1, X2) -> U22#(proper X1, proper X2))
    (proper# U81(X1, X2, X3) -> proper# X2, proper# U16 X -> proper# X)
    (proper# U81(X1, X2, X3) -> proper# X2, proper# U16 X -> U16# proper X)
    (proper# U81(X1, X2, X3) -> proper# X2, proper# U15(X1, X2) -> proper# X2)
    (proper# U81(X1, X2, X3) -> proper# X2, proper# U15(X1, X2) -> proper# X1)
    (proper# U81(X1, X2, X3) -> proper# X2, proper# U15(X1, X2) -> U15#(proper X1, proper X2))
    (proper# U81(X1, X2, X3) -> proper# X2, proper# U14(X1, X2, X3) -> proper# X3)
    (proper# U81(X1, X2, X3) -> proper# X2, proper# U14(X1, X2, X3) -> proper# X2)
    (proper# U81(X1, X2, X3) -> proper# X2, proper# U14(X1, X2, X3) -> proper# X1)
    (proper# U81(X1, X2, X3) -> proper# X2, proper# U14(X1, X2, X3) -> U14#(proper X1, proper X2, proper X3))
    (proper# U81(X1, X2, X3) -> proper# X2, proper# U13(X1, X2, X3) -> proper# X3)
    (proper# U81(X1, X2, X3) -> proper# X2, proper# U13(X1, X2, X3) -> proper# X2)
    (proper# U81(X1, X2, X3) -> proper# X2, proper# U13(X1, X2, X3) -> proper# X1)
    (proper# U81(X1, X2, X3) -> proper# X2, proper# U13(X1, X2, X3) -> U13#(proper X1, proper X2, proper X3))
    (proper# U81(X1, X2, X3) -> proper# X2, proper# U11(X1, X2, X3) -> proper# X3)
    (proper# U81(X1, X2, X3) -> proper# X2, proper# U11(X1, X2, X3) -> proper# X2)
    (proper# U81(X1, X2, X3) -> proper# X2, proper# U11(X1, X2, X3) -> proper# X1)
    (proper# U81(X1, X2, X3) -> proper# X2, proper# U11(X1, X2, X3) -> U11#(proper X1, proper X2, proper X3))
    (proper# U81(X1, X2, X3) -> proper# X2, proper# U12(X1, X2, X3) -> proper# X3)
    (proper# U81(X1, X2, X3) -> proper# X2, proper# U12(X1, X2, X3) -> proper# X2)
    (proper# U81(X1, X2, X3) -> proper# X2, proper# U12(X1, X2, X3) -> proper# X1)
    (proper# U81(X1, X2, X3) -> proper# X2, proper# U12(X1, X2, X3) -> U12#(proper X1, proper X2, proper X3))
    (proper# U81(X1, X2, X3) -> proper# X2, proper# x(X1, X2) -> proper# X2)
    (proper# U81(X1, X2, X3) -> proper# X2, proper# x(X1, X2) -> proper# X1)
    (proper# U81(X1, X2, X3) -> proper# X2, proper# x(X1, X2) -> x#(proper X1, proper X2))
    (proper# U81(X1, X2, X3) -> proper# X2, proper# plus(X1, X2) -> proper# X2)
    (proper# U81(X1, X2, X3) -> proper# X2, proper# plus(X1, X2) -> proper# X1)
    (proper# U81(X1, X2, X3) -> proper# X2, proper# plus(X1, X2) -> plus#(proper X1, proper X2))
    (proper# U81(X1, X2, X3) -> proper# X2, proper# U104(X1, X2, X3) -> proper# X3)
    (proper# U81(X1, X2, X3) -> proper# X2, proper# U104(X1, X2, X3) -> proper# X2)
    (proper# U81(X1, X2, X3) -> proper# X2, proper# U104(X1, X2, X3) -> proper# X1)
    (proper# U81(X1, X2, X3) -> proper# X2, proper# U104(X1, X2, X3) -> U104#(proper X1, proper X2, proper X3))
    (proper# U81(X1, X2, X3) -> proper# X2, proper# isNat X -> proper# X)
    (proper# U81(X1, X2, X3) -> proper# X2, proper# isNat X -> isNat# proper X)
    (proper# U81(X1, X2, X3) -> proper# X2, proper# U103(X1, X2, X3) -> proper# X3)
    (proper# U81(X1, X2, X3) -> proper# X2, proper# U103(X1, X2, X3) -> proper# X2)
    (proper# U81(X1, X2, X3) -> proper# X2, proper# U103(X1, X2, X3) -> proper# X1)
    (proper# U81(X1, X2, X3) -> proper# X2, proper# U103(X1, X2, X3) -> U103#(proper X1, proper X2, proper X3))
    (proper# U81(X1, X2, X3) -> proper# X2, proper# U101(X1, X2, X3) -> proper# X3)
    (proper# U81(X1, X2, X3) -> proper# X2, proper# U101(X1, X2, X3) -> proper# X2)
    (proper# U81(X1, X2, X3) -> proper# X2, proper# U101(X1, X2, X3) -> proper# X1)
    (proper# U81(X1, X2, X3) -> proper# X2, proper# U101(X1, X2, X3) -> U101#(proper X1, proper X2, proper X3))
    (proper# U81(X1, X2, X3) -> proper# X2, proper# isNatKind X -> proper# X)
    (proper# U81(X1, X2, X3) -> proper# X2, proper# isNatKind X -> isNatKind# proper X)
    (proper# U81(X1, X2, X3) -> proper# X2, proper# U102(X1, X2, X3) -> proper# X3)
    (proper# U81(X1, X2, X3) -> proper# X2, proper# U102(X1, X2, X3) -> proper# X2)
    (proper# U81(X1, X2, X3) -> proper# X2, proper# U102(X1, X2, X3) -> proper# X1)
    (proper# U81(X1, X2, X3) -> proper# X2, proper# U102(X1, X2, X3) -> U102#(proper X1, proper X2, proper X3))
    (proper# U84(X1, X2, X3) -> proper# X2, proper# U91(X1, X2) -> proper# X2)
    (proper# U84(X1, X2, X3) -> proper# X2, proper# U91(X1, X2) -> proper# X1)
    (proper# U84(X1, X2, X3) -> proper# X2, proper# U91(X1, X2) -> U91#(proper X1, proper X2))
    (proper# U84(X1, X2, X3) -> proper# X2, proper# U92 X -> proper# X)
    (proper# U84(X1, X2, X3) -> proper# X2, proper# U92 X -> U92# proper X)
    (proper# U84(X1, X2, X3) -> proper# X2, proper# s X -> proper# X)
    (proper# U84(X1, X2, X3) -> proper# X2, proper# s X -> s# proper X)
    (proper# U84(X1, X2, X3) -> proper# X2, proper# U84(X1, X2, X3) -> proper# X3)
    (proper# U84(X1, X2, X3) -> proper# X2, proper# U84(X1, X2, X3) -> proper# X2)
    (proper# U84(X1, X2, X3) -> proper# X2, proper# U84(X1, X2, X3) -> proper# X1)
    (proper# U84(X1, X2, X3) -> proper# X2, proper# U84(X1, X2, X3) -> U84#(proper X1, proper X2, proper X3))
    (proper# U84(X1, X2, X3) -> proper# X2, proper# U83(X1, X2, X3) -> proper# X3)
    (proper# U84(X1, X2, X3) -> proper# X2, proper# U83(X1, X2, X3) -> proper# X2)
    (proper# U84(X1, X2, X3) -> proper# X2, proper# U83(X1, X2, X3) -> proper# X1)
    (proper# U84(X1, X2, X3) -> proper# X2, proper# U83(X1, X2, X3) -> U83#(proper X1, proper X2, proper X3))
    (proper# U84(X1, X2, X3) -> proper# X2, proper# U81(X1, X2, X3) -> proper# X3)
    (proper# U84(X1, X2, X3) -> proper# X2, proper# U81(X1, X2, X3) -> proper# X2)
    (proper# U84(X1, X2, X3) -> proper# X2, proper# U81(X1, X2, X3) -> proper# X1)
    (proper# U84(X1, X2, X3) -> proper# X2, proper# U81(X1, X2, X3) -> U81#(proper X1, proper X2, proper X3))
    (proper# U84(X1, X2, X3) -> proper# X2, proper# U82(X1, X2, X3) -> proper# X3)
    (proper# U84(X1, X2, X3) -> proper# X2, proper# U82(X1, X2, X3) -> proper# X2)
    (proper# U84(X1, X2, X3) -> proper# X2, proper# U82(X1, X2, X3) -> proper# X1)
    (proper# U84(X1, X2, X3) -> proper# X2, proper# U82(X1, X2, X3) -> U82#(proper X1, proper X2, proper X3))
    (proper# U84(X1, X2, X3) -> proper# X2, proper# U71(X1, X2) -> proper# X2)
    (proper# U84(X1, X2, X3) -> proper# X2, proper# U71(X1, X2) -> proper# X1)
    (proper# U84(X1, X2, X3) -> proper# X2, proper# U71(X1, X2) -> U71#(proper X1, proper X2))
    (proper# U84(X1, X2, X3) -> proper# X2, proper# U72(X1, X2) -> proper# X2)
    (proper# U84(X1, X2, X3) -> proper# X2, proper# U72(X1, X2) -> proper# X1)
    (proper# U84(X1, X2, X3) -> proper# X2, proper# U72(X1, X2) -> U72#(proper X1, proper X2))
    (proper# U84(X1, X2, X3) -> proper# X2, proper# U61(X1, X2) -> proper# X2)
    (proper# U84(X1, X2, X3) -> proper# X2, proper# U61(X1, X2) -> proper# X1)
    (proper# U84(X1, X2, X3) -> proper# X2, proper# U61(X1, X2) -> U61#(proper X1, proper X2))
    (proper# U84(X1, X2, X3) -> proper# X2, proper# U62 X -> proper# X)
    (proper# U84(X1, X2, X3) -> proper# X2, proper# U62 X -> U62# proper X)
    (proper# U84(X1, X2, X3) -> proper# X2, proper# U51 X -> proper# X)
    (proper# U84(X1, X2, X3) -> proper# X2, proper# U51 X -> U51# proper X)
    (proper# U84(X1, X2, X3) -> proper# X2, proper# U41(X1, X2) -> proper# X2)
    (proper# U84(X1, X2, X3) -> proper# X2, proper# U41(X1, X2) -> proper# X1)
    (proper# U84(X1, X2, X3) -> proper# X2, proper# U41(X1, X2) -> U41#(proper X1, proper X2))
    (proper# U84(X1, X2, X3) -> proper# X2, proper# U42 X -> proper# X)
    (proper# U84(X1, X2, X3) -> proper# X2, proper# U42 X -> U42# proper X)
    (proper# U84(X1, X2, X3) -> proper# X2, proper# U36 X -> proper# X)
    (proper# U84(X1, X2, X3) -> proper# X2, proper# U36 X -> U36# proper X)
    (proper# U84(X1, X2, X3) -> proper# X2, proper# U35(X1, X2) -> proper# X2)
    (proper# U84(X1, X2, X3) -> proper# X2, proper# U35(X1, X2) -> proper# X1)
    (proper# U84(X1, X2, X3) -> proper# X2, proper# U35(X1, X2) -> U35#(proper X1, proper X2))
    (proper# U84(X1, X2, X3) -> proper# X2, proper# U34(X1, X2, X3) -> proper# X3)
    (proper# U84(X1, X2, X3) -> proper# X2, proper# U34(X1, X2, X3) -> proper# X2)
    (proper# U84(X1, X2, X3) -> proper# X2, proper# U34(X1, X2, X3) -> proper# X1)
    (proper# U84(X1, X2, X3) -> proper# X2, proper# U34(X1, X2, X3) -> U34#(proper X1, proper X2, proper X3))
    (proper# U84(X1, X2, X3) -> proper# X2, proper# U33(X1, X2, X3) -> proper# X3)
    (proper# U84(X1, X2, X3) -> proper# X2, proper# U33(X1, X2, X3) -> proper# X2)
    (proper# U84(X1, X2, X3) -> proper# X2, proper# U33(X1, X2, X3) -> proper# X1)
    (proper# U84(X1, X2, X3) -> proper# X2, proper# U33(X1, X2, X3) -> U33#(proper X1, proper X2, proper X3))
    (proper# U84(X1, X2, X3) -> proper# X2, proper# U31(X1, X2, X3) -> proper# X3)
    (proper# U84(X1, X2, X3) -> proper# X2, proper# U31(X1, X2, X3) -> proper# X2)
    (proper# U84(X1, X2, X3) -> proper# X2, proper# U31(X1, X2, X3) -> proper# X1)
    (proper# U84(X1, X2, X3) -> proper# X2, proper# U31(X1, X2, X3) -> U31#(proper X1, proper X2, proper X3))
    (proper# U84(X1, X2, X3) -> proper# X2, proper# U32(X1, X2, X3) -> proper# X3)
    (proper# U84(X1, X2, X3) -> proper# X2, proper# U32(X1, X2, X3) -> proper# X2)
    (proper# U84(X1, X2, X3) -> proper# X2, proper# U32(X1, X2, X3) -> proper# X1)
    (proper# U84(X1, X2, X3) -> proper# X2, proper# U32(X1, X2, X3) -> U32#(proper X1, proper X2, proper X3))
    (proper# U84(X1, X2, X3) -> proper# X2, proper# U23 X -> proper# X)
    (proper# U84(X1, X2, X3) -> proper# X2, proper# U23 X -> U23# proper X)
    (proper# U84(X1, X2, X3) -> proper# X2, proper# U21(X1, X2) -> proper# X2)
    (proper# U84(X1, X2, X3) -> proper# X2, proper# U21(X1, X2) -> proper# X1)
    (proper# U84(X1, X2, X3) -> proper# X2, proper# U21(X1, X2) -> U21#(proper X1, proper X2))
    (proper# U84(X1, X2, X3) -> proper# X2, proper# U22(X1, X2) -> proper# X2)
    (proper# U84(X1, X2, X3) -> proper# X2, proper# U22(X1, X2) -> proper# X1)
    (proper# U84(X1, X2, X3) -> proper# X2, proper# U22(X1, X2) -> U22#(proper X1, proper X2))
    (proper# U84(X1, X2, X3) -> proper# X2, proper# U16 X -> proper# X)
    (proper# U84(X1, X2, X3) -> proper# X2, proper# U16 X -> U16# proper X)
    (proper# U84(X1, X2, X3) -> proper# X2, proper# U15(X1, X2) -> proper# X2)
    (proper# U84(X1, X2, X3) -> proper# X2, proper# U15(X1, X2) -> proper# X1)
    (proper# U84(X1, X2, X3) -> proper# X2, proper# U15(X1, X2) -> U15#(proper X1, proper X2))
    (proper# U84(X1, X2, X3) -> proper# X2, proper# U14(X1, X2, X3) -> proper# X3)
    (proper# U84(X1, X2, X3) -> proper# X2, proper# U14(X1, X2, X3) -> proper# X2)
    (proper# U84(X1, X2, X3) -> proper# X2, proper# U14(X1, X2, X3) -> proper# X1)
    (proper# U84(X1, X2, X3) -> proper# X2, proper# U14(X1, X2, X3) -> U14#(proper X1, proper X2, proper X3))
    (proper# U84(X1, X2, X3) -> proper# X2, proper# U13(X1, X2, X3) -> proper# X3)
    (proper# U84(X1, X2, X3) -> proper# X2, proper# U13(X1, X2, X3) -> proper# X2)
    (proper# U84(X1, X2, X3) -> proper# X2, proper# U13(X1, X2, X3) -> proper# X1)
    (proper# U84(X1, X2, X3) -> proper# X2, proper# U13(X1, X2, X3) -> U13#(proper X1, proper X2, proper X3))
    (proper# U84(X1, X2, X3) -> proper# X2, proper# U11(X1, X2, X3) -> proper# X3)
    (proper# U84(X1, X2, X3) -> proper# X2, proper# U11(X1, X2, X3) -> proper# X2)
    (proper# U84(X1, X2, X3) -> proper# X2, proper# U11(X1, X2, X3) -> proper# X1)
    (proper# U84(X1, X2, X3) -> proper# X2, proper# U11(X1, X2, X3) -> U11#(proper X1, proper X2, proper X3))
    (proper# U84(X1, X2, X3) -> proper# X2, proper# U12(X1, X2, X3) -> proper# X3)
    (proper# U84(X1, X2, X3) -> proper# X2, proper# U12(X1, X2, X3) -> proper# X2)
    (proper# U84(X1, X2, X3) -> proper# X2, proper# U12(X1, X2, X3) -> proper# X1)
    (proper# U84(X1, X2, X3) -> proper# X2, proper# U12(X1, X2, X3) -> U12#(proper X1, proper X2, proper X3))
    (proper# U84(X1, X2, X3) -> proper# X2, proper# x(X1, X2) -> proper# X2)
    (proper# U84(X1, X2, X3) -> proper# X2, proper# x(X1, X2) -> proper# X1)
    (proper# U84(X1, X2, X3) -> proper# X2, proper# x(X1, X2) -> x#(proper X1, proper X2))
    (proper# U84(X1, X2, X3) -> proper# X2, proper# plus(X1, X2) -> proper# X2)
    (proper# U84(X1, X2, X3) -> proper# X2, proper# plus(X1, X2) -> proper# X1)
    (proper# U84(X1, X2, X3) -> proper# X2, proper# plus(X1, X2) -> plus#(proper X1, proper X2))
    (proper# U84(X1, X2, X3) -> proper# X2, proper# U104(X1, X2, X3) -> proper# X3)
    (proper# U84(X1, X2, X3) -> proper# X2, proper# U104(X1, X2, X3) -> proper# X2)
    (proper# U84(X1, X2, X3) -> proper# X2, proper# U104(X1, X2, X3) -> proper# X1)
    (proper# U84(X1, X2, X3) -> proper# X2, proper# U104(X1, X2, X3) -> U104#(proper X1, proper X2, proper X3))
    (proper# U84(X1, X2, X3) -> proper# X2, proper# isNat X -> proper# X)
    (proper# U84(X1, X2, X3) -> proper# X2, proper# isNat X -> isNat# proper X)
    (proper# U84(X1, X2, X3) -> proper# X2, proper# U103(X1, X2, X3) -> proper# X3)
    (proper# U84(X1, X2, X3) -> proper# X2, proper# U103(X1, X2, X3) -> proper# X2)
    (proper# U84(X1, X2, X3) -> proper# X2, proper# U103(X1, X2, X3) -> proper# X1)
    (proper# U84(X1, X2, X3) -> proper# X2, proper# U103(X1, X2, X3) -> U103#(proper X1, proper X2, proper X3))
    (proper# U84(X1, X2, X3) -> proper# X2, proper# U101(X1, X2, X3) -> proper# X3)
    (proper# U84(X1, X2, X3) -> proper# X2, proper# U101(X1, X2, X3) -> proper# X2)
    (proper# U84(X1, X2, X3) -> proper# X2, proper# U101(X1, X2, X3) -> proper# X1)
    (proper# U84(X1, X2, X3) -> proper# X2, proper# U101(X1, X2, X3) -> U101#(proper X1, proper X2, proper X3))
    (proper# U84(X1, X2, X3) -> proper# X2, proper# isNatKind X -> proper# X)
    (proper# U84(X1, X2, X3) -> proper# X2, proper# isNatKind X -> isNatKind# proper X)
    (proper# U84(X1, X2, X3) -> proper# X2, proper# U102(X1, X2, X3) -> proper# X3)
    (proper# U84(X1, X2, X3) -> proper# X2, proper# U102(X1, X2, X3) -> proper# X2)
    (proper# U84(X1, X2, X3) -> proper# X2, proper# U102(X1, X2, X3) -> proper# X1)
    (proper# U84(X1, X2, X3) -> proper# X2, proper# U102(X1, X2, X3) -> U102#(proper X1, proper X2, proper X3))
    (active# U104(tt(), M, N) -> x#(N, M), x#(ok X1, ok X2) -> x#(X1, X2))
    (active# U104(tt(), M, N) -> x#(N, M), x#(mark X1, X2) -> x#(X1, X2))
    (active# U104(tt(), M, N) -> x#(N, M), x#(X1, mark X2) -> x#(X1, X2))
    (active# isNatKind plus(V1, V2) -> isNatKind# V1, isNatKind# ok X -> isNatKind# X)
    (active# isNatKind s V1 -> isNatKind# V1, isNatKind# ok X -> isNatKind# X)
    (active# isNat x(V1, V2) -> isNatKind# V1, isNatKind# ok X -> isNatKind# X)
    (active# U11(tt(), V1, V2) -> isNatKind# V1, isNatKind# ok X -> isNatKind# X)
    (active# U22(tt(), V1) -> isNat# V1, isNat# ok X -> isNat# X)
    (active# U31(tt(), V1, V2) -> isNatKind# V1, isNatKind# ok X -> isNatKind# X)
    (active# U34(tt(), V1, V2) -> isNat# V1, isNat# ok X -> isNat# X)
    (active# U21(tt(), V1) -> isNatKind# V1, isNatKind# ok X -> isNatKind# X)
    (active# U14(tt(), V1, V2) -> isNat# V1, isNat# ok X -> isNat# X)
    (active# isNat s V1 -> isNatKind# V1, isNatKind# ok X -> isNatKind# X)
    (active# isNat plus(V1, V2) -> isNatKind# V1, isNatKind# ok X -> isNatKind# X)
    (active# isNatKind x(V1, V2) -> isNatKind# V1, isNatKind# ok X -> isNatKind# X)
    (active# U84(tt(), M, N) -> plus#(N, M), plus#(X1, mark X2) -> plus#(X1, X2))
    (active# U84(tt(), M, N) -> plus#(N, M), plus#(mark X1, X2) -> plus#(X1, X2))
    (active# U84(tt(), M, N) -> plus#(N, M), plus#(ok X1, ok X2) -> plus#(X1, X2))
    (proper# U91(X1, X2) -> proper# X2, proper# U102(X1, X2, X3) -> U102#(proper X1, proper X2, proper X3))
    (proper# U91(X1, X2) -> proper# X2, proper# U102(X1, X2, X3) -> proper# X1)
    (proper# U91(X1, X2) -> proper# X2, proper# U102(X1, X2, X3) -> proper# X2)
    (proper# U91(X1, X2) -> proper# X2, proper# U102(X1, X2, X3) -> proper# X3)
    (proper# U91(X1, X2) -> proper# X2, proper# isNatKind X -> isNatKind# proper X)
    (proper# U91(X1, X2) -> proper# X2, proper# isNatKind X -> proper# X)
    (proper# U91(X1, X2) -> proper# X2, proper# U101(X1, X2, X3) -> U101#(proper X1, proper X2, proper X3))
    (proper# U91(X1, X2) -> proper# X2, proper# U101(X1, X2, X3) -> proper# X1)
    (proper# U91(X1, X2) -> proper# X2, proper# U101(X1, X2, X3) -> proper# X2)
    (proper# U91(X1, X2) -> proper# X2, proper# U101(X1, X2, X3) -> proper# X3)
    (proper# U91(X1, X2) -> proper# X2, proper# U103(X1, X2, X3) -> U103#(proper X1, proper X2, proper X3))
    (proper# U91(X1, X2) -> proper# X2, proper# U103(X1, X2, X3) -> proper# X1)
    (proper# U91(X1, X2) -> proper# X2, proper# U103(X1, X2, X3) -> proper# X2)
    (proper# U91(X1, X2) -> proper# X2, proper# U103(X1, X2, X3) -> proper# X3)
    (proper# U91(X1, X2) -> proper# X2, proper# isNat X -> isNat# proper X)
    (proper# U91(X1, X2) -> proper# X2, proper# isNat X -> proper# X)
    (proper# U91(X1, X2) -> proper# X2, proper# U104(X1, X2, X3) -> U104#(proper X1, proper X2, proper X3))
    (proper# U91(X1, X2) -> proper# X2, proper# U104(X1, X2, X3) -> proper# X1)
    (proper# U91(X1, X2) -> proper# X2, proper# U104(X1, X2, X3) -> proper# X2)
    (proper# U91(X1, X2) -> proper# X2, proper# U104(X1, X2, X3) -> proper# X3)
    (proper# U91(X1, X2) -> proper# X2, proper# plus(X1, X2) -> plus#(proper X1, proper X2))
    (proper# U91(X1, X2) -> proper# X2, proper# plus(X1, X2) -> proper# X1)
    (proper# U91(X1, X2) -> proper# X2, proper# plus(X1, X2) -> proper# X2)
    (proper# U91(X1, X2) -> proper# X2, proper# x(X1, X2) -> x#(proper X1, proper X2))
    (proper# U91(X1, X2) -> proper# X2, proper# x(X1, X2) -> proper# X1)
    (proper# U91(X1, X2) -> proper# X2, proper# x(X1, X2) -> proper# X2)
    (proper# U91(X1, X2) -> proper# X2, proper# U12(X1, X2, X3) -> U12#(proper X1, proper X2, proper X3))
    (proper# U91(X1, X2) -> proper# X2, proper# U12(X1, X2, X3) -> proper# X1)
    (proper# U91(X1, X2) -> proper# X2, proper# U12(X1, X2, X3) -> proper# X2)
    (proper# U91(X1, X2) -> proper# X2, proper# U12(X1, X2, X3) -> proper# X3)
    (proper# U91(X1, X2) -> proper# X2, proper# U11(X1, X2, X3) -> U11#(proper X1, proper X2, proper X3))
    (proper# U91(X1, X2) -> proper# X2, proper# U11(X1, X2, X3) -> proper# X1)
    (proper# U91(X1, X2) -> proper# X2, proper# U11(X1, X2, X3) -> proper# X2)
    (proper# U91(X1, X2) -> proper# X2, proper# U11(X1, X2, X3) -> proper# X3)
    (proper# U91(X1, X2) -> proper# X2, proper# U13(X1, X2, X3) -> U13#(proper X1, proper X2, proper X3))
    (proper# U91(X1, X2) -> proper# X2, proper# U13(X1, X2, X3) -> proper# X1)
    (proper# U91(X1, X2) -> proper# X2, proper# U13(X1, X2, X3) -> proper# X2)
    (proper# U91(X1, X2) -> proper# X2, proper# U13(X1, X2, X3) -> proper# X3)
    (proper# U91(X1, X2) -> proper# X2, proper# U14(X1, X2, X3) -> U14#(proper X1, proper X2, proper X3))
    (proper# U91(X1, X2) -> proper# X2, proper# U14(X1, X2, X3) -> proper# X1)
    (proper# U91(X1, X2) -> proper# X2, proper# U14(X1, X2, X3) -> proper# X2)
    (proper# U91(X1, X2) -> proper# X2, proper# U14(X1, X2, X3) -> proper# X3)
    (proper# U91(X1, X2) -> proper# X2, proper# U15(X1, X2) -> U15#(proper X1, proper X2))
    (proper# U91(X1, X2) -> proper# X2, proper# U15(X1, X2) -> proper# X1)
    (proper# U91(X1, X2) -> proper# X2, proper# U15(X1, X2) -> proper# X2)
    (proper# U91(X1, X2) -> proper# X2, proper# U16 X -> U16# proper X)
    (proper# U91(X1, X2) -> proper# X2, proper# U16 X -> proper# X)
    (proper# U91(X1, X2) -> proper# X2, proper# U22(X1, X2) -> U22#(proper X1, proper X2))
    (proper# U91(X1, X2) -> proper# X2, proper# U22(X1, X2) -> proper# X1)
    (proper# U91(X1, X2) -> proper# X2, proper# U22(X1, X2) -> proper# X2)
    (proper# U91(X1, X2) -> proper# X2, proper# U21(X1, X2) -> U21#(proper X1, proper X2))
    (proper# U91(X1, X2) -> proper# X2, proper# U21(X1, X2) -> proper# X1)
    (proper# U91(X1, X2) -> proper# X2, proper# U21(X1, X2) -> proper# X2)
    (proper# U91(X1, X2) -> proper# X2, proper# U23 X -> U23# proper X)
    (proper# U91(X1, X2) -> proper# X2, proper# U23 X -> proper# X)
    (proper# U91(X1, X2) -> proper# X2, proper# U32(X1, X2, X3) -> U32#(proper X1, proper X2, proper X3))
    (proper# U91(X1, X2) -> proper# X2, proper# U32(X1, X2, X3) -> proper# X1)
    (proper# U91(X1, X2) -> proper# X2, proper# U32(X1, X2, X3) -> proper# X2)
    (proper# U91(X1, X2) -> proper# X2, proper# U32(X1, X2, X3) -> proper# X3)
    (proper# U91(X1, X2) -> proper# X2, proper# U31(X1, X2, X3) -> U31#(proper X1, proper X2, proper X3))
    (proper# U91(X1, X2) -> proper# X2, proper# U31(X1, X2, X3) -> proper# X1)
    (proper# U91(X1, X2) -> proper# X2, proper# U31(X1, X2, X3) -> proper# X2)
    (proper# U91(X1, X2) -> proper# X2, proper# U31(X1, X2, X3) -> proper# X3)
    (proper# U91(X1, X2) -> proper# X2, proper# U33(X1, X2, X3) -> U33#(proper X1, proper X2, proper X3))
    (proper# U91(X1, X2) -> proper# X2, proper# U33(X1, X2, X3) -> proper# X1)
    (proper# U91(X1, X2) -> proper# X2, proper# U33(X1, X2, X3) -> proper# X2)
    (proper# U91(X1, X2) -> proper# X2, proper# U33(X1, X2, X3) -> proper# X3)
    (proper# U91(X1, X2) -> proper# X2, proper# U34(X1, X2, X3) -> U34#(proper X1, proper X2, proper X3))
    (proper# U91(X1, X2) -> proper# X2, proper# U34(X1, X2, X3) -> proper# X1)
    (proper# U91(X1, X2) -> proper# X2, proper# U34(X1, X2, X3) -> proper# X2)
    (proper# U91(X1, X2) -> proper# X2, proper# U34(X1, X2, X3) -> proper# X3)
    (proper# U91(X1, X2) -> proper# X2, proper# U35(X1, X2) -> U35#(proper X1, proper X2))
    (proper# U91(X1, X2) -> proper# X2, proper# U35(X1, X2) -> proper# X1)
    (proper# U91(X1, X2) -> proper# X2, proper# U35(X1, X2) -> proper# X2)
    (proper# U91(X1, X2) -> proper# X2, proper# U36 X -> U36# proper X)
    (proper# U91(X1, X2) -> proper# X2, proper# U36 X -> proper# X)
    (proper# U91(X1, X2) -> proper# X2, proper# U42 X -> U42# proper X)
    (proper# U91(X1, X2) -> proper# X2, proper# U42 X -> proper# X)
    (proper# U91(X1, X2) -> proper# X2, proper# U41(X1, X2) -> U41#(proper X1, proper X2))
    (proper# U91(X1, X2) -> proper# X2, proper# U41(X1, X2) -> proper# X1)
    (proper# U91(X1, X2) -> proper# X2, proper# U41(X1, X2) -> proper# X2)
    (proper# U91(X1, X2) -> proper# X2, proper# U51 X -> U51# proper X)
    (proper# U91(X1, X2) -> proper# X2, proper# U51 X -> proper# X)
    (proper# U91(X1, X2) -> proper# X2, proper# U62 X -> U62# proper X)
    (proper# U91(X1, X2) -> proper# X2, proper# U62 X -> proper# X)
    (proper# U91(X1, X2) -> proper# X2, proper# U61(X1, X2) -> U61#(proper X1, proper X2))
    (proper# U91(X1, X2) -> proper# X2, proper# U61(X1, X2) -> proper# X1)
    (proper# U91(X1, X2) -> proper# X2, proper# U61(X1, X2) -> proper# X2)
    (proper# U91(X1, X2) -> proper# X2, proper# U72(X1, X2) -> U72#(proper X1, proper X2))
    (proper# U91(X1, X2) -> proper# X2, proper# U72(X1, X2) -> proper# X1)
    (proper# U91(X1, X2) -> proper# X2, proper# U72(X1, X2) -> proper# X2)
    (proper# U91(X1, X2) -> proper# X2, proper# U71(X1, X2) -> U71#(proper X1, proper X2))
    (proper# U91(X1, X2) -> proper# X2, proper# U71(X1, X2) -> proper# X1)
    (proper# U91(X1, X2) -> proper# X2, proper# U71(X1, X2) -> proper# X2)
    (proper# U91(X1, X2) -> proper# X2, proper# U82(X1, X2, X3) -> U82#(proper X1, proper X2, proper X3))
    (proper# U91(X1, X2) -> proper# X2, proper# U82(X1, X2, X3) -> proper# X1)
    (proper# U91(X1, X2) -> proper# X2, proper# U82(X1, X2, X3) -> proper# X2)
    (proper# U91(X1, X2) -> proper# X2, proper# U82(X1, X2, X3) -> proper# X3)
    (proper# U91(X1, X2) -> proper# X2, proper# U81(X1, X2, X3) -> U81#(proper X1, proper X2, proper X3))
    (proper# U91(X1, X2) -> proper# X2, proper# U81(X1, X2, X3) -> proper# X1)
    (proper# U91(X1, X2) -> proper# X2, proper# U81(X1, X2, X3) -> proper# X2)
    (proper# U91(X1, X2) -> proper# X2, proper# U81(X1, X2, X3) -> proper# X3)
    (proper# U91(X1, X2) -> proper# X2, proper# U83(X1, X2, X3) -> U83#(proper X1, proper X2, proper X3))
    (proper# U91(X1, X2) -> proper# X2, proper# U83(X1, X2, X3) -> proper# X1)
    (proper# U91(X1, X2) -> proper# X2, proper# U83(X1, X2, X3) -> proper# X2)
    (proper# U91(X1, X2) -> proper# X2, proper# U83(X1, X2, X3) -> proper# X3)
    (proper# U91(X1, X2) -> proper# X2, proper# U84(X1, X2, X3) -> U84#(proper X1, proper X2, proper X3))
    (proper# U91(X1, X2) -> proper# X2, proper# U84(X1, X2, X3) -> proper# X1)
    (proper# U91(X1, X2) -> proper# X2, proper# U84(X1, X2, X3) -> proper# X2)
    (proper# U91(X1, X2) -> proper# X2, proper# U84(X1, X2, X3) -> proper# X3)
    (proper# U91(X1, X2) -> proper# X2, proper# s X -> s# proper X)
    (proper# U91(X1, X2) -> proper# X2, proper# s X -> proper# X)
    (proper# U91(X1, X2) -> proper# X2, proper# U92 X -> U92# proper X)
    (proper# U91(X1, X2) -> proper# X2, proper# U92 X -> proper# X)
    (proper# U91(X1, X2) -> proper# X2, proper# U91(X1, X2) -> U91#(proper X1, proper X2))
    (proper# U91(X1, X2) -> proper# X2, proper# U91(X1, X2) -> proper# X1)
    (proper# U91(X1, X2) -> proper# X2, proper# U91(X1, X2) -> proper# X2)
    (proper# U83(X1, X2, X3) -> proper# X2, proper# U102(X1, X2, X3) -> U102#(proper X1, proper X2, proper X3))
    (proper# U83(X1, X2, X3) -> proper# X2, proper# U102(X1, X2, X3) -> proper# X1)
    (proper# U83(X1, X2, X3) -> proper# X2, proper# U102(X1, X2, X3) -> proper# X2)
    (proper# U83(X1, X2, X3) -> proper# X2, proper# U102(X1, X2, X3) -> proper# X3)
    (proper# U83(X1, X2, X3) -> proper# X2, proper# isNatKind X -> isNatKind# proper X)
    (proper# U83(X1, X2, X3) -> proper# X2, proper# isNatKind X -> proper# X)
    (proper# U83(X1, X2, X3) -> proper# X2, proper# U101(X1, X2, X3) -> U101#(proper X1, proper X2, proper X3))
    (proper# U83(X1, X2, X3) -> proper# X2, proper# U101(X1, X2, X3) -> proper# X1)
    (proper# U83(X1, X2, X3) -> proper# X2, proper# U101(X1, X2, X3) -> proper# X2)
    (proper# U83(X1, X2, X3) -> proper# X2, proper# U101(X1, X2, X3) -> proper# X3)
    (proper# U83(X1, X2, X3) -> proper# X2, proper# U103(X1, X2, X3) -> U103#(proper X1, proper X2, proper X3))
    (proper# U83(X1, X2, X3) -> proper# X2, proper# U103(X1, X2, X3) -> proper# X1)
    (proper# U83(X1, X2, X3) -> proper# X2, proper# U103(X1, X2, X3) -> proper# X2)
    (proper# U83(X1, X2, X3) -> proper# X2, proper# U103(X1, X2, X3) -> proper# X3)
    (proper# U83(X1, X2, X3) -> proper# X2, proper# isNat X -> isNat# proper X)
    (proper# U83(X1, X2, X3) -> proper# X2, proper# isNat X -> proper# X)
    (proper# U83(X1, X2, X3) -> proper# X2, proper# U104(X1, X2, X3) -> U104#(proper X1, proper X2, proper X3))
    (proper# U83(X1, X2, X3) -> proper# X2, proper# U104(X1, X2, X3) -> proper# X1)
    (proper# U83(X1, X2, X3) -> proper# X2, proper# U104(X1, X2, X3) -> proper# X2)
    (proper# U83(X1, X2, X3) -> proper# X2, proper# U104(X1, X2, X3) -> proper# X3)
    (proper# U83(X1, X2, X3) -> proper# X2, proper# plus(X1, X2) -> plus#(proper X1, proper X2))
    (proper# U83(X1, X2, X3) -> proper# X2, proper# plus(X1, X2) -> proper# X1)
    (proper# U83(X1, X2, X3) -> proper# X2, proper# plus(X1, X2) -> proper# X2)
    (proper# U83(X1, X2, X3) -> proper# X2, proper# x(X1, X2) -> x#(proper X1, proper X2))
    (proper# U83(X1, X2, X3) -> proper# X2, proper# x(X1, X2) -> proper# X1)
    (proper# U83(X1, X2, X3) -> proper# X2, proper# x(X1, X2) -> proper# X2)
    (proper# U83(X1, X2, X3) -> proper# X2, proper# U12(X1, X2, X3) -> U12#(proper X1, proper X2, proper X3))
    (proper# U83(X1, X2, X3) -> proper# X2, proper# U12(X1, X2, X3) -> proper# X1)
    (proper# U83(X1, X2, X3) -> proper# X2, proper# U12(X1, X2, X3) -> proper# X2)
    (proper# U83(X1, X2, X3) -> proper# X2, proper# U12(X1, X2, X3) -> proper# X3)
    (proper# U83(X1, X2, X3) -> proper# X2, proper# U11(X1, X2, X3) -> U11#(proper X1, proper X2, proper X3))
    (proper# U83(X1, X2, X3) -> proper# X2, proper# U11(X1, X2, X3) -> proper# X1)
    (proper# U83(X1, X2, X3) -> proper# X2, proper# U11(X1, X2, X3) -> proper# X2)
    (proper# U83(X1, X2, X3) -> proper# X2, proper# U11(X1, X2, X3) -> proper# X3)
    (proper# U83(X1, X2, X3) -> proper# X2, proper# U13(X1, X2, X3) -> U13#(proper X1, proper X2, proper X3))
    (proper# U83(X1, X2, X3) -> proper# X2, proper# U13(X1, X2, X3) -> proper# X1)
    (proper# U83(X1, X2, X3) -> proper# X2, proper# U13(X1, X2, X3) -> proper# X2)
    (proper# U83(X1, X2, X3) -> proper# X2, proper# U13(X1, X2, X3) -> proper# X3)
    (proper# U83(X1, X2, X3) -> proper# X2, proper# U14(X1, X2, X3) -> U14#(proper X1, proper X2, proper X3))
    (proper# U83(X1, X2, X3) -> proper# X2, proper# U14(X1, X2, X3) -> proper# X1)
    (proper# U83(X1, X2, X3) -> proper# X2, proper# U14(X1, X2, X3) -> proper# X2)
    (proper# U83(X1, X2, X3) -> proper# X2, proper# U14(X1, X2, X3) -> proper# X3)
    (proper# U83(X1, X2, X3) -> proper# X2, proper# U15(X1, X2) -> U15#(proper X1, proper X2))
    (proper# U83(X1, X2, X3) -> proper# X2, proper# U15(X1, X2) -> proper# X1)
    (proper# U83(X1, X2, X3) -> proper# X2, proper# U15(X1, X2) -> proper# X2)
    (proper# U83(X1, X2, X3) -> proper# X2, proper# U16 X -> U16# proper X)
    (proper# U83(X1, X2, X3) -> proper# X2, proper# U16 X -> proper# X)
    (proper# U83(X1, X2, X3) -> proper# X2, proper# U22(X1, X2) -> U22#(proper X1, proper X2))
    (proper# U83(X1, X2, X3) -> proper# X2, proper# U22(X1, X2) -> proper# X1)
    (proper# U83(X1, X2, X3) -> proper# X2, proper# U22(X1, X2) -> proper# X2)
    (proper# U83(X1, X2, X3) -> proper# X2, proper# U21(X1, X2) -> U21#(proper X1, proper X2))
    (proper# U83(X1, X2, X3) -> proper# X2, proper# U21(X1, X2) -> proper# X1)
    (proper# U83(X1, X2, X3) -> proper# X2, proper# U21(X1, X2) -> proper# X2)
    (proper# U83(X1, X2, X3) -> proper# X2, proper# U23 X -> U23# proper X)
    (proper# U83(X1, X2, X3) -> proper# X2, proper# U23 X -> proper# X)
    (proper# U83(X1, X2, X3) -> proper# X2, proper# U32(X1, X2, X3) -> U32#(proper X1, proper X2, proper X3))
    (proper# U83(X1, X2, X3) -> proper# X2, proper# U32(X1, X2, X3) -> proper# X1)
    (proper# U83(X1, X2, X3) -> proper# X2, proper# U32(X1, X2, X3) -> proper# X2)
    (proper# U83(X1, X2, X3) -> proper# X2, proper# U32(X1, X2, X3) -> proper# X3)
    (proper# U83(X1, X2, X3) -> proper# X2, proper# U31(X1, X2, X3) -> U31#(proper X1, proper X2, proper X3))
    (proper# U83(X1, X2, X3) -> proper# X2, proper# U31(X1, X2, X3) -> proper# X1)
    (proper# U83(X1, X2, X3) -> proper# X2, proper# U31(X1, X2, X3) -> proper# X2)
    (proper# U83(X1, X2, X3) -> proper# X2, proper# U31(X1, X2, X3) -> proper# X3)
    (proper# U83(X1, X2, X3) -> proper# X2, proper# U33(X1, X2, X3) -> U33#(proper X1, proper X2, proper X3))
    (proper# U83(X1, X2, X3) -> proper# X2, proper# U33(X1, X2, X3) -> proper# X1)
    (proper# U83(X1, X2, X3) -> proper# X2, proper# U33(X1, X2, X3) -> proper# X2)
    (proper# U83(X1, X2, X3) -> proper# X2, proper# U33(X1, X2, X3) -> proper# X3)
    (proper# U83(X1, X2, X3) -> proper# X2, proper# U34(X1, X2, X3) -> U34#(proper X1, proper X2, proper X3))
    (proper# U83(X1, X2, X3) -> proper# X2, proper# U34(X1, X2, X3) -> proper# X1)
    (proper# U83(X1, X2, X3) -> proper# X2, proper# U34(X1, X2, X3) -> proper# X2)
    (proper# U83(X1, X2, X3) -> proper# X2, proper# U34(X1, X2, X3) -> proper# X3)
    (proper# U83(X1, X2, X3) -> proper# X2, proper# U35(X1, X2) -> U35#(proper X1, proper X2))
    (proper# U83(X1, X2, X3) -> proper# X2, proper# U35(X1, X2) -> proper# X1)
    (proper# U83(X1, X2, X3) -> proper# X2, proper# U35(X1, X2) -> proper# X2)
    (proper# U83(X1, X2, X3) -> proper# X2, proper# U36 X -> U36# proper X)
    (proper# U83(X1, X2, X3) -> proper# X2, proper# U36 X -> proper# X)
    (proper# U83(X1, X2, X3) -> proper# X2, proper# U42 X -> U42# proper X)
    (proper# U83(X1, X2, X3) -> proper# X2, proper# U42 X -> proper# X)
    (proper# U83(X1, X2, X3) -> proper# X2, proper# U41(X1, X2) -> U41#(proper X1, proper X2))
    (proper# U83(X1, X2, X3) -> proper# X2, proper# U41(X1, X2) -> proper# X1)
    (proper# U83(X1, X2, X3) -> proper# X2, proper# U41(X1, X2) -> proper# X2)
    (proper# U83(X1, X2, X3) -> proper# X2, proper# U51 X -> U51# proper X)
    (proper# U83(X1, X2, X3) -> proper# X2, proper# U51 X -> proper# X)
    (proper# U83(X1, X2, X3) -> proper# X2, proper# U62 X -> U62# proper X)
    (proper# U83(X1, X2, X3) -> proper# X2, proper# U62 X -> proper# X)
    (proper# U83(X1, X2, X3) -> proper# X2, proper# U61(X1, X2) -> U61#(proper X1, proper X2))
    (proper# U83(X1, X2, X3) -> proper# X2, proper# U61(X1, X2) -> proper# X1)
    (proper# U83(X1, X2, X3) -> proper# X2, proper# U61(X1, X2) -> proper# X2)
    (proper# U83(X1, X2, X3) -> proper# X2, proper# U72(X1, X2) -> U72#(proper X1, proper X2))
    (proper# U83(X1, X2, X3) -> proper# X2, proper# U72(X1, X2) -> proper# X1)
    (proper# U83(X1, X2, X3) -> proper# X2, proper# U72(X1, X2) -> proper# X2)
    (proper# U83(X1, X2, X3) -> proper# X2, proper# U71(X1, X2) -> U71#(proper X1, proper X2))
    (proper# U83(X1, X2, X3) -> proper# X2, proper# U71(X1, X2) -> proper# X1)
    (proper# U83(X1, X2, X3) -> proper# X2, proper# U71(X1, X2) -> proper# X2)
    (proper# U83(X1, X2, X3) -> proper# X2, proper# U82(X1, X2, X3) -> U82#(proper X1, proper X2, proper X3))
    (proper# U83(X1, X2, X3) -> proper# X2, proper# U82(X1, X2, X3) -> proper# X1)
    (proper# U83(X1, X2, X3) -> proper# X2, proper# U82(X1, X2, X3) -> proper# X2)
    (proper# U83(X1, X2, X3) -> proper# X2, proper# U82(X1, X2, X3) -> proper# X3)
    (proper# U83(X1, X2, X3) -> proper# X2, proper# U81(X1, X2, X3) -> U81#(proper X1, proper X2, proper X3))
    (proper# U83(X1, X2, X3) -> proper# X2, proper# U81(X1, X2, X3) -> proper# X1)
    (proper# U83(X1, X2, X3) -> proper# X2, proper# U81(X1, X2, X3) -> proper# X2)
    (proper# U83(X1, X2, X3) -> proper# X2, proper# U81(X1, X2, X3) -> proper# X3)
    (proper# U83(X1, X2, X3) -> proper# X2, proper# U83(X1, X2, X3) -> U83#(proper X1, proper X2, proper X3))
    (proper# U83(X1, X2, X3) -> proper# X2, proper# U83(X1, X2, X3) -> proper# X1)
    (proper# U83(X1, X2, X3) -> proper# X2, proper# U83(X1, X2, X3) -> proper# X2)
    (proper# U83(X1, X2, X3) -> proper# X2, proper# U83(X1, X2, X3) -> proper# X3)
    (proper# U83(X1, X2, X3) -> proper# X2, proper# U84(X1, X2, X3) -> U84#(proper X1, proper X2, proper X3))
    (proper# U83(X1, X2, X3) -> proper# X2, proper# U84(X1, X2, X3) -> proper# X1)
    (proper# U83(X1, X2, X3) -> proper# X2, proper# U84(X1, X2, X3) -> proper# X2)
    (proper# U83(X1, X2, X3) -> proper# X2, proper# U84(X1, X2, X3) -> proper# X3)
    (proper# U83(X1, X2, X3) -> proper# X2, proper# s X -> s# proper X)
    (proper# U83(X1, X2, X3) -> proper# X2, proper# s X -> proper# X)
    (proper# U83(X1, X2, X3) -> proper# X2, proper# U92 X -> U92# proper X)
    (proper# U83(X1, X2, X3) -> proper# X2, proper# U92 X -> proper# X)
    (proper# U83(X1, X2, X3) -> proper# X2, proper# U91(X1, X2) -> U91#(proper X1, proper X2))
    (proper# U83(X1, X2, X3) -> proper# X2, proper# U91(X1, X2) -> proper# X1)
    (proper# U83(X1, X2, X3) -> proper# X2, proper# U91(X1, X2) -> proper# X2)
    (proper# U82(X1, X2, X3) -> proper# X2, proper# U102(X1, X2, X3) -> U102#(proper X1, proper X2, proper X3))
    (proper# U82(X1, X2, X3) -> proper# X2, proper# U102(X1, X2, X3) -> proper# X1)
    (proper# U82(X1, X2, X3) -> proper# X2, proper# U102(X1, X2, X3) -> proper# X2)
    (proper# U82(X1, X2, X3) -> proper# X2, proper# U102(X1, X2, X3) -> proper# X3)
    (proper# U82(X1, X2, X3) -> proper# X2, proper# isNatKind X -> isNatKind# proper X)
    (proper# U82(X1, X2, X3) -> proper# X2, proper# isNatKind X -> proper# X)
    (proper# U82(X1, X2, X3) -> proper# X2, proper# U101(X1, X2, X3) -> U101#(proper X1, proper X2, proper X3))
    (proper# U82(X1, X2, X3) -> proper# X2, proper# U101(X1, X2, X3) -> proper# X1)
    (proper# U82(X1, X2, X3) -> proper# X2, proper# U101(X1, X2, X3) -> proper# X2)
    (proper# U82(X1, X2, X3) -> proper# X2, proper# U101(X1, X2, X3) -> proper# X3)
    (proper# U82(X1, X2, X3) -> proper# X2, proper# U103(X1, X2, X3) -> U103#(proper X1, proper X2, proper X3))
    (proper# U82(X1, X2, X3) -> proper# X2, proper# U103(X1, X2, X3) -> proper# X1)
    (proper# U82(X1, X2, X3) -> proper# X2, proper# U103(X1, X2, X3) -> proper# X2)
    (proper# U82(X1, X2, X3) -> proper# X2, proper# U103(X1, X2, X3) -> proper# X3)
    (proper# U82(X1, X2, X3) -> proper# X2, proper# isNat X -> isNat# proper X)
    (proper# U82(X1, X2, X3) -> proper# X2, proper# isNat X -> proper# X)
    (proper# U82(X1, X2, X3) -> proper# X2, proper# U104(X1, X2, X3) -> U104#(proper X1, proper X2, proper X3))
    (proper# U82(X1, X2, X3) -> proper# X2, proper# U104(X1, X2, X3) -> proper# X1)
    (proper# U82(X1, X2, X3) -> proper# X2, proper# U104(X1, X2, X3) -> proper# X2)
    (proper# U82(X1, X2, X3) -> proper# X2, proper# U104(X1, X2, X3) -> proper# X3)
    (proper# U82(X1, X2, X3) -> proper# X2, proper# plus(X1, X2) -> plus#(proper X1, proper X2))
    (proper# U82(X1, X2, X3) -> proper# X2, proper# plus(X1, X2) -> proper# X1)
    (proper# U82(X1, X2, X3) -> proper# X2, proper# plus(X1, X2) -> proper# X2)
    (proper# U82(X1, X2, X3) -> proper# X2, proper# x(X1, X2) -> x#(proper X1, proper X2))
    (proper# U82(X1, X2, X3) -> proper# X2, proper# x(X1, X2) -> proper# X1)
    (proper# U82(X1, X2, X3) -> proper# X2, proper# x(X1, X2) -> proper# X2)
    (proper# U82(X1, X2, X3) -> proper# X2, proper# U12(X1, X2, X3) -> U12#(proper X1, proper X2, proper X3))
    (proper# U82(X1, X2, X3) -> proper# X2, proper# U12(X1, X2, X3) -> proper# X1)
    (proper# U82(X1, X2, X3) -> proper# X2, proper# U12(X1, X2, X3) -> proper# X2)
    (proper# U82(X1, X2, X3) -> proper# X2, proper# U12(X1, X2, X3) -> proper# X3)
    (proper# U82(X1, X2, X3) -> proper# X2, proper# U11(X1, X2, X3) -> U11#(proper X1, proper X2, proper X3))
    (proper# U82(X1, X2, X3) -> proper# X2, proper# U11(X1, X2, X3) -> proper# X1)
    (proper# U82(X1, X2, X3) -> proper# X2, proper# U11(X1, X2, X3) -> proper# X2)
    (proper# U82(X1, X2, X3) -> proper# X2, proper# U11(X1, X2, X3) -> proper# X3)
    (proper# U82(X1, X2, X3) -> proper# X2, proper# U13(X1, X2, X3) -> U13#(proper X1, proper X2, proper X3))
    (proper# U82(X1, X2, X3) -> proper# X2, proper# U13(X1, X2, X3) -> proper# X1)
    (proper# U82(X1, X2, X3) -> proper# X2, proper# U13(X1, X2, X3) -> proper# X2)
    (proper# U82(X1, X2, X3) -> proper# X2, proper# U13(X1, X2, X3) -> proper# X3)
    (proper# U82(X1, X2, X3) -> proper# X2, proper# U14(X1, X2, X3) -> U14#(proper X1, proper X2, proper X3))
    (proper# U82(X1, X2, X3) -> proper# X2, proper# U14(X1, X2, X3) -> proper# X1)
    (proper# U82(X1, X2, X3) -> proper# X2, proper# U14(X1, X2, X3) -> proper# X2)
    (proper# U82(X1, X2, X3) -> proper# X2, proper# U14(X1, X2, X3) -> proper# X3)
    (proper# U82(X1, X2, X3) -> proper# X2, proper# U15(X1, X2) -> U15#(proper X1, proper X2))
    (proper# U82(X1, X2, X3) -> proper# X2, proper# U15(X1, X2) -> proper# X1)
    (proper# U82(X1, X2, X3) -> proper# X2, proper# U15(X1, X2) -> proper# X2)
    (proper# U82(X1, X2, X3) -> proper# X2, proper# U16 X -> U16# proper X)
    (proper# U82(X1, X2, X3) -> proper# X2, proper# U16 X -> proper# X)
    (proper# U82(X1, X2, X3) -> proper# X2, proper# U22(X1, X2) -> U22#(proper X1, proper X2))
    (proper# U82(X1, X2, X3) -> proper# X2, proper# U22(X1, X2) -> proper# X1)
    (proper# U82(X1, X2, X3) -> proper# X2, proper# U22(X1, X2) -> proper# X2)
    (proper# U82(X1, X2, X3) -> proper# X2, proper# U21(X1, X2) -> U21#(proper X1, proper X2))
    (proper# U82(X1, X2, X3) -> proper# X2, proper# U21(X1, X2) -> proper# X1)
    (proper# U82(X1, X2, X3) -> proper# X2, proper# U21(X1, X2) -> proper# X2)
    (proper# U82(X1, X2, X3) -> proper# X2, proper# U23 X -> U23# proper X)
    (proper# U82(X1, X2, X3) -> proper# X2, proper# U23 X -> proper# X)
    (proper# U82(X1, X2, X3) -> proper# X2, proper# U32(X1, X2, X3) -> U32#(proper X1, proper X2, proper X3))
    (proper# U82(X1, X2, X3) -> proper# X2, proper# U32(X1, X2, X3) -> proper# X1)
    (proper# U82(X1, X2, X3) -> proper# X2, proper# U32(X1, X2, X3) -> proper# X2)
    (proper# U82(X1, X2, X3) -> proper# X2, proper# U32(X1, X2, X3) -> proper# X3)
    (proper# U82(X1, X2, X3) -> proper# X2, proper# U31(X1, X2, X3) -> U31#(proper X1, proper X2, proper X3))
    (proper# U82(X1, X2, X3) -> proper# X2, proper# U31(X1, X2, X3) -> proper# X1)
    (proper# U82(X1, X2, X3) -> proper# X2, proper# U31(X1, X2, X3) -> proper# X2)
    (proper# U82(X1, X2, X3) -> proper# X2, proper# U31(X1, X2, X3) -> proper# X3)
    (proper# U82(X1, X2, X3) -> proper# X2, proper# U33(X1, X2, X3) -> U33#(proper X1, proper X2, proper X3))
    (proper# U82(X1, X2, X3) -> proper# X2, proper# U33(X1, X2, X3) -> proper# X1)
    (proper# U82(X1, X2, X3) -> proper# X2, proper# U33(X1, X2, X3) -> proper# X2)
    (proper# U82(X1, X2, X3) -> proper# X2, proper# U33(X1, X2, X3) -> proper# X3)
    (proper# U82(X1, X2, X3) -> proper# X2, proper# U34(X1, X2, X3) -> U34#(proper X1, proper X2, proper X3))
    (proper# U82(X1, X2, X3) -> proper# X2, proper# U34(X1, X2, X3) -> proper# X1)
    (proper# U82(X1, X2, X3) -> proper# X2, proper# U34(X1, X2, X3) -> proper# X2)
    (proper# U82(X1, X2, X3) -> proper# X2, proper# U34(X1, X2, X3) -> proper# X3)
    (proper# U82(X1, X2, X3) -> proper# X2, proper# U35(X1, X2) -> U35#(proper X1, proper X2))
    (proper# U82(X1, X2, X3) -> proper# X2, proper# U35(X1, X2) -> proper# X1)
    (proper# U82(X1, X2, X3) -> proper# X2, proper# U35(X1, X2) -> proper# X2)
    (proper# U82(X1, X2, X3) -> proper# X2, proper# U36 X -> U36# proper X)
    (proper# U82(X1, X2, X3) -> proper# X2, proper# U36 X -> proper# X)
    (proper# U82(X1, X2, X3) -> proper# X2, proper# U42 X -> U42# proper X)
    (proper# U82(X1, X2, X3) -> proper# X2, proper# U42 X -> proper# X)
    (proper# U82(X1, X2, X3) -> proper# X2, proper# U41(X1, X2) -> U41#(proper X1, proper X2))
    (proper# U82(X1, X2, X3) -> proper# X2, proper# U41(X1, X2) -> proper# X1)
    (proper# U82(X1, X2, X3) -> proper# X2, proper# U41(X1, X2) -> proper# X2)
    (proper# U82(X1, X2, X3) -> proper# X2, proper# U51 X -> U51# proper X)
    (proper# U82(X1, X2, X3) -> proper# X2, proper# U51 X -> proper# X)
    (proper# U82(X1, X2, X3) -> proper# X2, proper# U62 X -> U62# proper X)
    (proper# U82(X1, X2, X3) -> proper# X2, proper# U62 X -> proper# X)
    (proper# U82(X1, X2, X3) -> proper# X2, proper# U61(X1, X2) -> U61#(proper X1, proper X2))
    (proper# U82(X1, X2, X3) -> proper# X2, proper# U61(X1, X2) -> proper# X1)
    (proper# U82(X1, X2, X3) -> proper# X2, proper# U61(X1, X2) -> proper# X2)
    (proper# U82(X1, X2, X3) -> proper# X2, proper# U72(X1, X2) -> U72#(proper X1, proper X2))
    (proper# U82(X1, X2, X3) -> proper# X2, proper# U72(X1, X2) -> proper# X1)
    (proper# U82(X1, X2, X3) -> proper# X2, proper# U72(X1, X2) -> proper# X2)
    (proper# U82(X1, X2, X3) -> proper# X2, proper# U71(X1, X2) -> U71#(proper X1, proper X2))
    (proper# U82(X1, X2, X3) -> proper# X2, proper# U71(X1, X2) -> proper# X1)
    (proper# U82(X1, X2, X3) -> proper# X2, proper# U71(X1, X2) -> proper# X2)
    (proper# U82(X1, X2, X3) -> proper# X2, proper# U82(X1, X2, X3) -> U82#(proper X1, proper X2, proper X3))
    (proper# U82(X1, X2, X3) -> proper# X2, proper# U82(X1, X2, X3) -> proper# X1)
    (proper# U82(X1, X2, X3) -> proper# X2, proper# U82(X1, X2, X3) -> proper# X2)
    (proper# U82(X1, X2, X3) -> proper# X2, proper# U82(X1, X2, X3) -> proper# X3)
    (proper# U82(X1, X2, X3) -> proper# X2, proper# U81(X1, X2, X3) -> U81#(proper X1, proper X2, proper X3))
    (proper# U82(X1, X2, X3) -> proper# X2, proper# U81(X1, X2, X3) -> proper# X1)
    (proper# U82(X1, X2, X3) -> proper# X2, proper# U81(X1, X2, X3) -> proper# X2)
    (proper# U82(X1, X2, X3) -> proper# X2, proper# U81(X1, X2, X3) -> proper# X3)
    (proper# U82(X1, X2, X3) -> proper# X2, proper# U83(X1, X2, X3) -> U83#(proper X1, proper X2, proper X3))
    (proper# U82(X1, X2, X3) -> proper# X2, proper# U83(X1, X2, X3) -> proper# X1)
    (proper# U82(X1, X2, X3) -> proper# X2, proper# U83(X1, X2, X3) -> proper# X2)
    (proper# U82(X1, X2, X3) -> proper# X2, proper# U83(X1, X2, X3) -> proper# X3)
    (proper# U82(X1, X2, X3) -> proper# X2, proper# U84(X1, X2, X3) -> U84#(proper X1, proper X2, proper X3))
    (proper# U82(X1, X2, X3) -> proper# X2, proper# U84(X1, X2, X3) -> proper# X1)
    (proper# U82(X1, X2, X3) -> proper# X2, proper# U84(X1, X2, X3) -> proper# X2)
    (proper# U82(X1, X2, X3) -> proper# X2, proper# U84(X1, X2, X3) -> proper# X3)
    (proper# U82(X1, X2, X3) -> proper# X2, proper# s X -> s# proper X)
    (proper# U82(X1, X2, X3) -> proper# X2, proper# s X -> proper# X)
    (proper# U82(X1, X2, X3) -> proper# X2, proper# U92 X -> U92# proper X)
    (proper# U82(X1, X2, X3) -> proper# X2, proper# U92 X -> proper# X)
    (proper# U82(X1, X2, X3) -> proper# X2, proper# U91(X1, X2) -> U91#(proper X1, proper X2))
    (proper# U82(X1, X2, X3) -> proper# X2, proper# U91(X1, X2) -> proper# X1)
    (proper# U82(X1, X2, X3) -> proper# X2, proper# U91(X1, X2) -> proper# X2)
    (proper# U72(X1, X2) -> proper# X2, proper# U102(X1, X2, X3) -> U102#(proper X1, proper X2, proper X3))
    (proper# U72(X1, X2) -> proper# X2, proper# U102(X1, X2, X3) -> proper# X1)
    (proper# U72(X1, X2) -> proper# X2, proper# U102(X1, X2, X3) -> proper# X2)
    (proper# U72(X1, X2) -> proper# X2, proper# U102(X1, X2, X3) -> proper# X3)
    (proper# U72(X1, X2) -> proper# X2, proper# isNatKind X -> isNatKind# proper X)
    (proper# U72(X1, X2) -> proper# X2, proper# isNatKind X -> proper# X)
    (proper# U72(X1, X2) -> proper# X2, proper# U101(X1, X2, X3) -> U101#(proper X1, proper X2, proper X3))
    (proper# U72(X1, X2) -> proper# X2, proper# U101(X1, X2, X3) -> proper# X1)
    (proper# U72(X1, X2) -> proper# X2, proper# U101(X1, X2, X3) -> proper# X2)
    (proper# U72(X1, X2) -> proper# X2, proper# U101(X1, X2, X3) -> proper# X3)
    (proper# U72(X1, X2) -> proper# X2, proper# U103(X1, X2, X3) -> U103#(proper X1, proper X2, proper X3))
    (proper# U72(X1, X2) -> proper# X2, proper# U103(X1, X2, X3) -> proper# X1)
    (proper# U72(X1, X2) -> proper# X2, proper# U103(X1, X2, X3) -> proper# X2)
    (proper# U72(X1, X2) -> proper# X2, proper# U103(X1, X2, X3) -> proper# X3)
    (proper# U72(X1, X2) -> proper# X2, proper# isNat X -> isNat# proper X)
    (proper# U72(X1, X2) -> proper# X2, proper# isNat X -> proper# X)
    (proper# U72(X1, X2) -> proper# X2, proper# U104(X1, X2, X3) -> U104#(proper X1, proper X2, proper X3))
    (proper# U72(X1, X2) -> proper# X2, proper# U104(X1, X2, X3) -> proper# X1)
    (proper# U72(X1, X2) -> proper# X2, proper# U104(X1, X2, X3) -> proper# X2)
    (proper# U72(X1, X2) -> proper# X2, proper# U104(X1, X2, X3) -> proper# X3)
    (proper# U72(X1, X2) -> proper# X2, proper# plus(X1, X2) -> plus#(proper X1, proper X2))
    (proper# U72(X1, X2) -> proper# X2, proper# plus(X1, X2) -> proper# X1)
    (proper# U72(X1, X2) -> proper# X2, proper# plus(X1, X2) -> proper# X2)
    (proper# U72(X1, X2) -> proper# X2, proper# x(X1, X2) -> x#(proper X1, proper X2))
    (proper# U72(X1, X2) -> proper# X2, proper# x(X1, X2) -> proper# X1)
    (proper# U72(X1, X2) -> proper# X2, proper# x(X1, X2) -> proper# X2)
    (proper# U72(X1, X2) -> proper# X2, proper# U12(X1, X2, X3) -> U12#(proper X1, proper X2, proper X3))
    (proper# U72(X1, X2) -> proper# X2, proper# U12(X1, X2, X3) -> proper# X1)
    (proper# U72(X1, X2) -> proper# X2, proper# U12(X1, X2, X3) -> proper# X2)
    (proper# U72(X1, X2) -> proper# X2, proper# U12(X1, X2, X3) -> proper# X3)
    (proper# U72(X1, X2) -> proper# X2, proper# U11(X1, X2, X3) -> U11#(proper X1, proper X2, proper X3))
    (proper# U72(X1, X2) -> proper# X2, proper# U11(X1, X2, X3) -> proper# X1)
    (proper# U72(X1, X2) -> proper# X2, proper# U11(X1, X2, X3) -> proper# X2)
    (proper# U72(X1, X2) -> proper# X2, proper# U11(X1, X2, X3) -> proper# X3)
    (proper# U72(X1, X2) -> proper# X2, proper# U13(X1, X2, X3) -> U13#(proper X1, proper X2, proper X3))
    (proper# U72(X1, X2) -> proper# X2, proper# U13(X1, X2, X3) -> proper# X1)
    (proper# U72(X1, X2) -> proper# X2, proper# U13(X1, X2, X3) -> proper# X2)
    (proper# U72(X1, X2) -> proper# X2, proper# U13(X1, X2, X3) -> proper# X3)
    (proper# U72(X1, X2) -> proper# X2, proper# U14(X1, X2, X3) -> U14#(proper X1, proper X2, proper X3))
    (proper# U72(X1, X2) -> proper# X2, proper# U14(X1, X2, X3) -> proper# X1)
    (proper# U72(X1, X2) -> proper# X2, proper# U14(X1, X2, X3) -> proper# X2)
    (proper# U72(X1, X2) -> proper# X2, proper# U14(X1, X2, X3) -> proper# X3)
    (proper# U72(X1, X2) -> proper# X2, proper# U15(X1, X2) -> U15#(proper X1, proper X2))
    (proper# U72(X1, X2) -> proper# X2, proper# U15(X1, X2) -> proper# X1)
    (proper# U72(X1, X2) -> proper# X2, proper# U15(X1, X2) -> proper# X2)
    (proper# U72(X1, X2) -> proper# X2, proper# U16 X -> U16# proper X)
    (proper# U72(X1, X2) -> proper# X2, proper# U16 X -> proper# X)
    (proper# U72(X1, X2) -> proper# X2, proper# U22(X1, X2) -> U22#(proper X1, proper X2))
    (proper# U72(X1, X2) -> proper# X2, proper# U22(X1, X2) -> proper# X1)
    (proper# U72(X1, X2) -> proper# X2, proper# U22(X1, X2) -> proper# X2)
    (proper# U72(X1, X2) -> proper# X2, proper# U21(X1, X2) -> U21#(proper X1, proper X2))
    (proper# U72(X1, X2) -> proper# X2, proper# U21(X1, X2) -> proper# X1)
    (proper# U72(X1, X2) -> proper# X2, proper# U21(X1, X2) -> proper# X2)
    (proper# U72(X1, X2) -> proper# X2, proper# U23 X -> U23# proper X)
    (proper# U72(X1, X2) -> proper# X2, proper# U23 X -> proper# X)
    (proper# U72(X1, X2) -> proper# X2, proper# U32(X1, X2, X3) -> U32#(proper X1, proper X2, proper X3))
    (proper# U72(X1, X2) -> proper# X2, proper# U32(X1, X2, X3) -> proper# X1)
    (proper# U72(X1, X2) -> proper# X2, proper# U32(X1, X2, X3) -> proper# X2)
    (proper# U72(X1, X2) -> proper# X2, proper# U32(X1, X2, X3) -> proper# X3)
    (proper# U72(X1, X2) -> proper# X2, proper# U31(X1, X2, X3) -> U31#(proper X1, proper X2, proper X3))
    (proper# U72(X1, X2) -> proper# X2, proper# U31(X1, X2, X3) -> proper# X1)
    (proper# U72(X1, X2) -> proper# X2, proper# U31(X1, X2, X3) -> proper# X2)
    (proper# U72(X1, X2) -> proper# X2, proper# U31(X1, X2, X3) -> proper# X3)
    (proper# U72(X1, X2) -> proper# X2, proper# U33(X1, X2, X3) -> U33#(proper X1, proper X2, proper X3))
    (proper# U72(X1, X2) -> proper# X2, proper# U33(X1, X2, X3) -> proper# X1)
    (proper# U72(X1, X2) -> proper# X2, proper# U33(X1, X2, X3) -> proper# X2)
    (proper# U72(X1, X2) -> proper# X2, proper# U33(X1, X2, X3) -> proper# X3)
    (proper# U72(X1, X2) -> proper# X2, proper# U34(X1, X2, X3) -> U34#(proper X1, proper X2, proper X3))
    (proper# U72(X1, X2) -> proper# X2, proper# U34(X1, X2, X3) -> proper# X1)
    (proper# U72(X1, X2) -> proper# X2, proper# U34(X1, X2, X3) -> proper# X2)
    (proper# U72(X1, X2) -> proper# X2, proper# U34(X1, X2, X3) -> proper# X3)
    (proper# U72(X1, X2) -> proper# X2, proper# U35(X1, X2) -> U35#(proper X1, proper X2))
    (proper# U72(X1, X2) -> proper# X2, proper# U35(X1, X2) -> proper# X1)
    (proper# U72(X1, X2) -> proper# X2, proper# U35(X1, X2) -> proper# X2)
    (proper# U72(X1, X2) -> proper# X2, proper# U36 X -> U36# proper X)
    (proper# U72(X1, X2) -> proper# X2, proper# U36 X -> proper# X)
    (proper# U72(X1, X2) -> proper# X2, proper# U42 X -> U42# proper X)
    (proper# U72(X1, X2) -> proper# X2, proper# U42 X -> proper# X)
    (proper# U72(X1, X2) -> proper# X2, proper# U41(X1, X2) -> U41#(proper X1, proper X2))
    (proper# U72(X1, X2) -> proper# X2, proper# U41(X1, X2) -> proper# X1)
    (proper# U72(X1, X2) -> proper# X2, proper# U41(X1, X2) -> proper# X2)
    (proper# U72(X1, X2) -> proper# X2, proper# U51 X -> U51# proper X)
    (proper# U72(X1, X2) -> proper# X2, proper# U51 X -> proper# X)
    (proper# U72(X1, X2) -> proper# X2, proper# U62 X -> U62# proper X)
    (proper# U72(X1, X2) -> proper# X2, proper# U62 X -> proper# X)
    (proper# U72(X1, X2) -> proper# X2, proper# U61(X1, X2) -> U61#(proper X1, proper X2))
    (proper# U72(X1, X2) -> proper# X2, proper# U61(X1, X2) -> proper# X1)
    (proper# U72(X1, X2) -> proper# X2, proper# U61(X1, X2) -> proper# X2)
    (proper# U72(X1, X2) -> proper# X2, proper# U72(X1, X2) -> U72#(proper X1, proper X2))
    (proper# U72(X1, X2) -> proper# X2, proper# U72(X1, X2) -> proper# X1)
    (proper# U72(X1, X2) -> proper# X2, proper# U72(X1, X2) -> proper# X2)
    (proper# U72(X1, X2) -> proper# X2, proper# U71(X1, X2) -> U71#(proper X1, proper X2))
    (proper# U72(X1, X2) -> proper# X2, proper# U71(X1, X2) -> proper# X1)
    (proper# U72(X1, X2) -> proper# X2, proper# U71(X1, X2) -> proper# X2)
    (proper# U72(X1, X2) -> proper# X2, proper# U82(X1, X2, X3) -> U82#(proper X1, proper X2, proper X3))
    (proper# U72(X1, X2) -> proper# X2, proper# U82(X1, X2, X3) -> proper# X1)
    (proper# U72(X1, X2) -> proper# X2, proper# U82(X1, X2, X3) -> proper# X2)
    (proper# U72(X1, X2) -> proper# X2, proper# U82(X1, X2, X3) -> proper# X3)
    (proper# U72(X1, X2) -> proper# X2, proper# U81(X1, X2, X3) -> U81#(proper X1, proper X2, proper X3))
    (proper# U72(X1, X2) -> proper# X2, proper# U81(X1, X2, X3) -> proper# X1)
    (proper# U72(X1, X2) -> proper# X2, proper# U81(X1, X2, X3) -> proper# X2)
    (proper# U72(X1, X2) -> proper# X2, proper# U81(X1, X2, X3) -> proper# X3)
    (proper# U72(X1, X2) -> proper# X2, proper# U83(X1, X2, X3) -> U83#(proper X1, proper X2, proper X3))
    (proper# U72(X1, X2) -> proper# X2, proper# U83(X1, X2, X3) -> proper# X1)
    (proper# U72(X1, X2) -> proper# X2, proper# U83(X1, X2, X3) -> proper# X2)
    (proper# U72(X1, X2) -> proper# X2, proper# U83(X1, X2, X3) -> proper# X3)
    (proper# U72(X1, X2) -> proper# X2, proper# U84(X1, X2, X3) -> U84#(proper X1, proper X2, proper X3))
    (proper# U72(X1, X2) -> proper# X2, proper# U84(X1, X2, X3) -> proper# X1)
    (proper# U72(X1, X2) -> proper# X2, proper# U84(X1, X2, X3) -> proper# X2)
    (proper# U72(X1, X2) -> proper# X2, proper# U84(X1, X2, X3) -> proper# X3)
    (proper# U72(X1, X2) -> proper# X2, proper# s X -> s# proper X)
    (proper# U72(X1, X2) -> proper# X2, proper# s X -> proper# X)
    (proper# U72(X1, X2) -> proper# X2, proper# U92 X -> U92# proper X)
    (proper# U72(X1, X2) -> proper# X2, proper# U92 X -> proper# X)
    (proper# U72(X1, X2) -> proper# X2, proper# U91(X1, X2) -> U91#(proper X1, proper X2))
    (proper# U72(X1, X2) -> proper# X2, proper# U91(X1, X2) -> proper# X1)
    (proper# U72(X1, X2) -> proper# X2, proper# U91(X1, X2) -> proper# X2)
    (proper# U41(X1, X2) -> proper# X2, proper# U102(X1, X2, X3) -> U102#(proper X1, proper X2, proper X3))
    (proper# U41(X1, X2) -> proper# X2, proper# U102(X1, X2, X3) -> proper# X1)
    (proper# U41(X1, X2) -> proper# X2, proper# U102(X1, X2, X3) -> proper# X2)
    (proper# U41(X1, X2) -> proper# X2, proper# U102(X1, X2, X3) -> proper# X3)
    (proper# U41(X1, X2) -> proper# X2, proper# isNatKind X -> isNatKind# proper X)
    (proper# U41(X1, X2) -> proper# X2, proper# isNatKind X -> proper# X)
    (proper# U41(X1, X2) -> proper# X2, proper# U101(X1, X2, X3) -> U101#(proper X1, proper X2, proper X3))
    (proper# U41(X1, X2) -> proper# X2, proper# U101(X1, X2, X3) -> proper# X1)
    (proper# U41(X1, X2) -> proper# X2, proper# U101(X1, X2, X3) -> proper# X2)
    (proper# U41(X1, X2) -> proper# X2, proper# U101(X1, X2, X3) -> proper# X3)
    (proper# U41(X1, X2) -> proper# X2, proper# U103(X1, X2, X3) -> U103#(proper X1, proper X2, proper X3))
    (proper# U41(X1, X2) -> proper# X2, proper# U103(X1, X2, X3) -> proper# X1)
    (proper# U41(X1, X2) -> proper# X2, proper# U103(X1, X2, X3) -> proper# X2)
    (proper# U41(X1, X2) -> proper# X2, proper# U103(X1, X2, X3) -> proper# X3)
    (proper# U41(X1, X2) -> proper# X2, proper# isNat X -> isNat# proper X)
    (proper# U41(X1, X2) -> proper# X2, proper# isNat X -> proper# X)
    (proper# U41(X1, X2) -> proper# X2, proper# U104(X1, X2, X3) -> U104#(proper X1, proper X2, proper X3))
    (proper# U41(X1, X2) -> proper# X2, proper# U104(X1, X2, X3) -> proper# X1)
    (proper# U41(X1, X2) -> proper# X2, proper# U104(X1, X2, X3) -> proper# X2)
    (proper# U41(X1, X2) -> proper# X2, proper# U104(X1, X2, X3) -> proper# X3)
    (proper# U41(X1, X2) -> proper# X2, proper# plus(X1, X2) -> plus#(proper X1, proper X2))
    (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# x(X1, X2) -> x#(proper X1, proper X2))
    (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# U12(X1, X2, X3) -> U12#(proper X1, proper X2, proper X3))
    (proper# U41(X1, X2) -> proper# X2, proper# U12(X1, X2, X3) -> proper# X1)
    (proper# U41(X1, X2) -> proper# X2, proper# U12(X1, X2, X3) -> proper# X2)
    (proper# U41(X1, X2) -> proper# X2, proper# U12(X1, X2, X3) -> proper# X3)
    (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# 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(X1, X2, X3) -> U13#(proper X1, proper X2, proper X3))
    (proper# U41(X1, X2) -> proper# X2, proper# U13(X1, X2, X3) -> proper# X1)
    (proper# U41(X1, X2) -> proper# X2, proper# U13(X1, X2, X3) -> proper# X2)
    (proper# U41(X1, X2) -> proper# X2, proper# U13(X1, X2, X3) -> proper# X3)
    (proper# U41(X1, X2) -> proper# X2, proper# U14(X1, X2, X3) -> U14#(proper X1, proper X2, proper X3))
    (proper# U41(X1, X2) -> proper# X2, proper# U14(X1, X2, X3) -> proper# X1)
    (proper# U41(X1, X2) -> proper# X2, proper# U14(X1, X2, X3) -> proper# X2)
    (proper# U41(X1, X2) -> proper# X2, proper# U14(X1, X2, X3) -> proper# X3)
    (proper# U41(X1, X2) -> proper# X2, proper# U15(X1, X2) -> U15#(proper X1, proper X2))
    (proper# U41(X1, X2) -> proper# X2, proper# U15(X1, X2) -> proper# X1)
    (proper# U41(X1, X2) -> proper# X2, proper# U15(X1, X2) -> proper# X2)
    (proper# U41(X1, X2) -> proper# X2, proper# U16 X -> U16# proper X)
    (proper# U41(X1, X2) -> proper# X2, proper# U16 X -> proper# X)
    (proper# U41(X1, X2) -> proper# X2, proper# U22(X1, X2) -> U22#(proper X1, proper X2))
    (proper# U41(X1, X2) -> proper# X2, proper# U22(X1, X2) -> proper# X1)
    (proper# U41(X1, X2) -> proper# X2, proper# U22(X1, X2) -> proper# X2)
    (proper# U41(X1, X2) -> proper# X2, proper# U21(X1, X2) -> U21#(proper X1, proper X2))
    (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# U23 X -> U23# proper X)
    (proper# U41(X1, X2) -> proper# X2, proper# U23 X -> proper# X)
    (proper# U41(X1, X2) -> proper# X2, proper# U32(X1, X2, X3) -> U32#(proper X1, proper X2, proper X3))
    (proper# U41(X1, X2) -> proper# X2, proper# U32(X1, X2, X3) -> proper# X1)
    (proper# U41(X1, X2) -> proper# X2, proper# U32(X1, X2, X3) -> proper# X2)
    (proper# U41(X1, X2) -> proper# X2, proper# U32(X1, X2, X3) -> proper# X3)
    (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# 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(X1, X2, X3) -> U33#(proper X1, proper X2, proper X3))
    (proper# U41(X1, X2) -> proper# X2, proper# U33(X1, X2, X3) -> proper# X1)
    (proper# U41(X1, X2) -> proper# X2, proper# U33(X1, X2, X3) -> proper# X2)
    (proper# U41(X1, X2) -> proper# X2, proper# U33(X1, X2, X3) -> proper# X3)
    (proper# U41(X1, X2) -> proper# X2, proper# U34(X1, X2, X3) -> U34#(proper X1, proper X2, proper X3))
    (proper# U41(X1, X2) -> proper# X2, proper# U34(X1, X2, X3) -> proper# X1)
    (proper# U41(X1, X2) -> proper# X2, proper# U34(X1, X2, X3) -> proper# X2)
    (proper# U41(X1, X2) -> proper# X2, proper# U34(X1, X2, X3) -> proper# X3)
    (proper# U41(X1, X2) -> proper# X2, proper# U35(X1, X2) -> U35#(proper X1, proper X2))
    (proper# U41(X1, X2) -> proper# X2, proper# U35(X1, X2) -> proper# X1)
    (proper# U41(X1, X2) -> proper# X2, proper# U35(X1, X2) -> proper# X2)
    (proper# U41(X1, X2) -> proper# X2, proper# U36 X -> U36# proper X)
    (proper# U41(X1, X2) -> proper# X2, proper# U36 X -> proper# X)
    (proper# U41(X1, X2) -> proper# X2, proper# U42 X -> U42# proper X)
    (proper# U41(X1, X2) -> proper# X2, proper# U42 X -> proper# X)
    (proper# U41(X1, X2) -> proper# X2, proper# U41(X1, X2) -> U41#(proper X1, proper X2))
    (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# U51 X -> U51# proper X)
    (proper# U41(X1, X2) -> proper# X2, proper# U51 X -> proper# X)
    (proper# U41(X1, X2) -> proper# X2, proper# U62 X -> U62# proper X)
    (proper# U41(X1, X2) -> proper# X2, proper# U62 X -> proper# X)
    (proper# U41(X1, X2) -> proper# X2, proper# U61(X1, X2) -> U61#(proper X1, proper X2))
    (proper# U41(X1, X2) -> proper# X2, proper# U61(X1, X2) -> proper# X1)
    (proper# U41(X1, X2) -> proper# X2, proper# U61(X1, X2) -> proper# X2)
    (proper# U41(X1, X2) -> proper# X2, proper# U72(X1, X2) -> U72#(proper X1, proper X2))
    (proper# U41(X1, X2) -> proper# X2, proper# U72(X1, X2) -> proper# X1)
    (proper# U41(X1, X2) -> proper# X2, proper# U72(X1, X2) -> proper# X2)
    (proper# U41(X1, X2) -> proper# X2, proper# U71(X1, X2) -> U71#(proper X1, proper X2))
    (proper# U41(X1, X2) -> proper# X2, proper# U71(X1, X2) -> proper# X1)
    (proper# U41(X1, X2) -> proper# X2, proper# U71(X1, X2) -> proper# X2)
    (proper# U41(X1, X2) -> proper# X2, proper# U82(X1, X2, X3) -> U82#(proper X1, proper X2, proper X3))
    (proper# U41(X1, X2) -> proper# X2, proper# U82(X1, X2, X3) -> proper# X1)
    (proper# U41(X1, X2) -> proper# X2, proper# U82(X1, X2, X3) -> proper# X2)
    (proper# U41(X1, X2) -> proper# X2, proper# U82(X1, X2, X3) -> proper# X3)
    (proper# U41(X1, X2) -> proper# X2, proper# U81(X1, X2, X3) -> U81#(proper X1, proper X2, proper X3))
    (proper# U41(X1, X2) -> proper# X2, proper# U81(X1, X2, X3) -> proper# X1)
    (proper# U41(X1, X2) -> proper# X2, proper# U81(X1, X2, X3) -> proper# X2)
    (proper# U41(X1, X2) -> proper# X2, proper# U81(X1, X2, X3) -> proper# X3)
    (proper# U41(X1, X2) -> proper# X2, proper# U83(X1, X2, X3) -> U83#(proper X1, proper X2, proper X3))
    (proper# U41(X1, X2) -> proper# X2, proper# U83(X1, X2, X3) -> proper# X1)
    (proper# U41(X1, X2) -> proper# X2, proper# U83(X1, X2, X3) -> proper# X2)
    (proper# U41(X1, X2) -> proper# X2, proper# U83(X1, X2, X3) -> proper# X3)
    (proper# U41(X1, X2) -> proper# X2, proper# U84(X1, X2, X3) -> U84#(proper X1, proper X2, proper X3))
    (proper# U41(X1, X2) -> proper# X2, proper# U84(X1, X2, X3) -> proper# X1)
    (proper# U41(X1, X2) -> proper# X2, proper# U84(X1, X2, X3) -> proper# X2)
    (proper# U41(X1, X2) -> proper# X2, proper# U84(X1, X2, X3) -> proper# X3)
    (proper# U41(X1, X2) -> proper# X2, proper# s X -> s# proper X)
    (proper# U41(X1, X2) -> proper# X2, proper# s X -> proper# X)
    (proper# U41(X1, X2) -> proper# X2, proper# U92 X -> U92# proper X)
    (proper# U41(X1, X2) -> proper# X2, proper# U92 X -> proper# X)
    (proper# U41(X1, X2) -> proper# X2, proper# U91(X1, X2) -> U91#(proper X1, proper X2))
    (proper# U41(X1, X2) -> proper# X2, proper# U91(X1, X2) -> proper# X1)
    (proper# U41(X1, X2) -> proper# X2, proper# U91(X1, X2) -> proper# X2)
    (proper# U34(X1, X2, X3) -> proper# X2, proper# U102(X1, X2, X3) -> U102#(proper X1, proper X2, proper X3))
    (proper# U34(X1, X2, X3) -> proper# X2, proper# U102(X1, X2, X3) -> proper# X1)
    (proper# U34(X1, X2, X3) -> proper# X2, proper# U102(X1, X2, X3) -> proper# X2)
    (proper# U34(X1, X2, X3) -> proper# X2, proper# U102(X1, X2, X3) -> proper# X3)
    (proper# U34(X1, X2, X3) -> proper# X2, proper# isNatKind X -> isNatKind# proper X)
    (proper# U34(X1, X2, X3) -> proper# X2, proper# isNatKind X -> proper# X)
    (proper# U34(X1, X2, X3) -> proper# X2, proper# U101(X1, X2, X3) -> U101#(proper X1, proper X2, proper X3))
    (proper# U34(X1, X2, X3) -> proper# X2, proper# U101(X1, X2, X3) -> proper# X1)
    (proper# U34(X1, X2, X3) -> proper# X2, proper# U101(X1, X2, X3) -> proper# X2)
    (proper# U34(X1, X2, X3) -> proper# X2, proper# U101(X1, X2, X3) -> proper# X3)
    (proper# U34(X1, X2, X3) -> proper# X2, proper# U103(X1, X2, X3) -> U103#(proper X1, proper X2, proper X3))
    (proper# U34(X1, X2, X3) -> proper# X2, proper# U103(X1, X2, X3) -> proper# X1)
    (proper# U34(X1, X2, X3) -> proper# X2, proper# U103(X1, X2, X3) -> proper# X2)
    (proper# U34(X1, X2, X3) -> proper# X2, proper# U103(X1, X2, X3) -> proper# X3)
    (proper# U34(X1, X2, X3) -> proper# X2, proper# isNat X -> isNat# proper X)
    (proper# U34(X1, X2, X3) -> proper# X2, proper# isNat X -> proper# X)
    (proper# U34(X1, X2, X3) -> proper# X2, proper# U104(X1, X2, X3) -> U104#(proper X1, proper X2, proper X3))
    (proper# U34(X1, X2, X3) -> proper# X2, proper# U104(X1, X2, X3) -> proper# X1)
    (proper# U34(X1, X2, X3) -> proper# X2, proper# U104(X1, X2, X3) -> proper# X2)
    (proper# U34(X1, X2, X3) -> proper# X2, proper# U104(X1, X2, X3) -> proper# X3)
    (proper# U34(X1, X2, X3) -> proper# X2, proper# plus(X1, X2) -> plus#(proper X1, proper X2))
    (proper# U34(X1, X2, X3) -> proper# X2, proper# plus(X1, X2) -> proper# X1)
    (proper# U34(X1, X2, X3) -> proper# X2, proper# plus(X1, X2) -> proper# X2)
    (proper# U34(X1, X2, X3) -> proper# X2, proper# x(X1, X2) -> x#(proper X1, proper X2))
    (proper# U34(X1, X2, X3) -> proper# X2, proper# x(X1, X2) -> proper# X1)
    (proper# U34(X1, X2, X3) -> proper# X2, proper# x(X1, X2) -> proper# X2)
    (proper# U34(X1, X2, X3) -> proper# X2, proper# U12(X1, X2, X3) -> U12#(proper X1, proper X2, proper X3))
    (proper# U34(X1, X2, X3) -> proper# X2, proper# U12(X1, X2, X3) -> proper# X1)
    (proper# U34(X1, X2, X3) -> proper# X2, proper# U12(X1, X2, X3) -> proper# X2)
    (proper# U34(X1, X2, X3) -> proper# X2, proper# U12(X1, X2, X3) -> proper# X3)
    (proper# U34(X1, X2, X3) -> proper# X2, proper# U11(X1, X2, X3) -> U11#(proper X1, proper X2, proper X3))
    (proper# U34(X1, X2, X3) -> proper# X2, proper# U11(X1, X2, X3) -> proper# X1)
    (proper# U34(X1, X2, X3) -> proper# X2, proper# U11(X1, X2, X3) -> proper# X2)
    (proper# U34(X1, X2, X3) -> proper# X2, proper# U11(X1, X2, X3) -> proper# X3)
    (proper# U34(X1, X2, X3) -> proper# X2, proper# U13(X1, X2, X3) -> U13#(proper X1, proper X2, proper X3))
    (proper# U34(X1, X2, X3) -> proper# X2, proper# U13(X1, X2, X3) -> proper# X1)
    (proper# U34(X1, X2, X3) -> proper# X2, proper# U13(X1, X2, X3) -> proper# X2)
    (proper# U34(X1, X2, X3) -> proper# X2, proper# U13(X1, X2, X3) -> proper# X3)
    (proper# U34(X1, X2, X3) -> proper# X2, proper# U14(X1, X2, X3) -> U14#(proper X1, proper X2, proper X3))
    (proper# U34(X1, X2, X3) -> proper# X2, proper# U14(X1, X2, X3) -> proper# X1)
    (proper# U34(X1, X2, X3) -> proper# X2, proper# U14(X1, X2, X3) -> proper# X2)
    (proper# U34(X1, X2, X3) -> proper# X2, proper# U14(X1, X2, X3) -> proper# X3)
    (proper# U34(X1, X2, X3) -> proper# X2, proper# U15(X1, X2) -> U15#(proper X1, proper X2))
    (proper# U34(X1, X2, X3) -> proper# X2, proper# U15(X1, X2) -> proper# X1)
    (proper# U34(X1, X2, X3) -> proper# X2, proper# U15(X1, X2) -> proper# X2)
    (proper# U34(X1, X2, X3) -> proper# X2, proper# U16 X -> U16# proper X)
    (proper# U34(X1, X2, X3) -> proper# X2, proper# U16 X -> proper# X)
    (proper# U34(X1, X2, X3) -> proper# X2, proper# U22(X1, X2) -> U22#(proper X1, proper X2))
    (proper# U34(X1, X2, X3) -> proper# X2, proper# U22(X1, X2) -> proper# X1)
    (proper# U34(X1, X2, X3) -> proper# X2, proper# U22(X1, X2) -> proper# X2)
    (proper# U34(X1, X2, X3) -> proper# X2, proper# U21(X1, X2) -> U21#(proper X1, proper X2))
    (proper# U34(X1, X2, X3) -> proper# X2, proper# U21(X1, X2) -> proper# X1)
    (proper# U34(X1, X2, X3) -> proper# X2, proper# U21(X1, X2) -> proper# X2)
    (proper# U34(X1, X2, X3) -> proper# X2, proper# U23 X -> U23# proper X)
    (proper# U34(X1, X2, X3) -> proper# X2, proper# U23 X -> proper# X)
    (proper# U34(X1, X2, X3) -> proper# X2, proper# U32(X1, X2, X3) -> U32#(proper X1, proper X2, proper X3))
    (proper# U34(X1, X2, X3) -> proper# X2, proper# U32(X1, X2, X3) -> proper# X1)
    (proper# U34(X1, X2, X3) -> proper# X2, proper# U32(X1, X2, X3) -> proper# X2)
    (proper# U34(X1, X2, X3) -> proper# X2, proper# U32(X1, X2, X3) -> proper# X3)
    (proper# U34(X1, X2, X3) -> proper# X2, proper# U31(X1, X2, X3) -> U31#(proper X1, proper X2, proper X3))
    (proper# U34(X1, X2, X3) -> proper# X2, proper# U31(X1, X2, X3) -> proper# X1)
    (proper# U34(X1, X2, X3) -> proper# X2, proper# U31(X1, X2, X3) -> proper# X2)
    (proper# U34(X1, X2, X3) -> proper# X2, proper# U31(X1, X2, X3) -> proper# X3)
    (proper# U34(X1, X2, X3) -> proper# X2, proper# U33(X1, X2, X3) -> U33#(proper X1, proper X2, proper X3))
    (proper# U34(X1, X2, X3) -> proper# X2, proper# U33(X1, X2, X3) -> proper# X1)
    (proper# U34(X1, X2, X3) -> proper# X2, proper# U33(X1, X2, X3) -> proper# X2)
    (proper# U34(X1, X2, X3) -> proper# X2, proper# U33(X1, X2, X3) -> proper# X3)
    (proper# U34(X1, X2, X3) -> proper# X2, proper# U34(X1, X2, X3) -> U34#(proper X1, proper X2, proper X3))
    (proper# U34(X1, X2, X3) -> proper# X2, proper# U34(X1, X2, X3) -> proper# X1)
    (proper# U34(X1, X2, X3) -> proper# X2, proper# U34(X1, X2, X3) -> proper# X2)
    (proper# U34(X1, X2, X3) -> proper# X2, proper# U34(X1, X2, X3) -> proper# X3)
    (proper# U34(X1, X2, X3) -> proper# X2, proper# U35(X1, X2) -> U35#(proper X1, proper X2))
    (proper# U34(X1, X2, X3) -> proper# X2, proper# U35(X1, X2) -> proper# X1)
    (proper# U34(X1, X2, X3) -> proper# X2, proper# U35(X1, X2) -> proper# X2)
    (proper# U34(X1, X2, X3) -> proper# X2, proper# U36 X -> U36# proper X)
    (proper# U34(X1, X2, X3) -> proper# X2, proper# U36 X -> proper# X)
    (proper# U34(X1, X2, X3) -> proper# X2, proper# U42 X -> U42# proper X)
    (proper# U34(X1, X2, X3) -> proper# X2, proper# U42 X -> proper# X)
    (proper# U34(X1, X2, X3) -> proper# X2, proper# U41(X1, X2) -> U41#(proper X1, proper X2))
    (proper# U34(X1, X2, X3) -> proper# X2, proper# U41(X1, X2) -> proper# X1)
    (proper# U34(X1, X2, X3) -> proper# X2, proper# U41(X1, X2) -> proper# X2)
    (proper# U34(X1, X2, X3) -> proper# X2, proper# U51 X -> U51# proper X)
    (proper# U34(X1, X2, X3) -> proper# X2, proper# U51 X -> proper# X)
    (proper# U34(X1, X2, X3) -> proper# X2, proper# U62 X -> U62# proper X)
    (proper# U34(X1, X2, X3) -> proper# X2, proper# U62 X -> proper# X)
    (proper# U34(X1, X2, X3) -> proper# X2, proper# U61(X1, X2) -> U61#(proper X1, proper X2))
    (proper# U34(X1, X2, X3) -> proper# X2, proper# U61(X1, X2) -> proper# X1)
    (proper# U34(X1, X2, X3) -> proper# X2, proper# U61(X1, X2) -> proper# X2)
    (proper# U34(X1, X2, X3) -> proper# X2, proper# U72(X1, X2) -> U72#(proper X1, proper X2))
    (proper# U34(X1, X2, X3) -> proper# X2, proper# U72(X1, X2) -> proper# X1)
    (proper# U34(X1, X2, X3) -> proper# X2, proper# U72(X1, X2) -> proper# X2)
    (proper# U34(X1, X2, X3) -> proper# X2, proper# U71(X1, X2) -> U71#(proper X1, proper X2))
    (proper# U34(X1, X2, X3) -> proper# X2, proper# U71(X1, X2) -> proper# X1)
    (proper# U34(X1, X2, X3) -> proper# X2, proper# U71(X1, X2) -> proper# X2)
    (proper# U34(X1, X2, X3) -> proper# X2, proper# U82(X1, X2, X3) -> U82#(proper X1, proper X2, proper X3))
    (proper# U34(X1, X2, X3) -> proper# X2, proper# U82(X1, X2, X3) -> proper# X1)
    (proper# U34(X1, X2, X3) -> proper# X2, proper# U82(X1, X2, X3) -> proper# X2)
    (proper# U34(X1, X2, X3) -> proper# X2, proper# U82(X1, X2, X3) -> proper# X3)
    (proper# U34(X1, X2, X3) -> proper# X2, proper# U81(X1, X2, X3) -> U81#(proper X1, proper X2, proper X3))
    (proper# U34(X1, X2, X3) -> proper# X2, proper# U81(X1, X2, X3) -> proper# X1)
    (proper# U34(X1, X2, X3) -> proper# X2, proper# U81(X1, X2, X3) -> proper# X2)
    (proper# U34(X1, X2, X3) -> proper# X2, proper# U81(X1, X2, X3) -> proper# X3)
    (proper# U34(X1, X2, X3) -> proper# X2, proper# U83(X1, X2, X3) -> U83#(proper X1, proper X2, proper X3))
    (proper# U34(X1, X2, X3) -> proper# X2, proper# U83(X1, X2, X3) -> proper# X1)
    (proper# U34(X1, X2, X3) -> proper# X2, proper# U83(X1, X2, X3) -> proper# X2)
    (proper# U34(X1, X2, X3) -> proper# X2, proper# U83(X1, X2, X3) -> proper# X3)
    (proper# U34(X1, X2, X3) -> proper# X2, proper# U84(X1, X2, X3) -> U84#(proper X1, proper X2, proper X3))
    (proper# U34(X1, X2, X3) -> proper# X2, proper# U84(X1, X2, X3) -> proper# X1)
    (proper# U34(X1, X2, X3) -> proper# X2, proper# U84(X1, X2, X3) -> proper# X2)
    (proper# U34(X1, X2, X3) -> proper# X2, proper# U84(X1, X2, X3) -> proper# X3)
    (proper# U34(X1, X2, X3) -> proper# X2, proper# s X -> s# proper X)
    (proper# U34(X1, X2, X3) -> proper# X2, proper# s X -> proper# X)
    (proper# U34(X1, X2, X3) -> proper# X2, proper# U92 X -> U92# proper X)
    (proper# U34(X1, X2, X3) -> proper# X2, proper# U92 X -> proper# X)
    (proper# U34(X1, X2, X3) -> proper# X2, proper# U91(X1, X2) -> U91#(proper X1, proper X2))
    (proper# U34(X1, X2, X3) -> proper# X2, proper# U91(X1, X2) -> proper# X1)
    (proper# U34(X1, X2, X3) -> proper# X2, proper# U91(X1, X2) -> proper# X2)
    (proper# U31(X1, X2, X3) -> proper# X2, proper# U102(X1, X2, X3) -> U102#(proper X1, proper X2, proper X3))
    (proper# U31(X1, X2, X3) -> proper# X2, proper# U102(X1, X2, X3) -> proper# X1)
    (proper# U31(X1, X2, X3) -> proper# X2, proper# U102(X1, X2, X3) -> proper# X2)
    (proper# U31(X1, X2, X3) -> proper# X2, proper# U102(X1, X2, X3) -> proper# X3)
    (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# U31(X1, X2, X3) -> proper# X2, proper# U101(X1, X2, X3) -> U101#(proper X1, proper X2, proper X3))
    (proper# U31(X1, X2, X3) -> proper# X2, proper# U101(X1, X2, X3) -> proper# X1)
    (proper# U31(X1, X2, X3) -> proper# X2, proper# U101(X1, X2, X3) -> proper# X2)
    (proper# U31(X1, X2, X3) -> proper# X2, proper# U101(X1, X2, X3) -> proper# X3)
    (proper# U31(X1, X2, X3) -> proper# X2, proper# U103(X1, X2, X3) -> U103#(proper X1, proper X2, proper X3))
    (proper# U31(X1, X2, X3) -> proper# X2, proper# U103(X1, X2, X3) -> proper# X1)
    (proper# U31(X1, X2, X3) -> proper# X2, proper# U103(X1, X2, X3) -> proper# X2)
    (proper# U31(X1, X2, X3) -> proper# X2, proper# U103(X1, X2, X3) -> proper# X3)
    (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# U104(X1, X2, X3) -> U104#(proper X1, proper X2, proper X3))
    (proper# U31(X1, X2, X3) -> proper# X2, proper# U104(X1, X2, X3) -> proper# X1)
    (proper# U31(X1, X2, X3) -> proper# X2, proper# U104(X1, X2, X3) -> proper# X2)
    (proper# U31(X1, X2, X3) -> proper# X2, proper# U104(X1, X2, X3) -> proper# X3)
    (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# 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# U12(X1, X2, X3) -> U12#(proper X1, proper X2, proper X3))
    (proper# U31(X1, X2, X3) -> proper# X2, proper# U12(X1, X2, X3) -> proper# X1)
    (proper# U31(X1, X2, X3) -> proper# X2, proper# U12(X1, X2, X3) -> proper# X2)
    (proper# U31(X1, X2, X3) -> proper# X2, proper# U12(X1, X2, X3) -> proper# X3)
    (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(X1, X2, X3) -> U13#(proper X1, proper X2, proper X3))
    (proper# U31(X1, X2, X3) -> proper# X2, proper# U13(X1, X2, X3) -> proper# X1)
    (proper# U31(X1, X2, X3) -> proper# X2, proper# U13(X1, X2, X3) -> proper# X2)
    (proper# U31(X1, X2, X3) -> proper# X2, proper# U13(X1, X2, X3) -> proper# X3)
    (proper# U31(X1, X2, X3) -> proper# X2, proper# U14(X1, X2, X3) -> U14#(proper X1, proper X2, proper X3))
    (proper# U31(X1, X2, X3) -> proper# X2, proper# U14(X1, X2, X3) -> proper# X1)
    (proper# U31(X1, X2, X3) -> proper# X2, proper# U14(X1, X2, X3) -> proper# X2)
    (proper# U31(X1, X2, X3) -> proper# X2, proper# U14(X1, X2, X3) -> proper# X3)
    (proper# U31(X1, X2, X3) -> proper# X2, proper# U15(X1, X2) -> U15#(proper X1, proper X2))
    (proper# U31(X1, X2, X3) -> proper# X2, proper# U15(X1, X2) -> proper# X1)
    (proper# U31(X1, X2, X3) -> proper# X2, proper# U15(X1, X2) -> proper# X2)
    (proper# U31(X1, X2, X3) -> proper# X2, proper# U16 X -> U16# proper X)
    (proper# U31(X1, X2, X3) -> proper# X2, proper# U16 X -> proper# X)
    (proper# U31(X1, X2, X3) -> proper# X2, proper# U22(X1, X2) -> U22#(proper X1, proper X2))
    (proper# U31(X1, X2, X3) -> proper# X2, proper# U22(X1, X2) -> proper# X1)
    (proper# U31(X1, X2, X3) -> proper# X2, proper# U22(X1, X2) -> proper# X2)
    (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# U23 X -> U23# proper X)
    (proper# U31(X1, X2, X3) -> proper# X2, proper# U23 X -> proper# X)
    (proper# U31(X1, X2, X3) -> proper# X2, proper# U32(X1, X2, X3) -> U32#(proper X1, proper X2, proper X3))
    (proper# U31(X1, X2, X3) -> proper# X2, proper# U32(X1, X2, X3) -> proper# X1)
    (proper# U31(X1, X2, X3) -> proper# X2, proper# U32(X1, X2, X3) -> proper# X2)
    (proper# U31(X1, X2, X3) -> proper# X2, proper# U32(X1, X2, X3) -> proper# X3)
    (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(X1, X2, X3) -> U33#(proper X1, proper X2, proper X3))
    (proper# U31(X1, X2, X3) -> proper# X2, proper# U33(X1, X2, X3) -> proper# X1)
    (proper# U31(X1, X2, X3) -> proper# X2, proper# U33(X1, X2, X3) -> proper# X2)
    (proper# U31(X1, X2, X3) -> proper# X2, proper# U33(X1, X2, X3) -> proper# X3)
    (proper# U31(X1, X2, X3) -> proper# X2, proper# U34(X1, X2, X3) -> U34#(proper X1, proper X2, proper X3))
    (proper# U31(X1, X2, X3) -> proper# X2, proper# U34(X1, X2, X3) -> proper# X1)
    (proper# U31(X1, X2, X3) -> proper# X2, proper# U34(X1, X2, X3) -> proper# X2)
    (proper# U31(X1, X2, X3) -> proper# X2, proper# U34(X1, X2, X3) -> proper# X3)
    (proper# U31(X1, X2, X3) -> proper# X2, proper# U35(X1, X2) -> U35#(proper X1, proper X2))
    (proper# U31(X1, X2, X3) -> proper# X2, proper# U35(X1, X2) -> proper# X1)
    (proper# U31(X1, X2, X3) -> proper# X2, proper# U35(X1, X2) -> proper# X2)
    (proper# U31(X1, X2, X3) -> proper# X2, proper# U36 X -> U36# proper X)
    (proper# U31(X1, X2, X3) -> proper# X2, proper# U36 X -> proper# X)
    (proper# U31(X1, X2, X3) -> proper# X2, proper# U42 X -> U42# proper X)
    (proper# U31(X1, X2, X3) -> proper# X2, proper# U42 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# U51 X -> U51# proper X)
    (proper# U31(X1, X2, X3) -> proper# X2, proper# U51 X -> proper# X)
    (proper# U31(X1, X2, X3) -> proper# X2, proper# U62 X -> U62# proper X)
    (proper# U31(X1, X2, X3) -> proper# X2, proper# U62 X -> proper# X)
    (proper# U31(X1, X2, X3) -> proper# X2, proper# U61(X1, X2) -> U61#(proper X1, proper X2))
    (proper# U31(X1, X2, X3) -> proper# X2, proper# U61(X1, X2) -> proper# X1)
    (proper# U31(X1, X2, X3) -> proper# X2, proper# U61(X1, X2) -> proper# X2)
    (proper# U31(X1, X2, X3) -> proper# X2, proper# U72(X1, X2) -> U72#(proper X1, proper X2))
    (proper# U31(X1, X2, X3) -> proper# X2, proper# U72(X1, X2) -> proper# X1)
    (proper# U31(X1, X2, X3) -> proper# X2, proper# U72(X1, X2) -> proper# X2)
    (proper# U31(X1, X2, X3) -> proper# X2, proper# U71(X1, X2) -> U71#(proper X1, proper X2))
    (proper# U31(X1, X2, X3) -> proper# X2, proper# U71(X1, X2) -> proper# X1)
    (proper# U31(X1, X2, X3) -> proper# X2, proper# U71(X1, X2) -> proper# X2)
    (proper# U31(X1, X2, X3) -> proper# X2, proper# U82(X1, X2, X3) -> U82#(proper X1, proper X2, proper X3))
    (proper# U31(X1, X2, X3) -> proper# X2, proper# U82(X1, X2, X3) -> proper# X1)
    (proper# U31(X1, X2, X3) -> proper# X2, proper# U82(X1, X2, X3) -> proper# X2)
    (proper# U31(X1, X2, X3) -> proper# X2, proper# U82(X1, X2, X3) -> proper# X3)
    (proper# U31(X1, X2, X3) -> proper# X2, proper# U81(X1, X2, X3) -> U81#(proper X1, proper X2, proper X3))
    (proper# U31(X1, X2, X3) -> proper# X2, proper# U81(X1, X2, X3) -> proper# X1)
    (proper# U31(X1, X2, X3) -> proper# X2, proper# U81(X1, X2, X3) -> proper# X2)
    (proper# U31(X1, X2, X3) -> proper# X2, proper# U81(X1, X2, X3) -> proper# X3)
    (proper# U31(X1, X2, X3) -> proper# X2, proper# U83(X1, X2, X3) -> U83#(proper X1, proper X2, proper X3))
    (proper# U31(X1, X2, X3) -> proper# X2, proper# U83(X1, X2, X3) -> proper# X1)
    (proper# U31(X1, X2, X3) -> proper# X2, proper# U83(X1, X2, X3) -> proper# X2)
    (proper# U31(X1, X2, X3) -> proper# X2, proper# U83(X1, X2, X3) -> proper# X3)
    (proper# U31(X1, X2, X3) -> proper# X2, proper# U84(X1, X2, X3) -> U84#(proper X1, proper X2, proper X3))
    (proper# U31(X1, X2, X3) -> proper# X2, proper# U84(X1, X2, X3) -> proper# X1)
    (proper# U31(X1, X2, X3) -> proper# X2, proper# U84(X1, X2, X3) -> proper# X2)
    (proper# U31(X1, X2, X3) -> proper# X2, proper# U84(X1, X2, X3) -> proper# X3)
    (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# U92 X -> U92# proper X)
    (proper# U31(X1, X2, X3) -> proper# X2, proper# U92 X -> proper# X)
    (proper# U31(X1, X2, X3) -> proper# X2, proper# U91(X1, X2) -> U91#(proper X1, proper X2))
    (proper# U31(X1, X2, X3) -> proper# X2, proper# U91(X1, X2) -> proper# X1)
    (proper# U31(X1, X2, X3) -> proper# X2, proper# U91(X1, X2) -> proper# X2)
    (proper# U21(X1, X2) -> proper# X2, proper# U102(X1, X2, X3) -> U102#(proper X1, proper X2, proper X3))
    (proper# U21(X1, X2) -> proper# X2, proper# U102(X1, X2, X3) -> proper# X1)
    (proper# U21(X1, X2) -> proper# X2, proper# U102(X1, X2, X3) -> proper# X2)
    (proper# U21(X1, X2) -> proper# X2, proper# U102(X1, X2, X3) -> proper# X3)
    (proper# U21(X1, X2) -> proper# X2, proper# isNatKind X -> isNatKind# proper X)
    (proper# U21(X1, X2) -> proper# X2, proper# isNatKind X -> proper# X)
    (proper# U21(X1, X2) -> proper# X2, proper# U101(X1, X2, X3) -> U101#(proper X1, proper X2, proper X3))
    (proper# U21(X1, X2) -> proper# X2, proper# U101(X1, X2, X3) -> proper# X1)
    (proper# U21(X1, X2) -> proper# X2, proper# U101(X1, X2, X3) -> proper# X2)
    (proper# U21(X1, X2) -> proper# X2, proper# U101(X1, X2, X3) -> proper# X3)
    (proper# U21(X1, X2) -> proper# X2, proper# U103(X1, X2, X3) -> U103#(proper X1, proper X2, proper X3))
    (proper# U21(X1, X2) -> proper# X2, proper# U103(X1, X2, X3) -> proper# X1)
    (proper# U21(X1, X2) -> proper# X2, proper# U103(X1, X2, X3) -> proper# X2)
    (proper# U21(X1, X2) -> proper# X2, proper# U103(X1, X2, X3) -> proper# X3)
    (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# U104(X1, X2, X3) -> U104#(proper X1, proper X2, proper X3))
    (proper# U21(X1, X2) -> proper# X2, proper# U104(X1, X2, X3) -> proper# X1)
    (proper# U21(X1, X2) -> proper# X2, proper# U104(X1, X2, X3) -> proper# X2)
    (proper# U21(X1, X2) -> proper# X2, proper# U104(X1, X2, X3) -> proper# X3)
    (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# 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# U12(X1, X2, X3) -> U12#(proper X1, proper X2, proper X3))
    (proper# U21(X1, X2) -> proper# X2, proper# U12(X1, X2, X3) -> proper# X1)
    (proper# U21(X1, X2) -> proper# X2, proper# U12(X1, X2, X3) -> proper# X2)
    (proper# U21(X1, X2) -> proper# X2, proper# U12(X1, X2, X3) -> proper# X3)
    (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(X1, X2, X3) -> U13#(proper X1, proper X2, proper X3))
    (proper# U21(X1, X2) -> proper# X2, proper# U13(X1, X2, X3) -> proper# X1)
    (proper# U21(X1, X2) -> proper# X2, proper# U13(X1, X2, X3) -> proper# X2)
    (proper# U21(X1, X2) -> proper# X2, proper# U13(X1, X2, X3) -> proper# X3)
    (proper# U21(X1, X2) -> proper# X2, proper# U14(X1, X2, X3) -> U14#(proper X1, proper X2, proper X3))
    (proper# U21(X1, X2) -> proper# X2, proper# U14(X1, X2, X3) -> proper# X1)
    (proper# U21(X1, X2) -> proper# X2, proper# U14(X1, X2, X3) -> proper# X2)
    (proper# U21(X1, X2) -> proper# X2, proper# U14(X1, X2, X3) -> proper# X3)
    (proper# U21(X1, X2) -> proper# X2, proper# U15(X1, X2) -> U15#(proper X1, proper X2))
    (proper# U21(X1, X2) -> proper# X2, proper# U15(X1, X2) -> proper# X1)
    (proper# U21(X1, X2) -> proper# X2, proper# U15(X1, X2) -> proper# X2)
    (proper# U21(X1, X2) -> proper# X2, proper# U16 X -> U16# proper X)
    (proper# U21(X1, X2) -> proper# X2, proper# U16 X -> proper# X)
    (proper# U21(X1, X2) -> proper# X2, proper# U22(X1, X2) -> U22#(proper X1, proper X2))
    (proper# U21(X1, X2) -> proper# X2, proper# U22(X1, X2) -> proper# X1)
    (proper# U21(X1, X2) -> proper# X2, proper# U22(X1, X2) -> proper# X2)
    (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# U23 X -> U23# proper X)
    (proper# U21(X1, X2) -> proper# X2, proper# U23 X -> proper# X)
    (proper# U21(X1, X2) -> proper# X2, proper# U32(X1, X2, X3) -> U32#(proper X1, proper X2, proper X3))
    (proper# U21(X1, X2) -> proper# X2, proper# U32(X1, X2, X3) -> proper# X1)
    (proper# U21(X1, X2) -> proper# X2, proper# U32(X1, X2, X3) -> proper# X2)
    (proper# U21(X1, X2) -> proper# X2, proper# U32(X1, X2, X3) -> proper# X3)
    (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(X1, X2, X3) -> U33#(proper X1, proper X2, proper X3))
    (proper# U21(X1, X2) -> proper# X2, proper# U33(X1, X2, X3) -> proper# X1)
    (proper# U21(X1, X2) -> proper# X2, proper# U33(X1, X2, X3) -> proper# X2)
    (proper# U21(X1, X2) -> proper# X2, proper# U33(X1, X2, X3) -> proper# X3)
    (proper# U21(X1, X2) -> proper# X2, proper# U34(X1, X2, X3) -> U34#(proper X1, proper X2, proper X3))
    (proper# U21(X1, X2) -> proper# X2, proper# U34(X1, X2, X3) -> proper# X1)
    (proper# U21(X1, X2) -> proper# X2, proper# U34(X1, X2, X3) -> proper# X2)
    (proper# U21(X1, X2) -> proper# X2, proper# U34(X1, X2, X3) -> proper# X3)
    (proper# U21(X1, X2) -> proper# X2, proper# U35(X1, X2) -> U35#(proper X1, proper X2))
    (proper# U21(X1, X2) -> proper# X2, proper# U35(X1, X2) -> proper# X1)
    (proper# U21(X1, X2) -> proper# X2, proper# U35(X1, X2) -> proper# X2)
    (proper# U21(X1, X2) -> proper# X2, proper# U36 X -> U36# proper X)
    (proper# U21(X1, X2) -> proper# X2, proper# U36 X -> proper# X)
    (proper# U21(X1, X2) -> proper# X2, proper# U42 X -> U42# proper X)
    (proper# U21(X1, X2) -> proper# X2, proper# U42 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# U51 X -> U51# proper X)
    (proper# U21(X1, X2) -> proper# X2, proper# U51 X -> proper# X)
    (proper# U21(X1, X2) -> proper# X2, proper# U62 X -> U62# proper X)
    (proper# U21(X1, X2) -> proper# X2, proper# U62 X -> proper# X)
    (proper# U21(X1, X2) -> proper# X2, proper# U61(X1, X2) -> U61#(proper X1, proper X2))
    (proper# U21(X1, X2) -> proper# X2, proper# U61(X1, X2) -> proper# X1)
    (proper# U21(X1, X2) -> proper# X2, proper# U61(X1, X2) -> proper# X2)
    (proper# U21(X1, X2) -> proper# X2, proper# U72(X1, X2) -> U72#(proper X1, proper X2))
    (proper# U21(X1, X2) -> proper# X2, proper# U72(X1, X2) -> proper# X1)
    (proper# U21(X1, X2) -> proper# X2, proper# U72(X1, X2) -> proper# X2)
    (proper# U21(X1, X2) -> proper# X2, proper# U71(X1, X2) -> U71#(proper X1, proper X2))
    (proper# U21(X1, X2) -> proper# X2, proper# U71(X1, X2) -> proper# X1)
    (proper# U21(X1, X2) -> proper# X2, proper# U71(X1, X2) -> proper# X2)
    (proper# U21(X1, X2) -> proper# X2, proper# U82(X1, X2, X3) -> U82#(proper X1, proper X2, proper X3))
    (proper# U21(X1, X2) -> proper# X2, proper# U82(X1, X2, X3) -> proper# X1)
    (proper# U21(X1, X2) -> proper# X2, proper# U82(X1, X2, X3) -> proper# X2)
    (proper# U21(X1, X2) -> proper# X2, proper# U82(X1, X2, X3) -> proper# X3)
    (proper# U21(X1, X2) -> proper# X2, proper# U81(X1, X2, X3) -> U81#(proper X1, proper X2, proper X3))
    (proper# U21(X1, X2) -> proper# X2, proper# U81(X1, X2, X3) -> proper# X1)
    (proper# U21(X1, X2) -> proper# X2, proper# U81(X1, X2, X3) -> proper# X2)
    (proper# U21(X1, X2) -> proper# X2, proper# U81(X1, X2, X3) -> proper# X3)
    (proper# U21(X1, X2) -> proper# X2, proper# U83(X1, X2, X3) -> U83#(proper X1, proper X2, proper X3))
    (proper# U21(X1, X2) -> proper# X2, proper# U83(X1, X2, X3) -> proper# X1)
    (proper# U21(X1, X2) -> proper# X2, proper# U83(X1, X2, X3) -> proper# X2)
    (proper# U21(X1, X2) -> proper# X2, proper# U83(X1, X2, X3) -> proper# X3)
    (proper# U21(X1, X2) -> proper# X2, proper# U84(X1, X2, X3) -> U84#(proper X1, proper X2, proper X3))
    (proper# U21(X1, X2) -> proper# X2, proper# U84(X1, X2, X3) -> proper# X1)
    (proper# U21(X1, X2) -> proper# X2, proper# U84(X1, X2, X3) -> proper# X2)
    (proper# U21(X1, X2) -> proper# X2, proper# U84(X1, X2, X3) -> proper# X3)
    (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# U92 X -> U92# proper X)
    (proper# U21(X1, X2) -> proper# X2, proper# U92 X -> proper# X)
    (proper# U21(X1, X2) -> proper# X2, proper# U91(X1, X2) -> U91#(proper X1, proper X2))
    (proper# U21(X1, X2) -> proper# X2, proper# U91(X1, X2) -> proper# X1)
    (proper# U21(X1, X2) -> proper# X2, proper# U91(X1, X2) -> proper# X2)
    (proper# U15(X1, X2) -> proper# X2, proper# U102(X1, X2, X3) -> U102#(proper X1, proper X2, proper X3))
    (proper# U15(X1, X2) -> proper# X2, proper# U102(X1, X2, X3) -> proper# X1)
    (proper# U15(X1, X2) -> proper# X2, proper# U102(X1, X2, X3) -> proper# X2)
    (proper# U15(X1, X2) -> proper# X2, proper# U102(X1, X2, X3) -> proper# X3)
    (proper# U15(X1, X2) -> proper# X2, proper# isNatKind X -> isNatKind# proper X)
    (proper# U15(X1, X2) -> proper# X2, proper# isNatKind X -> proper# X)
    (proper# U15(X1, X2) -> proper# X2, proper# U101(X1, X2, X3) -> U101#(proper X1, proper X2, proper X3))
    (proper# U15(X1, X2) -> proper# X2, proper# U101(X1, X2, X3) -> proper# X1)
    (proper# U15(X1, X2) -> proper# X2, proper# U101(X1, X2, X3) -> proper# X2)
    (proper# U15(X1, X2) -> proper# X2, proper# U101(X1, X2, X3) -> proper# X3)
    (proper# U15(X1, X2) -> proper# X2, proper# U103(X1, X2, X3) -> U103#(proper X1, proper X2, proper X3))
    (proper# U15(X1, X2) -> proper# X2, proper# U103(X1, X2, X3) -> proper# X1)
    (proper# U15(X1, X2) -> proper# X2, proper# U103(X1, X2, X3) -> proper# X2)
    (proper# U15(X1, X2) -> proper# X2, proper# U103(X1, X2, X3) -> proper# X3)
    (proper# U15(X1, X2) -> proper# X2, proper# isNat X -> isNat# proper X)
    (proper# U15(X1, X2) -> proper# X2, proper# isNat X -> proper# X)
    (proper# U15(X1, X2) -> proper# X2, proper# U104(X1, X2, X3) -> U104#(proper X1, proper X2, proper X3))
    (proper# U15(X1, X2) -> proper# X2, proper# U104(X1, X2, X3) -> proper# X1)
    (proper# U15(X1, X2) -> proper# X2, proper# U104(X1, X2, X3) -> proper# X2)
    (proper# U15(X1, X2) -> proper# X2, proper# U104(X1, X2, X3) -> proper# X3)
    (proper# U15(X1, X2) -> proper# X2, proper# plus(X1, X2) -> plus#(proper X1, proper X2))
    (proper# U15(X1, X2) -> proper# X2, proper# plus(X1, X2) -> proper# X1)
    (proper# U15(X1, X2) -> proper# X2, proper# plus(X1, X2) -> proper# X2)
    (proper# U15(X1, X2) -> proper# X2, proper# x(X1, X2) -> x#(proper X1, proper X2))
    (proper# U15(X1, X2) -> proper# X2, proper# x(X1, X2) -> proper# X1)
    (proper# U15(X1, X2) -> proper# X2, proper# x(X1, X2) -> proper# X2)
    (proper# U15(X1, X2) -> proper# X2, proper# U12(X1, X2, X3) -> U12#(proper X1, proper X2, proper X3))
    (proper# U15(X1, X2) -> proper# X2, proper# U12(X1, X2, X3) -> proper# X1)
    (proper# U15(X1, X2) -> proper# X2, proper# U12(X1, X2, X3) -> proper# X2)
    (proper# U15(X1, X2) -> proper# X2, proper# U12(X1, X2, X3) -> proper# X3)
    (proper# U15(X1, X2) -> proper# X2, proper# U11(X1, X2, X3) -> U11#(proper X1, proper X2, proper X3))
    (proper# U15(X1, X2) -> proper# X2, proper# U11(X1, X2, X3) -> proper# X1)
    (proper# U15(X1, X2) -> proper# X2, proper# U11(X1, X2, X3) -> proper# X2)
    (proper# U15(X1, X2) -> proper# X2, proper# U11(X1, X2, X3) -> proper# X3)
    (proper# U15(X1, X2) -> proper# X2, proper# U13(X1, X2, X3) -> U13#(proper X1, proper X2, proper X3))
    (proper# U15(X1, X2) -> proper# X2, proper# U13(X1, X2, X3) -> proper# X1)
    (proper# U15(X1, X2) -> proper# X2, proper# U13(X1, X2, X3) -> proper# X2)
    (proper# U15(X1, X2) -> proper# X2, proper# U13(X1, X2, X3) -> proper# X3)
    (proper# U15(X1, X2) -> proper# X2, proper# U14(X1, X2, X3) -> U14#(proper X1, proper X2, proper X3))
    (proper# U15(X1, X2) -> proper# X2, proper# U14(X1, X2, X3) -> proper# X1)
    (proper# U15(X1, X2) -> proper# X2, proper# U14(X1, X2, X3) -> proper# X2)
    (proper# U15(X1, X2) -> proper# X2, proper# U14(X1, X2, X3) -> proper# X3)
    (proper# U15(X1, X2) -> proper# X2, proper# U15(X1, X2) -> U15#(proper X1, proper X2))
    (proper# U15(X1, X2) -> proper# X2, proper# U15(X1, X2) -> proper# X1)
    (proper# U15(X1, X2) -> proper# X2, proper# U15(X1, X2) -> proper# X2)
    (proper# U15(X1, X2) -> proper# X2, proper# U16 X -> U16# proper X)
    (proper# U15(X1, X2) -> proper# X2, proper# U16 X -> proper# X)
    (proper# U15(X1, X2) -> proper# X2, proper# U22(X1, X2) -> U22#(proper X1, proper X2))
    (proper# U15(X1, X2) -> proper# X2, proper# U22(X1, X2) -> proper# X1)
    (proper# U15(X1, X2) -> proper# X2, proper# U22(X1, X2) -> proper# X2)
    (proper# U15(X1, X2) -> proper# X2, proper# U21(X1, X2) -> U21#(proper X1, proper X2))
    (proper# U15(X1, X2) -> proper# X2, proper# U21(X1, X2) -> proper# X1)
    (proper# U15(X1, X2) -> proper# X2, proper# U21(X1, X2) -> proper# X2)
    (proper# U15(X1, X2) -> proper# X2, proper# U23 X -> U23# proper X)
    (proper# U15(X1, X2) -> proper# X2, proper# U23 X -> proper# X)
    (proper# U15(X1, X2) -> proper# X2, proper# U32(X1, X2, X3) -> U32#(proper X1, proper X2, proper X3))
    (proper# U15(X1, X2) -> proper# X2, proper# U32(X1, X2, X3) -> proper# X1)
    (proper# U15(X1, X2) -> proper# X2, proper# U32(X1, X2, X3) -> proper# X2)
    (proper# U15(X1, X2) -> proper# X2, proper# U32(X1, X2, X3) -> proper# X3)
    (proper# U15(X1, X2) -> proper# X2, proper# U31(X1, X2, X3) -> U31#(proper X1, proper X2, proper X3))
    (proper# U15(X1, X2) -> proper# X2, proper# U31(X1, X2, X3) -> proper# X1)
    (proper# U15(X1, X2) -> proper# X2, proper# U31(X1, X2, X3) -> proper# X2)
    (proper# U15(X1, X2) -> proper# X2, proper# U31(X1, X2, X3) -> proper# X3)
    (proper# U15(X1, X2) -> proper# X2, proper# U33(X1, X2, X3) -> U33#(proper X1, proper X2, proper X3))
    (proper# U15(X1, X2) -> proper# X2, proper# U33(X1, X2, X3) -> proper# X1)
    (proper# U15(X1, X2) -> proper# X2, proper# U33(X1, X2, X3) -> proper# X2)
    (proper# U15(X1, X2) -> proper# X2, proper# U33(X1, X2, X3) -> proper# X3)
    (proper# U15(X1, X2) -> proper# X2, proper# U34(X1, X2, X3) -> U34#(proper X1, proper X2, proper X3))
    (proper# U15(X1, X2) -> proper# X2, proper# U34(X1, X2, X3) -> proper# X1)
    (proper# U15(X1, X2) -> proper# X2, proper# U34(X1, X2, X3) -> proper# X2)
    (proper# U15(X1, X2) -> proper# X2, proper# U34(X1, X2, X3) -> proper# X3)
    (proper# U15(X1, X2) -> proper# X2, proper# U35(X1, X2) -> U35#(proper X1, proper X2))
    (proper# U15(X1, X2) -> proper# X2, proper# U35(X1, X2) -> proper# X1)
    (proper# U15(X1, X2) -> proper# X2, proper# U35(X1, X2) -> proper# X2)
    (proper# U15(X1, X2) -> proper# X2, proper# U36 X -> U36# proper X)
    (proper# U15(X1, X2) -> proper# X2, proper# U36 X -> proper# X)
    (proper# U15(X1, X2) -> proper# X2, proper# U42 X -> U42# proper X)
    (proper# U15(X1, X2) -> proper# X2, proper# U42 X -> proper# X)
    (proper# U15(X1, X2) -> proper# X2, proper# U41(X1, X2) -> U41#(proper X1, proper X2))
    (proper# U15(X1, X2) -> proper# X2, proper# U41(X1, X2) -> proper# X1)
    (proper# U15(X1, X2) -> proper# X2, proper# U41(X1, X2) -> proper# X2)
    (proper# U15(X1, X2) -> proper# X2, proper# U51 X -> U51# proper X)
    (proper# U15(X1, X2) -> proper# X2, proper# U51 X -> proper# X)
    (proper# U15(X1, X2) -> proper# X2, proper# U62 X -> U62# proper X)
    (proper# U15(X1, X2) -> proper# X2, proper# U62 X -> proper# X)
    (proper# U15(X1, X2) -> proper# X2, proper# U61(X1, X2) -> U61#(proper X1, proper X2))
    (proper# U15(X1, X2) -> proper# X2, proper# U61(X1, X2) -> proper# X1)
    (proper# U15(X1, X2) -> proper# X2, proper# U61(X1, X2) -> proper# X2)
    (proper# U15(X1, X2) -> proper# X2, proper# U72(X1, X2) -> U72#(proper X1, proper X2))
    (proper# U15(X1, X2) -> proper# X2, proper# U72(X1, X2) -> proper# X1)
    (proper# U15(X1, X2) -> proper# X2, proper# U72(X1, X2) -> proper# X2)
    (proper# U15(X1, X2) -> proper# X2, proper# U71(X1, X2) -> U71#(proper X1, proper X2))
    (proper# U15(X1, X2) -> proper# X2, proper# U71(X1, X2) -> proper# X1)
    (proper# U15(X1, X2) -> proper# X2, proper# U71(X1, X2) -> proper# X2)
    (proper# U15(X1, X2) -> proper# X2, proper# U82(X1, X2, X3) -> U82#(proper X1, proper X2, proper X3))
    (proper# U15(X1, X2) -> proper# X2, proper# U82(X1, X2, X3) -> proper# X1)
    (proper# U15(X1, X2) -> proper# X2, proper# U82(X1, X2, X3) -> proper# X2)
    (proper# U15(X1, X2) -> proper# X2, proper# U82(X1, X2, X3) -> proper# X3)
    (proper# U15(X1, X2) -> proper# X2, proper# U81(X1, X2, X3) -> U81#(proper X1, proper X2, proper X3))
    (proper# U15(X1, X2) -> proper# X2, proper# U81(X1, X2, X3) -> proper# X1)
    (proper# U15(X1, X2) -> proper# X2, proper# U81(X1, X2, X3) -> proper# X2)
    (proper# U15(X1, X2) -> proper# X2, proper# U81(X1, X2, X3) -> proper# X3)
    (proper# U15(X1, X2) -> proper# X2, proper# U83(X1, X2, X3) -> U83#(proper X1, proper X2, proper X3))
    (proper# U15(X1, X2) -> proper# X2, proper# U83(X1, X2, X3) -> proper# X1)
    (proper# U15(X1, X2) -> proper# X2, proper# U83(X1, X2, X3) -> proper# X2)
    (proper# U15(X1, X2) -> proper# X2, proper# U83(X1, X2, X3) -> proper# X3)
    (proper# U15(X1, X2) -> proper# X2, proper# U84(X1, X2, X3) -> U84#(proper X1, proper X2, proper X3))
    (proper# U15(X1, X2) -> proper# X2, proper# U84(X1, X2, X3) -> proper# X1)
    (proper# U15(X1, X2) -> proper# X2, proper# U84(X1, X2, X3) -> proper# X2)
    (proper# U15(X1, X2) -> proper# X2, proper# U84(X1, X2, X3) -> proper# X3)
    (proper# U15(X1, X2) -> proper# X2, proper# s X -> s# proper X)
    (proper# U15(X1, X2) -> proper# X2, proper# s X -> proper# X)
    (proper# U15(X1, X2) -> proper# X2, proper# U92 X -> U92# proper X)
    (proper# U15(X1, X2) -> proper# X2, proper# U92 X -> proper# X)
    (proper# U15(X1, X2) -> proper# X2, proper# U91(X1, X2) -> U91#(proper X1, proper X2))
    (proper# U15(X1, X2) -> proper# X2, proper# U91(X1, X2) -> proper# X1)
    (proper# U15(X1, X2) -> proper# X2, proper# U91(X1, X2) -> proper# X2)
    (proper# U13(X1, X2, X3) -> proper# X2, proper# U102(X1, X2, X3) -> U102#(proper X1, proper X2, proper X3))
    (proper# U13(X1, X2, X3) -> proper# X2, proper# U102(X1, X2, X3) -> proper# X1)
    (proper# U13(X1, X2, X3) -> proper# X2, proper# U102(X1, X2, X3) -> proper# X2)
    (proper# U13(X1, X2, X3) -> proper# X2, proper# U102(X1, X2, X3) -> proper# X3)
    (proper# U13(X1, X2, X3) -> proper# X2, proper# isNatKind X -> isNatKind# proper X)
    (proper# U13(X1, X2, X3) -> proper# X2, proper# isNatKind X -> proper# X)
    (proper# U13(X1, X2, X3) -> proper# X2, proper# U101(X1, X2, X3) -> U101#(proper X1, proper X2, proper X3))
    (proper# U13(X1, X2, X3) -> proper# X2, proper# U101(X1, X2, X3) -> proper# X1)
    (proper# U13(X1, X2, X3) -> proper# X2, proper# U101(X1, X2, X3) -> proper# X2)
    (proper# U13(X1, X2, X3) -> proper# X2, proper# U101(X1, X2, X3) -> proper# X3)
    (proper# U13(X1, X2, X3) -> proper# X2, proper# U103(X1, X2, X3) -> U103#(proper X1, proper X2, proper X3))
    (proper# U13(X1, X2, X3) -> proper# X2, proper# U103(X1, X2, X3) -> proper# X1)
    (proper# U13(X1, X2, X3) -> proper# X2, proper# U103(X1, X2, X3) -> proper# X2)
    (proper# U13(X1, X2, X3) -> proper# X2, proper# U103(X1, X2, X3) -> proper# X3)
    (proper# U13(X1, X2, X3) -> proper# X2, proper# isNat X -> isNat# proper X)
    (proper# U13(X1, X2, X3) -> proper# X2, proper# isNat X -> proper# X)
    (proper# U13(X1, X2, X3) -> proper# X2, proper# U104(X1, X2, X3) -> U104#(proper X1, proper X2, proper X3))
    (proper# U13(X1, X2, X3) -> proper# X2, proper# U104(X1, X2, X3) -> proper# X1)
    (proper# U13(X1, X2, X3) -> proper# X2, proper# U104(X1, X2, X3) -> proper# X2)
    (proper# U13(X1, X2, X3) -> proper# X2, proper# U104(X1, X2, X3) -> proper# X3)
    (proper# U13(X1, X2, X3) -> proper# X2, proper# plus(X1, X2) -> plus#(proper X1, proper X2))
    (proper# U13(X1, X2, X3) -> proper# X2, proper# plus(X1, X2) -> proper# X1)
    (proper# U13(X1, X2, X3) -> proper# X2, proper# plus(X1, X2) -> proper# X2)
    (proper# U13(X1, X2, X3) -> proper# X2, proper# x(X1, X2) -> x#(proper X1, proper X2))
    (proper# U13(X1, X2, X3) -> proper# X2, proper# x(X1, X2) -> proper# X1)
    (proper# U13(X1, X2, X3) -> proper# X2, proper# x(X1, X2) -> proper# X2)
    (proper# U13(X1, X2, X3) -> proper# X2, proper# U12(X1, X2, X3) -> U12#(proper X1, proper X2, proper X3))
    (proper# U13(X1, X2, X3) -> proper# X2, proper# U12(X1, X2, X3) -> proper# X1)
    (proper# U13(X1, X2, X3) -> proper# X2, proper# U12(X1, X2, X3) -> proper# X2)
    (proper# U13(X1, X2, X3) -> proper# X2, proper# U12(X1, X2, X3) -> proper# X3)
    (proper# U13(X1, X2, X3) -> proper# X2, proper# U11(X1, X2, X3) -> U11#(proper X1, proper X2, proper X3))
    (proper# U13(X1, X2, X3) -> proper# X2, proper# U11(X1, X2, X3) -> proper# X1)
    (proper# U13(X1, X2, X3) -> proper# X2, proper# U11(X1, X2, X3) -> proper# X2)
    (proper# U13(X1, X2, X3) -> proper# X2, proper# U11(X1, X2, X3) -> proper# X3)
    (proper# U13(X1, X2, X3) -> proper# X2, proper# U13(X1, X2, X3) -> U13#(proper X1, proper X2, proper X3))
    (proper# U13(X1, X2, X3) -> proper# X2, proper# U13(X1, X2, X3) -> proper# X1)
    (proper# U13(X1, X2, X3) -> proper# X2, proper# U13(X1, X2, X3) -> proper# X2)
    (proper# U13(X1, X2, X3) -> proper# X2, proper# U13(X1, X2, X3) -> proper# X3)
    (proper# U13(X1, X2, X3) -> proper# X2, proper# U14(X1, X2, X3) -> U14#(proper X1, proper X2, proper X3))
    (proper# U13(X1, X2, X3) -> proper# X2, proper# U14(X1, X2, X3) -> proper# X1)
    (proper# U13(X1, X2, X3) -> proper# X2, proper# U14(X1, X2, X3) -> proper# X2)
    (proper# U13(X1, X2, X3) -> proper# X2, proper# U14(X1, X2, X3) -> proper# X3)
    (proper# U13(X1, X2, X3) -> proper# X2, proper# U15(X1, X2) -> U15#(proper X1, proper X2))
    (proper# U13(X1, X2, X3) -> proper# X2, proper# U15(X1, X2) -> proper# X1)
    (proper# U13(X1, X2, X3) -> proper# X2, proper# U15(X1, X2) -> proper# X2)
    (proper# U13(X1, X2, X3) -> proper# X2, proper# U16 X -> U16# proper X)
    (proper# U13(X1, X2, X3) -> proper# X2, proper# U16 X -> proper# X)
    (proper# U13(X1, X2, X3) -> proper# X2, proper# U22(X1, X2) -> U22#(proper X1, proper X2))
    (proper# U13(X1, X2, X3) -> proper# X2, proper# U22(X1, X2) -> proper# X1)
    (proper# U13(X1, X2, X3) -> proper# X2, proper# U22(X1, X2) -> proper# X2)
    (proper# U13(X1, X2, X3) -> proper# X2, proper# U21(X1, X2) -> U21#(proper X1, proper X2))
    (proper# U13(X1, X2, X3) -> proper# X2, proper# U21(X1, X2) -> proper# X1)
    (proper# U13(X1, X2, X3) -> proper# X2, proper# U21(X1, X2) -> proper# X2)
    (proper# U13(X1, X2, X3) -> proper# X2, proper# U23 X -> U23# proper X)
    (proper# U13(X1, X2, X3) -> proper# X2, proper# U23 X -> proper# X)
    (proper# U13(X1, X2, X3) -> proper# X2, proper# U32(X1, X2, X3) -> U32#(proper X1, proper X2, proper X3))
    (proper# U13(X1, X2, X3) -> proper# X2, proper# U32(X1, X2, X3) -> proper# X1)
    (proper# U13(X1, X2, X3) -> proper# X2, proper# U32(X1, X2, X3) -> proper# X2)
    (proper# U13(X1, X2, X3) -> proper# X2, proper# U32(X1, X2, X3) -> proper# X3)
    (proper# U13(X1, X2, X3) -> proper# X2, proper# U31(X1, X2, X3) -> U31#(proper X1, proper X2, proper X3))
    (proper# U13(X1, X2, X3) -> proper# X2, proper# U31(X1, X2, X3) -> proper# X1)
    (proper# U13(X1, X2, X3) -> proper# X2, proper# U31(X1, X2, X3) -> proper# X2)
    (proper# U13(X1, X2, X3) -> proper# X2, proper# U31(X1, X2, X3) -> proper# X3)
    (proper# U13(X1, X2, X3) -> proper# X2, proper# U33(X1, X2, X3) -> U33#(proper X1, proper X2, proper X3))
    (proper# U13(X1, X2, X3) -> proper# X2, proper# U33(X1, X2, X3) -> proper# X1)
    (proper# U13(X1, X2, X3) -> proper# X2, proper# U33(X1, X2, X3) -> proper# X2)
    (proper# U13(X1, X2, X3) -> proper# X2, proper# U33(X1, X2, X3) -> proper# X3)
    (proper# U13(X1, X2, X3) -> proper# X2, proper# U34(X1, X2, X3) -> U34#(proper X1, proper X2, proper X3))
    (proper# U13(X1, X2, X3) -> proper# X2, proper# U34(X1, X2, X3) -> proper# X1)
    (proper# U13(X1, X2, X3) -> proper# X2, proper# U34(X1, X2, X3) -> proper# X2)
    (proper# U13(X1, X2, X3) -> proper# X2, proper# U34(X1, X2, X3) -> proper# X3)
    (proper# U13(X1, X2, X3) -> proper# X2, proper# U35(X1, X2) -> U35#(proper X1, proper X2))
    (proper# U13(X1, X2, X3) -> proper# X2, proper# U35(X1, X2) -> proper# X1)
    (proper# U13(X1, X2, X3) -> proper# X2, proper# U35(X1, X2) -> proper# X2)
    (proper# U13(X1, X2, X3) -> proper# X2, proper# U36 X -> U36# proper X)
    (proper# U13(X1, X2, X3) -> proper# X2, proper# U36 X -> proper# X)
    (proper# U13(X1, X2, X3) -> proper# X2, proper# U42 X -> U42# proper X)
    (proper# U13(X1, X2, X3) -> proper# X2, proper# U42 X -> proper# X)
    (proper# U13(X1, X2, X3) -> proper# X2, proper# U41(X1, X2) -> U41#(proper X1, proper X2))
    (proper# U13(X1, X2, X3) -> proper# X2, proper# U41(X1, X2) -> proper# X1)
    (proper# U13(X1, X2, X3) -> proper# X2, proper# U41(X1, X2) -> proper# X2)
    (proper# U13(X1, X2, X3) -> proper# X2, proper# U51 X -> U51# proper X)
    (proper# U13(X1, X2, X3) -> proper# X2, proper# U51 X -> proper# X)
    (proper# U13(X1, X2, X3) -> proper# X2, proper# U62 X -> U62# proper X)
    (proper# U13(X1, X2, X3) -> proper# X2, proper# U62 X -> proper# X)
    (proper# U13(X1, X2, X3) -> proper# X2, proper# U61(X1, X2) -> U61#(proper X1, proper X2))
    (proper# U13(X1, X2, X3) -> proper# X2, proper# U61(X1, X2) -> proper# X1)
    (proper# U13(X1, X2, X3) -> proper# X2, proper# U61(X1, X2) -> proper# X2)
    (proper# U13(X1, X2, X3) -> proper# X2, proper# U72(X1, X2) -> U72#(proper X1, proper X2))
    (proper# U13(X1, X2, X3) -> proper# X2, proper# U72(X1, X2) -> proper# X1)
    (proper# U13(X1, X2, X3) -> proper# X2, proper# U72(X1, X2) -> proper# X2)
    (proper# U13(X1, X2, X3) -> proper# X2, proper# U71(X1, X2) -> U71#(proper X1, proper X2))
    (proper# U13(X1, X2, X3) -> proper# X2, proper# U71(X1, X2) -> proper# X1)
    (proper# U13(X1, X2, X3) -> proper# X2, proper# U71(X1, X2) -> proper# X2)
    (proper# U13(X1, X2, X3) -> proper# X2, proper# U82(X1, X2, X3) -> U82#(proper X1, proper X2, proper X3))
    (proper# U13(X1, X2, X3) -> proper# X2, proper# U82(X1, X2, X3) -> proper# X1)
    (proper# U13(X1, X2, X3) -> proper# X2, proper# U82(X1, X2, X3) -> proper# X2)
    (proper# U13(X1, X2, X3) -> proper# X2, proper# U82(X1, X2, X3) -> proper# X3)
    (proper# U13(X1, X2, X3) -> proper# X2, proper# U81(X1, X2, X3) -> U81#(proper X1, proper X2, proper X3))
    (proper# U13(X1, X2, X3) -> proper# X2, proper# U81(X1, X2, X3) -> proper# X1)
    (proper# U13(X1, X2, X3) -> proper# X2, proper# U81(X1, X2, X3) -> proper# X2)
    (proper# U13(X1, X2, X3) -> proper# X2, proper# U81(X1, X2, X3) -> proper# X3)
    (proper# U13(X1, X2, X3) -> proper# X2, proper# U83(X1, X2, X3) -> U83#(proper X1, proper X2, proper X3))
    (proper# U13(X1, X2, X3) -> proper# X2, proper# U83(X1, X2, X3) -> proper# X1)
    (proper# U13(X1, X2, X3) -> proper# X2, proper# U83(X1, X2, X3) -> proper# X2)
    (proper# U13(X1, X2, X3) -> proper# X2, proper# U83(X1, X2, X3) -> proper# X3)
    (proper# U13(X1, X2, X3) -> proper# X2, proper# U84(X1, X2, X3) -> U84#(proper X1, proper X2, proper X3))
    (proper# U13(X1, X2, X3) -> proper# X2, proper# U84(X1, X2, X3) -> proper# X1)
    (proper# U13(X1, X2, X3) -> proper# X2, proper# U84(X1, X2, X3) -> proper# X2)
    (proper# U13(X1, X2, X3) -> proper# X2, proper# U84(X1, X2, X3) -> proper# X3)
    (proper# U13(X1, X2, X3) -> proper# X2, proper# s X -> s# proper X)
    (proper# U13(X1, X2, X3) -> proper# X2, proper# s X -> proper# X)
    (proper# U13(X1, X2, X3) -> proper# X2, proper# U92 X -> U92# proper X)
    (proper# U13(X1, X2, X3) -> proper# X2, proper# U92 X -> proper# X)
    (proper# U13(X1, X2, X3) -> proper# X2, proper# U91(X1, X2) -> U91#(proper X1, proper X2))
    (proper# U13(X1, X2, X3) -> proper# X2, proper# U91(X1, X2) -> proper# X1)
    (proper# U13(X1, X2, X3) -> proper# X2, proper# U91(X1, X2) -> proper# X2)
    (proper# U12(X1, X2, X3) -> proper# X2, proper# U102(X1, X2, X3) -> U102#(proper X1, proper X2, proper X3))
    (proper# U12(X1, X2, X3) -> proper# X2, proper# U102(X1, X2, X3) -> proper# X1)
    (proper# U12(X1, X2, X3) -> proper# X2, proper# U102(X1, X2, X3) -> proper# X2)
    (proper# U12(X1, X2, X3) -> proper# X2, proper# U102(X1, X2, X3) -> proper# X3)
    (proper# U12(X1, X2, X3) -> proper# X2, proper# isNatKind X -> isNatKind# proper X)
    (proper# U12(X1, X2, X3) -> proper# X2, proper# isNatKind X -> proper# X)
    (proper# U12(X1, X2, X3) -> proper# X2, proper# U101(X1, X2, X3) -> U101#(proper X1, proper X2, proper X3))
    (proper# U12(X1, X2, X3) -> proper# X2, proper# U101(X1, X2, X3) -> proper# X1)
    (proper# U12(X1, X2, X3) -> proper# X2, proper# U101(X1, X2, X3) -> proper# X2)
    (proper# U12(X1, X2, X3) -> proper# X2, proper# U101(X1, X2, X3) -> proper# X3)
    (proper# U12(X1, X2, X3) -> proper# X2, proper# U103(X1, X2, X3) -> U103#(proper X1, proper X2, proper X3))
    (proper# U12(X1, X2, X3) -> proper# X2, proper# U103(X1, X2, X3) -> proper# X1)
    (proper# U12(X1, X2, X3) -> proper# X2, proper# U103(X1, X2, X3) -> proper# X2)
    (proper# U12(X1, X2, X3) -> proper# X2, proper# U103(X1, X2, X3) -> proper# X3)
    (proper# U12(X1, X2, X3) -> proper# X2, proper# isNat X -> isNat# proper X)
    (proper# U12(X1, X2, X3) -> proper# X2, proper# isNat X -> proper# X)
    (proper# U12(X1, X2, X3) -> proper# X2, proper# U104(X1, X2, X3) -> U104#(proper X1, proper X2, proper X3))
    (proper# U12(X1, X2, X3) -> proper# X2, proper# U104(X1, X2, X3) -> proper# X1)
    (proper# U12(X1, X2, X3) -> proper# X2, proper# U104(X1, X2, X3) -> proper# X2)
    (proper# U12(X1, X2, X3) -> proper# X2, proper# U104(X1, X2, X3) -> proper# X3)
    (proper# U12(X1, X2, X3) -> proper# X2, proper# plus(X1, X2) -> plus#(proper X1, proper X2))
    (proper# U12(X1, X2, X3) -> proper# X2, proper# plus(X1, X2) -> proper# X1)
    (proper# U12(X1, X2, X3) -> proper# X2, proper# plus(X1, X2) -> proper# X2)
    (proper# U12(X1, X2, X3) -> proper# X2, proper# x(X1, X2) -> x#(proper X1, proper X2))
    (proper# U12(X1, X2, X3) -> proper# X2, proper# x(X1, X2) -> proper# X1)
    (proper# U12(X1, X2, X3) -> proper# X2, proper# x(X1, X2) -> proper# X2)
    (proper# U12(X1, X2, X3) -> proper# X2, proper# U12(X1, X2, X3) -> U12#(proper X1, proper X2, proper X3))
    (proper# U12(X1, X2, X3) -> proper# X2, proper# U12(X1, X2, X3) -> proper# X1)
    (proper# U12(X1, X2, X3) -> proper# X2, proper# U12(X1, X2, X3) -> proper# X2)
    (proper# U12(X1, X2, X3) -> proper# X2, proper# U12(X1, X2, X3) -> proper# X3)
    (proper# U12(X1, X2, X3) -> proper# X2, proper# U11(X1, X2, X3) -> U11#(proper X1, proper X2, proper X3))
    (proper# U12(X1, X2, X3) -> proper# X2, proper# U11(X1, X2, X3) -> proper# X1)
    (proper# U12(X1, X2, X3) -> proper# X2, proper# U11(X1, X2, X3) -> proper# X2)
    (proper# U12(X1, X2, X3) -> proper# X2, proper# U11(X1, X2, X3) -> proper# X3)
    (proper# U12(X1, X2, X3) -> proper# X2, proper# U13(X1, X2, X3) -> U13#(proper X1, proper X2, proper X3))
    (proper# U12(X1, X2, X3) -> proper# X2, proper# U13(X1, X2, X3) -> proper# X1)
    (proper# U12(X1, X2, X3) -> proper# X2, proper# U13(X1, X2, X3) -> proper# X2)
    (proper# U12(X1, X2, X3) -> proper# X2, proper# U13(X1, X2, X3) -> proper# X3)
    (proper# U12(X1, X2, X3) -> proper# X2, proper# U14(X1, X2, X3) -> U14#(proper X1, proper X2, proper X3))
    (proper# U12(X1, X2, X3) -> proper# X2, proper# U14(X1, X2, X3) -> proper# X1)
    (proper# U12(X1, X2, X3) -> proper# X2, proper# U14(X1, X2, X3) -> proper# X2)
    (proper# U12(X1, X2, X3) -> proper# X2, proper# U14(X1, X2, X3) -> proper# X3)
    (proper# U12(X1, X2, X3) -> proper# X2, proper# U15(X1, X2) -> U15#(proper X1, proper X2))
    (proper# U12(X1, X2, X3) -> proper# X2, proper# U15(X1, X2) -> proper# X1)
    (proper# U12(X1, X2, X3) -> proper# X2, proper# U15(X1, X2) -> proper# X2)
    (proper# U12(X1, X2, X3) -> proper# X2, proper# U16 X -> U16# proper X)
    (proper# U12(X1, X2, X3) -> proper# X2, proper# U16 X -> proper# X)
    (proper# U12(X1, X2, X3) -> proper# X2, proper# U22(X1, X2) -> U22#(proper X1, proper X2))
    (proper# U12(X1, X2, X3) -> proper# X2, proper# U22(X1, X2) -> proper# X1)
    (proper# U12(X1, X2, X3) -> proper# X2, proper# U22(X1, X2) -> proper# X2)
    (proper# U12(X1, X2, X3) -> proper# X2, proper# U21(X1, X2) -> U21#(proper X1, proper X2))
    (proper# U12(X1, X2, X3) -> proper# X2, proper# U21(X1, X2) -> proper# X1)
    (proper# U12(X1, X2, X3) -> proper# X2, proper# U21(X1, X2) -> proper# X2)
    (proper# U12(X1, X2, X3) -> proper# X2, proper# U23 X -> U23# proper X)
    (proper# U12(X1, X2, X3) -> proper# X2, proper# U23 X -> proper# X)
    (proper# U12(X1, X2, X3) -> proper# X2, proper# U32(X1, X2, X3) -> U32#(proper X1, proper X2, proper X3))
    (proper# U12(X1, X2, X3) -> proper# X2, proper# U32(X1, X2, X3) -> proper# X1)
    (proper# U12(X1, X2, X3) -> proper# X2, proper# U32(X1, X2, X3) -> proper# X2)
    (proper# U12(X1, X2, X3) -> proper# X2, proper# U32(X1, X2, X3) -> proper# X3)
    (proper# U12(X1, X2, X3) -> proper# X2, proper# U31(X1, X2, X3) -> U31#(proper X1, proper X2, proper X3))
    (proper# U12(X1, X2, X3) -> proper# X2, proper# U31(X1, X2, X3) -> proper# X1)
    (proper# U12(X1, X2, X3) -> proper# X2, proper# U31(X1, X2, X3) -> proper# X2)
    (proper# U12(X1, X2, X3) -> proper# X2, proper# U31(X1, X2, X3) -> proper# X3)
    (proper# U12(X1, X2, X3) -> proper# X2, proper# U33(X1, X2, X3) -> U33#(proper X1, proper X2, proper X3))
    (proper# U12(X1, X2, X3) -> proper# X2, proper# U33(X1, X2, X3) -> proper# X1)
    (proper# U12(X1, X2, X3) -> proper# X2, proper# U33(X1, X2, X3) -> proper# X2)
    (proper# U12(X1, X2, X3) -> proper# X2, proper# U33(X1, X2, X3) -> proper# X3)
    (proper# U12(X1, X2, X3) -> proper# X2, proper# U34(X1, X2, X3) -> U34#(proper X1, proper X2, proper X3))
    (proper# U12(X1, X2, X3) -> proper# X2, proper# U34(X1, X2, X3) -> proper# X1)
    (proper# U12(X1, X2, X3) -> proper# X2, proper# U34(X1, X2, X3) -> proper# X2)
    (proper# U12(X1, X2, X3) -> proper# X2, proper# U34(X1, X2, X3) -> proper# X3)
    (proper# U12(X1, X2, X3) -> proper# X2, proper# U35(X1, X2) -> U35#(proper X1, proper X2))
    (proper# U12(X1, X2, X3) -> proper# X2, proper# U35(X1, X2) -> proper# X1)
    (proper# U12(X1, X2, X3) -> proper# X2, proper# U35(X1, X2) -> proper# X2)
    (proper# U12(X1, X2, X3) -> proper# X2, proper# U36 X -> U36# proper X)
    (proper# U12(X1, X2, X3) -> proper# X2, proper# U36 X -> proper# X)
    (proper# U12(X1, X2, X3) -> proper# X2, proper# U42 X -> U42# proper X)
    (proper# U12(X1, X2, X3) -> proper# X2, proper# U42 X -> proper# X)
    (proper# U12(X1, X2, X3) -> proper# X2, proper# U41(X1, X2) -> U41#(proper X1, proper X2))
    (proper# U12(X1, X2, X3) -> proper# X2, proper# U41(X1, X2) -> proper# X1)
    (proper# U12(X1, X2, X3) -> proper# X2, proper# U41(X1, X2) -> proper# X2)
    (proper# U12(X1, X2, X3) -> proper# X2, proper# U51 X -> U51# proper X)
    (proper# U12(X1, X2, X3) -> proper# X2, proper# U51 X -> proper# X)
    (proper# U12(X1, X2, X3) -> proper# X2, proper# U62 X -> U62# proper X)
    (proper# U12(X1, X2, X3) -> proper# X2, proper# U62 X -> proper# X)
    (proper# U12(X1, X2, X3) -> proper# X2, proper# U61(X1, X2) -> U61#(proper X1, proper X2))
    (proper# U12(X1, X2, X3) -> proper# X2, proper# U61(X1, X2) -> proper# X1)
    (proper# U12(X1, X2, X3) -> proper# X2, proper# U61(X1, X2) -> proper# X2)
    (proper# U12(X1, X2, X3) -> proper# X2, proper# U72(X1, X2) -> U72#(proper X1, proper X2))
    (proper# U12(X1, X2, X3) -> proper# X2, proper# U72(X1, X2) -> proper# X1)
    (proper# U12(X1, X2, X3) -> proper# X2, proper# U72(X1, X2) -> proper# X2)
    (proper# U12(X1, X2, X3) -> proper# X2, proper# U71(X1, X2) -> U71#(proper X1, proper X2))
    (proper# U12(X1, X2, X3) -> proper# X2, proper# U71(X1, X2) -> proper# X1)
    (proper# U12(X1, X2, X3) -> proper# X2, proper# U71(X1, X2) -> proper# X2)
    (proper# U12(X1, X2, X3) -> proper# X2, proper# U82(X1, X2, X3) -> U82#(proper X1, proper X2, proper X3))
    (proper# U12(X1, X2, X3) -> proper# X2, proper# U82(X1, X2, X3) -> proper# X1)
    (proper# U12(X1, X2, X3) -> proper# X2, proper# U82(X1, X2, X3) -> proper# X2)
    (proper# U12(X1, X2, X3) -> proper# X2, proper# U82(X1, X2, X3) -> proper# X3)
    (proper# U12(X1, X2, X3) -> proper# X2, proper# U81(X1, X2, X3) -> U81#(proper X1, proper X2, proper X3))
    (proper# U12(X1, X2, X3) -> proper# X2, proper# U81(X1, X2, X3) -> proper# X1)
    (proper# U12(X1, X2, X3) -> proper# X2, proper# U81(X1, X2, X3) -> proper# X2)
    (proper# U12(X1, X2, X3) -> proper# X2, proper# U81(X1, X2, X3) -> proper# X3)
    (proper# U12(X1, X2, X3) -> proper# X2, proper# U83(X1, X2, X3) -> U83#(proper X1, proper X2, proper X3))
    (proper# U12(X1, X2, X3) -> proper# X2, proper# U83(X1, X2, X3) -> proper# X1)
    (proper# U12(X1, X2, X3) -> proper# X2, proper# U83(X1, X2, X3) -> proper# X2)
    (proper# U12(X1, X2, X3) -> proper# X2, proper# U83(X1, X2, X3) -> proper# X3)
    (proper# U12(X1, X2, X3) -> proper# X2, proper# U84(X1, X2, X3) -> U84#(proper X1, proper X2, proper X3))
    (proper# U12(X1, X2, X3) -> proper# X2, proper# U84(X1, X2, X3) -> proper# X1)
    (proper# U12(X1, X2, X3) -> proper# X2, proper# U84(X1, X2, X3) -> proper# X2)
    (proper# U12(X1, X2, X3) -> proper# X2, proper# U84(X1, X2, X3) -> proper# X3)
    (proper# U12(X1, X2, X3) -> proper# X2, proper# s X -> s# proper X)
    (proper# U12(X1, X2, X3) -> proper# X2, proper# s X -> proper# X)
    (proper# U12(X1, X2, X3) -> proper# X2, proper# U92 X -> U92# proper X)
    (proper# U12(X1, X2, X3) -> proper# X2, proper# U92 X -> proper# X)
    (proper# U12(X1, X2, X3) -> proper# X2, proper# U91(X1, X2) -> U91#(proper X1, proper X2))
    (proper# U12(X1, X2, X3) -> proper# X2, proper# U91(X1, X2) -> proper# X1)
    (proper# U12(X1, X2, X3) -> proper# X2, proper# U91(X1, X2) -> proper# X2)
    (proper# plus(X1, X2) -> proper# X2, proper# U102(X1, X2, X3) -> U102#(proper X1, proper X2, proper X3))
    (proper# plus(X1, X2) -> proper# X2, proper# U102(X1, X2, X3) -> proper# X1)
    (proper# plus(X1, X2) -> proper# X2, proper# U102(X1, X2, X3) -> proper# X2)
    (proper# plus(X1, X2) -> proper# X2, proper# U102(X1, X2, X3) -> proper# X3)
    (proper# plus(X1, X2) -> proper# X2, proper# isNatKind X -> isNatKind# proper X)
    (proper# plus(X1, X2) -> proper# X2, proper# isNatKind X -> proper# X)
    (proper# plus(X1, X2) -> proper# X2, proper# U101(X1, X2, X3) -> U101#(proper X1, proper X2, proper X3))
    (proper# plus(X1, X2) -> proper# X2, proper# U101(X1, X2, X3) -> proper# X1)
    (proper# plus(X1, X2) -> proper# X2, proper# U101(X1, X2, X3) -> proper# X2)
    (proper# plus(X1, X2) -> proper# X2, proper# U101(X1, X2, X3) -> proper# X3)
    (proper# plus(X1, X2) -> proper# X2, proper# U103(X1, X2, X3) -> U103#(proper X1, proper X2, proper X3))
    (proper# plus(X1, X2) -> proper# X2, proper# U103(X1, X2, X3) -> proper# X1)
    (proper# plus(X1, X2) -> proper# X2, proper# U103(X1, X2, X3) -> proper# X2)
    (proper# plus(X1, X2) -> proper# X2, proper# U103(X1, X2, X3) -> proper# X3)
    (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# U104(X1, X2, X3) -> U104#(proper X1, proper X2, proper X3))
    (proper# plus(X1, X2) -> proper# X2, proper# U104(X1, X2, X3) -> proper# X1)
    (proper# plus(X1, X2) -> proper# X2, proper# U104(X1, X2, X3) -> proper# X2)
    (proper# plus(X1, X2) -> proper# X2, proper# U104(X1, X2, X3) -> proper# X3)
    (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# 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# U12(X1, X2, X3) -> U12#(proper X1, proper X2, proper X3))
    (proper# plus(X1, X2) -> proper# X2, proper# U12(X1, X2, X3) -> proper# X1)
    (proper# plus(X1, X2) -> proper# X2, proper# U12(X1, X2, X3) -> proper# X2)
    (proper# plus(X1, X2) -> proper# X2, proper# U12(X1, X2, X3) -> proper# X3)
    (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(X1, X2, X3) -> U13#(proper X1, proper X2, proper X3))
    (proper# plus(X1, X2) -> proper# X2, proper# U13(X1, X2, X3) -> proper# X1)
    (proper# plus(X1, X2) -> proper# X2, proper# U13(X1, X2, X3) -> proper# X2)
    (proper# plus(X1, X2) -> proper# X2, proper# U13(X1, X2, X3) -> proper# X3)
    (proper# plus(X1, X2) -> proper# X2, proper# U14(X1, X2, X3) -> U14#(proper X1, proper X2, proper X3))
    (proper# plus(X1, X2) -> proper# X2, proper# U14(X1, X2, X3) -> proper# X1)
    (proper# plus(X1, X2) -> proper# X2, proper# U14(X1, X2, X3) -> proper# X2)
    (proper# plus(X1, X2) -> proper# X2, proper# U14(X1, X2, X3) -> proper# X3)
    (proper# plus(X1, X2) -> proper# X2, proper# U15(X1, X2) -> U15#(proper X1, proper X2))
    (proper# plus(X1, X2) -> proper# X2, proper# U15(X1, X2) -> proper# X1)
    (proper# plus(X1, X2) -> proper# X2, proper# U15(X1, X2) -> proper# X2)
    (proper# plus(X1, X2) -> proper# X2, proper# U16 X -> U16# proper X)
    (proper# plus(X1, X2) -> proper# X2, proper# U16 X -> proper# X)
    (proper# plus(X1, X2) -> proper# X2, proper# U22(X1, X2) -> U22#(proper X1, proper X2))
    (proper# plus(X1, X2) -> proper# X2, proper# U22(X1, X2) -> proper# X1)
    (proper# plus(X1, X2) -> proper# X2, proper# U22(X1, X2) -> proper# X2)
    (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# U23 X -> U23# proper X)
    (proper# plus(X1, X2) -> proper# X2, proper# U23 X -> proper# X)
    (proper# plus(X1, X2) -> proper# X2, proper# U32(X1, X2, X3) -> U32#(proper X1, proper X2, proper X3))
    (proper# plus(X1, X2) -> proper# X2, proper# U32(X1, X2, X3) -> proper# X1)
    (proper# plus(X1, X2) -> proper# X2, proper# U32(X1, X2, X3) -> proper# X2)
    (proper# plus(X1, X2) -> proper# X2, proper# U32(X1, X2, X3) -> proper# X3)
    (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(X1, X2, X3) -> U33#(proper X1, proper X2, proper X3))
    (proper# plus(X1, X2) -> proper# X2, proper# U33(X1, X2, X3) -> proper# X1)
    (proper# plus(X1, X2) -> proper# X2, proper# U33(X1, X2, X3) -> proper# X2)
    (proper# plus(X1, X2) -> proper# X2, proper# U33(X1, X2, X3) -> proper# X3)
    (proper# plus(X1, X2) -> proper# X2, proper# U34(X1, X2, X3) -> U34#(proper X1, proper X2, proper X3))
    (proper# plus(X1, X2) -> proper# X2, proper# U34(X1, X2, X3) -> proper# X1)
    (proper# plus(X1, X2) -> proper# X2, proper# U34(X1, X2, X3) -> proper# X2)
    (proper# plus(X1, X2) -> proper# X2, proper# U34(X1, X2, X3) -> proper# X3)
    (proper# plus(X1, X2) -> proper# X2, proper# U35(X1, X2) -> U35#(proper X1, proper X2))
    (proper# plus(X1, X2) -> proper# X2, proper# U35(X1, X2) -> proper# X1)
    (proper# plus(X1, X2) -> proper# X2, proper# U35(X1, X2) -> proper# X2)
    (proper# plus(X1, X2) -> proper# X2, proper# U36 X -> U36# proper X)
    (proper# plus(X1, X2) -> proper# X2, proper# U36 X -> proper# X)
    (proper# plus(X1, X2) -> proper# X2, proper# U42 X -> U42# proper X)
    (proper# plus(X1, X2) -> proper# X2, proper# U42 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# U51 X -> U51# proper X)
    (proper# plus(X1, X2) -> proper# X2, proper# U51 X -> proper# X)
    (proper# plus(X1, X2) -> proper# X2, proper# U62 X -> U62# proper X)
    (proper# plus(X1, X2) -> proper# X2, proper# U62 X -> proper# X)
    (proper# plus(X1, X2) -> proper# X2, proper# U61(X1, X2) -> U61#(proper X1, proper X2))
    (proper# plus(X1, X2) -> proper# X2, proper# U61(X1, X2) -> proper# X1)
    (proper# plus(X1, X2) -> proper# X2, proper# U61(X1, X2) -> proper# X2)
    (proper# plus(X1, X2) -> proper# X2, proper# U72(X1, X2) -> U72#(proper X1, proper X2))
    (proper# plus(X1, X2) -> proper# X2, proper# U72(X1, X2) -> proper# X1)
    (proper# plus(X1, X2) -> proper# X2, proper# U72(X1, X2) -> proper# X2)
    (proper# plus(X1, X2) -> proper# X2, proper# U71(X1, X2) -> U71#(proper X1, proper X2))
    (proper# plus(X1, X2) -> proper# X2, proper# U71(X1, X2) -> proper# X1)
    (proper# plus(X1, X2) -> proper# X2, proper# U71(X1, X2) -> proper# X2)
    (proper# plus(X1, X2) -> proper# X2, proper# U82(X1, X2, X3) -> U82#(proper X1, proper X2, proper X3))
    (proper# plus(X1, X2) -> proper# X2, proper# U82(X1, X2, X3) -> proper# X1)
    (proper# plus(X1, X2) -> proper# X2, proper# U82(X1, X2, X3) -> proper# X2)
    (proper# plus(X1, X2) -> proper# X2, proper# U82(X1, X2, X3) -> proper# X3)
    (proper# plus(X1, X2) -> proper# X2, proper# U81(X1, X2, X3) -> U81#(proper X1, proper X2, proper X3))
    (proper# plus(X1, X2) -> proper# X2, proper# U81(X1, X2, X3) -> proper# X1)
    (proper# plus(X1, X2) -> proper# X2, proper# U81(X1, X2, X3) -> proper# X2)
    (proper# plus(X1, X2) -> proper# X2, proper# U81(X1, X2, X3) -> proper# X3)
    (proper# plus(X1, X2) -> proper# X2, proper# U83(X1, X2, X3) -> U83#(proper X1, proper X2, proper X3))
    (proper# plus(X1, X2) -> proper# X2, proper# U83(X1, X2, X3) -> proper# X1)
    (proper# plus(X1, X2) -> proper# X2, proper# U83(X1, X2, X3) -> proper# X2)
    (proper# plus(X1, X2) -> proper# X2, proper# U83(X1, X2, X3) -> proper# X3)
    (proper# plus(X1, X2) -> proper# X2, proper# U84(X1, X2, X3) -> U84#(proper X1, proper X2, proper X3))
    (proper# plus(X1, X2) -> proper# X2, proper# U84(X1, X2, X3) -> proper# X1)
    (proper# plus(X1, X2) -> proper# X2, proper# U84(X1, X2, X3) -> proper# X2)
    (proper# plus(X1, X2) -> proper# X2, proper# U84(X1, X2, X3) -> proper# X3)
    (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# U92 X -> U92# proper X)
    (proper# plus(X1, X2) -> proper# X2, proper# U92 X -> proper# X)
    (proper# plus(X1, X2) -> proper# X2, proper# U91(X1, X2) -> U91#(proper X1, proper X2))
    (proper# plus(X1, X2) -> proper# X2, proper# U91(X1, X2) -> proper# X1)
    (proper# plus(X1, X2) -> proper# X2, proper# U91(X1, X2) -> proper# X2)
    (proper# U103(X1, X2, X3) -> proper# X2, proper# U102(X1, X2, X3) -> U102#(proper X1, proper X2, proper X3))
    (proper# U103(X1, X2, X3) -> proper# X2, proper# U102(X1, X2, X3) -> proper# X1)
    (proper# U103(X1, X2, X3) -> proper# X2, proper# U102(X1, X2, X3) -> proper# X2)
    (proper# U103(X1, X2, X3) -> proper# X2, proper# U102(X1, X2, X3) -> proper# X3)
    (proper# U103(X1, X2, X3) -> proper# X2, proper# isNatKind X -> isNatKind# proper X)
    (proper# U103(X1, X2, X3) -> proper# X2, proper# isNatKind X -> proper# X)
    (proper# U103(X1, X2, X3) -> proper# X2, proper# U101(X1, X2, X3) -> U101#(proper X1, proper X2, proper X3))
    (proper# U103(X1, X2, X3) -> proper# X2, proper# U101(X1, X2, X3) -> proper# X1)
    (proper# U103(X1, X2, X3) -> proper# X2, proper# U101(X1, X2, X3) -> proper# X2)
    (proper# U103(X1, X2, X3) -> proper# X2, proper# U101(X1, X2, X3) -> proper# X3)
    (proper# U103(X1, X2, X3) -> proper# X2, proper# U103(X1, X2, X3) -> U103#(proper X1, proper X2, proper X3))
    (proper# U103(X1, X2, X3) -> proper# X2, proper# U103(X1, X2, X3) -> proper# X1)
    (proper# U103(X1, X2, X3) -> proper# X2, proper# U103(X1, X2, X3) -> proper# X2)
    (proper# U103(X1, X2, X3) -> proper# X2, proper# U103(X1, X2, X3) -> proper# X3)
    (proper# U103(X1, X2, X3) -> proper# X2, proper# isNat X -> isNat# proper X)
    (proper# U103(X1, X2, X3) -> proper# X2, proper# isNat X -> proper# X)
    (proper# U103(X1, X2, X3) -> proper# X2, proper# U104(X1, X2, X3) -> U104#(proper X1, proper X2, proper X3))
    (proper# U103(X1, X2, X3) -> proper# X2, proper# U104(X1, X2, X3) -> proper# X1)
    (proper# U103(X1, X2, X3) -> proper# X2, proper# U104(X1, X2, X3) -> proper# X2)
    (proper# U103(X1, X2, X3) -> proper# X2, proper# U104(X1, X2, X3) -> proper# X3)
    (proper# U103(X1, X2, X3) -> proper# X2, proper# plus(X1, X2) -> plus#(proper X1, proper X2))
    (proper# U103(X1, X2, X3) -> proper# X2, proper# plus(X1, X2) -> proper# X1)
    (proper# U103(X1, X2, X3) -> proper# X2, proper# plus(X1, X2) -> proper# X2)
    (proper# U103(X1, X2, X3) -> proper# X2, proper# x(X1, X2) -> x#(proper X1, proper X2))
    (proper# U103(X1, X2, X3) -> proper# X2, proper# x(X1, X2) -> proper# X1)
    (proper# U103(X1, X2, X3) -> proper# X2, proper# x(X1, X2) -> proper# X2)
    (proper# U103(X1, X2, X3) -> proper# X2, proper# U12(X1, X2, X3) -> U12#(proper X1, proper X2, proper X3))
    (proper# U103(X1, X2, X3) -> proper# X2, proper# U12(X1, X2, X3) -> proper# X1)
    (proper# U103(X1, X2, X3) -> proper# X2, proper# U12(X1, X2, X3) -> proper# X2)
    (proper# U103(X1, X2, X3) -> proper# X2, proper# U12(X1, X2, X3) -> proper# X3)
    (proper# U103(X1, X2, X3) -> proper# X2, proper# U11(X1, X2, X3) -> U11#(proper X1, proper X2, proper X3))
    (proper# U103(X1, X2, X3) -> proper# X2, proper# U11(X1, X2, X3) -> proper# X1)
    (proper# U103(X1, X2, X3) -> proper# X2, proper# U11(X1, X2, X3) -> proper# X2)
    (proper# U103(X1, X2, X3) -> proper# X2, proper# U11(X1, X2, X3) -> proper# X3)
    (proper# U103(X1, X2, X3) -> proper# X2, proper# U13(X1, X2, X3) -> U13#(proper X1, proper X2, proper X3))
    (proper# U103(X1, X2, X3) -> proper# X2, proper# U13(X1, X2, X3) -> proper# X1)
    (proper# U103(X1, X2, X3) -> proper# X2, proper# U13(X1, X2, X3) -> proper# X2)
    (proper# U103(X1, X2, X3) -> proper# X2, proper# U13(X1, X2, X3) -> proper# X3)
    (proper# U103(X1, X2, X3) -> proper# X2, proper# U14(X1, X2, X3) -> U14#(proper X1, proper X2, proper X3))
    (proper# U103(X1, X2, X3) -> proper# X2, proper# U14(X1, X2, X3) -> proper# X1)
    (proper# U103(X1, X2, X3) -> proper# X2, proper# U14(X1, X2, X3) -> proper# X2)
    (proper# U103(X1, X2, X3) -> proper# X2, proper# U14(X1, X2, X3) -> proper# X3)
    (proper# U103(X1, X2, X3) -> proper# X2, proper# U15(X1, X2) -> U15#(proper X1, proper X2))
    (proper# U103(X1, X2, X3) -> proper# X2, proper# U15(X1, X2) -> proper# X1)
    (proper# U103(X1, X2, X3) -> proper# X2, proper# U15(X1, X2) -> proper# X2)
    (proper# U103(X1, X2, X3) -> proper# X2, proper# U16 X -> U16# proper X)
    (proper# U103(X1, X2, X3) -> proper# X2, proper# U16 X -> proper# X)
    (proper# U103(X1, X2, X3) -> proper# X2, proper# U22(X1, X2) -> U22#(proper X1, proper X2))
    (proper# U103(X1, X2, X3) -> proper# X2, proper# U22(X1, X2) -> proper# X1)
    (proper# U103(X1, X2, X3) -> proper# X2, proper# U22(X1, X2) -> proper# X2)
    (proper# U103(X1, X2, X3) -> proper# X2, proper# U21(X1, X2) -> U21#(proper X1, proper X2))
    (proper# U103(X1, X2, X3) -> proper# X2, proper# U21(X1, X2) -> proper# X1)
    (proper# U103(X1, X2, X3) -> proper# X2, proper# U21(X1, X2) -> proper# X2)
    (proper# U103(X1, X2, X3) -> proper# X2, proper# U23 X -> U23# proper X)
    (proper# U103(X1, X2, X3) -> proper# X2, proper# U23 X -> proper# X)
    (proper# U103(X1, X2, X3) -> proper# X2, proper# U32(X1, X2, X3) -> U32#(proper X1, proper X2, proper X3))
    (proper# U103(X1, X2, X3) -> proper# X2, proper# U32(X1, X2, X3) -> proper# X1)
    (proper# U103(X1, X2, X3) -> proper# X2, proper# U32(X1, X2, X3) -> proper# X2)
    (proper# U103(X1, X2, X3) -> proper# X2, proper# U32(X1, X2, X3) -> proper# X3)
    (proper# U103(X1, X2, X3) -> proper# X2, proper# U31(X1, X2, X3) -> U31#(proper X1, proper X2, proper X3))
    (proper# U103(X1, X2, X3) -> proper# X2, proper# U31(X1, X2, X3) -> proper# X1)
    (proper# U103(X1, X2, X3) -> proper# X2, proper# U31(X1, X2, X3) -> proper# X2)
    (proper# U103(X1, X2, X3) -> proper# X2, proper# U31(X1, X2, X3) -> proper# X3)
    (proper# U103(X1, X2, X3) -> proper# X2, proper# U33(X1, X2, X3) -> U33#(proper X1, proper X2, proper X3))
    (proper# U103(X1, X2, X3) -> proper# X2, proper# U33(X1, X2, X3) -> proper# X1)
    (proper# U103(X1, X2, X3) -> proper# X2, proper# U33(X1, X2, X3) -> proper# X2)
    (proper# U103(X1, X2, X3) -> proper# X2, proper# U33(X1, X2, X3) -> proper# X3)
    (proper# U103(X1, X2, X3) -> proper# X2, proper# U34(X1, X2, X3) -> U34#(proper X1, proper X2, proper X3))
    (proper# U103(X1, X2, X3) -> proper# X2, proper# U34(X1, X2, X3) -> proper# X1)
    (proper# U103(X1, X2, X3) -> proper# X2, proper# U34(X1, X2, X3) -> proper# X2)
    (proper# U103(X1, X2, X3) -> proper# X2, proper# U34(X1, X2, X3) -> proper# X3)
    (proper# U103(X1, X2, X3) -> proper# X2, proper# U35(X1, X2) -> U35#(proper X1, proper X2))
    (proper# U103(X1, X2, X3) -> proper# X2, proper# U35(X1, X2) -> proper# X1)
    (proper# U103(X1, X2, X3) -> proper# X2, proper# U35(X1, X2) -> proper# X2)
    (proper# U103(X1, X2, X3) -> proper# X2, proper# U36 X -> U36# proper X)
    (proper# U103(X1, X2, X3) -> proper# X2, proper# U36 X -> proper# X)
    (proper# U103(X1, X2, X3) -> proper# X2, proper# U42 X -> U42# proper X)
    (proper# U103(X1, X2, X3) -> proper# X2, proper# U42 X -> proper# X)
    (proper# U103(X1, X2, X3) -> proper# X2, proper# U41(X1, X2) -> U41#(proper X1, proper X2))
    (proper# U103(X1, X2, X3) -> proper# X2, proper# U41(X1, X2) -> proper# X1)
    (proper# U103(X1, X2, X3) -> proper# X2, proper# U41(X1, X2) -> proper# X2)
    (proper# U103(X1, X2, X3) -> proper# X2, proper# U51 X -> U51# proper X)
    (proper# U103(X1, X2, X3) -> proper# X2, proper# U51 X -> proper# X)
    (proper# U103(X1, X2, X3) -> proper# X2, proper# U62 X -> U62# proper X)
    (proper# U103(X1, X2, X3) -> proper# X2, proper# U62 X -> proper# X)
    (proper# U103(X1, X2, X3) -> proper# X2, proper# U61(X1, X2) -> U61#(proper X1, proper X2))
    (proper# U103(X1, X2, X3) -> proper# X2, proper# U61(X1, X2) -> proper# X1)
    (proper# U103(X1, X2, X3) -> proper# X2, proper# U61(X1, X2) -> proper# X2)
    (proper# U103(X1, X2, X3) -> proper# X2, proper# U72(X1, X2) -> U72#(proper X1, proper X2))
    (proper# U103(X1, X2, X3) -> proper# X2, proper# U72(X1, X2) -> proper# X1)
    (proper# U103(X1, X2, X3) -> proper# X2, proper# U72(X1, X2) -> proper# X2)
    (proper# U103(X1, X2, X3) -> proper# X2, proper# U71(X1, X2) -> U71#(proper X1, proper X2))
    (proper# U103(X1, X2, X3) -> proper# X2, proper# U71(X1, X2) -> proper# X1)
    (proper# U103(X1, X2, X3) -> proper# X2, proper# U71(X1, X2) -> proper# X2)
    (proper# U103(X1, X2, X3) -> proper# X2, proper# U82(X1, X2, X3) -> U82#(proper X1, proper X2, proper X3))
    (proper# U103(X1, X2, X3) -> proper# X2, proper# U82(X1, X2, X3) -> proper# X1)
    (proper# U103(X1, X2, X3) -> proper# X2, proper# U82(X1, X2, X3) -> proper# X2)
    (proper# U103(X1, X2, X3) -> proper# X2, proper# U82(X1, X2, X3) -> proper# X3)
    (proper# U103(X1, X2, X3) -> proper# X2, proper# U81(X1, X2, X3) -> U81#(proper X1, proper X2, proper X3))
    (proper# U103(X1, X2, X3) -> proper# X2, proper# U81(X1, X2, X3) -> proper# X1)
    (proper# U103(X1, X2, X3) -> proper# X2, proper# U81(X1, X2, X3) -> proper# X2)
    (proper# U103(X1, X2, X3) -> proper# X2, proper# U81(X1, X2, X3) -> proper# X3)
    (proper# U103(X1, X2, X3) -> proper# X2, proper# U83(X1, X2, X3) -> U83#(proper X1, proper X2, proper X3))
    (proper# U103(X1, X2, X3) -> proper# X2, proper# U83(X1, X2, X3) -> proper# X1)
    (proper# U103(X1, X2, X3) -> proper# X2, proper# U83(X1, X2, X3) -> proper# X2)
    (proper# U103(X1, X2, X3) -> proper# X2, proper# U83(X1, X2, X3) -> proper# X3)
    (proper# U103(X1, X2, X3) -> proper# X2, proper# U84(X1, X2, X3) -> U84#(proper X1, proper X2, proper X3))
    (proper# U103(X1, X2, X3) -> proper# X2, proper# U84(X1, X2, X3) -> proper# X1)
    (proper# U103(X1, X2, X3) -> proper# X2, proper# U84(X1, X2, X3) -> proper# X2)
    (proper# U103(X1, X2, X3) -> proper# X2, proper# U84(X1, X2, X3) -> proper# X3)
    (proper# U103(X1, X2, X3) -> proper# X2, proper# s X -> s# proper X)
    (proper# U103(X1, X2, X3) -> proper# X2, proper# s X -> proper# X)
    (proper# U103(X1, X2, X3) -> proper# X2, proper# U92 X -> U92# proper X)
    (proper# U103(X1, X2, X3) -> proper# X2, proper# U92 X -> proper# X)
    (proper# U103(X1, X2, X3) -> proper# X2, proper# U91(X1, X2) -> U91#(proper X1, proper X2))
    (proper# U103(X1, X2, X3) -> proper# X2, proper# U91(X1, X2) -> proper# X1)
    (proper# U103(X1, X2, X3) -> proper# X2, proper# U91(X1, X2) -> proper# X2)
    (proper# U102(X1, X2, X3) -> proper# X2, proper# U102(X1, X2, X3) -> U102#(proper X1, proper X2, proper X3))
    (proper# U102(X1, X2, X3) -> proper# X2, proper# U102(X1, X2, X3) -> proper# X1)
    (proper# U102(X1, X2, X3) -> proper# X2, proper# U102(X1, X2, X3) -> proper# X2)
    (proper# U102(X1, X2, X3) -> proper# X2, proper# U102(X1, X2, X3) -> proper# X3)
    (proper# U102(X1, X2, X3) -> proper# X2, proper# isNatKind X -> isNatKind# proper X)
    (proper# U102(X1, X2, X3) -> proper# X2, proper# isNatKind X -> proper# X)
    (proper# U102(X1, X2, X3) -> proper# X2, proper# U101(X1, X2, X3) -> U101#(proper X1, proper X2, proper X3))
    (proper# U102(X1, X2, X3) -> proper# X2, proper# U101(X1, X2, X3) -> proper# X1)
    (proper# U102(X1, X2, X3) -> proper# X2, proper# U101(X1, X2, X3) -> proper# X2)
    (proper# U102(X1, X2, X3) -> proper# X2, proper# U101(X1, X2, X3) -> proper# X3)
    (proper# U102(X1, X2, X3) -> proper# X2, proper# U103(X1, X2, X3) -> U103#(proper X1, proper X2, proper X3))
    (proper# U102(X1, X2, X3) -> proper# X2, proper# U103(X1, X2, X3) -> proper# X1)
    (proper# U102(X1, X2, X3) -> proper# X2, proper# U103(X1, X2, X3) -> proper# X2)
    (proper# U102(X1, X2, X3) -> proper# X2, proper# U103(X1, X2, X3) -> proper# X3)
    (proper# U102(X1, X2, X3) -> proper# X2, proper# isNat X -> isNat# proper X)
    (proper# U102(X1, X2, X3) -> proper# X2, proper# isNat X -> proper# X)
    (proper# U102(X1, X2, X3) -> proper# X2, proper# U104(X1, X2, X3) -> U104#(proper X1, proper X2, proper X3))
    (proper# U102(X1, X2, X3) -> proper# X2, proper# U104(X1, X2, X3) -> proper# X1)
    (proper# U102(X1, X2, X3) -> proper# X2, proper# U104(X1, X2, X3) -> proper# X2)
    (proper# U102(X1, X2, X3) -> proper# X2, proper# U104(X1, X2, X3) -> proper# X3)
    (proper# U102(X1, X2, X3) -> proper# X2, proper# plus(X1, X2) -> plus#(proper X1, proper X2))
    (proper# U102(X1, X2, X3) -> proper# X2, proper# plus(X1, X2) -> proper# X1)
    (proper# U102(X1, X2, X3) -> proper# X2, proper# plus(X1, X2) -> proper# X2)
    (proper# U102(X1, X2, X3) -> proper# X2, proper# x(X1, X2) -> x#(proper X1, proper X2))
    (proper# U102(X1, X2, X3) -> proper# X2, proper# x(X1, X2) -> proper# X1)
    (proper# U102(X1, X2, X3) -> proper# X2, proper# x(X1, X2) -> proper# X2)
    (proper# U102(X1, X2, X3) -> proper# X2, proper# U12(X1, X2, X3) -> U12#(proper X1, proper X2, proper X3))
    (proper# U102(X1, X2, X3) -> proper# X2, proper# U12(X1, X2, X3) -> proper# X1)
    (proper# U102(X1, X2, X3) -> proper# X2, proper# U12(X1, X2, X3) -> proper# X2)
    (proper# U102(X1, X2, X3) -> proper# X2, proper# U12(X1, X2, X3) -> proper# X3)
    (proper# U102(X1, X2, X3) -> proper# X2, proper# U11(X1, X2, X3) -> U11#(proper X1, proper X2, proper X3))
    (proper# U102(X1, X2, X3) -> proper# X2, proper# U11(X1, X2, X3) -> proper# X1)
    (proper# U102(X1, X2, X3) -> proper# X2, proper# U11(X1, X2, X3) -> proper# X2)
    (proper# U102(X1, X2, X3) -> proper# X2, proper# U11(X1, X2, X3) -> proper# X3)
    (proper# U102(X1, X2, X3) -> proper# X2, proper# U13(X1, X2, X3) -> U13#(proper X1, proper X2, proper X3))
    (proper# U102(X1, X2, X3) -> proper# X2, proper# U13(X1, X2, X3) -> proper# X1)
    (proper# U102(X1, X2, X3) -> proper# X2, proper# U13(X1, X2, X3) -> proper# X2)
    (proper# U102(X1, X2, X3) -> proper# X2, proper# U13(X1, X2, X3) -> proper# X3)
    (proper# U102(X1, X2, X3) -> proper# X2, proper# U14(X1, X2, X3) -> U14#(proper X1, proper X2, proper X3))
    (proper# U102(X1, X2, X3) -> proper# X2, proper# U14(X1, X2, X3) -> proper# X1)
    (proper# U102(X1, X2, X3) -> proper# X2, proper# U14(X1, X2, X3) -> proper# X2)
    (proper# U102(X1, X2, X3) -> proper# X2, proper# U14(X1, X2, X3) -> proper# X3)
    (proper# U102(X1, X2, X3) -> proper# X2, proper# U15(X1, X2) -> U15#(proper X1, proper X2))
    (proper# U102(X1, X2, X3) -> proper# X2, proper# U15(X1, X2) -> proper# X1)
    (proper# U102(X1, X2, X3) -> proper# X2, proper# U15(X1, X2) -> proper# X2)
    (proper# U102(X1, X2, X3) -> proper# X2, proper# U16 X -> U16# proper X)
    (proper# U102(X1, X2, X3) -> proper# X2, proper# U16 X -> proper# X)
    (proper# U102(X1, X2, X3) -> proper# X2, proper# U22(X1, X2) -> U22#(proper X1, proper X2))
    (proper# U102(X1, X2, X3) -> proper# X2, proper# U22(X1, X2) -> proper# X1)
    (proper# U102(X1, X2, X3) -> proper# X2, proper# U22(X1, X2) -> proper# X2)
    (proper# U102(X1, X2, X3) -> proper# X2, proper# U21(X1, X2) -> U21#(proper X1, proper X2))
    (proper# U102(X1, X2, X3) -> proper# X2, proper# U21(X1, X2) -> proper# X1)
    (proper# U102(X1, X2, X3) -> proper# X2, proper# U21(X1, X2) -> proper# X2)
    (proper# U102(X1, X2, X3) -> proper# X2, proper# U23 X -> U23# proper X)
    (proper# U102(X1, X2, X3) -> proper# X2, proper# U23 X -> proper# X)
    (proper# U102(X1, X2, X3) -> proper# X2, proper# U32(X1, X2, X3) -> U32#(proper X1, proper X2, proper X3))
    (proper# U102(X1, X2, X3) -> proper# X2, proper# U32(X1, X2, X3) -> proper# X1)
    (proper# U102(X1, X2, X3) -> proper# X2, proper# U32(X1, X2, X3) -> proper# X2)
    (proper# U102(X1, X2, X3) -> proper# X2, proper# U32(X1, X2, X3) -> proper# X3)
    (proper# U102(X1, X2, X3) -> proper# X2, proper# U31(X1, X2, X3) -> U31#(proper X1, proper X2, proper X3))
    (proper# U102(X1, X2, X3) -> proper# X2, proper# U31(X1, X2, X3) -> proper# X1)
    (proper# U102(X1, X2, X3) -> proper# X2, proper# U31(X1, X2, X3) -> proper# X2)
    (proper# U102(X1, X2, X3) -> proper# X2, proper# U31(X1, X2, X3) -> proper# X3)
    (proper# U102(X1, X2, X3) -> proper# X2, proper# U33(X1, X2, X3) -> U33#(proper X1, proper X2, proper X3))
    (proper# U102(X1, X2, X3) -> proper# X2, proper# U33(X1, X2, X3) -> proper# X1)
    (proper# U102(X1, X2, X3) -> proper# X2, proper# U33(X1, X2, X3) -> proper# X2)
    (proper# U102(X1, X2, X3) -> proper# X2, proper# U33(X1, X2, X3) -> proper# X3)
    (proper# U102(X1, X2, X3) -> proper# X2, proper# U34(X1, X2, X3) -> U34#(proper X1, proper X2, proper X3))
    (proper# U102(X1, X2, X3) -> proper# X2, proper# U34(X1, X2, X3) -> proper# X1)
    (proper# U102(X1, X2, X3) -> proper# X2, proper# U34(X1, X2, X3) -> proper# X2)
    (proper# U102(X1, X2, X3) -> proper# X2, proper# U34(X1, X2, X3) -> proper# X3)
    (proper# U102(X1, X2, X3) -> proper# X2, proper# U35(X1, X2) -> U35#(proper X1, proper X2))
    (proper# U102(X1, X2, X3) -> proper# X2, proper# U35(X1, X2) -> proper# X1)
    (proper# U102(X1, X2, X3) -> proper# X2, proper# U35(X1, X2) -> proper# X2)
    (proper# U102(X1, X2, X3) -> proper# X2, proper# U36 X -> U36# proper X)
    (proper# U102(X1, X2, X3) -> proper# X2, proper# U36 X -> proper# X)
    (proper# U102(X1, X2, X3) -> proper# X2, proper# U42 X -> U42# proper X)
    (proper# U102(X1, X2, X3) -> proper# X2, proper# U42 X -> proper# X)
    (proper# U102(X1, X2, X3) -> proper# X2, proper# U41(X1, X2) -> U41#(proper X1, proper X2))
    (proper# U102(X1, X2, X3) -> proper# X2, proper# U41(X1, X2) -> proper# X1)
    (proper# U102(X1, X2, X3) -> proper# X2, proper# U41(X1, X2) -> proper# X2)
    (proper# U102(X1, X2, X3) -> proper# X2, proper# U51 X -> U51# proper X)
    (proper# U102(X1, X2, X3) -> proper# X2, proper# U51 X -> proper# X)
    (proper# U102(X1, X2, X3) -> proper# X2, proper# U62 X -> U62# proper X)
    (proper# U102(X1, X2, X3) -> proper# X2, proper# U62 X -> proper# X)
    (proper# U102(X1, X2, X3) -> proper# X2, proper# U61(X1, X2) -> U61#(proper X1, proper X2))
    (proper# U102(X1, X2, X3) -> proper# X2, proper# U61(X1, X2) -> proper# X1)
    (proper# U102(X1, X2, X3) -> proper# X2, proper# U61(X1, X2) -> proper# X2)
    (proper# U102(X1, X2, X3) -> proper# X2, proper# U72(X1, X2) -> U72#(proper X1, proper X2))
    (proper# U102(X1, X2, X3) -> proper# X2, proper# U72(X1, X2) -> proper# X1)
    (proper# U102(X1, X2, X3) -> proper# X2, proper# U72(X1, X2) -> proper# X2)
    (proper# U102(X1, X2, X3) -> proper# X2, proper# U71(X1, X2) -> U71#(proper X1, proper X2))
    (proper# U102(X1, X2, X3) -> proper# X2, proper# U71(X1, X2) -> proper# X1)
    (proper# U102(X1, X2, X3) -> proper# X2, proper# U71(X1, X2) -> proper# X2)
    (proper# U102(X1, X2, X3) -> proper# X2, proper# U82(X1, X2, X3) -> U82#(proper X1, proper X2, proper X3))
    (proper# U102(X1, X2, X3) -> proper# X2, proper# U82(X1, X2, X3) -> proper# X1)
    (proper# U102(X1, X2, X3) -> proper# X2, proper# U82(X1, X2, X3) -> proper# X2)
    (proper# U102(X1, X2, X3) -> proper# X2, proper# U82(X1, X2, X3) -> proper# X3)
    (proper# U102(X1, X2, X3) -> proper# X2, proper# U81(X1, X2, X3) -> U81#(proper X1, proper X2, proper X3))
    (proper# U102(X1, X2, X3) -> proper# X2, proper# U81(X1, X2, X3) -> proper# X1)
    (proper# U102(X1, X2, X3) -> proper# X2, proper# U81(X1, X2, X3) -> proper# X2)
    (proper# U102(X1, X2, X3) -> proper# X2, proper# U81(X1, X2, X3) -> proper# X3)
    (proper# U102(X1, X2, X3) -> proper# X2, proper# U83(X1, X2, X3) -> U83#(proper X1, proper X2, proper X3))
    (proper# U102(X1, X2, X3) -> proper# X2, proper# U83(X1, X2, X3) -> proper# X1)
    (proper# U102(X1, X2, X3) -> proper# X2, proper# U83(X1, X2, X3) -> proper# X2)
    (proper# U102(X1, X2, X3) -> proper# X2, proper# U83(X1, X2, X3) -> proper# X3)
    (proper# U102(X1, X2, X3) -> proper# X2, proper# U84(X1, X2, X3) -> U84#(proper X1, proper X2, proper X3))
    (proper# U102(X1, X2, X3) -> proper# X2, proper# U84(X1, X2, X3) -> proper# X1)
    (proper# U102(X1, X2, X3) -> proper# X2, proper# U84(X1, X2, X3) -> proper# X2)
    (proper# U102(X1, X2, X3) -> proper# X2, proper# U84(X1, X2, X3) -> proper# X3)
    (proper# U102(X1, X2, X3) -> proper# X2, proper# s X -> s# proper X)
    (proper# U102(X1, X2, X3) -> proper# X2, proper# s X -> proper# X)
    (proper# U102(X1, X2, X3) -> proper# X2, proper# U92 X -> U92# proper X)
    (proper# U102(X1, X2, X3) -> proper# X2, proper# U92 X -> proper# X)
    (proper# U102(X1, X2, X3) -> proper# X2, proper# U91(X1, X2) -> U91#(proper X1, proper X2))
    (proper# U102(X1, X2, X3) -> proper# X2, proper# U91(X1, X2) -> proper# X1)
    (proper# U102(X1, X2, X3) -> proper# X2, proper# U91(X1, X2) -> proper# X2)
    (active# plus(X1, X2) -> active# X2, active# U102(X1, X2, X3) -> U102#(active X1, X2, X3))
    (active# plus(X1, X2) -> active# X2, active# U102(X1, X2, X3) -> active# X1)
    (active# plus(X1, X2) -> active# X2, active# U102(tt(), M, N) -> U103#(isNat N, M, N))
    (active# plus(X1, X2) -> active# X2, active# U102(tt(), M, N) -> isNat# N)
    (active# plus(X1, X2) -> active# X2, active# isNatKind plus(V1, V2) -> isNatKind# V1)
    (active# plus(X1, X2) -> active# X2, active# isNatKind plus(V1, V2) -> U41#(isNatKind V1, 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) -> U61#(isNatKind V1, V2))
    (active# plus(X1, X2) -> active# X2, active# isNatKind s V1 -> isNatKind# V1)
    (active# plus(X1, X2) -> active# X2, active# isNatKind s V1 -> U51# isNatKind V1)
    (active# plus(X1, X2) -> active# X2, active# U101(X1, X2, X3) -> active# X1)
    (active# plus(X1, X2) -> active# X2, active# U101(X1, X2, X3) -> U101#(active X1, X2, X3))
    (active# plus(X1, X2) -> active# X2, active# U101(tt(), M, N) -> U102#(isNatKind M, M, N))
    (active# plus(X1, X2) -> active# X2, active# U101(tt(), M, N) -> isNatKind# M)
    (active# plus(X1, X2) -> active# X2, active# U103(X1, X2, X3) -> active# X1)
    (active# plus(X1, X2) -> active# X2, active# U103(X1, X2, X3) -> U103#(active X1, X2, X3))
    (active# plus(X1, X2) -> active# X2, active# U103(tt(), M, N) -> isNatKind# N)
    (active# plus(X1, X2) -> active# X2, active# U103(tt(), M, N) -> U104#(isNatKind N, M, N))
    (active# plus(X1, X2) -> active# X2, active# isNat plus(V1, V2) -> isNatKind# V1)
    (active# plus(X1, X2) -> active# X2, active# isNat plus(V1, V2) -> U11#(isNatKind V1, V1, 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) -> U31#(isNatKind V1, V1, V2))
    (active# plus(X1, X2) -> active# X2, active# isNat s V1 -> isNatKind# V1)
    (active# plus(X1, X2) -> active# X2, active# isNat s V1 -> U21#(isNatKind V1, V1))
    (active# plus(X1, X2) -> active# X2, active# U104(X1, X2, X3) -> active# X1)
    (active# plus(X1, X2) -> active# X2, active# U104(X1, X2, X3) -> U104#(active X1, X2, X3))
    (active# plus(X1, X2) -> active# X2, active# U104(tt(), M, N) -> plus#(x(N, M), N))
    (active# plus(X1, X2) -> active# X2, active# U104(tt(), M, N) -> x#(N, M))
    (active# plus(X1, X2) -> active# X2, active# plus(N, s M) -> isNat# M)
    (active# plus(X1, X2) -> active# X2, active# plus(N, s M) -> U81#(isNat M, M, N))
    (active# plus(X1, X2) -> active# X2, active# plus(N, 0()) -> isNat# N)
    (active# plus(X1, X2) -> active# X2, active# plus(N, 0()) -> U71#(isNat N, 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# x(N, s M) -> U101#(isNat M, M, N))
    (active# plus(X1, X2) -> active# X2, active# x(N, s M) -> isNat# M)
    (active# plus(X1, X2) -> active# X2, active# x(N, 0()) -> isNat# N)
    (active# plus(X1, X2) -> active# X2, active# x(N, 0()) -> U91#(isNat N, 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# U12(X1, X2, X3) -> active# X1)
    (active# plus(X1, X2) -> active# X2, active# U12(X1, X2, X3) -> U12#(active X1, X2, X3))
    (active# plus(X1, X2) -> active# X2, active# U12(tt(), V1, V2) -> isNatKind# V2)
    (active# plus(X1, X2) -> active# X2, active# U12(tt(), V1, V2) -> U13#(isNatKind V2, V1, 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) -> isNatKind# V1)
    (active# plus(X1, X2) -> active# X2, active# U11(tt(), V1, V2) -> U12#(isNatKind V1, V1, V2))
    (active# plus(X1, X2) -> active# X2, active# U13(X1, X2, X3) -> active# X1)
    (active# plus(X1, X2) -> active# X2, active# U13(X1, X2, X3) -> U13#(active X1, X2, X3))
    (active# plus(X1, X2) -> active# X2, active# U13(tt(), V1, V2) -> isNatKind# V2)
    (active# plus(X1, X2) -> active# X2, active# U13(tt(), V1, V2) -> U14#(isNatKind V2, V1, V2))
    (active# plus(X1, X2) -> active# X2, active# U14(X1, X2, X3) -> active# X1)
    (active# plus(X1, X2) -> active# X2, active# U14(X1, X2, X3) -> U14#(active X1, X2, X3))
    (active# plus(X1, X2) -> active# X2, active# U14(tt(), V1, V2) -> isNat# V1)
    (active# plus(X1, X2) -> active# X2, active# U14(tt(), V1, V2) -> U15#(isNat V1, V2))
    (active# plus(X1, X2) -> active# X2, active# U15(X1, X2) -> active# X1)
    (active# plus(X1, X2) -> active# X2, active# U15(X1, X2) -> U15#(active X1, X2))
    (active# plus(X1, X2) -> active# X2, active# U15(tt(), V2) -> isNat# V2)
    (active# plus(X1, X2) -> active# X2, active# U15(tt(), V2) -> U16# isNat V2)
    (active# plus(X1, X2) -> active# X2, active# U16 X -> active# X)
    (active# plus(X1, X2) -> active# X2, active# U16 X -> U16# active X)
    (active# plus(X1, X2) -> active# X2, active# U22(X1, X2) -> active# X1)
    (active# plus(X1, X2) -> active# X2, active# U22(X1, X2) -> U22#(active X1, X2))
    (active# plus(X1, X2) -> active# X2, active# U22(tt(), V1) -> isNat# V1)
    (active# plus(X1, X2) -> active# X2, active# U22(tt(), V1) -> U23# isNat V1)
    (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) -> isNatKind# V1)
    (active# plus(X1, X2) -> active# X2, active# U21(tt(), V1) -> U22#(isNatKind V1, V1))
    (active# plus(X1, X2) -> active# X2, active# U23 X -> active# X)
    (active# plus(X1, X2) -> active# X2, active# U23 X -> U23# active X)
    (active# plus(X1, X2) -> active# X2, active# U32(X1, X2, X3) -> active# X1)
    (active# plus(X1, X2) -> active# X2, active# U32(X1, X2, X3) -> U32#(active X1, X2, X3))
    (active# plus(X1, X2) -> active# X2, active# U32(tt(), V1, V2) -> isNatKind# V2)
    (active# plus(X1, X2) -> active# X2, active# U32(tt(), V1, V2) -> U33#(isNatKind V2, V1, 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) -> isNatKind# V1)
    (active# plus(X1, X2) -> active# X2, active# U31(tt(), V1, V2) -> U32#(isNatKind V1, V1, V2))
    (active# plus(X1, X2) -> active# X2, active# U33(X1, X2, X3) -> active# X1)
    (active# plus(X1, X2) -> active# X2, active# U33(X1, X2, X3) -> U33#(active X1, X2, X3))
    (active# plus(X1, X2) -> active# X2, active# U33(tt(), V1, V2) -> isNatKind# V2)
    (active# plus(X1, X2) -> active# X2, active# U33(tt(), V1, V2) -> U34#(isNatKind V2, V1, V2))
    (active# plus(X1, X2) -> active# X2, active# U34(X1, X2, X3) -> active# X1)
    (active# plus(X1, X2) -> active# X2, active# U34(X1, X2, X3) -> U34#(active X1, X2, X3))
    (active# plus(X1, X2) -> active# X2, active# U34(tt(), V1, V2) -> isNat# V1)
    (active# plus(X1, X2) -> active# X2, active# U34(tt(), V1, V2) -> U35#(isNat V1, V2))
    (active# plus(X1, X2) -> active# X2, active# U35(X1, X2) -> active# X1)
    (active# plus(X1, X2) -> active# X2, active# U35(X1, X2) -> U35#(active X1, X2))
    (active# plus(X1, X2) -> active# X2, active# U35(tt(), V2) -> isNat# V2)
    (active# plus(X1, X2) -> active# X2, active# U35(tt(), V2) -> U36# isNat V2)
    (active# plus(X1, X2) -> active# X2, active# U36 X -> active# X)
    (active# plus(X1, X2) -> active# X2, active# U36 X -> U36# active X)
    (active# plus(X1, X2) -> active# X2, active# U42 X -> active# X)
    (active# plus(X1, X2) -> active# X2, active# U42 X -> U42# 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# U41(tt(), V2) -> isNatKind# V2)
    (active# plus(X1, X2) -> active# X2, active# U41(tt(), V2) -> U42# isNatKind V2)
    (active# plus(X1, X2) -> active# X2, active# U51 X -> active# X)
    (active# plus(X1, X2) -> active# X2, active# U51 X -> U51# active X)
    (active# plus(X1, X2) -> active# X2, active# U62 X -> active# X)
    (active# plus(X1, X2) -> active# X2, active# U62 X -> U62# active X)
    (active# plus(X1, X2) -> active# X2, active# U61(X1, X2) -> active# X1)
    (active# plus(X1, X2) -> active# X2, active# U61(X1, X2) -> U61#(active X1, X2))
    (active# plus(X1, X2) -> active# X2, active# U61(tt(), V2) -> isNatKind# V2)
    (active# plus(X1, X2) -> active# X2, active# U61(tt(), V2) -> U62# isNatKind V2)
    (active# plus(X1, X2) -> active# X2, active# U72(X1, X2) -> active# X1)
    (active# plus(X1, X2) -> active# X2, active# U72(X1, X2) -> U72#(active X1, X2))
    (active# plus(X1, X2) -> active# X2, active# U71(X1, X2) -> active# X1)
    (active# plus(X1, X2) -> active# X2, active# U71(X1, X2) -> U71#(active X1, X2))
    (active# plus(X1, X2) -> active# X2, active# U71(tt(), N) -> isNatKind# N)
    (active# plus(X1, X2) -> active# X2, active# U71(tt(), N) -> U72#(isNatKind N, N))
    (active# plus(X1, X2) -> active# X2, active# U82(X1, X2, X3) -> active# X1)
    (active# plus(X1, X2) -> active# X2, active# U82(X1, X2, X3) -> U82#(active X1, X2, X3))
    (active# plus(X1, X2) -> active# X2, active# U82(tt(), M, N) -> isNat# N)
    (active# plus(X1, X2) -> active# X2, active# U82(tt(), M, N) -> U83#(isNat N, M, N))
    (active# plus(X1, X2) -> active# X2, active# U81(X1, X2, X3) -> active# X1)
    (active# plus(X1, X2) -> active# X2, active# U81(X1, X2, X3) -> U81#(active X1, X2, X3))
    (active# plus(X1, X2) -> active# X2, active# U81(tt(), M, N) -> isNatKind# M)
    (active# plus(X1, X2) -> active# X2, active# U81(tt(), M, N) -> U82#(isNatKind M, M, N))
    (active# plus(X1, X2) -> active# X2, active# U83(X1, X2, X3) -> active# X1)
    (active# plus(X1, X2) -> active# X2, active# U83(X1, X2, X3) -> U83#(active X1, X2, X3))
    (active# plus(X1, X2) -> active# X2, active# U83(tt(), M, N) -> isNatKind# N)
    (active# plus(X1, X2) -> active# X2, active# U83(tt(), M, N) -> U84#(isNatKind N, M, N))
    (active# plus(X1, X2) -> active# X2, active# U84(X1, X2, X3) -> active# X1)
    (active# plus(X1, X2) -> active# X2, active# U84(X1, X2, X3) -> U84#(active X1, X2, X3))
    (active# plus(X1, X2) -> active# X2, active# U84(tt(), M, N) -> plus#(N, M))
    (active# plus(X1, X2) -> active# X2, active# U84(tt(), M, N) -> s# plus(N, M))
    (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# U92 X -> active# X)
    (active# plus(X1, X2) -> active# X2, active# U92 X -> U92# active X)
    (active# plus(X1, X2) -> active# X2, active# U91(X1, X2) -> active# X1)
    (active# plus(X1, X2) -> active# X2, active# U91(X1, X2) -> U91#(active X1, X2))
    (active# plus(X1, X2) -> active# X2, active# U91(tt(), N) -> isNatKind# N)
    (active# plus(X1, X2) -> active# X2, active# U91(tt(), N) -> U92# isNatKind N)
    (active# U21(tt(), V1) -> U22#(isNatKind V1, V1), U22#(ok X1, ok X2) -> U22#(X1, X2))
    (active# U81(tt(), M, N) -> isNatKind# M, isNatKind# ok X -> isNatKind# X)
    (active# plus(N, s M) -> isNat# M, isNat# ok X -> isNat# X)
    (active# U61(tt(), V2) -> isNatKind# V2, isNatKind# ok X -> isNatKind# X)
    (active# U35(tt(), V2) -> isNat# V2, isNat# ok X -> isNat# X)
    (active# U32(tt(), V1, V2) -> isNatKind# V2, isNatKind# ok X -> isNatKind# X)
    (active# U13(tt(), V1, V2) -> isNatKind# V2, isNatKind# ok X -> isNatKind# X)
    (proper# U84(X1, X2, X3) -> proper# X3, proper# U102(X1, X2, X3) -> U102#(proper X1, proper X2, proper X3))
    (proper# U84(X1, X2, X3) -> proper# X3, proper# U102(X1, X2, X3) -> proper# X1)
    (proper# U84(X1, X2, X3) -> proper# X3, proper# U102(X1, X2, X3) -> proper# X2)
    (proper# U84(X1, X2, X3) -> proper# X3, proper# U102(X1, X2, X3) -> proper# X3)
    (proper# U84(X1, X2, X3) -> proper# X3, proper# isNatKind X -> isNatKind# proper X)
    (proper# U84(X1, X2, X3) -> proper# X3, proper# isNatKind X -> proper# X)
    (proper# U84(X1, X2, X3) -> proper# X3, proper# U101(X1, X2, X3) -> U101#(proper X1, proper X2, proper X3))
    (proper# U84(X1, X2, X3) -> proper# X3, proper# U101(X1, X2, X3) -> proper# X1)
    (proper# U84(X1, X2, X3) -> proper# X3, proper# U101(X1, X2, X3) -> proper# X2)
    (proper# U84(X1, X2, X3) -> proper# X3, proper# U101(X1, X2, X3) -> proper# X3)
    (proper# U84(X1, X2, X3) -> proper# X3, proper# U103(X1, X2, X3) -> U103#(proper X1, proper X2, proper X3))
    (proper# U84(X1, X2, X3) -> proper# X3, proper# U103(X1, X2, X3) -> proper# X1)
    (proper# U84(X1, X2, X3) -> proper# X3, proper# U103(X1, X2, X3) -> proper# X2)
    (proper# U84(X1, X2, X3) -> proper# X3, proper# U103(X1, X2, X3) -> proper# X3)
    (proper# U84(X1, X2, X3) -> proper# X3, proper# isNat X -> isNat# proper X)
    (proper# U84(X1, X2, X3) -> proper# X3, proper# isNat X -> proper# X)
    (proper# U84(X1, X2, X3) -> proper# X3, proper# U104(X1, X2, X3) -> U104#(proper X1, proper X2, proper X3))
    (proper# U84(X1, X2, X3) -> proper# X3, proper# U104(X1, X2, X3) -> proper# X1)
    (proper# U84(X1, X2, X3) -> proper# X3, proper# U104(X1, X2, X3) -> proper# X2)
    (proper# U84(X1, X2, X3) -> proper# X3, proper# U104(X1, X2, X3) -> proper# X3)
    (proper# U84(X1, X2, X3) -> proper# X3, proper# plus(X1, X2) -> plus#(proper X1, proper X2))
    (proper# U84(X1, X2, X3) -> proper# X3, proper# plus(X1, X2) -> proper# X1)
    (proper# U84(X1, X2, X3) -> proper# X3, proper# plus(X1, X2) -> proper# X2)
    (proper# U84(X1, X2, X3) -> proper# X3, proper# x(X1, X2) -> x#(proper X1, proper X2))
    (proper# U84(X1, X2, X3) -> proper# X3, proper# x(X1, X2) -> proper# X1)
    (proper# U84(X1, X2, X3) -> proper# X3, proper# x(X1, X2) -> proper# X2)
    (proper# U84(X1, X2, X3) -> proper# X3, proper# U12(X1, X2, X3) -> U12#(proper X1, proper X2, proper X3))
    (proper# U84(X1, X2, X3) -> proper# X3, proper# U12(X1, X2, X3) -> proper# X1)
    (proper# U84(X1, X2, X3) -> proper# X3, proper# U12(X1, X2, X3) -> proper# X2)
    (proper# U84(X1, X2, X3) -> proper# X3, proper# U12(X1, X2, X3) -> proper# X3)
    (proper# U84(X1, X2, X3) -> proper# X3, proper# U11(X1, X2, X3) -> U11#(proper X1, proper X2, proper X3))
    (proper# U84(X1, X2, X3) -> proper# X3, proper# U11(X1, X2, X3) -> proper# X1)
    (proper# U84(X1, X2, X3) -> proper# X3, proper# U11(X1, X2, X3) -> proper# X2)
    (proper# U84(X1, X2, X3) -> proper# X3, proper# U11(X1, X2, X3) -> proper# X3)
    (proper# U84(X1, X2, X3) -> proper# X3, proper# U13(X1, X2, X3) -> U13#(proper X1, proper X2, proper X3))
    (proper# U84(X1, X2, X3) -> proper# X3, proper# U13(X1, X2, X3) -> proper# X1)
    (proper# U84(X1, X2, X3) -> proper# X3, proper# U13(X1, X2, X3) -> proper# X2)
    (proper# U84(X1, X2, X3) -> proper# X3, proper# U13(X1, X2, X3) -> proper# X3)
    (proper# U84(X1, X2, X3) -> proper# X3, proper# U14(X1, X2, X3) -> U14#(proper X1, proper X2, proper X3))
    (proper# U84(X1, X2, X3) -> proper# X3, proper# U14(X1, X2, X3) -> proper# X1)
    (proper# U84(X1, X2, X3) -> proper# X3, proper# U14(X1, X2, X3) -> proper# X2)
    (proper# U84(X1, X2, X3) -> proper# X3, proper# U14(X1, X2, X3) -> proper# X3)
    (proper# U84(X1, X2, X3) -> proper# X3, proper# U15(X1, X2) -> U15#(proper X1, proper X2))
    (proper# U84(X1, X2, X3) -> proper# X3, proper# U15(X1, X2) -> proper# X1)
    (proper# U84(X1, X2, X3) -> proper# X3, proper# U15(X1, X2) -> proper# X2)
    (proper# U84(X1, X2, X3) -> proper# X3, proper# U16 X -> U16# proper X)
    (proper# U84(X1, X2, X3) -> proper# X3, proper# U16 X -> proper# X)
    (proper# U84(X1, X2, X3) -> proper# X3, proper# U22(X1, X2) -> U22#(proper X1, proper X2))
    (proper# U84(X1, X2, X3) -> proper# X3, proper# U22(X1, X2) -> proper# X1)
    (proper# U84(X1, X2, X3) -> proper# X3, proper# U22(X1, X2) -> proper# X2)
    (proper# U84(X1, X2, X3) -> proper# X3, proper# U21(X1, X2) -> U21#(proper X1, proper X2))
    (proper# U84(X1, X2, X3) -> proper# X3, proper# U21(X1, X2) -> proper# X1)
    (proper# U84(X1, X2, X3) -> proper# X3, proper# U21(X1, X2) -> proper# X2)
    (proper# U84(X1, X2, X3) -> proper# X3, proper# U23 X -> U23# proper X)
    (proper# U84(X1, X2, X3) -> proper# X3, proper# U23 X -> proper# X)
    (proper# U84(X1, X2, X3) -> proper# X3, proper# U32(X1, X2, X3) -> U32#(proper X1, proper X2, proper X3))
    (proper# U84(X1, X2, X3) -> proper# X3, proper# U32(X1, X2, X3) -> proper# X1)
    (proper# U84(X1, X2, X3) -> proper# X3, proper# U32(X1, X2, X3) -> proper# X2)
    (proper# U84(X1, X2, X3) -> proper# X3, proper# U32(X1, X2, X3) -> proper# X3)
    (proper# U84(X1, X2, X3) -> proper# X3, proper# U31(X1, X2, X3) -> U31#(proper X1, proper X2, proper X3))
    (proper# U84(X1, X2, X3) -> proper# X3, proper# U31(X1, X2, X3) -> proper# X1)
    (proper# U84(X1, X2, X3) -> proper# X3, proper# U31(X1, X2, X3) -> proper# X2)
    (proper# U84(X1, X2, X3) -> proper# X3, proper# U31(X1, X2, X3) -> proper# X3)
    (proper# U84(X1, X2, X3) -> proper# X3, proper# U33(X1, X2, X3) -> U33#(proper X1, proper X2, proper X3))
    (proper# U84(X1, X2, X3) -> proper# X3, proper# U33(X1, X2, X3) -> proper# X1)
    (proper# U84(X1, X2, X3) -> proper# X3, proper# U33(X1, X2, X3) -> proper# X2)
    (proper# U84(X1, X2, X3) -> proper# X3, proper# U33(X1, X2, X3) -> proper# X3)
    (proper# U84(X1, X2, X3) -> proper# X3, proper# U34(X1, X2, X3) -> U34#(proper X1, proper X2, proper X3))
    (proper# U84(X1, X2, X3) -> proper# X3, proper# U34(X1, X2, X3) -> proper# X1)
    (proper# U84(X1, X2, X3) -> proper# X3, proper# U34(X1, X2, X3) -> proper# X2)
    (proper# U84(X1, X2, X3) -> proper# X3, proper# U34(X1, X2, X3) -> proper# X3)
    (proper# U84(X1, X2, X3) -> proper# X3, proper# U35(X1, X2) -> U35#(proper X1, proper X2))
    (proper# U84(X1, X2, X3) -> proper# X3, proper# U35(X1, X2) -> proper# X1)
    (proper# U84(X1, X2, X3) -> proper# X3, proper# U35(X1, X2) -> proper# X2)
    (proper# U84(X1, X2, X3) -> proper# X3, proper# U36 X -> U36# proper X)
    (proper# U84(X1, X2, X3) -> proper# X3, proper# U36 X -> proper# X)
    (proper# U84(X1, X2, X3) -> proper# X3, proper# U42 X -> U42# proper X)
    (proper# U84(X1, X2, X3) -> proper# X3, proper# U42 X -> proper# X)
    (proper# U84(X1, X2, X3) -> proper# X3, proper# U41(X1, X2) -> U41#(proper X1, proper X2))
    (proper# U84(X1, X2, X3) -> proper# X3, proper# U41(X1, X2) -> proper# X1)
    (proper# U84(X1, X2, X3) -> proper# X3, proper# U41(X1, X2) -> proper# X2)
    (proper# U84(X1, X2, X3) -> proper# X3, proper# U51 X -> U51# proper X)
    (proper# U84(X1, X2, X3) -> proper# X3, proper# U51 X -> proper# X)
    (proper# U84(X1, X2, X3) -> proper# X3, proper# U62 X -> U62# proper X)
    (proper# U84(X1, X2, X3) -> proper# X3, proper# U62 X -> proper# X)
    (proper# U84(X1, X2, X3) -> proper# X3, proper# U61(X1, X2) -> U61#(proper X1, proper X2))
    (proper# U84(X1, X2, X3) -> proper# X3, proper# U61(X1, X2) -> proper# X1)
    (proper# U84(X1, X2, X3) -> proper# X3, proper# U61(X1, X2) -> proper# X2)
    (proper# U84(X1, X2, X3) -> proper# X3, proper# U72(X1, X2) -> U72#(proper X1, proper X2))
    (proper# U84(X1, X2, X3) -> proper# X3, proper# U72(X1, X2) -> proper# X1)
    (proper# U84(X1, X2, X3) -> proper# X3, proper# U72(X1, X2) -> proper# X2)
    (proper# U84(X1, X2, X3) -> proper# X3, proper# U71(X1, X2) -> U71#(proper X1, proper X2))
    (proper# U84(X1, X2, X3) -> proper# X3, proper# U71(X1, X2) -> proper# X1)
    (proper# U84(X1, X2, X3) -> proper# X3, proper# U71(X1, X2) -> proper# X2)
    (proper# U84(X1, X2, X3) -> proper# X3, proper# U82(X1, X2, X3) -> U82#(proper X1, proper X2, proper X3))
    (proper# U84(X1, X2, X3) -> proper# X3, proper# U82(X1, X2, X3) -> proper# X1)
    (proper# U84(X1, X2, X3) -> proper# X3, proper# U82(X1, X2, X3) -> proper# X2)
    (proper# U84(X1, X2, X3) -> proper# X3, proper# U82(X1, X2, X3) -> proper# X3)
    (proper# U84(X1, X2, X3) -> proper# X3, proper# U81(X1, X2, X3) -> U81#(proper X1, proper X2, proper X3))
    (proper# U84(X1, X2, X3) -> proper# X3, proper# U81(X1, X2, X3) -> proper# X1)
    (proper# U84(X1, X2, X3) -> proper# X3, proper# U81(X1, X2, X3) -> proper# X2)
    (proper# U84(X1, X2, X3) -> proper# X3, proper# U81(X1, X2, X3) -> proper# X3)
    (proper# U84(X1, X2, X3) -> proper# X3, proper# U83(X1, X2, X3) -> U83#(proper X1, proper X2, proper X3))
    (proper# U84(X1, X2, X3) -> proper# X3, proper# U83(X1, X2, X3) -> proper# X1)
    (proper# U84(X1, X2, X3) -> proper# X3, proper# U83(X1, X2, X3) -> proper# X2)
    (proper# U84(X1, X2, X3) -> proper# X3, proper# U83(X1, X2, X3) -> proper# X3)
    (proper# U84(X1, X2, X3) -> proper# X3, proper# U84(X1, X2, X3) -> U84#(proper X1, proper X2, proper X3))
    (proper# U84(X1, X2, X3) -> proper# X3, proper# U84(X1, X2, X3) -> proper# X1)
    (proper# U84(X1, X2, X3) -> proper# X3, proper# U84(X1, X2, X3) -> proper# X2)
    (proper# U84(X1, X2, X3) -> proper# X3, proper# U84(X1, X2, X3) -> proper# X3)
    (proper# U84(X1, X2, X3) -> proper# X3, proper# s X -> s# proper X)
    (proper# U84(X1, X2, X3) -> proper# X3, proper# s X -> proper# X)
    (proper# U84(X1, X2, X3) -> proper# X3, proper# U92 X -> U92# proper X)
    (proper# U84(X1, X2, X3) -> proper# X3, proper# U92 X -> proper# X)
    (proper# U84(X1, X2, X3) -> proper# X3, proper# U91(X1, X2) -> U91#(proper X1, proper X2))
    (proper# U84(X1, X2, X3) -> proper# X3, proper# U91(X1, X2) -> proper# X1)
    (proper# U84(X1, X2, X3) -> proper# X3, proper# U91(X1, X2) -> proper# X2)
    (proper# U81(X1, X2, X3) -> proper# X3, proper# U102(X1, X2, X3) -> U102#(proper X1, proper X2, proper X3))
    (proper# U81(X1, X2, X3) -> proper# X3, proper# U102(X1, X2, X3) -> proper# X1)
    (proper# U81(X1, X2, X3) -> proper# X3, proper# U102(X1, X2, X3) -> proper# X2)
    (proper# U81(X1, X2, X3) -> proper# X3, proper# U102(X1, X2, X3) -> proper# X3)
    (proper# U81(X1, X2, X3) -> proper# X3, proper# isNatKind X -> isNatKind# proper X)
    (proper# U81(X1, X2, X3) -> proper# X3, proper# isNatKind X -> proper# X)
    (proper# U81(X1, X2, X3) -> proper# X3, proper# U101(X1, X2, X3) -> U101#(proper X1, proper X2, proper X3))
    (proper# U81(X1, X2, X3) -> proper# X3, proper# U101(X1, X2, X3) -> proper# X1)
    (proper# U81(X1, X2, X3) -> proper# X3, proper# U101(X1, X2, X3) -> proper# X2)
    (proper# U81(X1, X2, X3) -> proper# X3, proper# U101(X1, X2, X3) -> proper# X3)
    (proper# U81(X1, X2, X3) -> proper# X3, proper# U103(X1, X2, X3) -> U103#(proper X1, proper X2, proper X3))
    (proper# U81(X1, X2, X3) -> proper# X3, proper# U103(X1, X2, X3) -> proper# X1)
    (proper# U81(X1, X2, X3) -> proper# X3, proper# U103(X1, X2, X3) -> proper# X2)
    (proper# U81(X1, X2, X3) -> proper# X3, proper# U103(X1, X2, X3) -> proper# X3)
    (proper# U81(X1, X2, X3) -> proper# X3, proper# isNat X -> isNat# proper X)
    (proper# U81(X1, X2, X3) -> proper# X3, proper# isNat X -> proper# X)
    (proper# U81(X1, X2, X3) -> proper# X3, proper# U104(X1, X2, X3) -> U104#(proper X1, proper X2, proper X3))
    (proper# U81(X1, X2, X3) -> proper# X3, proper# U104(X1, X2, X3) -> proper# X1)
    (proper# U81(X1, X2, X3) -> proper# X3, proper# U104(X1, X2, X3) -> proper# X2)
    (proper# U81(X1, X2, X3) -> proper# X3, proper# U104(X1, X2, X3) -> proper# X3)
    (proper# U81(X1, X2, X3) -> proper# X3, proper# plus(X1, X2) -> plus#(proper X1, proper X2))
    (proper# U81(X1, X2, X3) -> proper# X3, proper# plus(X1, X2) -> proper# X1)
    (proper# U81(X1, X2, X3) -> proper# X3, proper# plus(X1, X2) -> proper# X2)
    (proper# U81(X1, X2, X3) -> proper# X3, proper# x(X1, X2) -> x#(proper X1, proper X2))
    (proper# U81(X1, X2, X3) -> proper# X3, proper# x(X1, X2) -> proper# X1)
    (proper# U81(X1, X2, X3) -> proper# X3, proper# x(X1, X2) -> proper# X2)
    (proper# U81(X1, X2, X3) -> proper# X3, proper# U12(X1, X2, X3) -> U12#(proper X1, proper X2, proper X3))
    (proper# U81(X1, X2, X3) -> proper# X3, proper# U12(X1, X2, X3) -> proper# X1)
    (proper# U81(X1, X2, X3) -> proper# X3, proper# U12(X1, X2, X3) -> proper# X2)
    (proper# U81(X1, X2, X3) -> proper# X3, proper# U12(X1, X2, X3) -> proper# X3)
    (proper# U81(X1, X2, X3) -> proper# X3, proper# U11(X1, X2, X3) -> U11#(proper X1, proper X2, proper X3))
    (proper# U81(X1, X2, X3) -> proper# X3, proper# U11(X1, X2, X3) -> proper# X1)
    (proper# U81(X1, X2, X3) -> proper# X3, proper# U11(X1, X2, X3) -> proper# X2)
    (proper# U81(X1, X2, X3) -> proper# X3, proper# U11(X1, X2, X3) -> proper# X3)
    (proper# U81(X1, X2, X3) -> proper# X3, proper# U13(X1, X2, X3) -> U13#(proper X1, proper X2, proper X3))
    (proper# U81(X1, X2, X3) -> proper# X3, proper# U13(X1, X2, X3) -> proper# X1)
    (proper# U81(X1, X2, X3) -> proper# X3, proper# U13(X1, X2, X3) -> proper# X2)
    (proper# U81(X1, X2, X3) -> proper# X3, proper# U13(X1, X2, X3) -> proper# X3)
    (proper# U81(X1, X2, X3) -> proper# X3, proper# U14(X1, X2, X3) -> U14#(proper X1, proper X2, proper X3))
    (proper# U81(X1, X2, X3) -> proper# X3, proper# U14(X1, X2, X3) -> proper# X1)
    (proper# U81(X1, X2, X3) -> proper# X3, proper# U14(X1, X2, X3) -> proper# X2)
    (proper# U81(X1, X2, X3) -> proper# X3, proper# U14(X1, X2, X3) -> proper# X3)
    (proper# U81(X1, X2, X3) -> proper# X3, proper# U15(X1, X2) -> U15#(proper X1, proper X2))
    (proper# U81(X1, X2, X3) -> proper# X3, proper# U15(X1, X2) -> proper# X1)
    (proper# U81(X1, X2, X3) -> proper# X3, proper# U15(X1, X2) -> proper# X2)
    (proper# U81(X1, X2, X3) -> proper# X3, proper# U16 X -> U16# proper X)
    (proper# U81(X1, X2, X3) -> proper# X3, proper# U16 X -> proper# X)
    (proper# U81(X1, X2, X3) -> proper# X3, proper# U22(X1, X2) -> U22#(proper X1, proper X2))
    (proper# U81(X1, X2, X3) -> proper# X3, proper# U22(X1, X2) -> proper# X1)
    (proper# U81(X1, X2, X3) -> proper# X3, proper# U22(X1, X2) -> proper# X2)
    (proper# U81(X1, X2, X3) -> proper# X3, proper# U21(X1, X2) -> U21#(proper X1, proper X2))
    (proper# U81(X1, X2, X3) -> proper# X3, proper# U21(X1, X2) -> proper# X1)
    (proper# U81(X1, X2, X3) -> proper# X3, proper# U21(X1, X2) -> proper# X2)
    (proper# U81(X1, X2, X3) -> proper# X3, proper# U23 X -> U23# proper X)
    (proper# U81(X1, X2, X3) -> proper# X3, proper# U23 X -> proper# X)
    (proper# U81(X1, X2, X3) -> proper# X3, proper# U32(X1, X2, X3) -> U32#(proper X1, proper X2, proper X3))
    (proper# U81(X1, X2, X3) -> proper# X3, proper# U32(X1, X2, X3) -> proper# X1)
    (proper# U81(X1, X2, X3) -> proper# X3, proper# U32(X1, X2, X3) -> proper# X2)
    (proper# U81(X1, X2, X3) -> proper# X3, proper# U32(X1, X2, X3) -> proper# X3)
    (proper# U81(X1, X2, X3) -> proper# X3, proper# U31(X1, X2, X3) -> U31#(proper X1, proper X2, proper X3))
    (proper# U81(X1, X2, X3) -> proper# X3, proper# U31(X1, X2, X3) -> proper# X1)
    (proper# U81(X1, X2, X3) -> proper# X3, proper# U31(X1, X2, X3) -> proper# X2)
    (proper# U81(X1, X2, X3) -> proper# X3, proper# U31(X1, X2, X3) -> proper# X3)
    (proper# U81(X1, X2, X3) -> proper# X3, proper# U33(X1, X2, X3) -> U33#(proper X1, proper X2, proper X3))
    (proper# U81(X1, X2, X3) -> proper# X3, proper# U33(X1, X2, X3) -> proper# X1)
    (proper# U81(X1, X2, X3) -> proper# X3, proper# U33(X1, X2, X3) -> proper# X2)
    (proper# U81(X1, X2, X3) -> proper# X3, proper# U33(X1, X2, X3) -> proper# X3)
    (proper# U81(X1, X2, X3) -> proper# X3, proper# U34(X1, X2, X3) -> U34#(proper X1, proper X2, proper X3))
    (proper# U81(X1, X2, X3) -> proper# X3, proper# U34(X1, X2, X3) -> proper# X1)
    (proper# U81(X1, X2, X3) -> proper# X3, proper# U34(X1, X2, X3) -> proper# X2)
    (proper# U81(X1, X2, X3) -> proper# X3, proper# U34(X1, X2, X3) -> proper# X3)
    (proper# U81(X1, X2, X3) -> proper# X3, proper# U35(X1, X2) -> U35#(proper X1, proper X2))
    (proper# U81(X1, X2, X3) -> proper# X3, proper# U35(X1, X2) -> proper# X1)
    (proper# U81(X1, X2, X3) -> proper# X3, proper# U35(X1, X2) -> proper# X2)
    (proper# U81(X1, X2, X3) -> proper# X3, proper# U36 X -> U36# proper X)
    (proper# U81(X1, X2, X3) -> proper# X3, proper# U36 X -> proper# X)
    (proper# U81(X1, X2, X3) -> proper# X3, proper# U42 X -> U42# proper X)
    (proper# U81(X1, X2, X3) -> proper# X3, proper# U42 X -> proper# X)
    (proper# U81(X1, X2, X3) -> proper# X3, proper# U41(X1, X2) -> U41#(proper X1, proper X2))
    (proper# U81(X1, X2, X3) -> proper# X3, proper# U41(X1, X2) -> proper# X1)
    (proper# U81(X1, X2, X3) -> proper# X3, proper# U41(X1, X2) -> proper# X2)
    (proper# U81(X1, X2, X3) -> proper# X3, proper# U51 X -> U51# proper X)
    (proper# U81(X1, X2, X3) -> proper# X3, proper# U51 X -> proper# X)
    (proper# U81(X1, X2, X3) -> proper# X3, proper# U62 X -> U62# proper X)
    (proper# U81(X1, X2, X3) -> proper# X3, proper# U62 X -> proper# X)
    (proper# U81(X1, X2, X3) -> proper# X3, proper# U61(X1, X2) -> U61#(proper X1, proper X2))
    (proper# U81(X1, X2, X3) -> proper# X3, proper# U61(X1, X2) -> proper# X1)
    (proper# U81(X1, X2, X3) -> proper# X3, proper# U61(X1, X2) -> proper# X2)
    (proper# U81(X1, X2, X3) -> proper# X3, proper# U72(X1, X2) -> U72#(proper X1, proper X2))
    (proper# U81(X1, X2, X3) -> proper# X3, proper# U72(X1, X2) -> proper# X1)
    (proper# U81(X1, X2, X3) -> proper# X3, proper# U72(X1, X2) -> proper# X2)
    (proper# U81(X1, X2, X3) -> proper# X3, proper# U71(X1, X2) -> U71#(proper X1, proper X2))
    (proper# U81(X1, X2, X3) -> proper# X3, proper# U71(X1, X2) -> proper# X1)
    (proper# U81(X1, X2, X3) -> proper# X3, proper# U71(X1, X2) -> proper# X2)
    (proper# U81(X1, X2, X3) -> proper# X3, proper# U82(X1, X2, X3) -> U82#(proper X1, proper X2, proper X3))
    (proper# U81(X1, X2, X3) -> proper# X3, proper# U82(X1, X2, X3) -> proper# X1)
    (proper# U81(X1, X2, X3) -> proper# X3, proper# U82(X1, X2, X3) -> proper# X2)
    (proper# U81(X1, X2, X3) -> proper# X3, proper# U82(X1, X2, X3) -> proper# X3)
    (proper# U81(X1, X2, X3) -> proper# X3, proper# U81(X1, X2, X3) -> U81#(proper X1, proper X2, proper X3))
    (proper# U81(X1, X2, X3) -> proper# X3, proper# U81(X1, X2, X3) -> proper# X1)
    (proper# U81(X1, X2, X3) -> proper# X3, proper# U81(X1, X2, X3) -> proper# X2)
    (proper# U81(X1, X2, X3) -> proper# X3, proper# U81(X1, X2, X3) -> proper# X3)
    (proper# U81(X1, X2, X3) -> proper# X3, proper# U83(X1, X2, X3) -> U83#(proper X1, proper X2, proper X3))
    (proper# U81(X1, X2, X3) -> proper# X3, proper# U83(X1, X2, X3) -> proper# X1)
    (proper# U81(X1, X2, X3) -> proper# X3, proper# U83(X1, X2, X3) -> proper# X2)
    (proper# U81(X1, X2, X3) -> proper# X3, proper# U83(X1, X2, X3) -> proper# X3)
    (proper# U81(X1, X2, X3) -> proper# X3, proper# U84(X1, X2, X3) -> U84#(proper X1, proper X2, proper X3))
    (proper# U81(X1, X2, X3) -> proper# X3, proper# U84(X1, X2, X3) -> proper# X1)
    (proper# U81(X1, X2, X3) -> proper# X3, proper# U84(X1, X2, X3) -> proper# X2)
    (proper# U81(X1, X2, X3) -> proper# X3, proper# U84(X1, X2, X3) -> proper# X3)
    (proper# U81(X1, X2, X3) -> proper# X3, proper# s X -> s# proper X)
    (proper# U81(X1, X2, X3) -> proper# X3, proper# s X -> proper# X)
    (proper# U81(X1, X2, X3) -> proper# X3, proper# U92 X -> U92# proper X)
    (proper# U81(X1, X2, X3) -> proper# X3, proper# U92 X -> proper# X)
    (proper# U81(X1, X2, X3) -> proper# X3, proper# U91(X1, X2) -> U91#(proper X1, proper X2))
    (proper# U81(X1, X2, X3) -> proper# X3, proper# U91(X1, X2) -> proper# X1)
    (proper# U81(X1, X2, X3) -> proper# X3, proper# U91(X1, X2) -> proper# X2)
    (proper# U34(X1, X2, X3) -> proper# X3, proper# U102(X1, X2, X3) -> U102#(proper X1, proper X2, proper X3))
    (proper# U34(X1, X2, X3) -> proper# X3, proper# U102(X1, X2, X3) -> proper# X1)
    (proper# U34(X1, X2, X3) -> proper# X3, proper# U102(X1, X2, X3) -> proper# X2)
    (proper# U34(X1, X2, X3) -> proper# X3, proper# U102(X1, X2, X3) -> proper# X3)
    (proper# U34(X1, X2, X3) -> proper# X3, proper# isNatKind X -> isNatKind# proper X)
    (proper# U34(X1, X2, X3) -> proper# X3, proper# isNatKind X -> proper# X)
    (proper# U34(X1, X2, X3) -> proper# X3, proper# U101(X1, X2, X3) -> U101#(proper X1, proper X2, proper X3))
    (proper# U34(X1, X2, X3) -> proper# X3, proper# U101(X1, X2, X3) -> proper# X1)
    (proper# U34(X1, X2, X3) -> proper# X3, proper# U101(X1, X2, X3) -> proper# X2)
    (proper# U34(X1, X2, X3) -> proper# X3, proper# U101(X1, X2, X3) -> proper# X3)
    (proper# U34(X1, X2, X3) -> proper# X3, proper# U103(X1, X2, X3) -> U103#(proper X1, proper X2, proper X3))
    (proper# U34(X1, X2, X3) -> proper# X3, proper# U103(X1, X2, X3) -> proper# X1)
    (proper# U34(X1, X2, X3) -> proper# X3, proper# U103(X1, X2, X3) -> proper# X2)
    (proper# U34(X1, X2, X3) -> proper# X3, proper# U103(X1, X2, X3) -> proper# X3)
    (proper# U34(X1, X2, X3) -> proper# X3, proper# isNat X -> isNat# proper X)
    (proper# U34(X1, X2, X3) -> proper# X3, proper# isNat X -> proper# X)
    (proper# U34(X1, X2, X3) -> proper# X3, proper# U104(X1, X2, X3) -> U104#(proper X1, proper X2, proper X3))
    (proper# U34(X1, X2, X3) -> proper# X3, proper# U104(X1, X2, X3) -> proper# X1)
    (proper# U34(X1, X2, X3) -> proper# X3, proper# U104(X1, X2, X3) -> proper# X2)
    (proper# U34(X1, X2, X3) -> proper# X3, proper# U104(X1, X2, X3) -> proper# X3)
    (proper# U34(X1, X2, X3) -> proper# X3, proper# plus(X1, X2) -> plus#(proper X1, proper X2))
    (proper# U34(X1, X2, X3) -> proper# X3, proper# plus(X1, X2) -> proper# X1)
    (proper# U34(X1, X2, X3) -> proper# X3, proper# plus(X1, X2) -> proper# X2)
    (proper# U34(X1, X2, X3) -> proper# X3, proper# x(X1, X2) -> x#(proper X1, proper X2))
    (proper# U34(X1, X2, X3) -> proper# X3, proper# x(X1, X2) -> proper# X1)
    (proper# U34(X1, X2, X3) -> proper# X3, proper# x(X1, X2) -> proper# X2)
    (proper# U34(X1, X2, X3) -> proper# X3, proper# U12(X1, X2, X3) -> U12#(proper X1, proper X2, proper X3))
    (proper# U34(X1, X2, X3) -> proper# X3, proper# U12(X1, X2, X3) -> proper# X1)
    (proper# U34(X1, X2, X3) -> proper# X3, proper# U12(X1, X2, X3) -> proper# X2)
    (proper# U34(X1, X2, X3) -> proper# X3, proper# U12(X1, X2, X3) -> proper# X3)
    (proper# U34(X1, X2, X3) -> proper# X3, proper# U11(X1, X2, X3) -> U11#(proper X1, proper X2, proper X3))
    (proper# U34(X1, X2, X3) -> proper# X3, proper# U11(X1, X2, X3) -> proper# X1)
    (proper# U34(X1, X2, X3) -> proper# X3, proper# U11(X1, X2, X3) -> proper# X2)
    (proper# U34(X1, X2, X3) -> proper# X3, proper# U11(X1, X2, X3) -> proper# X3)
    (proper# U34(X1, X2, X3) -> proper# X3, proper# U13(X1, X2, X3) -> U13#(proper X1, proper X2, proper X3))
    (proper# U34(X1, X2, X3) -> proper# X3, proper# U13(X1, X2, X3) -> proper# X1)
    (proper# U34(X1, X2, X3) -> proper# X3, proper# U13(X1, X2, X3) -> proper# X2)
    (proper# U34(X1, X2, X3) -> proper# X3, proper# U13(X1, X2, X3) -> proper# X3)
    (proper# U34(X1, X2, X3) -> proper# X3, proper# U14(X1, X2, X3) -> U14#(proper X1, proper X2, proper X3))
    (proper# U34(X1, X2, X3) -> proper# X3, proper# U14(X1, X2, X3) -> proper# X1)
    (proper# U34(X1, X2, X3) -> proper# X3, proper# U14(X1, X2, X3) -> proper# X2)
    (proper# U34(X1, X2, X3) -> proper# X3, proper# U14(X1, X2, X3) -> proper# X3)
    (proper# U34(X1, X2, X3) -> proper# X3, proper# U15(X1, X2) -> U15#(proper X1, proper X2))
    (proper# U34(X1, X2, X3) -> proper# X3, proper# U15(X1, X2) -> proper# X1)
    (proper# U34(X1, X2, X3) -> proper# X3, proper# U15(X1, X2) -> proper# X2)
    (proper# U34(X1, X2, X3) -> proper# X3, proper# U16 X -> U16# proper X)
    (proper# U34(X1, X2, X3) -> proper# X3, proper# U16 X -> proper# X)
    (proper# U34(X1, X2, X3) -> proper# X3, proper# U22(X1, X2) -> U22#(proper X1, proper X2))
    (proper# U34(X1, X2, X3) -> proper# X3, proper# U22(X1, X2) -> proper# X1)
    (proper# U34(X1, X2, X3) -> proper# X3, proper# U22(X1, X2) -> proper# X2)
    (proper# U34(X1, X2, X3) -> proper# X3, proper# U21(X1, X2) -> U21#(proper X1, proper X2))
    (proper# U34(X1, X2, X3) -> proper# X3, proper# U21(X1, X2) -> proper# X1)
    (proper# U34(X1, X2, X3) -> proper# X3, proper# U21(X1, X2) -> proper# X2)
    (proper# U34(X1, X2, X3) -> proper# X3, proper# U23 X -> U23# proper X)
    (proper# U34(X1, X2, X3) -> proper# X3, proper# U23 X -> proper# X)
    (proper# U34(X1, X2, X3) -> proper# X3, proper# U32(X1, X2, X3) -> U32#(proper X1, proper X2, proper X3))
    (proper# U34(X1, X2, X3) -> proper# X3, proper# U32(X1, X2, X3) -> proper# X1)
    (proper# U34(X1, X2, X3) -> proper# X3, proper# U32(X1, X2, X3) -> proper# X2)
    (proper# U34(X1, X2, X3) -> proper# X3, proper# U32(X1, X2, X3) -> proper# X3)
    (proper# U34(X1, X2, X3) -> proper# X3, proper# U31(X1, X2, X3) -> U31#(proper X1, proper X2, proper X3))
    (proper# U34(X1, X2, X3) -> proper# X3, proper# U31(X1, X2, X3) -> proper# X1)
    (proper# U34(X1, X2, X3) -> proper# X3, proper# U31(X1, X2, X3) -> proper# X2)
    (proper# U34(X1, X2, X3) -> proper# X3, proper# U31(X1, X2, X3) -> proper# X3)
    (proper# U34(X1, X2, X3) -> proper# X3, proper# U33(X1, X2, X3) -> U33#(proper X1, proper X2, proper X3))
    (proper# U34(X1, X2, X3) -> proper# X3, proper# U33(X1, X2, X3) -> proper# X1)
    (proper# U34(X1, X2, X3) -> proper# X3, proper# U33(X1, X2, X3) -> proper# X2)
    (proper# U34(X1, X2, X3) -> proper# X3, proper# U33(X1, X2, X3) -> proper# X3)
    (proper# U34(X1, X2, X3) -> proper# X3, proper# U34(X1, X2, X3) -> U34#(proper X1, proper X2, proper X3))
    (proper# U34(X1, X2, X3) -> proper# X3, proper# U34(X1, X2, X3) -> proper# X1)
    (proper# U34(X1, X2, X3) -> proper# X3, proper# U34(X1, X2, X3) -> proper# X2)
    (proper# U34(X1, X2, X3) -> proper# X3, proper# U34(X1, X2, X3) -> proper# X3)
    (proper# U34(X1, X2, X3) -> proper# X3, proper# U35(X1, X2) -> U35#(proper X1, proper X2))
    (proper# U34(X1, X2, X3) -> proper# X3, proper# U35(X1, X2) -> proper# X1)
    (proper# U34(X1, X2, X3) -> proper# X3, proper# U35(X1, X2) -> proper# X2)
    (proper# U34(X1, X2, X3) -> proper# X3, proper# U36 X -> U36# proper X)
    (proper# U34(X1, X2, X3) -> proper# X3, proper# U36 X -> proper# X)
    (proper# U34(X1, X2, X3) -> proper# X3, proper# U42 X -> U42# proper X)
    (proper# U34(X1, X2, X3) -> proper# X3, proper# U42 X -> proper# X)
    (proper# U34(X1, X2, X3) -> proper# X3, proper# U41(X1, X2) -> U41#(proper X1, proper X2))
    (proper# U34(X1, X2, X3) -> proper# X3, proper# U41(X1, X2) -> proper# X1)
    (proper# U34(X1, X2, X3) -> proper# X3, proper# U41(X1, X2) -> proper# X2)
    (proper# U34(X1, X2, X3) -> proper# X3, proper# U51 X -> U51# proper X)
    (proper# U34(X1, X2, X3) -> proper# X3, proper# U51 X -> proper# X)
    (proper# U34(X1, X2, X3) -> proper# X3, proper# U62 X -> U62# proper X)
    (proper# U34(X1, X2, X3) -> proper# X3, proper# U62 X -> proper# X)
    (proper# U34(X1, X2, X3) -> proper# X3, proper# U61(X1, X2) -> U61#(proper X1, proper X2))
    (proper# U34(X1, X2, X3) -> proper# X3, proper# U61(X1, X2) -> proper# X1)
    (proper# U34(X1, X2, X3) -> proper# X3, proper# U61(X1, X2) -> proper# X2)
    (proper# U34(X1, X2, X3) -> proper# X3, proper# U72(X1, X2) -> U72#(proper X1, proper X2))
    (proper# U34(X1, X2, X3) -> proper# X3, proper# U72(X1, X2) -> proper# X1)
    (proper# U34(X1, X2, X3) -> proper# X3, proper# U72(X1, X2) -> proper# X2)
    (proper# U34(X1, X2, X3) -> proper# X3, proper# U71(X1, X2) -> U71#(proper X1, proper X2))
    (proper# U34(X1, X2, X3) -> proper# X3, proper# U71(X1, X2) -> proper# X1)
    (proper# U34(X1, X2, X3) -> proper# X3, proper# U71(X1, X2) -> proper# X2)
    (proper# U34(X1, X2, X3) -> proper# X3, proper# U82(X1, X2, X3) -> U82#(proper X1, proper X2, proper X3))
    (proper# U34(X1, X2, X3) -> proper# X3, proper# U82(X1, X2, X3) -> proper# X1)
    (proper# U34(X1, X2, X3) -> proper# X3, proper# U82(X1, X2, X3) -> proper# X2)
    (proper# U34(X1, X2, X3) -> proper# X3, proper# U82(X1, X2, X3) -> proper# X3)
    (proper# U34(X1, X2, X3) -> proper# X3, proper# U81(X1, X2, X3) -> U81#(proper X1, proper X2, proper X3))
    (proper# U34(X1, X2, X3) -> proper# X3, proper# U81(X1, X2, X3) -> proper# X1)
    (proper# U34(X1, X2, X3) -> proper# X3, proper# U81(X1, X2, X3) -> proper# X2)
    (proper# U34(X1, X2, X3) -> proper# X3, proper# U81(X1, X2, X3) -> proper# X3)
    (proper# U34(X1, X2, X3) -> proper# X3, proper# U83(X1, X2, X3) -> U83#(proper X1, proper X2, proper X3))
    (proper# U34(X1, X2, X3) -> proper# X3, proper# U83(X1, X2, X3) -> proper# X1)
    (proper# U34(X1, X2, X3) -> proper# X3, proper# U83(X1, X2, X3) -> proper# X2)
    (proper# U34(X1, X2, X3) -> proper# X3, proper# U83(X1, X2, X3) -> proper# X3)
    (proper# U34(X1, X2, X3) -> proper# X3, proper# U84(X1, X2, X3) -> U84#(proper X1, proper X2, proper X3))
    (proper# U34(X1, X2, X3) -> proper# X3, proper# U84(X1, X2, X3) -> proper# X1)
    (proper# U34(X1, X2, X3) -> proper# X3, proper# U84(X1, X2, X3) -> proper# X2)
    (proper# U34(X1, X2, X3) -> proper# X3, proper# U84(X1, X2, X3) -> proper# X3)
    (proper# U34(X1, X2, X3) -> proper# X3, proper# s X -> s# proper X)
    (proper# U34(X1, X2, X3) -> proper# X3, proper# s X -> proper# X)
    (proper# U34(X1, X2, X3) -> proper# X3, proper# U92 X -> U92# proper X)
    (proper# U34(X1, X2, X3) -> proper# X3, proper# U92 X -> proper# X)
    (proper# U34(X1, X2, X3) -> proper# X3, proper# U91(X1, X2) -> U91#(proper X1, proper X2))
    (proper# U34(X1, X2, X3) -> proper# X3, proper# U91(X1, X2) -> proper# X1)
    (proper# U34(X1, X2, X3) -> proper# X3, proper# U91(X1, X2) -> proper# X2)
    (proper# U31(X1, X2, X3) -> proper# X3, proper# U102(X1, X2, X3) -> U102#(proper X1, proper X2, proper X3))
    (proper# U31(X1, X2, X3) -> proper# X3, proper# U102(X1, X2, X3) -> proper# X1)
    (proper# U31(X1, X2, X3) -> proper# X3, proper# U102(X1, X2, X3) -> proper# X2)
    (proper# U31(X1, X2, X3) -> proper# X3, proper# U102(X1, X2, X3) -> proper# X3)
    (proper# U31(X1, X2, X3) -> proper# X3, proper# isNatKind X -> isNatKind# proper X)
    (proper# U31(X1, X2, X3) -> proper# X3, proper# isNatKind X -> proper# X)
    (proper# U31(X1, X2, X3) -> proper# X3, proper# U101(X1, X2, X3) -> U101#(proper X1, proper X2, proper X3))
    (proper# U31(X1, X2, X3) -> proper# X3, proper# U101(X1, X2, X3) -> proper# X1)
    (proper# U31(X1, X2, X3) -> proper# X3, proper# U101(X1, X2, X3) -> proper# X2)
    (proper# U31(X1, X2, X3) -> proper# X3, proper# U101(X1, X2, X3) -> proper# X3)
    (proper# U31(X1, X2, X3) -> proper# X3, proper# U103(X1, X2, X3) -> U103#(proper X1, proper X2, proper X3))
    (proper# U31(X1, X2, X3) -> proper# X3, proper# U103(X1, X2, X3) -> proper# X1)
    (proper# U31(X1, X2, X3) -> proper# X3, proper# U103(X1, X2, X3) -> proper# X2)
    (proper# U31(X1, X2, X3) -> proper# X3, proper# U103(X1, X2, X3) -> proper# X3)
    (proper# U31(X1, X2, X3) -> proper# X3, proper# isNat X -> isNat# proper X)
    (proper# U31(X1, X2, X3) -> proper# X3, proper# isNat X -> proper# X)
    (proper# U31(X1, X2, X3) -> proper# X3, proper# U104(X1, X2, X3) -> U104#(proper X1, proper X2, proper X3))
    (proper# U31(X1, X2, X3) -> proper# X3, proper# U104(X1, X2, X3) -> proper# X1)
    (proper# U31(X1, X2, X3) -> proper# X3, proper# U104(X1, X2, X3) -> proper# X2)
    (proper# U31(X1, X2, X3) -> proper# X3, proper# U104(X1, X2, X3) -> proper# X3)
    (proper# U31(X1, X2, X3) -> proper# X3, proper# plus(X1, X2) -> plus#(proper X1, 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) -> proper# X2)
    (proper# U31(X1, X2, X3) -> proper# X3, proper# x(X1, X2) -> x#(proper X1, 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) -> proper# X2)
    (proper# U31(X1, X2, X3) -> proper# X3, proper# U12(X1, X2, X3) -> U12#(proper X1, proper X2, proper X3))
    (proper# U31(X1, X2, X3) -> proper# X3, proper# U12(X1, X2, X3) -> proper# X1)
    (proper# U31(X1, X2, X3) -> proper# X3, proper# U12(X1, X2, X3) -> proper# X2)
    (proper# U31(X1, X2, X3) -> proper# X3, proper# U12(X1, X2, X3) -> proper# X3)
    (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# 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(X1, X2, X3) -> U13#(proper X1, proper X2, proper X3))
    (proper# U31(X1, X2, X3) -> proper# X3, proper# U13(X1, X2, X3) -> proper# X1)
    (proper# U31(X1, X2, X3) -> proper# X3, proper# U13(X1, X2, X3) -> proper# X2)
    (proper# U31(X1, X2, X3) -> proper# X3, proper# U13(X1, X2, X3) -> proper# X3)
    (proper# U31(X1, X2, X3) -> proper# X3, proper# U14(X1, X2, X3) -> U14#(proper X1, proper X2, proper X3))
    (proper# U31(X1, X2, X3) -> proper# X3, proper# U14(X1, X2, X3) -> proper# X1)
    (proper# U31(X1, X2, X3) -> proper# X3, proper# U14(X1, X2, X3) -> proper# X2)
    (proper# U31(X1, X2, X3) -> proper# X3, proper# U14(X1, X2, X3) -> proper# X3)
    (proper# U31(X1, X2, X3) -> proper# X3, proper# U15(X1, X2) -> U15#(proper X1, proper X2))
    (proper# U31(X1, X2, X3) -> proper# X3, proper# U15(X1, X2) -> proper# X1)
    (proper# U31(X1, X2, X3) -> proper# X3, proper# U15(X1, X2) -> proper# X2)
    (proper# U31(X1, X2, X3) -> proper# X3, proper# U16 X -> U16# proper X)
    (proper# U31(X1, X2, X3) -> proper# X3, proper# U16 X -> proper# X)
    (proper# U31(X1, X2, X3) -> proper# X3, proper# U22(X1, X2) -> U22#(proper X1, proper X2))
    (proper# U31(X1, X2, X3) -> proper# X3, proper# U22(X1, X2) -> proper# X1)
    (proper# U31(X1, X2, X3) -> proper# X3, proper# U22(X1, X2) -> proper# X2)
    (proper# U31(X1, X2, X3) -> proper# X3, proper# U21(X1, X2) -> U21#(proper X1, 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) -> proper# X2)
    (proper# U31(X1, X2, X3) -> proper# X3, proper# U23 X -> U23# proper X)
    (proper# U31(X1, X2, X3) -> proper# X3, proper# U23 X -> proper# X)
    (proper# U31(X1, X2, X3) -> proper# X3, proper# U32(X1, X2, X3) -> U32#(proper X1, proper X2, proper X3))
    (proper# U31(X1, X2, X3) -> proper# X3, proper# U32(X1, X2, X3) -> proper# X1)
    (proper# U31(X1, X2, X3) -> proper# X3, proper# U32(X1, X2, X3) -> proper# X2)
    (proper# U31(X1, X2, X3) -> proper# X3, proper# U32(X1, X2, X3) -> proper# X3)
    (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# 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(X1, X2, X3) -> U33#(proper X1, proper X2, proper X3))
    (proper# U31(X1, X2, X3) -> proper# X3, proper# U33(X1, X2, X3) -> proper# X1)
    (proper# U31(X1, X2, X3) -> proper# X3, proper# U33(X1, X2, X3) -> proper# X2)
    (proper# U31(X1, X2, X3) -> proper# X3, proper# U33(X1, X2, X3) -> proper# X3)
    (proper# U31(X1, X2, X3) -> proper# X3, proper# U34(X1, X2, X3) -> U34#(proper X1, proper X2, proper X3))
    (proper# U31(X1, X2, X3) -> proper# X3, proper# U34(X1, X2, X3) -> proper# X1)
    (proper# U31(X1, X2, X3) -> proper# X3, proper# U34(X1, X2, X3) -> proper# X2)
    (proper# U31(X1, X2, X3) -> proper# X3, proper# U34(X1, X2, X3) -> proper# X3)
    (proper# U31(X1, X2, X3) -> proper# X3, proper# U35(X1, X2) -> U35#(proper X1, proper X2))
    (proper# U31(X1, X2, X3) -> proper# X3, proper# U35(X1, X2) -> proper# X1)
    (proper# U31(X1, X2, X3) -> proper# X3, proper# U35(X1, X2) -> proper# X2)
    (proper# U31(X1, X2, X3) -> proper# X3, proper# U36 X -> U36# proper X)
    (proper# U31(X1, X2, X3) -> proper# X3, proper# U36 X -> proper# X)
    (proper# U31(X1, X2, X3) -> proper# X3, proper# U42 X -> U42# proper X)
    (proper# U31(X1, X2, X3) -> proper# X3, proper# U42 X -> proper# X)
    (proper# U31(X1, X2, X3) -> proper# X3, proper# U41(X1, X2) -> U41#(proper X1, 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) -> proper# X2)
    (proper# U31(X1, X2, X3) -> proper# X3, proper# U51 X -> U51# proper X)
    (proper# U31(X1, X2, X3) -> proper# X3, proper# U51 X -> proper# X)
    (proper# U31(X1, X2, X3) -> proper# X3, proper# U62 X -> U62# proper X)
    (proper# U31(X1, X2, X3) -> proper# X3, proper# U62 X -> proper# X)
    (proper# U31(X1, X2, X3) -> proper# X3, proper# U61(X1, X2) -> U61#(proper X1, proper X2))
    (proper# U31(X1, X2, X3) -> proper# X3, proper# U61(X1, X2) -> proper# X1)
    (proper# U31(X1, X2, X3) -> proper# X3, proper# U61(X1, X2) -> proper# X2)
    (proper# U31(X1, X2, X3) -> proper# X3, proper# U72(X1, X2) -> U72#(proper X1, proper X2))
    (proper# U31(X1, X2, X3) -> proper# X3, proper# U72(X1, X2) -> proper# X1)
    (proper# U31(X1, X2, X3) -> proper# X3, proper# U72(X1, X2) -> proper# X2)
    (proper# U31(X1, X2, X3) -> proper# X3, proper# U71(X1, X2) -> U71#(proper X1, proper X2))
    (proper# U31(X1, X2, X3) -> proper# X3, proper# U71(X1, X2) -> proper# X1)
    (proper# U31(X1, X2, X3) -> proper# X3, proper# U71(X1, X2) -> proper# X2)
    (proper# U31(X1, X2, X3) -> proper# X3, proper# U82(X1, X2, X3) -> U82#(proper X1, proper X2, proper X3))
    (proper# U31(X1, X2, X3) -> proper# X3, proper# U82(X1, X2, X3) -> proper# X1)
    (proper# U31(X1, X2, X3) -> proper# X3, proper# U82(X1, X2, X3) -> proper# X2)
    (proper# U31(X1, X2, X3) -> proper# X3, proper# U82(X1, X2, X3) -> proper# X3)
    (proper# U31(X1, X2, X3) -> proper# X3, proper# U81(X1, X2, X3) -> U81#(proper X1, proper X2, proper X3))
    (proper# U31(X1, X2, X3) -> proper# X3, proper# U81(X1, X2, X3) -> proper# X1)
    (proper# U31(X1, X2, X3) -> proper# X3, proper# U81(X1, X2, X3) -> proper# X2)
    (proper# U31(X1, X2, X3) -> proper# X3, proper# U81(X1, X2, X3) -> proper# X3)
    (proper# U31(X1, X2, X3) -> proper# X3, proper# U83(X1, X2, X3) -> U83#(proper X1, proper X2, proper X3))
    (proper# U31(X1, X2, X3) -> proper# X3, proper# U83(X1, X2, X3) -> proper# X1)
    (proper# U31(X1, X2, X3) -> proper# X3, proper# U83(X1, X2, X3) -> proper# X2)
    (proper# U31(X1, X2, X3) -> proper# X3, proper# U83(X1, X2, X3) -> proper# X3)
    (proper# U31(X1, X2, X3) -> proper# X3, proper# U84(X1, X2, X3) -> U84#(proper X1, proper X2, proper X3))
    (proper# U31(X1, X2, X3) -> proper# X3, proper# U84(X1, X2, X3) -> proper# X1)
    (proper# U31(X1, X2, X3) -> proper# X3, proper# U84(X1, X2, X3) -> proper# X2)
    (proper# U31(X1, X2, X3) -> proper# X3, proper# U84(X1, X2, X3) -> proper# X3)
    (proper# U31(X1, X2, X3) -> proper# X3, proper# s X -> s# proper X)
    (proper# U31(X1, X2, X3) -> proper# X3, proper# s X -> proper# X)
    (proper# U31(X1, X2, X3) -> proper# X3, proper# U92 X -> U92# proper X)
    (proper# U31(X1, X2, X3) -> proper# X3, proper# U92 X -> proper# X)
    (proper# U31(X1, X2, X3) -> proper# X3, proper# U91(X1, X2) -> U91#(proper X1, proper X2))
    (proper# U31(X1, X2, X3) -> proper# X3, proper# U91(X1, X2) -> proper# X1)
    (proper# U31(X1, X2, X3) -> proper# X3, proper# U91(X1, X2) -> proper# X2)
    (proper# U14(X1, X2, X3) -> proper# X3, proper# U102(X1, X2, X3) -> U102#(proper X1, proper X2, proper X3))
    (proper# U14(X1, X2, X3) -> proper# X3, proper# U102(X1, X2, X3) -> proper# X1)
    (proper# U14(X1, X2, X3) -> proper# X3, proper# U102(X1, X2, X3) -> proper# X2)
    (proper# U14(X1, X2, X3) -> proper# X3, proper# U102(X1, X2, X3) -> proper# X3)
    (proper# U14(X1, X2, X3) -> proper# X3, proper# isNatKind X -> isNatKind# proper X)
    (proper# U14(X1, X2, X3) -> proper# X3, proper# isNatKind X -> proper# X)
    (proper# U14(X1, X2, X3) -> proper# X3, proper# U101(X1, X2, X3) -> U101#(proper X1, proper X2, proper X3))
    (proper# U14(X1, X2, X3) -> proper# X3, proper# U101(X1, X2, X3) -> proper# X1)
    (proper# U14(X1, X2, X3) -> proper# X3, proper# U101(X1, X2, X3) -> proper# X2)
    (proper# U14(X1, X2, X3) -> proper# X3, proper# U101(X1, X2, X3) -> proper# X3)
    (proper# U14(X1, X2, X3) -> proper# X3, proper# U103(X1, X2, X3) -> U103#(proper X1, proper X2, proper X3))
    (proper# U14(X1, X2, X3) -> proper# X3, proper# U103(X1, X2, X3) -> proper# X1)
    (proper# U14(X1, X2, X3) -> proper# X3, proper# U103(X1, X2, X3) -> proper# X2)
    (proper# U14(X1, X2, X3) -> proper# X3, proper# U103(X1, X2, X3) -> proper# X3)
    (proper# U14(X1, X2, X3) -> proper# X3, proper# isNat X -> isNat# proper X)
    (proper# U14(X1, X2, X3) -> proper# X3, proper# isNat X -> proper# X)
    (proper# U14(X1, X2, X3) -> proper# X3, proper# U104(X1, X2, X3) -> U104#(proper X1, proper X2, proper X3))
    (proper# U14(X1, X2, X3) -> proper# X3, proper# U104(X1, X2, X3) -> proper# X1)
    (proper# U14(X1, X2, X3) -> proper# X3, proper# U104(X1, X2, X3) -> proper# X2)
    (proper# U14(X1, X2, X3) -> proper# X3, proper# U104(X1, X2, X3) -> proper# X3)
    (proper# U14(X1, X2, X3) -> proper# X3, proper# plus(X1, X2) -> plus#(proper X1, proper X2))
    (proper# U14(X1, X2, X3) -> proper# X3, proper# plus(X1, X2) -> proper# X1)
    (proper# U14(X1, X2, X3) -> proper# X3, proper# plus(X1, X2) -> proper# X2)
    (proper# U14(X1, X2, X3) -> proper# X3, proper# x(X1, X2) -> x#(proper X1, proper X2))
    (proper# U14(X1, X2, X3) -> proper# X3, proper# x(X1, X2) -> proper# X1)
    (proper# U14(X1, X2, X3) -> proper# X3, proper# x(X1, X2) -> proper# X2)
    (proper# U14(X1, X2, X3) -> proper# X3, proper# U12(X1, X2, X3) -> U12#(proper X1, proper X2, proper X3))
    (proper# U14(X1, X2, X3) -> proper# X3, proper# U12(X1, X2, X3) -> proper# X1)
    (proper# U14(X1, X2, X3) -> proper# X3, proper# U12(X1, X2, X3) -> proper# X2)
    (proper# U14(X1, X2, X3) -> proper# X3, proper# U12(X1, X2, X3) -> proper# X3)
    (proper# U14(X1, X2, X3) -> proper# X3, proper# U11(X1, X2, X3) -> U11#(proper X1, proper X2, proper X3))
    (proper# U14(X1, X2, X3) -> proper# X3, proper# U11(X1, X2, X3) -> proper# X1)
    (proper# U14(X1, X2, X3) -> proper# X3, proper# U11(X1, X2, X3) -> proper# X2)
    (proper# U14(X1, X2, X3) -> proper# X3, proper# U11(X1, X2, X3) -> proper# X3)
    (proper# U14(X1, X2, X3) -> proper# X3, proper# U13(X1, X2, X3) -> U13#(proper X1, proper X2, proper X3))
    (proper# U14(X1, X2, X3) -> proper# X3, proper# U13(X1, X2, X3) -> proper# X1)
    (proper# U14(X1, X2, X3) -> proper# X3, proper# U13(X1, X2, X3) -> proper# X2)
    (proper# U14(X1, X2, X3) -> proper# X3, proper# U13(X1, X2, X3) -> proper# X3)
    (proper# U14(X1, X2, X3) -> proper# X3, proper# U14(X1, X2, X3) -> U14#(proper X1, proper X2, proper X3))
    (proper# U14(X1, X2, X3) -> proper# X3, proper# U14(X1, X2, X3) -> proper# X1)
    (proper# U14(X1, X2, X3) -> proper# X3, proper# U14(X1, X2, X3) -> proper# X2)
    (proper# U14(X1, X2, X3) -> proper# X3, proper# U14(X1, X2, X3) -> proper# X3)
    (proper# U14(X1, X2, X3) -> proper# X3, proper# U15(X1, X2) -> U15#(proper X1, proper X2))
    (proper# U14(X1, X2, X3) -> proper# X3, proper# U15(X1, X2) -> proper# X1)
    (proper# U14(X1, X2, X3) -> proper# X3, proper# U15(X1, X2) -> proper# X2)
    (proper# U14(X1, X2, X3) -> proper# X3, proper# U16 X -> U16# proper X)
    (proper# U14(X1, X2, X3) -> proper# X3, proper# U16 X -> proper# X)
    (proper# U14(X1, X2, X3) -> proper# X3, proper# U22(X1, X2) -> U22#(proper X1, proper X2))
    (proper# U14(X1, X2, X3) -> proper# X3, proper# U22(X1, X2) -> proper# X1)
    (proper# U14(X1, X2, X3) -> proper# X3, proper# U22(X1, X2) -> proper# X2)
    (proper# U14(X1, X2, X3) -> proper# X3, proper# U21(X1, X2) -> U21#(proper X1, proper X2))
    (proper# U14(X1, X2, X3) -> proper# X3, proper# U21(X1, X2) -> proper# X1)
    (proper# U14(X1, X2, X3) -> proper# X3, proper# U21(X1, X2) -> proper# X2)
    (proper# U14(X1, X2, X3) -> proper# X3, proper# U23 X -> U23# proper X)
    (proper# U14(X1, X2, X3) -> proper# X3, proper# U23 X -> proper# X)
    (proper# U14(X1, X2, X3) -> proper# X3, proper# U32(X1, X2, X3) -> U32#(proper X1, proper X2, proper X3))
    (proper# U14(X1, X2, X3) -> proper# X3, proper# U32(X1, X2, X3) -> proper# X1)
    (proper# U14(X1, X2, X3) -> proper# X3, proper# U32(X1, X2, X3) -> proper# X2)
    (proper# U14(X1, X2, X3) -> proper# X3, proper# U32(X1, X2, X3) -> proper# X3)
    (proper# U14(X1, X2, X3) -> proper# X3, proper# U31(X1, X2, X3) -> U31#(proper X1, proper X2, proper X3))
    (proper# U14(X1, X2, X3) -> proper# X3, proper# U31(X1, X2, X3) -> proper# X1)
    (proper# U14(X1, X2, X3) -> proper# X3, proper# U31(X1, X2, X3) -> proper# X2)
    (proper# U14(X1, X2, X3) -> proper# X3, proper# U31(X1, X2, X3) -> proper# X3)
    (proper# U14(X1, X2, X3) -> proper# X3, proper# U33(X1, X2, X3) -> U33#(proper X1, proper X2, proper X3))
    (proper# U14(X1, X2, X3) -> proper# X3, proper# U33(X1, X2, X3) -> proper# X1)
    (proper# U14(X1, X2, X3) -> proper# X3, proper# U33(X1, X2, X3) -> proper# X2)
    (proper# U14(X1, X2, X3) -> proper# X3, proper# U33(X1, X2, X3) -> proper# X3)
    (proper# U14(X1, X2, X3) -> proper# X3, proper# U34(X1, X2, X3) -> U34#(proper X1, proper X2, proper X3))
    (proper# U14(X1, X2, X3) -> proper# X3, proper# U34(X1, X2, X3) -> proper# X1)
    (proper# U14(X1, X2, X3) -> proper# X3, proper# U34(X1, X2, X3) -> proper# X2)
    (proper# U14(X1, X2, X3) -> proper# X3, proper# U34(X1, X2, X3) -> proper# X3)
    (proper# U14(X1, X2, X3) -> proper# X3, proper# U35(X1, X2) -> U35#(proper X1, proper X2))
    (proper# U14(X1, X2, X3) -> proper# X3, proper# U35(X1, X2) -> proper# X1)
    (proper# U14(X1, X2, X3) -> proper# X3, proper# U35(X1, X2) -> proper# X2)
    (proper# U14(X1, X2, X3) -> proper# X3, proper# U36 X -> U36# proper X)
    (proper# U14(X1, X2, X3) -> proper# X3, proper# U36 X -> proper# X)
    (proper# U14(X1, X2, X3) -> proper# X3, proper# U42 X -> U42# proper X)
    (proper# U14(X1, X2, X3) -> proper# X3, proper# U42 X -> proper# X)
    (proper# U14(X1, X2, X3) -> proper# X3, proper# U41(X1, X2) -> U41#(proper X1, proper X2))
    (proper# U14(X1, X2, X3) -> proper# X3, proper# U41(X1, X2) -> proper# X1)
    (proper# U14(X1, X2, X3) -> proper# X3, proper# U41(X1, X2) -> proper# X2)
    (proper# U14(X1, X2, X3) -> proper# X3, proper# U51 X -> U51# proper X)
    (proper# U14(X1, X2, X3) -> proper# X3, proper# U51 X -> proper# X)
    (proper# U14(X1, X2, X3) -> proper# X3, proper# U62 X -> U62# proper X)
    (proper# U14(X1, X2, X3) -> proper# X3, proper# U62 X -> proper# X)
    (proper# U14(X1, X2, X3) -> proper# X3, proper# U61(X1, X2) -> U61#(proper X1, proper X2))
    (proper# U14(X1, X2, X3) -> proper# X3, proper# U61(X1, X2) -> proper# X1)
    (proper# U14(X1, X2, X3) -> proper# X3, proper# U61(X1, X2) -> proper# X2)
    (proper# U14(X1, X2, X3) -> proper# X3, proper# U72(X1, X2) -> U72#(proper X1, proper X2))
    (proper# U14(X1, X2, X3) -> proper# X3, proper# U72(X1, X2) -> proper# X1)
    (proper# U14(X1, X2, X3) -> proper# X3, proper# U72(X1, X2) -> proper# X2)
    (proper# U14(X1, X2, X3) -> proper# X3, proper# U71(X1, X2) -> U71#(proper X1, proper X2))
    (proper# U14(X1, X2, X3) -> proper# X3, proper# U71(X1, X2) -> proper# X1)
    (proper# U14(X1, X2, X3) -> proper# X3, proper# U71(X1, X2) -> proper# X2)
    (proper# U14(X1, X2, X3) -> proper# X3, proper# U82(X1, X2, X3) -> U82#(proper X1, proper X2, proper X3))
    (proper# U14(X1, X2, X3) -> proper# X3, proper# U82(X1, X2, X3) -> proper# X1)
    (proper# U14(X1, X2, X3) -> proper# X3, proper# U82(X1, X2, X3) -> proper# X2)
    (proper# U14(X1, X2, X3) -> proper# X3, proper# U82(X1, X2, X3) -> proper# X3)
    (proper# U14(X1, X2, X3) -> proper# X3, proper# U81(X1, X2, X3) -> U81#(proper X1, proper X2, proper X3))
    (proper# U14(X1, X2, X3) -> proper# X3, proper# U81(X1, X2, X3) -> proper# X1)
    (proper# U14(X1, X2, X3) -> proper# X3, proper# U81(X1, X2, X3) -> proper# X2)
    (proper# U14(X1, X2, X3) -> proper# X3, proper# U81(X1, X2, X3) -> proper# X3)
    (proper# U14(X1, X2, X3) -> proper# X3, proper# U83(X1, X2, X3) -> U83#(proper X1, proper X2, proper X3))
    (proper# U14(X1, X2, X3) -> proper# X3, proper# U83(X1, X2, X3) -> proper# X1)
    (proper# U14(X1, X2, X3) -> proper# X3, proper# U83(X1, X2, X3) -> proper# X2)
    (proper# U14(X1, X2, X3) -> proper# X3, proper# U83(X1, X2, X3) -> proper# X3)
    (proper# U14(X1, X2, X3) -> proper# X3, proper# U84(X1, X2, X3) -> U84#(proper X1, proper X2, proper X3))
    (proper# U14(X1, X2, X3) -> proper# X3, proper# U84(X1, X2, X3) -> proper# X1)
    (proper# U14(X1, X2, X3) -> proper# X3, proper# U84(X1, X2, X3) -> proper# X2)
    (proper# U14(X1, X2, X3) -> proper# X3, proper# U84(X1, X2, X3) -> proper# X3)
    (proper# U14(X1, X2, X3) -> proper# X3, proper# s X -> s# proper X)
    (proper# U14(X1, X2, X3) -> proper# X3, proper# s X -> proper# X)
    (proper# U14(X1, X2, X3) -> proper# X3, proper# U92 X -> U92# proper X)
    (proper# U14(X1, X2, X3) -> proper# X3, proper# U92 X -> proper# X)
    (proper# U14(X1, X2, X3) -> proper# X3, proper# U91(X1, X2) -> U91#(proper X1, proper X2))
    (proper# U14(X1, X2, X3) -> proper# X3, proper# U91(X1, X2) -> proper# X1)
    (proper# U14(X1, X2, X3) -> proper# X3, proper# U91(X1, X2) -> proper# X2)
    (proper# U11(X1, X2, X3) -> proper# X3, proper# U102(X1, X2, X3) -> U102#(proper X1, proper X2, proper X3))
    (proper# U11(X1, X2, X3) -> proper# X3, proper# U102(X1, X2, X3) -> proper# X1)
    (proper# U11(X1, X2, X3) -> proper# X3, proper# U102(X1, X2, X3) -> proper# X2)
    (proper# U11(X1, X2, X3) -> proper# X3, proper# U102(X1, X2, X3) -> proper# X3)
    (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)
    (proper# U11(X1, X2, X3) -> proper# X3, proper# U101(X1, X2, X3) -> U101#(proper X1, proper X2, proper X3))
    (proper# U11(X1, X2, X3) -> proper# X3, proper# U101(X1, X2, X3) -> proper# X1)
    (proper# U11(X1, X2, X3) -> proper# X3, proper# U101(X1, X2, X3) -> proper# X2)
    (proper# U11(X1, X2, X3) -> proper# X3, proper# U101(X1, X2, X3) -> proper# X3)
    (proper# U11(X1, X2, X3) -> proper# X3, proper# U103(X1, X2, X3) -> U103#(proper X1, proper X2, proper X3))
    (proper# U11(X1, X2, X3) -> proper# X3, proper# U103(X1, X2, X3) -> proper# X1)
    (proper# U11(X1, X2, X3) -> proper# X3, proper# U103(X1, X2, X3) -> proper# X2)
    (proper# U11(X1, X2, X3) -> proper# X3, proper# U103(X1, X2, X3) -> proper# X3)
    (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# U104(X1, X2, X3) -> U104#(proper X1, proper X2, proper X3))
    (proper# U11(X1, X2, X3) -> proper# X3, proper# U104(X1, X2, X3) -> proper# X1)
    (proper# U11(X1, X2, X3) -> proper# X3, proper# U104(X1, X2, X3) -> proper# X2)
    (proper# U11(X1, X2, X3) -> proper# X3, proper# U104(X1, X2, X3) -> proper# X3)
    (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# 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# U12(X1, X2, X3) -> U12#(proper X1, proper X2, proper X3))
    (proper# U11(X1, X2, X3) -> proper# X3, proper# U12(X1, X2, X3) -> proper# X1)
    (proper# U11(X1, X2, X3) -> proper# X3, proper# U12(X1, X2, X3) -> proper# X2)
    (proper# U11(X1, X2, X3) -> proper# X3, proper# U12(X1, X2, X3) -> proper# X3)
    (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(X1, X2, X3) -> U13#(proper X1, proper X2, proper X3))
    (proper# U11(X1, X2, X3) -> proper# X3, proper# U13(X1, X2, X3) -> proper# X1)
    (proper# U11(X1, X2, X3) -> proper# X3, proper# U13(X1, X2, X3) -> proper# X2)
    (proper# U11(X1, X2, X3) -> proper# X3, proper# U13(X1, X2, X3) -> proper# X3)
    (proper# U11(X1, X2, X3) -> proper# X3, proper# U14(X1, X2, X3) -> U14#(proper X1, proper X2, proper X3))
    (proper# U11(X1, X2, X3) -> proper# X3, proper# U14(X1, X2, X3) -> proper# X1)
    (proper# U11(X1, X2, X3) -> proper# X3, proper# U14(X1, X2, X3) -> proper# X2)
    (proper# U11(X1, X2, X3) -> proper# X3, proper# U14(X1, X2, X3) -> proper# X3)
    (proper# U11(X1, X2, X3) -> proper# X3, proper# U15(X1, X2) -> U15#(proper X1, proper X2))
    (proper# U11(X1, X2, X3) -> proper# X3, proper# U15(X1, X2) -> proper# X1)
    (proper# U11(X1, X2, X3) -> proper# X3, proper# U15(X1, X2) -> proper# X2)
    (proper# U11(X1, X2, X3) -> proper# X3, proper# U16 X -> U16# proper X)
    (proper# U11(X1, X2, X3) -> proper# X3, proper# U16 X -> proper# X)
    (proper# U11(X1, X2, X3) -> proper# X3, proper# U22(X1, X2) -> U22#(proper X1, proper X2))
    (proper# U11(X1, X2, X3) -> proper# X3, proper# U22(X1, X2) -> proper# X1)
    (proper# U11(X1, X2, X3) -> proper# X3, proper# U22(X1, X2) -> proper# X2)
    (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# U23 X -> U23# proper X)
    (proper# U11(X1, X2, X3) -> proper# X3, proper# U23 X -> proper# X)
    (proper# U11(X1, X2, X3) -> proper# X3, proper# U32(X1, X2, X3) -> U32#(proper X1, proper X2, proper X3))
    (proper# U11(X1, X2, X3) -> proper# X3, proper# U32(X1, X2, X3) -> proper# X1)
    (proper# U11(X1, X2, X3) -> proper# X3, proper# U32(X1, X2, X3) -> proper# X2)
    (proper# U11(X1, X2, X3) -> proper# X3, proper# U32(X1, X2, X3) -> proper# X3)
    (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(X1, X2, X3) -> U33#(proper X1, proper X2, proper X3))
    (proper# U11(X1, X2, X3) -> proper# X3, proper# U33(X1, X2, X3) -> proper# X1)
    (proper# U11(X1, X2, X3) -> proper# X3, proper# U33(X1, X2, X3) -> proper# X2)
    (proper# U11(X1, X2, X3) -> proper# X3, proper# U33(X1, X2, X3) -> proper# X3)
    (proper# U11(X1, X2, X3) -> proper# X3, proper# U34(X1, X2, X3) -> U34#(proper X1, proper X2, proper X3))
    (proper# U11(X1, X2, X3) -> proper# X3, proper# U34(X1, X2, X3) -> proper# X1)
    (proper# U11(X1, X2, X3) -> proper# X3, proper# U34(X1, X2, X3) -> proper# X2)
    (proper# U11(X1, X2, X3) -> proper# X3, proper# U34(X1, X2, X3) -> proper# X3)
    (proper# U11(X1, X2, X3) -> proper# X3, proper# U35(X1, X2) -> U35#(proper X1, proper X2))
    (proper# U11(X1, X2, X3) -> proper# X3, proper# U35(X1, X2) -> proper# X1)
    (proper# U11(X1, X2, X3) -> proper# X3, proper# U35(X1, X2) -> proper# X2)
    (proper# U11(X1, X2, X3) -> proper# X3, proper# U36 X -> U36# proper X)
    (proper# U11(X1, X2, X3) -> proper# X3, proper# U36 X -> proper# X)
    (proper# U11(X1, X2, X3) -> proper# X3, proper# U42 X -> U42# proper X)
    (proper# U11(X1, X2, X3) -> proper# X3, proper# U42 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# U51 X -> U51# proper X)
    (proper# U11(X1, X2, X3) -> proper# X3, proper# U51 X -> proper# X)
    (proper# U11(X1, X2, X3) -> proper# X3, proper# U62 X -> U62# proper X)
    (proper# U11(X1, X2, X3) -> proper# X3, proper# U62 X -> proper# X)
    (proper# U11(X1, X2, X3) -> proper# X3, proper# U61(X1, X2) -> U61#(proper X1, proper X2))
    (proper# U11(X1, X2, X3) -> proper# X3, proper# U61(X1, X2) -> proper# X1)
    (proper# U11(X1, X2, X3) -> proper# X3, proper# U61(X1, X2) -> proper# X2)
    (proper# U11(X1, X2, X3) -> proper# X3, proper# U72(X1, X2) -> U72#(proper X1, proper X2))
    (proper# U11(X1, X2, X3) -> proper# X3, proper# U72(X1, X2) -> proper# X1)
    (proper# U11(X1, X2, X3) -> proper# X3, proper# U72(X1, X2) -> proper# X2)
    (proper# U11(X1, X2, X3) -> proper# X3, proper# U71(X1, X2) -> U71#(proper X1, proper X2))
    (proper# U11(X1, X2, X3) -> proper# X3, proper# U71(X1, X2) -> proper# X1)
    (proper# U11(X1, X2, X3) -> proper# X3, proper# U71(X1, X2) -> proper# X2)
    (proper# U11(X1, X2, X3) -> proper# X3, proper# U82(X1, X2, X3) -> U82#(proper X1, proper X2, proper X3))
    (proper# U11(X1, X2, X3) -> proper# X3, proper# U82(X1, X2, X3) -> proper# X1)
    (proper# U11(X1, X2, X3) -> proper# X3, proper# U82(X1, X2, X3) -> proper# X2)
    (proper# U11(X1, X2, X3) -> proper# X3, proper# U82(X1, X2, X3) -> proper# X3)
    (proper# U11(X1, X2, X3) -> proper# X3, proper# U81(X1, X2, X3) -> U81#(proper X1, proper X2, proper X3))
    (proper# U11(X1, X2, X3) -> proper# X3, proper# U81(X1, X2, X3) -> proper# X1)
    (proper# U11(X1, X2, X3) -> proper# X3, proper# U81(X1, X2, X3) -> proper# X2)
    (proper# U11(X1, X2, X3) -> proper# X3, proper# U81(X1, X2, X3) -> proper# X3)
    (proper# U11(X1, X2, X3) -> proper# X3, proper# U83(X1, X2, X3) -> U83#(proper X1, proper X2, proper X3))
    (proper# U11(X1, X2, X3) -> proper# X3, proper# U83(X1, X2, X3) -> proper# X1)
    (proper# U11(X1, X2, X3) -> proper# X3, proper# U83(X1, X2, X3) -> proper# X2)
    (proper# U11(X1, X2, X3) -> proper# X3, proper# U83(X1, X2, X3) -> proper# X3)
    (proper# U11(X1, X2, X3) -> proper# X3, proper# U84(X1, X2, X3) -> U84#(proper X1, proper X2, proper X3))
    (proper# U11(X1, X2, X3) -> proper# X3, proper# U84(X1, X2, X3) -> proper# X1)
    (proper# U11(X1, X2, X3) -> proper# X3, proper# U84(X1, X2, X3) -> proper# X2)
    (proper# U11(X1, X2, X3) -> proper# X3, proper# U84(X1, X2, X3) -> proper# X3)
    (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# U92 X -> U92# proper X)
    (proper# U11(X1, X2, X3) -> proper# X3, proper# U92 X -> proper# X)
    (proper# U11(X1, X2, X3) -> proper# X3, proper# U91(X1, X2) -> U91#(proper X1, proper X2))
    (proper# U11(X1, X2, X3) -> proper# X3, proper# U91(X1, X2) -> proper# X1)
    (proper# U11(X1, X2, X3) -> proper# X3, proper# U91(X1, X2) -> proper# X2)
    (proper# U104(X1, X2, X3) -> proper# X3, proper# U102(X1, X2, X3) -> U102#(proper X1, proper X2, proper X3))
    (proper# U104(X1, X2, X3) -> proper# X3, proper# U102(X1, X2, X3) -> proper# X1)
    (proper# U104(X1, X2, X3) -> proper# X3, proper# U102(X1, X2, X3) -> proper# X2)
    (proper# U104(X1, X2, X3) -> proper# X3, proper# U102(X1, X2, X3) -> proper# X3)
    (proper# U104(X1, X2, X3) -> proper# X3, proper# isNatKind X -> isNatKind# proper X)
    (proper# U104(X1, X2, X3) -> proper# X3, proper# isNatKind X -> proper# X)
    (proper# U104(X1, X2, X3) -> proper# X3, proper# U101(X1, X2, X3) -> U101#(proper X1, proper X2, proper X3))
    (proper# U104(X1, X2, X3) -> proper# X3, proper# U101(X1, X2, X3) -> proper# X1)
    (proper# U104(X1, X2, X3) -> proper# X3, proper# U101(X1, X2, X3) -> proper# X2)
    (proper# U104(X1, X2, X3) -> proper# X3, proper# U101(X1, X2, X3) -> proper# X3)
    (proper# U104(X1, X2, X3) -> proper# X3, proper# U103(X1, X2, X3) -> U103#(proper X1, proper X2, proper X3))
    (proper# U104(X1, X2, X3) -> proper# X3, proper# U103(X1, X2, X3) -> proper# X1)
    (proper# U104(X1, X2, X3) -> proper# X3, proper# U103(X1, X2, X3) -> proper# X2)
    (proper# U104(X1, X2, X3) -> proper# X3, proper# U103(X1, X2, X3) -> proper# X3)
    (proper# U104(X1, X2, X3) -> proper# X3, proper# isNat X -> isNat# proper X)
    (proper# U104(X1, X2, X3) -> proper# X3, proper# isNat X -> proper# X)
    (proper# U104(X1, X2, X3) -> proper# X3, proper# U104(X1, X2, X3) -> U104#(proper X1, proper X2, proper X3))
    (proper# U104(X1, X2, X3) -> proper# X3, proper# U104(X1, X2, X3) -> proper# X1)
    (proper# U104(X1, X2, X3) -> proper# X3, proper# U104(X1, X2, X3) -> proper# X2)
    (proper# U104(X1, X2, X3) -> proper# X3, proper# U104(X1, X2, X3) -> proper# X3)
    (proper# U104(X1, X2, X3) -> proper# X3, proper# plus(X1, X2) -> plus#(proper X1, proper X2))
    (proper# U104(X1, X2, X3) -> proper# X3, proper# plus(X1, X2) -> proper# X1)
    (proper# U104(X1, X2, X3) -> proper# X3, proper# plus(X1, X2) -> proper# X2)
    (proper# U104(X1, X2, X3) -> proper# X3, proper# x(X1, X2) -> x#(proper X1, proper X2))
    (proper# U104(X1, X2, X3) -> proper# X3, proper# x(X1, X2) -> proper# X1)
    (proper# U104(X1, X2, X3) -> proper# X3, proper# x(X1, X2) -> proper# X2)
    (proper# U104(X1, X2, X3) -> proper# X3, proper# U12(X1, X2, X3) -> U12#(proper X1, proper X2, proper X3))
    (proper# U104(X1, X2, X3) -> proper# X3, proper# U12(X1, X2, X3) -> proper# X1)
    (proper# U104(X1, X2, X3) -> proper# X3, proper# U12(X1, X2, X3) -> proper# X2)
    (proper# U104(X1, X2, X3) -> proper# X3, proper# U12(X1, X2, X3) -> proper# X3)
    (proper# U104(X1, X2, X3) -> proper# X3, proper# U11(X1, X2, X3) -> U11#(proper X1, proper X2, proper X3))
    (proper# U104(X1, X2, X3) -> proper# X3, proper# U11(X1, X2, X3) -> proper# X1)
    (proper# U104(X1, X2, X3) -> proper# X3, proper# U11(X1, X2, X3) -> proper# X2)
    (proper# U104(X1, X2, X3) -> proper# X3, proper# U11(X1, X2, X3) -> proper# X3)
    (proper# U104(X1, X2, X3) -> proper# X3, proper# U13(X1, X2, X3) -> U13#(proper X1, proper X2, proper X3))
    (proper# U104(X1, X2, X3) -> proper# X3, proper# U13(X1, X2, X3) -> proper# X1)
    (proper# U104(X1, X2, X3) -> proper# X3, proper# U13(X1, X2, X3) -> proper# X2)
    (proper# U104(X1, X2, X3) -> proper# X3, proper# U13(X1, X2, X3) -> proper# X3)
    (proper# U104(X1, X2, X3) -> proper# X3, proper# U14(X1, X2, X3) -> U14#(proper X1, proper X2, proper X3))
    (proper# U104(X1, X2, X3) -> proper# X3, proper# U14(X1, X2, X3) -> proper# X1)
    (proper# U104(X1, X2, X3) -> proper# X3, proper# U14(X1, X2, X3) -> proper# X2)
    (proper# U104(X1, X2, X3) -> proper# X3, proper# U14(X1, X2, X3) -> proper# X3)
    (proper# U104(X1, X2, X3) -> proper# X3, proper# U15(X1, X2) -> U15#(proper X1, proper X2))
    (proper# U104(X1, X2, X3) -> proper# X3, proper# U15(X1, X2) -> proper# X1)
    (proper# U104(X1, X2, X3) -> proper# X3, proper# U15(X1, X2) -> proper# X2)
    (proper# U104(X1, X2, X3) -> proper# X3, proper# U16 X -> U16# proper X)
    (proper# U104(X1, X2, X3) -> proper# X3, proper# U16 X -> proper# X)
    (proper# U104(X1, X2, X3) -> proper# X3, proper# U22(X1, X2) -> U22#(proper X1, proper X2))
    (proper# U104(X1, X2, X3) -> proper# X3, proper# U22(X1, X2) -> proper# X1)
    (proper# U104(X1, X2, X3) -> proper# X3, proper# U22(X1, X2) -> proper# X2)
    (proper# U104(X1, X2, X3) -> proper# X3, proper# U21(X1, X2) -> U21#(proper X1, proper X2))
    (proper# U104(X1, X2, X3) -> proper# X3, proper# U21(X1, X2) -> proper# X1)
    (proper# U104(X1, X2, X3) -> proper# X3, proper# U21(X1, X2) -> proper# X2)
    (proper# U104(X1, X2, X3) -> proper# X3, proper# U23 X -> U23# proper X)
    (proper# U104(X1, X2, X3) -> proper# X3, proper# U23 X -> proper# X)
    (proper# U104(X1, X2, X3) -> proper# X3, proper# U32(X1, X2, X3) -> U32#(proper X1, proper X2, proper X3))
    (proper# U104(X1, X2, X3) -> proper# X3, proper# U32(X1, X2, X3) -> proper# X1)
    (proper# U104(X1, X2, X3) -> proper# X3, proper# U32(X1, X2, X3) -> proper# X2)
    (proper# U104(X1, X2, X3) -> proper# X3, proper# U32(X1, X2, X3) -> proper# X3)
    (proper# U104(X1, X2, X3) -> proper# X3, proper# U31(X1, X2, X3) -> U31#(proper X1, proper X2, proper X3))
    (proper# U104(X1, X2, X3) -> proper# X3, proper# U31(X1, X2, X3) -> proper# X1)
    (proper# U104(X1, X2, X3) -> proper# X3, proper# U31(X1, X2, X3) -> proper# X2)
    (proper# U104(X1, X2, X3) -> proper# X3, proper# U31(X1, X2, X3) -> proper# X3)
    (proper# U104(X1, X2, X3) -> proper# X3, proper# U33(X1, X2, X3) -> U33#(proper X1, proper X2, proper X3))
    (proper# U104(X1, X2, X3) -> proper# X3, proper# U33(X1, X2, X3) -> proper# X1)
    (proper# U104(X1, X2, X3) -> proper# X3, proper# U33(X1, X2, X3) -> proper# X2)
    (proper# U104(X1, X2, X3) -> proper# X3, proper# U33(X1, X2, X3) -> proper# X3)
    (proper# U104(X1, X2, X3) -> proper# X3, proper# U34(X1, X2, X3) -> U34#(proper X1, proper X2, proper X3))
    (proper# U104(X1, X2, X3) -> proper# X3, proper# U34(X1, X2, X3) -> proper# X1)
    (proper# U104(X1, X2, X3) -> proper# X3, proper# U34(X1, X2, X3) -> proper# X2)
    (proper# U104(X1, X2, X3) -> proper# X3, proper# U34(X1, X2, X3) -> proper# X3)
    (proper# U104(X1, X2, X3) -> proper# X3, proper# U35(X1, X2) -> U35#(proper X1, proper X2))
    (proper# U104(X1, X2, X3) -> proper# X3, proper# U35(X1, X2) -> proper# X1)
    (proper# U104(X1, X2, X3) -> proper# X3, proper# U35(X1, X2) -> proper# X2)
    (proper# U104(X1, X2, X3) -> proper# X3, proper# U36 X -> U36# proper X)
    (proper# U104(X1, X2, X3) -> proper# X3, proper# U36 X -> proper# X)
    (proper# U104(X1, X2, X3) -> proper# X3, proper# U42 X -> U42# proper X)
    (proper# U104(X1, X2, X3) -> proper# X3, proper# U42 X -> proper# X)
    (proper# U104(X1, X2, X3) -> proper# X3, proper# U41(X1, X2) -> U41#(proper X1, proper X2))
    (proper# U104(X1, X2, X3) -> proper# X3, proper# U41(X1, X2) -> proper# X1)
    (proper# U104(X1, X2, X3) -> proper# X3, proper# U41(X1, X2) -> proper# X2)
    (proper# U104(X1, X2, X3) -> proper# X3, proper# U51 X -> U51# proper X)
    (proper# U104(X1, X2, X3) -> proper# X3, proper# U51 X -> proper# X)
    (proper# U104(X1, X2, X3) -> proper# X3, proper# U62 X -> U62# proper X)
    (proper# U104(X1, X2, X3) -> proper# X3, proper# U62 X -> proper# X)
    (proper# U104(X1, X2, X3) -> proper# X3, proper# U61(X1, X2) -> U61#(proper X1, proper X2))
    (proper# U104(X1, X2, X3) -> proper# X3, proper# U61(X1, X2) -> proper# X1)
    (proper# U104(X1, X2, X3) -> proper# X3, proper# U61(X1, X2) -> proper# X2)
    (proper# U104(X1, X2, X3) -> proper# X3, proper# U72(X1, X2) -> U72#(proper X1, proper X2))
    (proper# U104(X1, X2, X3) -> proper# X3, proper# U72(X1, X2) -> proper# X1)
    (proper# U104(X1, X2, X3) -> proper# X3, proper# U72(X1, X2) -> proper# X2)
    (proper# U104(X1, X2, X3) -> proper# X3, proper# U71(X1, X2) -> U71#(proper X1, proper X2))
    (proper# U104(X1, X2, X3) -> proper# X3, proper# U71(X1, X2) -> proper# X1)
    (proper# U104(X1, X2, X3) -> proper# X3, proper# U71(X1, X2) -> proper# X2)
    (proper# U104(X1, X2, X3) -> proper# X3, proper# U82(X1, X2, X3) -> U82#(proper X1, proper X2, proper X3))
    (proper# U104(X1, X2, X3) -> proper# X3, proper# U82(X1, X2, X3) -> proper# X1)
    (proper# U104(X1, X2, X3) -> proper# X3, proper# U82(X1, X2, X3) -> proper# X2)
    (proper# U104(X1, X2, X3) -> proper# X3, proper# U82(X1, X2, X3) -> proper# X3)
    (proper# U104(X1, X2, X3) -> proper# X3, proper# U81(X1, X2, X3) -> U81#(proper X1, proper X2, proper X3))
    (proper# U104(X1, X2, X3) -> proper# X3, proper# U81(X1, X2, X3) -> proper# X1)
    (proper# U104(X1, X2, X3) -> proper# X3, proper# U81(X1, X2, X3) -> proper# X2)
    (proper# U104(X1, X2, X3) -> proper# X3, proper# U81(X1, X2, X3) -> proper# X3)
    (proper# U104(X1, X2, X3) -> proper# X3, proper# U83(X1, X2, X3) -> U83#(proper X1, proper X2, proper X3))
    (proper# U104(X1, X2, X3) -> proper# X3, proper# U83(X1, X2, X3) -> proper# X1)
    (proper# U104(X1, X2, X3) -> proper# X3, proper# U83(X1, X2, X3) -> proper# X2)
    (proper# U104(X1, X2, X3) -> proper# X3, proper# U83(X1, X2, X3) -> proper# X3)
    (proper# U104(X1, X2, X3) -> proper# X3, proper# U84(X1, X2, X3) -> U84#(proper X1, proper X2, proper X3))
    (proper# U104(X1, X2, X3) -> proper# X3, proper# U84(X1, X2, X3) -> proper# X1)
    (proper# U104(X1, X2, X3) -> proper# X3, proper# U84(X1, X2, X3) -> proper# X2)
    (proper# U104(X1, X2, X3) -> proper# X3, proper# U84(X1, X2, X3) -> proper# X3)
    (proper# U104(X1, X2, X3) -> proper# X3, proper# s X -> s# proper X)
    (proper# U104(X1, X2, X3) -> proper# X3, proper# s X -> proper# X)
    (proper# U104(X1, X2, X3) -> proper# X3, proper# U92 X -> U92# proper X)
    (proper# U104(X1, X2, X3) -> proper# X3, proper# U92 X -> proper# X)
    (proper# U104(X1, X2, X3) -> proper# X3, proper# U91(X1, X2) -> U91#(proper X1, proper X2))
    (proper# U104(X1, X2, X3) -> proper# X3, proper# U91(X1, X2) -> proper# X1)
    (proper# U104(X1, X2, X3) -> proper# X3, proper# U91(X1, X2) -> proper# X2)
    (proper# U101(X1, X2, X3) -> proper# X3, proper# U102(X1, X2, X3) -> U102#(proper X1, proper X2, proper X3))
    (proper# U101(X1, X2, X3) -> proper# X3, proper# U102(X1, X2, X3) -> proper# X1)
    (proper# U101(X1, X2, X3) -> proper# X3, proper# U102(X1, X2, X3) -> proper# X2)
    (proper# U101(X1, X2, X3) -> proper# X3, proper# U102(X1, X2, X3) -> proper# X3)
    (proper# U101(X1, X2, X3) -> proper# X3, proper# isNatKind X -> isNatKind# proper X)
    (proper# U101(X1, X2, X3) -> proper# X3, proper# isNatKind X -> proper# X)
    (proper# U101(X1, X2, X3) -> proper# X3, proper# U101(X1, X2, X3) -> U101#(proper X1, proper X2, proper X3))
    (proper# U101(X1, X2, X3) -> proper# X3, proper# U101(X1, X2, X3) -> proper# X1)
    (proper# U101(X1, X2, X3) -> proper# X3, proper# U101(X1, X2, X3) -> proper# X2)
    (proper# U101(X1, X2, X3) -> proper# X3, proper# U101(X1, X2, X3) -> proper# X3)
    (proper# U101(X1, X2, X3) -> proper# X3, proper# U103(X1, X2, X3) -> U103#(proper X1, proper X2, proper X3))
    (proper# U101(X1, X2, X3) -> proper# X3, proper# U103(X1, X2, X3) -> proper# X1)
    (proper# U101(X1, X2, X3) -> proper# X3, proper# U103(X1, X2, X3) -> proper# X2)
    (proper# U101(X1, X2, X3) -> proper# X3, proper# U103(X1, X2, X3) -> proper# X3)
    (proper# U101(X1, X2, X3) -> proper# X3, proper# isNat X -> isNat# proper X)
    (proper# U101(X1, X2, X3) -> proper# X3, proper# isNat X -> proper# X)
    (proper# U101(X1, X2, X3) -> proper# X3, proper# U104(X1, X2, X3) -> U104#(proper X1, proper X2, proper X3))
    (proper# U101(X1, X2, X3) -> proper# X3, proper# U104(X1, X2, X3) -> proper# X1)
    (proper# U101(X1, X2, X3) -> proper# X3, proper# U104(X1, X2, X3) -> proper# X2)
    (proper# U101(X1, X2, X3) -> proper# X3, proper# U104(X1, X2, X3) -> proper# X3)
    (proper# U101(X1, X2, X3) -> proper# X3, proper# plus(X1, X2) -> plus#(proper X1, proper X2))
    (proper# U101(X1, X2, X3) -> proper# X3, proper# plus(X1, X2) -> proper# X1)
    (proper# U101(X1, X2, X3) -> proper# X3, proper# plus(X1, X2) -> proper# X2)
    (proper# U101(X1, X2, X3) -> proper# X3, proper# x(X1, X2) -> x#(proper X1, proper X2))
    (proper# U101(X1, X2, X3) -> proper# X3, proper# x(X1, X2) -> proper# X1)
    (proper# U101(X1, X2, X3) -> proper# X3, proper# x(X1, X2) -> proper# X2)
    (proper# U101(X1, X2, X3) -> proper# X3, proper# U12(X1, X2, X3) -> U12#(proper X1, proper X2, proper X3))
    (proper# U101(X1, X2, X3) -> proper# X3, proper# U12(X1, X2, X3) -> proper# X1)
    (proper# U101(X1, X2, X3) -> proper# X3, proper# U12(X1, X2, X3) -> proper# X2)
    (proper# U101(X1, X2, X3) -> proper# X3, proper# U12(X1, X2, X3) -> proper# X3)
    (proper# U101(X1, X2, X3) -> proper# X3, proper# U11(X1, X2, X3) -> U11#(proper X1, proper X2, proper X3))
    (proper# U101(X1, X2, X3) -> proper# X3, proper# U11(X1, X2, X3) -> proper# X1)
    (proper# U101(X1, X2, X3) -> proper# X3, proper# U11(X1, X2, X3) -> proper# X2)
    (proper# U101(X1, X2, X3) -> proper# X3, proper# U11(X1, X2, X3) -> proper# X3)
    (proper# U101(X1, X2, X3) -> proper# X3, proper# U13(X1, X2, X3) -> U13#(proper X1, proper X2, proper X3))
    (proper# U101(X1, X2, X3) -> proper# X3, proper# U13(X1, X2, X3) -> proper# X1)
    (proper# U101(X1, X2, X3) -> proper# X3, proper# U13(X1, X2, X3) -> proper# X2)
    (proper# U101(X1, X2, X3) -> proper# X3, proper# U13(X1, X2, X3) -> proper# X3)
    (proper# U101(X1, X2, X3) -> proper# X3, proper# U14(X1, X2, X3) -> U14#(proper X1, proper X2, proper X3))
    (proper# U101(X1, X2, X3) -> proper# X3, proper# U14(X1, X2, X3) -> proper# X1)
    (proper# U101(X1, X2, X3) -> proper# X3, proper# U14(X1, X2, X3) -> proper# X2)
    (proper# U101(X1, X2, X3) -> proper# X3, proper# U14(X1, X2, X3) -> proper# X3)
    (proper# U101(X1, X2, X3) -> proper# X3, proper# U15(X1, X2) -> U15#(proper X1, proper X2))
    (proper# U101(X1, X2, X3) -> proper# X3, proper# U15(X1, X2) -> proper# X1)
    (proper# U101(X1, X2, X3) -> proper# X3, proper# U15(X1, X2) -> proper# X2)
    (proper# U101(X1, X2, X3) -> proper# X3, proper# U16 X -> U16# proper X)
    (proper# U101(X1, X2, X3) -> proper# X3, proper# U16 X -> proper# X)
    (proper# U101(X1, X2, X3) -> proper# X3, proper# U22(X1, X2) -> U22#(proper X1, proper X2))
    (proper# U101(X1, X2, X3) -> proper# X3, proper# U22(X1, X2) -> proper# X1)
    (proper# U101(X1, X2, X3) -> proper# X3, proper# U22(X1, X2) -> proper# X2)
    (proper# U101(X1, X2, X3) -> proper# X3, proper# U21(X1, X2) -> U21#(proper X1, proper X2))
    (proper# U101(X1, X2, X3) -> proper# X3, proper# U21(X1, X2) -> proper# X1)
    (proper# U101(X1, X2, X3) -> proper# X3, proper# U21(X1, X2) -> proper# X2)
    (proper# U101(X1, X2, X3) -> proper# X3, proper# U23 X -> U23# proper X)
    (proper# U101(X1, X2, X3) -> proper# X3, proper# U23 X -> proper# X)
    (proper# U101(X1, X2, X3) -> proper# X3, proper# U32(X1, X2, X3) -> U32#(proper X1, proper X2, proper X3))
    (proper# U101(X1, X2, X3) -> proper# X3, proper# U32(X1, X2, X3) -> proper# X1)
    (proper# U101(X1, X2, X3) -> proper# X3, proper# U32(X1, X2, X3) -> proper# X2)
    (proper# U101(X1, X2, X3) -> proper# X3, proper# U32(X1, X2, X3) -> proper# X3)
    (proper# U101(X1, X2, X3) -> proper# X3, proper# U31(X1, X2, X3) -> U31#(proper X1, proper X2, proper X3))
    (proper# U101(X1, X2, X3) -> proper# X3, proper# U31(X1, X2, X3) -> proper# X1)
    (proper# U101(X1, X2, X3) -> proper# X3, proper# U31(X1, X2, X3) -> proper# X2)
    (proper# U101(X1, X2, X3) -> proper# X3, proper# U31(X1, X2, X3) -> proper# X3)
    (proper# U101(X1, X2, X3) -> proper# X3, proper# U33(X1, X2, X3) -> U33#(proper X1, proper X2, proper X3))
    (proper# U101(X1, X2, X3) -> proper# X3, proper# U33(X1, X2, X3) -> proper# X1)
    (proper# U101(X1, X2, X3) -> proper# X3, proper# U33(X1, X2, X3) -> proper# X2)
    (proper# U101(X1, X2, X3) -> proper# X3, proper# U33(X1, X2, X3) -> proper# X3)
    (proper# U101(X1, X2, X3) -> proper# X3, proper# U34(X1, X2, X3) -> U34#(proper X1, proper X2, proper X3))
    (proper# U101(X1, X2, X3) -> proper# X3, proper# U34(X1, X2, X3) -> proper# X1)
    (proper# U101(X1, X2, X3) -> proper# X3, proper# U34(X1, X2, X3) -> proper# X2)
    (proper# U101(X1, X2, X3) -> proper# X3, proper# U34(X1, X2, X3) -> proper# X3)
    (proper# U101(X1, X2, X3) -> proper# X3, proper# U35(X1, X2) -> U35#(proper X1, proper X2))
    (proper# U101(X1, X2, X3) -> proper# X3, proper# U35(X1, X2) -> proper# X1)
    (proper# U101(X1, X2, X3) -> proper# X3, proper# U35(X1, X2) -> proper# X2)
    (proper# U101(X1, X2, X3) -> proper# X3, proper# U36 X -> U36# proper X)
    (proper# U101(X1, X2, X3) -> proper# X3, proper# U36 X -> proper# X)
    (proper# U101(X1, X2, X3) -> proper# X3, proper# U42 X -> U42# proper X)
    (proper# U101(X1, X2, X3) -> proper# X3, proper# U42 X -> proper# X)
    (proper# U101(X1, X2, X3) -> proper# X3, proper# U41(X1, X2) -> U41#(proper X1, proper X2))
    (proper# U101(X1, X2, X3) -> proper# X3, proper# U41(X1, X2) -> proper# X1)
    (proper# U101(X1, X2, X3) -> proper# X3, proper# U41(X1, X2) -> proper# X2)
    (proper# U101(X1, X2, X3) -> proper# X3, proper# U51 X -> U51# proper X)
    (proper# U101(X1, X2, X3) -> proper# X3, proper# U51 X -> proper# X)
    (proper# U101(X1, X2, X3) -> proper# X3, proper# U62 X -> U62# proper X)
    (proper# U101(X1, X2, X3) -> proper# X3, proper# U62 X -> proper# X)
    (proper# U101(X1, X2, X3) -> proper# X3, proper# U61(X1, X2) -> U61#(proper X1, proper X2))
    (proper# U101(X1, X2, X3) -> proper# X3, proper# U61(X1, X2) -> proper# X1)
    (proper# U101(X1, X2, X3) -> proper# X3, proper# U61(X1, X2) -> proper# X2)
    (proper# U101(X1, X2, X3) -> proper# X3, proper# U72(X1, X2) -> U72#(proper X1, proper X2))
    (proper# U101(X1, X2, X3) -> proper# X3, proper# U72(X1, X2) -> proper# X1)
    (proper# U101(X1, X2, X3) -> proper# X3, proper# U72(X1, X2) -> proper# X2)
    (proper# U101(X1, X2, X3) -> proper# X3, proper# U71(X1, X2) -> U71#(proper X1, proper X2))
    (proper# U101(X1, X2, X3) -> proper# X3, proper# U71(X1, X2) -> proper# X1)
    (proper# U101(X1, X2, X3) -> proper# X3, proper# U71(X1, X2) -> proper# X2)
    (proper# U101(X1, X2, X3) -> proper# X3, proper# U82(X1, X2, X3) -> U82#(proper X1, proper X2, proper X3))
    (proper# U101(X1, X2, X3) -> proper# X3, proper# U82(X1, X2, X3) -> proper# X1)
    (proper# U101(X1, X2, X3) -> proper# X3, proper# U82(X1, X2, X3) -> proper# X2)
    (proper# U101(X1, X2, X3) -> proper# X3, proper# U82(X1, X2, X3) -> proper# X3)
    (proper# U101(X1, X2, X3) -> proper# X3, proper# U81(X1, X2, X3) -> U81#(proper X1, proper X2, proper X3))
    (proper# U101(X1, X2, X3) -> proper# X3, proper# U81(X1, X2, X3) -> proper# X1)
    (proper# U101(X1, X2, X3) -> proper# X3, proper# U81(X1, X2, X3) -> proper# X2)
    (proper# U101(X1, X2, X3) -> proper# X3, proper# U81(X1, X2, X3) -> proper# X3)
    (proper# U101(X1, X2, X3) -> proper# X3, proper# U83(X1, X2, X3) -> U83#(proper X1, proper X2, proper X3))
    (proper# U101(X1, X2, X3) -> proper# X3, proper# U83(X1, X2, X3) -> proper# X1)
    (proper# U101(X1, X2, X3) -> proper# X3, proper# U83(X1, X2, X3) -> proper# X2)
    (proper# U101(X1, X2, X3) -> proper# X3, proper# U83(X1, X2, X3) -> proper# X3)
    (proper# U101(X1, X2, X3) -> proper# X3, proper# U84(X1, X2, X3) -> U84#(proper X1, proper X2, proper X3))
    (proper# U101(X1, X2, X3) -> proper# X3, proper# U84(X1, X2, X3) -> proper# X1)
    (proper# U101(X1, X2, X3) -> proper# X3, proper# U84(X1, X2, X3) -> proper# X2)
    (proper# U101(X1, X2, X3) -> proper# X3, proper# U84(X1, X2, X3) -> proper# X3)
    (proper# U101(X1, X2, X3) -> proper# X3, proper# s X -> s# proper X)
    (proper# U101(X1, X2, X3) -> proper# X3, proper# s X -> proper# X)
    (proper# U101(X1, X2, X3) -> proper# X3, proper# U92 X -> U92# proper X)
    (proper# U101(X1, X2, X3) -> proper# X3, proper# U92 X -> proper# X)
    (proper# U101(X1, X2, X3) -> proper# X3, proper# U91(X1, X2) -> U91#(proper X1, proper X2))
    (proper# U101(X1, X2, X3) -> proper# X3, proper# U91(X1, X2) -> proper# X1)
    (proper# U101(X1, X2, X3) -> proper# X3, proper# U91(X1, X2) -> proper# X2)
    (proper# U84(X1, X2, X3) -> U84#(proper X1, proper X2, proper X3), U84#(mark X1, X2, X3) -> U84#(X1, X2, X3))
    (proper# U84(X1, X2, X3) -> U84#(proper X1, proper X2, proper X3), U84#(ok X1, ok X2, ok X3) -> U84#(X1, X2, X3))
    (proper# U81(X1, X2, X3) -> U81#(proper X1, proper X2, proper X3), U81#(mark X1, X2, X3) -> U81#(X1, X2, X3))
    (proper# U81(X1, X2, X3) -> U81#(proper X1, proper X2, proper X3), U81#(ok X1, ok X2, ok X3) -> U81#(X1, X2, X3))
    (proper# U34(X1, X2, X3) -> U34#(proper X1, proper X2, proper X3), U34#(mark X1, X2, X3) -> U34#(X1, X2, X3))
    (proper# U34(X1, X2, X3) -> U34#(proper X1, proper X2, proper X3), U34#(ok X1, ok X2, ok X3) -> U34#(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))
    (proper# U14(X1, X2, X3) -> U14#(proper X1, proper X2, proper X3), U14#(mark X1, X2, X3) -> U14#(X1, X2, X3))
    (proper# U14(X1, X2, X3) -> U14#(proper X1, proper X2, proper X3), U14#(ok X1, ok X2, ok X3) -> U14#(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# U11(X1, X2, X3) -> U11#(proper X1, proper X2, proper X3), U11#(ok X1, ok X2, ok X3) -> U11#(X1, X2, X3))
    (proper# U104(X1, X2, X3) -> U104#(proper X1, proper X2, proper X3), U104#(mark X1, X2, X3) -> U104#(X1, X2, X3))
    (proper# U104(X1, X2, X3) -> U104#(proper X1, proper X2, proper X3), U104#(ok X1, ok X2, ok X3) -> U104#(X1, X2, X3))
    (proper# U101(X1, X2, X3) -> U101#(proper X1, proper X2, proper X3), U101#(mark X1, X2, X3) -> U101#(X1, X2, X3))
    (proper# U101(X1, X2, X3) -> U101#(proper X1, proper X2, proper X3), U101#(ok X1, ok X2, ok X3) -> U101#(X1, X2, X3))
    (active# U83(tt(), M, N) -> U84#(isNatKind N, M, N), U84#(ok X1, ok X2, ok X3) -> U84#(X1, X2, X3))
    (active# U82(tt(), M, N) -> U83#(isNat N, M, N), U83#(ok X1, ok X2, ok X3) -> U83#(X1, X2, X3))
    (active# plus(N, s M) -> U81#(isNat M, M, N), U81#(ok X1, ok X2, ok X3) -> U81#(X1, X2, X3))
    (active# U101(tt(), M, N) -> U102#(isNatKind M, M, N), U102#(ok X1, ok X2, ok X3) -> U102#(X1, X2, X3))
    (active# U91(tt(), N) -> isNatKind# N, isNatKind# ok X -> isNatKind# X)
    (active# U82(tt(), M, N) -> isNat# N, isNat# ok X -> isNat# X)
    (active# x(N, 0()) -> isNat# N, isNat# ok X -> isNat# X)
    (active# U103(tt(), M, N) -> isNatKind# N, isNatKind# ok X -> isNatKind# X)
    (active# U71(tt(), N) -> U72#(isNatKind N, N), U72#(ok X1, ok X2) -> U72#(X1, X2))
    (active# plus(N, 0()) -> U71#(isNat N, N), U71#(ok X1, ok X2) -> U71#(X1, X2))
    (active# U33(tt(), V1, V2) -> U34#(isNatKind V2, V1, V2), U34#(ok X1, ok X2, ok X3) -> U34#(X1, X2, X3))
    (active# U32(tt(), V1, V2) -> U33#(isNatKind V2, V1, V2), U33#(ok X1, ok X2, ok X3) -> U33#(X1, X2, X3))
    (active# U11(tt(), V1, V2) -> U12#(isNatKind V1, V1, V2), U12#(ok X1, ok X2, ok X3) -> U12#(X1, X2, X3))
    (active# isNat x(V1, V2) -> U31#(isNatKind V1, V1, V2), U31#(ok X1, ok X2, ok X3) -> U31#(X1, X2, X3))
    (active# U91(tt(), N) -> U92# isNatKind N, U92# ok X -> U92# X)
    (active# isNatKind s V1 -> U51# isNatKind V1, U51# ok X -> U51# X)
    (active# U41(tt(), V2) -> U42# isNatKind V2, U42# ok X -> U42# X)
    (active# U15(tt(), V2) -> U16# isNat V2, U16# ok X -> U16# X)
    (top# mark X -> top# proper X, top# mark X -> proper# X)
    (top# mark X -> top# proper X, top# mark X -> top# proper X)
    (top# mark X -> top# proper X, top# ok X -> active# X)
    (top# mark X -> top# proper X, top# ok X -> top# active X)
    (proper# s X -> s# proper X, s# mark X -> s# X)
    (proper# s X -> s# proper X, s# ok X -> s# X)
    (proper# U51 X -> U51# proper X, U51# mark X -> U51# X)
    (proper# U51 X -> U51# proper X, U51# ok X -> U51# X)
    (proper# U36 X -> U36# proper X, U36# mark X -> U36# X)
    (proper# U36 X -> U36# proper X, U36# ok X -> U36# X)
    (proper# U16 X -> U16# proper X, U16# mark X -> U16# X)
    (proper# U16 X -> U16# proper X, U16# ok X -> U16# X)
    (proper# isNatKind X -> isNatKind# proper X, isNatKind# ok X -> isNatKind# X)
    (active# s X -> s# active X, s# mark X -> s# X)
    (active# s X -> s# active X, s# ok X -> s# X)
    (active# U51 X -> U51# active X, U51# mark X -> U51# X)
    (active# U51 X -> U51# active X, U51# ok X -> U51# X)
    (active# U36 X -> U36# active X, U36# mark X -> U36# X)
    (active# U36 X -> U36# active X, U36# ok X -> U36# X)
    (active# U16 X -> U16# active X, U16# mark X -> U16# X)
    (active# U16 X -> U16# active X, U16# ok X -> U16# X)
    (proper# U71(X1, X2) -> U71#(proper X1, proper X2), U71#(mark X1, X2) -> U71#(X1, X2))
    (proper# U71(X1, X2) -> U71#(proper X1, proper X2), U71#(ok X1, ok X2) -> U71#(X1, X2))
    (proper# U61(X1, X2) -> U61#(proper X1, proper X2), U61#(mark X1, X2) -> U61#(X1, X2))
    (proper# U61(X1, X2) -> U61#(proper X1, proper X2), U61#(ok X1, ok X2) -> U61#(X1, X2))
    (proper# U35(X1, X2) -> U35#(proper X1, proper X2), U35#(mark X1, X2) -> U35#(X1, X2))
    (proper# U35(X1, X2) -> U35#(proper X1, proper X2), U35#(ok X1, ok X2) -> U35#(X1, X2))
    (proper# U22(X1, X2) -> U22#(proper X1, proper X2), U22#(mark X1, X2) -> U22#(X1, X2))
    (proper# U22(X1, X2) -> U22#(proper X1, proper X2), U22#(ok X1, ok X2) -> U22#(X1, X2))
    (proper# x(X1, X2) -> x#(proper X1, proper X2), x#(X1, mark 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#(ok X1, ok X2) -> x#(X1, X2))
    (active# U34(tt(), V1, V2) -> U35#(isNat V1, V2), U35#(ok X1, ok X2) -> U35#(X1, X2))
    (active# x(X1, X2) -> x#(X1, active X2), x#(X1, mark 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#(ok X1, ok X2) -> x#(X1, X2))
    (active# isNatKind x(V1, V2) -> U61#(isNatKind V1, V2), U61#(ok X1, ok X2) -> U61#(X1, X2))
    (proper# U91(X1, X2) -> proper# X1, proper# U102(X1, X2, X3) -> U102#(proper X1, proper X2, proper X3))
    (proper# U91(X1, X2) -> proper# X1, proper# U102(X1, X2, X3) -> proper# X1)
    (proper# U91(X1, X2) -> proper# X1, proper# U102(X1, X2, X3) -> proper# X2)
    (proper# U91(X1, X2) -> proper# X1, proper# U102(X1, X2, X3) -> proper# X3)
    (proper# U91(X1, X2) -> proper# X1, proper# isNatKind X -> isNatKind# proper X)
    (proper# U91(X1, X2) -> proper# X1, proper# isNatKind X -> proper# X)
    (proper# U91(X1, X2) -> proper# X1, proper# U101(X1, X2, X3) -> U101#(proper X1, proper X2, proper X3))
    (proper# U91(X1, X2) -> proper# X1, proper# U101(X1, X2, X3) -> proper# X1)
    (proper# U91(X1, X2) -> proper# X1, proper# U101(X1, X2, X3) -> proper# X2)
    (proper# U91(X1, X2) -> proper# X1, proper# U101(X1, X2, X3) -> proper# X3)
    (proper# U91(X1, X2) -> proper# X1, proper# U103(X1, X2, X3) -> U103#(proper X1, proper X2, proper X3))
    (proper# U91(X1, X2) -> proper# X1, proper# U103(X1, X2, X3) -> proper# X1)
    (proper# U91(X1, X2) -> proper# X1, proper# U103(X1, X2, X3) -> proper# X2)
    (proper# U91(X1, X2) -> proper# X1, proper# U103(X1, X2, X3) -> proper# X3)
    (proper# U91(X1, X2) -> proper# X1, proper# isNat X -> isNat# proper X)
    (proper# U91(X1, X2) -> proper# X1, proper# isNat X -> proper# X)
    (proper# U91(X1, X2) -> proper# X1, proper# U104(X1, X2, X3) -> U104#(proper X1, proper X2, proper X3))
    (proper# U91(X1, X2) -> proper# X1, proper# U104(X1, X2, X3) -> proper# X1)
    (proper# U91(X1, X2) -> proper# X1, proper# U104(X1, X2, X3) -> proper# X2)
    (proper# U91(X1, X2) -> proper# X1, proper# U104(X1, X2, X3) -> proper# X3)
    (proper# U91(X1, X2) -> proper# X1, proper# plus(X1, X2) -> plus#(proper X1, proper X2))
    (proper# U91(X1, X2) -> proper# X1, proper# plus(X1, X2) -> proper# X1)
    (proper# U91(X1, X2) -> proper# X1, proper# plus(X1, X2) -> proper# X2)
    (proper# U91(X1, X2) -> proper# X1, proper# x(X1, X2) -> x#(proper X1, proper X2))
    (proper# U91(X1, X2) -> proper# X1, proper# x(X1, X2) -> proper# X1)
    (proper# U91(X1, X2) -> proper# X1, proper# x(X1, X2) -> proper# X2)
    (proper# U91(X1, X2) -> proper# X1, proper# U12(X1, X2, X3) -> U12#(proper X1, proper X2, proper X3))
    (proper# U91(X1, X2) -> proper# X1, proper# U12(X1, X2, X3) -> proper# X1)
    (proper# U91(X1, X2) -> proper# X1, proper# U12(X1, X2, X3) -> proper# X2)
    (proper# U91(X1, X2) -> proper# X1, proper# U12(X1, X2, X3) -> proper# X3)
    (proper# U91(X1, X2) -> proper# X1, proper# U11(X1, X2, X3) -> U11#(proper X1, proper X2, proper X3))
    (proper# U91(X1, X2) -> proper# X1, proper# U11(X1, X2, X3) -> proper# X1)
    (proper# U91(X1, X2) -> proper# X1, proper# U11(X1, X2, X3) -> proper# X2)
    (proper# U91(X1, X2) -> proper# X1, proper# U11(X1, X2, X3) -> proper# X3)
    (proper# U91(X1, X2) -> proper# X1, proper# U13(X1, X2, X3) -> U13#(proper X1, proper X2, proper X3))
    (proper# U91(X1, X2) -> proper# X1, proper# U13(X1, X2, X3) -> proper# X1)
    (proper# U91(X1, X2) -> proper# X1, proper# U13(X1, X2, X3) -> proper# X2)
    (proper# U91(X1, X2) -> proper# X1, proper# U13(X1, X2, X3) -> proper# X3)
    (proper# U91(X1, X2) -> proper# X1, proper# U14(X1, X2, X3) -> U14#(proper X1, proper X2, proper X3))
    (proper# U91(X1, X2) -> proper# X1, proper# U14(X1, X2, X3) -> proper# X1)
    (proper# U91(X1, X2) -> proper# X1, proper# U14(X1, X2, X3) -> proper# X2)
    (proper# U91(X1, X2) -> proper# X1, proper# U14(X1, X2, X3) -> proper# X3)
    (proper# U91(X1, X2) -> proper# X1, proper# U15(X1, X2) -> U15#(proper X1, proper X2))
    (proper# U91(X1, X2) -> proper# X1, proper# U15(X1, X2) -> proper# X1)
    (proper# U91(X1, X2) -> proper# X1, proper# U15(X1, X2) -> proper# X2)
    (proper# U91(X1, X2) -> proper# X1, proper# U16 X -> U16# proper X)
    (proper# U91(X1, X2) -> proper# X1, proper# U16 X -> proper# X)
    (proper# U91(X1, X2) -> proper# X1, proper# U22(X1, X2) -> U22#(proper X1, proper X2))
    (proper# U91(X1, X2) -> proper# X1, proper# U22(X1, X2) -> proper# X1)
    (proper# U91(X1, X2) -> proper# X1, proper# U22(X1, X2) -> proper# X2)
    (proper# U91(X1, X2) -> proper# X1, proper# U21(X1, X2) -> U21#(proper X1, proper X2))
    (proper# U91(X1, X2) -> proper# X1, proper# U21(X1, X2) -> proper# X1)
    (proper# U91(X1, X2) -> proper# X1, proper# U21(X1, X2) -> proper# X2)
    (proper# U91(X1, X2) -> proper# X1, proper# U23 X -> U23# proper X)
    (proper# U91(X1, X2) -> proper# X1, proper# U23 X -> proper# X)
    (proper# U91(X1, X2) -> proper# X1, proper# U32(X1, X2, X3) -> U32#(proper X1, proper X2, proper X3))
    (proper# U91(X1, X2) -> proper# X1, proper# U32(X1, X2, X3) -> proper# X1)
    (proper# U91(X1, X2) -> proper# X1, proper# U32(X1, X2, X3) -> proper# X2)
    (proper# U91(X1, X2) -> proper# X1, proper# U32(X1, X2, X3) -> proper# X3)
    (proper# U91(X1, X2) -> proper# X1, proper# U31(X1, X2, X3) -> U31#(proper X1, proper X2, proper X3))
    (proper# U91(X1, X2) -> proper# X1, proper# U31(X1, X2, X3) -> proper# X1)
    (proper# U91(X1, X2) -> proper# X1, proper# U31(X1, X2, X3) -> proper# X2)
    (proper# U91(X1, X2) -> proper# X1, proper# U31(X1, X2, X3) -> proper# X3)
    (proper# U91(X1, X2) -> proper# X1, proper# U33(X1, X2, X3) -> U33#(proper X1, proper X2, proper X3))
    (proper# U91(X1, X2) -> proper# X1, proper# U33(X1, X2, X3) -> proper# X1)
    (proper# U91(X1, X2) -> proper# X1, proper# U33(X1, X2, X3) -> proper# X2)
    (proper# U91(X1, X2) -> proper# X1, proper# U33(X1, X2, X3) -> proper# X3)
    (proper# U91(X1, X2) -> proper# X1, proper# U34(X1, X2, X3) -> U34#(proper X1, proper X2, proper X3))
    (proper# U91(X1, X2) -> proper# X1, proper# U34(X1, X2, X3) -> proper# X1)
    (proper# U91(X1, X2) -> proper# X1, proper# U34(X1, X2, X3) -> proper# X2)
    (proper# U91(X1, X2) -> proper# X1, proper# U34(X1, X2, X3) -> proper# X3)
    (proper# U91(X1, X2) -> proper# X1, proper# U35(X1, X2) -> U35#(proper X1, proper X2))
    (proper# U91(X1, X2) -> proper# X1, proper# U35(X1, X2) -> proper# X1)
    (proper# U91(X1, X2) -> proper# X1, proper# U35(X1, X2) -> proper# X2)
    (proper# U91(X1, X2) -> proper# X1, proper# U36 X -> U36# proper X)
    (proper# U91(X1, X2) -> proper# X1, proper# U36 X -> proper# X)
    (proper# U91(X1, X2) -> proper# X1, proper# U42 X -> U42# proper X)
    (proper# U91(X1, X2) -> proper# X1, proper# U42 X -> proper# X)
    (proper# U91(X1, X2) -> proper# X1, proper# U41(X1, X2) -> U41#(proper X1, proper X2))
    (proper# U91(X1, X2) -> proper# X1, proper# U41(X1, X2) -> proper# X1)
    (proper# U91(X1, X2) -> proper# X1, proper# U41(X1, X2) -> proper# X2)
    (proper# U91(X1, X2) -> proper# X1, proper# U51 X -> U51# proper X)
    (proper# U91(X1, X2) -> proper# X1, proper# U51 X -> proper# X)
    (proper# U91(X1, X2) -> proper# X1, proper# U62 X -> U62# proper X)
    (proper# U91(X1, X2) -> proper# X1, proper# U62 X -> proper# X)
    (proper# U91(X1, X2) -> proper# X1, proper# U61(X1, X2) -> U61#(proper X1, proper X2))
    (proper# U91(X1, X2) -> proper# X1, proper# U61(X1, X2) -> proper# X1)
    (proper# U91(X1, X2) -> proper# X1, proper# U61(X1, X2) -> proper# X2)
    (proper# U91(X1, X2) -> proper# X1, proper# U72(X1, X2) -> U72#(proper X1, proper X2))
    (proper# U91(X1, X2) -> proper# X1, proper# U72(X1, X2) -> proper# X1)
    (proper# U91(X1, X2) -> proper# X1, proper# U72(X1, X2) -> proper# X2)
    (proper# U91(X1, X2) -> proper# X1, proper# U71(X1, X2) -> U71#(proper X1, proper X2))
    (proper# U91(X1, X2) -> proper# X1, proper# U71(X1, X2) -> proper# X1)
    (proper# U91(X1, X2) -> proper# X1, proper# U71(X1, X2) -> proper# X2)
    (proper# U91(X1, X2) -> proper# X1, proper# U82(X1, X2, X3) -> U82#(proper X1, proper X2, proper X3))
    (proper# U91(X1, X2) -> proper# X1, proper# U82(X1, X2, X3) -> proper# X1)
    (proper# U91(X1, X2) -> proper# X1, proper# U82(X1, X2, X3) -> proper# X2)
    (proper# U91(X1, X2) -> proper# X1, proper# U82(X1, X2, X3) -> proper# X3)
    (proper# U91(X1, X2) -> proper# X1, proper# U81(X1, X2, X3) -> U81#(proper X1, proper X2, proper X3))
    (proper# U91(X1, X2) -> proper# X1, proper# U81(X1, X2, X3) -> proper# X1)
    (proper# U91(X1, X2) -> proper# X1, proper# U81(X1, X2, X3) -> proper# X2)
    (proper# U91(X1, X2) -> proper# X1, proper# U81(X1, X2, X3) -> proper# X3)
    (proper# U91(X1, X2) -> proper# X1, proper# U83(X1, X2, X3) -> U83#(proper X1, proper X2, proper X3))
    (proper# U91(X1, X2) -> proper# X1, proper# U83(X1, X2, X3) -> proper# X1)
    (proper# U91(X1, X2) -> proper# X1, proper# U83(X1, X2, X3) -> proper# X2)
    (proper# U91(X1, X2) -> proper# X1, proper# U83(X1, X2, X3) -> proper# X3)
    (proper# U91(X1, X2) -> proper# X1, proper# U84(X1, X2, X3) -> U84#(proper X1, proper X2, proper X3))
    (proper# U91(X1, X2) -> proper# X1, proper# U84(X1, X2, X3) -> proper# X1)
    (proper# U91(X1, X2) -> proper# X1, proper# U84(X1, X2, X3) -> proper# X2)
    (proper# U91(X1, X2) -> proper# X1, proper# U84(X1, X2, X3) -> proper# X3)
    (proper# U91(X1, X2) -> proper# X1, proper# s X -> s# proper X)
    (proper# U91(X1, X2) -> proper# X1, proper# s X -> proper# X)
    (proper# U91(X1, X2) -> proper# X1, proper# U92 X -> U92# proper X)
    (proper# U91(X1, X2) -> proper# X1, proper# U92 X -> proper# X)
    (proper# U91(X1, X2) -> proper# X1, proper# U91(X1, X2) -> U91#(proper X1, proper X2))
    (proper# U91(X1, X2) -> proper# X1, proper# U91(X1, X2) -> proper# X1)
    (proper# U91(X1, X2) -> proper# X1, proper# U91(X1, X2) -> proper# X2)
    (proper# U83(X1, X2, X3) -> proper# X1, proper# U102(X1, X2, X3) -> U102#(proper X1, proper X2, proper X3))
    (proper# U83(X1, X2, X3) -> proper# X1, proper# U102(X1, X2, X3) -> proper# X1)
    (proper# U83(X1, X2, X3) -> proper# X1, proper# U102(X1, X2, X3) -> proper# X2)
    (proper# U83(X1, X2, X3) -> proper# X1, proper# U102(X1, X2, X3) -> proper# X3)
    (proper# U83(X1, X2, X3) -> proper# X1, proper# isNatKind X -> isNatKind# proper X)
    (proper# U83(X1, X2, X3) -> proper# X1, proper# isNatKind X -> proper# X)
    (proper# U83(X1, X2, X3) -> proper# X1, proper# U101(X1, X2, X3) -> U101#(proper X1, proper X2, proper X3))
    (proper# U83(X1, X2, X3) -> proper# X1, proper# U101(X1, X2, X3) -> proper# X1)
    (proper# U83(X1, X2, X3) -> proper# X1, proper# U101(X1, X2, X3) -> proper# X2)
    (proper# U83(X1, X2, X3) -> proper# X1, proper# U101(X1, X2, X3) -> proper# X3)
    (proper# U83(X1, X2, X3) -> proper# X1, proper# U103(X1, X2, X3) -> U103#(proper X1, proper X2, proper X3))
    (proper# U83(X1, X2, X3) -> proper# X1, proper# U103(X1, X2, X3) -> proper# X1)
    (proper# U83(X1, X2, X3) -> proper# X1, proper# U103(X1, X2, X3) -> proper# X2)
    (proper# U83(X1, X2, X3) -> proper# X1, proper# U103(X1, X2, X3) -> proper# X3)
    (proper# U83(X1, X2, X3) -> proper# X1, proper# isNat X -> isNat# proper X)
    (proper# U83(X1, X2, X3) -> proper# X1, proper# isNat X -> proper# X)
    (proper# U83(X1, X2, X3) -> proper# X1, proper# U104(X1, X2, X3) -> U104#(proper X1, proper X2, proper X3))
    (proper# U83(X1, X2, X3) -> proper# X1, proper# U104(X1, X2, X3) -> proper# X1)
    (proper# U83(X1, X2, X3) -> proper# X1, proper# U104(X1, X2, X3) -> proper# X2)
    (proper# U83(X1, X2, X3) -> proper# X1, proper# U104(X1, X2, X3) -> proper# X3)
    (proper# U83(X1, X2, X3) -> proper# X1, proper# plus(X1, X2) -> plus#(proper X1, proper X2))
    (proper# U83(X1, X2, X3) -> proper# X1, proper# plus(X1, X2) -> proper# X1)
    (proper# U83(X1, X2, X3) -> proper# X1, proper# plus(X1, X2) -> proper# X2)
    (proper# U83(X1, X2, X3) -> proper# X1, proper# x(X1, X2) -> x#(proper X1, proper X2))
    (proper# U83(X1, X2, X3) -> proper# X1, proper# x(X1, X2) -> proper# X1)
    (proper# U83(X1, X2, X3) -> proper# X1, proper# x(X1, X2) -> proper# X2)
    (proper# U83(X1, X2, X3) -> proper# X1, proper# U12(X1, X2, X3) -> U12#(proper X1, proper X2, proper X3))
    (proper# U83(X1, X2, X3) -> proper# X1, proper# U12(X1, X2, X3) -> proper# X1)
    (proper# U83(X1, X2, X3) -> proper# X1, proper# U12(X1, X2, X3) -> proper# X2)
    (proper# U83(X1, X2, X3) -> proper# X1, proper# U12(X1, X2, X3) -> proper# X3)
    (proper# U83(X1, X2, X3) -> proper# X1, proper# U11(X1, X2, X3) -> U11#(proper X1, proper X2, proper X3))
    (proper# U83(X1, X2, X3) -> proper# X1, proper# U11(X1, X2, X3) -> proper# X1)
    (proper# U83(X1, X2, X3) -> proper# X1, proper# U11(X1, X2, X3) -> proper# X2)
    (proper# U83(X1, X2, X3) -> proper# X1, proper# U11(X1, X2, X3) -> proper# X3)
    (proper# U83(X1, X2, X3) -> proper# X1, proper# U13(X1, X2, X3) -> U13#(proper X1, proper X2, proper X3))
    (proper# U83(X1, X2, X3) -> proper# X1, proper# U13(X1, X2, X3) -> proper# X1)
    (proper# U83(X1, X2, X3) -> proper# X1, proper# U13(X1, X2, X3) -> proper# X2)
    (proper# U83(X1, X2, X3) -> proper# X1, proper# U13(X1, X2, X3) -> proper# X3)
    (proper# U83(X1, X2, X3) -> proper# X1, proper# U14(X1, X2, X3) -> U14#(proper X1, proper X2, proper X3))
    (proper# U83(X1, X2, X3) -> proper# X1, proper# U14(X1, X2, X3) -> proper# X1)
    (proper# U83(X1, X2, X3) -> proper# X1, proper# U14(X1, X2, X3) -> proper# X2)
    (proper# U83(X1, X2, X3) -> proper# X1, proper# U14(X1, X2, X3) -> proper# X3)
    (proper# U83(X1, X2, X3) -> proper# X1, proper# U15(X1, X2) -> U15#(proper X1, proper X2))
    (proper# U83(X1, X2, X3) -> proper# X1, proper# U15(X1, X2) -> proper# X1)
    (proper# U83(X1, X2, X3) -> proper# X1, proper# U15(X1, X2) -> proper# X2)
    (proper# U83(X1, X2, X3) -> proper# X1, proper# U16 X -> U16# proper X)
    (proper# U83(X1, X2, X3) -> proper# X1, proper# U16 X -> proper# X)
    (proper# U83(X1, X2, X3) -> proper# X1, proper# U22(X1, X2) -> U22#(proper X1, proper X2))
    (proper# U83(X1, X2, X3) -> proper# X1, proper# U22(X1, X2) -> proper# X1)
    (proper# U83(X1, X2, X3) -> proper# X1, proper# U22(X1, X2) -> proper# X2)
    (proper# U83(X1, X2, X3) -> proper# X1, proper# U21(X1, X2) -> U21#(proper X1, proper X2))
    (proper# U83(X1, X2, X3) -> proper# X1, proper# U21(X1, X2) -> proper# X1)
    (proper# U83(X1, X2, X3) -> proper# X1, proper# U21(X1, X2) -> proper# X2)
    (proper# U83(X1, X2, X3) -> proper# X1, proper# U23 X -> U23# proper X)
    (proper# U83(X1, X2, X3) -> proper# X1, proper# U23 X -> proper# X)
    (proper# U83(X1, X2, X3) -> proper# X1, proper# U32(X1, X2, X3) -> U32#(proper X1, proper X2, proper X3))
    (proper# U83(X1, X2, X3) -> proper# X1, proper# U32(X1, X2, X3) -> proper# X1)
    (proper# U83(X1, X2, X3) -> proper# X1, proper# U32(X1, X2, X3) -> proper# X2)
    (proper# U83(X1, X2, X3) -> proper# X1, proper# U32(X1, X2, X3) -> proper# X3)
    (proper# U83(X1, X2, X3) -> proper# X1, proper# U31(X1, X2, X3) -> U31#(proper X1, proper X2, proper X3))
    (proper# U83(X1, X2, X3) -> proper# X1, proper# U31(X1, X2, X3) -> proper# X1)
    (proper# U83(X1, X2, X3) -> proper# X1, proper# U31(X1, X2, X3) -> proper# X2)
    (proper# U83(X1, X2, X3) -> proper# X1, proper# U31(X1, X2, X3) -> proper# X3)
    (proper# U83(X1, X2, X3) -> proper# X1, proper# U33(X1, X2, X3) -> U33#(proper X1, proper X2, proper X3))
    (proper# U83(X1, X2, X3) -> proper# X1, proper# U33(X1, X2, X3) -> proper# X1)
    (proper# U83(X1, X2, X3) -> proper# X1, proper# U33(X1, X2, X3) -> proper# X2)
    (proper# U83(X1, X2, X3) -> proper# X1, proper# U33(X1, X2, X3) -> proper# X3)
    (proper# U83(X1, X2, X3) -> proper# X1, proper# U34(X1, X2, X3) -> U34#(proper X1, proper X2, proper X3))
    (proper# U83(X1, X2, X3) -> proper# X1, proper# U34(X1, X2, X3) -> proper# X1)
    (proper# U83(X1, X2, X3) -> proper# X1, proper# U34(X1, X2, X3) -> proper# X2)
    (proper# U83(X1, X2, X3) -> proper# X1, proper# U34(X1, X2, X3) -> proper# X3)
    (proper# U83(X1, X2, X3) -> proper# X1, proper# U35(X1, X2) -> U35#(proper X1, proper X2))
    (proper# U83(X1, X2, X3) -> proper# X1, proper# U35(X1, X2) -> proper# X1)
    (proper# U83(X1, X2, X3) -> proper# X1, proper# U35(X1, X2) -> proper# X2)
    (proper# U83(X1, X2, X3) -> proper# X1, proper# U36 X -> U36# proper X)
    (proper# U83(X1, X2, X3) -> proper# X1, proper# U36 X -> proper# X)
    (proper# U83(X1, X2, X3) -> proper# X1, proper# U42 X -> U42# proper X)
    (proper# U83(X1, X2, X3) -> proper# X1, proper# U42 X -> proper# X)
    (proper# U83(X1, X2, X3) -> proper# X1, proper# U41(X1, X2) -> U41#(proper X1, proper X2))
    (proper# U83(X1, X2, X3) -> proper# X1, proper# U41(X1, X2) -> proper# X1)
    (proper# U83(X1, X2, X3) -> proper# X1, proper# U41(X1, X2) -> proper# X2)
    (proper# U83(X1, X2, X3) -> proper# X1, proper# U51 X -> U51# proper X)
    (proper# U83(X1, X2, X3) -> proper# X1, proper# U51 X -> proper# X)
    (proper# U83(X1, X2, X3) -> proper# X1, proper# U62 X -> U62# proper X)
    (proper# U83(X1, X2, X3) -> proper# X1, proper# U62 X -> proper# X)
    (proper# U83(X1, X2, X3) -> proper# X1, proper# U61(X1, X2) -> U61#(proper X1, proper X2))
    (proper# U83(X1, X2, X3) -> proper# X1, proper# U61(X1, X2) -> proper# X1)
    (proper# U83(X1, X2, X3) -> proper# X1, proper# U61(X1, X2) -> proper# X2)
    (proper# U83(X1, X2, X3) -> proper# X1, proper# U72(X1, X2) -> U72#(proper X1, proper X2))
    (proper# U83(X1, X2, X3) -> proper# X1, proper# U72(X1, X2) -> proper# X1)
    (proper# U83(X1, X2, X3) -> proper# X1, proper# U72(X1, X2) -> proper# X2)
    (proper# U83(X1, X2, X3) -> proper# X1, proper# U71(X1, X2) -> U71#(proper X1, proper X2))
    (proper# U83(X1, X2, X3) -> proper# X1, proper# U71(X1, X2) -> proper# X1)
    (proper# U83(X1, X2, X3) -> proper# X1, proper# U71(X1, X2) -> proper# X2)
    (proper# U83(X1, X2, X3) -> proper# X1, proper# U82(X1, X2, X3) -> U82#(proper X1, proper X2, proper X3))
    (proper# U83(X1, X2, X3) -> proper# X1, proper# U82(X1, X2, X3) -> proper# X1)
    (proper# U83(X1, X2, X3) -> proper# X1, proper# U82(X1, X2, X3) -> proper# X2)
    (proper# U83(X1, X2, X3) -> proper# X1, proper# U82(X1, X2, X3) -> proper# X3)
    (proper# U83(X1, X2, X3) -> proper# X1, proper# U81(X1, X2, X3) -> U81#(proper X1, proper X2, proper X3))
    (proper# U83(X1, X2, X3) -> proper# X1, proper# U81(X1, X2, X3) -> proper# X1)
    (proper# U83(X1, X2, X3) -> proper# X1, proper# U81(X1, X2, X3) -> proper# X2)
    (proper# U83(X1, X2, X3) -> proper# X1, proper# U81(X1, X2, X3) -> proper# X3)
    (proper# U83(X1, X2, X3) -> proper# X1, proper# U83(X1, X2, X3) -> U83#(proper X1, proper X2, proper X3))
    (proper# U83(X1, X2, X3) -> proper# X1, proper# U83(X1, X2, X3) -> proper# X1)
    (proper# U83(X1, X2, X3) -> proper# X1, proper# U83(X1, X2, X3) -> proper# X2)
    (proper# U83(X1, X2, X3) -> proper# X1, proper# U83(X1, X2, X3) -> proper# X3)
    (proper# U83(X1, X2, X3) -> proper# X1, proper# U84(X1, X2, X3) -> U84#(proper X1, proper X2, proper X3))
    (proper# U83(X1, X2, X3) -> proper# X1, proper# U84(X1, X2, X3) -> proper# X1)
    (proper# U83(X1, X2, X3) -> proper# X1, proper# U84(X1, X2, X3) -> proper# X2)
    (proper# U83(X1, X2, X3) -> proper# X1, proper# U84(X1, X2, X3) -> proper# X3)
    (proper# U83(X1, X2, X3) -> proper# X1, proper# s X -> s# proper X)
    (proper# U83(X1, X2, X3) -> proper# X1, proper# s X -> proper# X)
    (proper# U83(X1, X2, X3) -> proper# X1, proper# U92 X -> U92# proper X)
    (proper# U83(X1, X2, X3) -> proper# X1, proper# U92 X -> proper# X)
    (proper# U83(X1, X2, X3) -> proper# X1, proper# U91(X1, X2) -> U91#(proper X1, proper X2))
    (proper# U83(X1, X2, X3) -> proper# X1, proper# U91(X1, X2) -> proper# X1)
    (proper# U83(X1, X2, X3) -> proper# X1, proper# U91(X1, X2) -> proper# X2)
    (proper# U82(X1, X2, X3) -> proper# X1, proper# U102(X1, X2, X3) -> U102#(proper X1, proper X2, proper X3))
    (proper# U82(X1, X2, X3) -> proper# X1, proper# U102(X1, X2, X3) -> proper# X1)
    (proper# U82(X1, X2, X3) -> proper# X1, proper# U102(X1, X2, X3) -> proper# X2)
    (proper# U82(X1, X2, X3) -> proper# X1, proper# U102(X1, X2, X3) -> proper# X3)
    (proper# U82(X1, X2, X3) -> proper# X1, proper# isNatKind X -> isNatKind# proper X)
    (proper# U82(X1, X2, X3) -> proper# X1, proper# isNatKind X -> proper# X)
    (proper# U82(X1, X2, X3) -> proper# X1, proper# U101(X1, X2, X3) -> U101#(proper X1, proper X2, proper X3))
    (proper# U82(X1, X2, X3) -> proper# X1, proper# U101(X1, X2, X3) -> proper# X1)
    (proper# U82(X1, X2, X3) -> proper# X1, proper# U101(X1, X2, X3) -> proper# X2)
    (proper# U82(X1, X2, X3) -> proper# X1, proper# U101(X1, X2, X3) -> proper# X3)
    (proper# U82(X1, X2, X3) -> proper# X1, proper# U103(X1, X2, X3) -> U103#(proper X1, proper X2, proper X3))
    (proper# U82(X1, X2, X3) -> proper# X1, proper# U103(X1, X2, X3) -> proper# X1)
    (proper# U82(X1, X2, X3) -> proper# X1, proper# U103(X1, X2, X3) -> proper# X2)
    (proper# U82(X1, X2, X3) -> proper# X1, proper# U103(X1, X2, X3) -> proper# X3)
    (proper# U82(X1, X2, X3) -> proper# X1, proper# isNat X -> isNat# proper X)
    (proper# U82(X1, X2, X3) -> proper# X1, proper# isNat X -> proper# X)
    (proper# U82(X1, X2, X3) -> proper# X1, proper# U104(X1, X2, X3) -> U104#(proper X1, proper X2, proper X3))
    (proper# U82(X1, X2, X3) -> proper# X1, proper# U104(X1, X2, X3) -> proper# X1)
    (proper# U82(X1, X2, X3) -> proper# X1, proper# U104(X1, X2, X3) -> proper# X2)
    (proper# U82(X1, X2, X3) -> proper# X1, proper# U104(X1, X2, X3) -> proper# X3)
    (proper# U82(X1, X2, X3) -> proper# X1, proper# plus(X1, X2) -> plus#(proper X1, proper X2))
    (proper# U82(X1, X2, X3) -> proper# X1, proper# plus(X1, X2) -> proper# X1)
    (proper# U82(X1, X2, X3) -> proper# X1, proper# plus(X1, X2) -> proper# X2)
    (proper# U82(X1, X2, X3) -> proper# X1, proper# x(X1, X2) -> x#(proper X1, proper X2))
    (proper# U82(X1, X2, X3) -> proper# X1, proper# x(X1, X2) -> proper# X1)
    (proper# U82(X1, X2, X3) -> proper# X1, proper# x(X1, X2) -> proper# X2)
    (proper# U82(X1, X2, X3) -> proper# X1, proper# U12(X1, X2, X3) -> U12#(proper X1, proper X2, proper X3))
    (proper# U82(X1, X2, X3) -> proper# X1, proper# U12(X1, X2, X3) -> proper# X1)
    (proper# U82(X1, X2, X3) -> proper# X1, proper# U12(X1, X2, X3) -> proper# X2)
    (proper# U82(X1, X2, X3) -> proper# X1, proper# U12(X1, X2, X3) -> proper# X3)
    (proper# U82(X1, X2, X3) -> proper# X1, proper# U11(X1, X2, X3) -> U11#(proper X1, proper X2, proper X3))
    (proper# U82(X1, X2, X3) -> proper# X1, proper# U11(X1, X2, X3) -> proper# X1)
    (proper# U82(X1, X2, X3) -> proper# X1, proper# U11(X1, X2, X3) -> proper# X2)
    (proper# U82(X1, X2, X3) -> proper# X1, proper# U11(X1, X2, X3) -> proper# X3)
    (proper# U82(X1, X2, X3) -> proper# X1, proper# U13(X1, X2, X3) -> U13#(proper X1, proper X2, proper X3))
    (proper# U82(X1, X2, X3) -> proper# X1, proper# U13(X1, X2, X3) -> proper# X1)
    (proper# U82(X1, X2, X3) -> proper# X1, proper# U13(X1, X2, X3) -> proper# X2)
    (proper# U82(X1, X2, X3) -> proper# X1, proper# U13(X1, X2, X3) -> proper# X3)
    (proper# U82(X1, X2, X3) -> proper# X1, proper# U14(X1, X2, X3) -> U14#(proper X1, proper X2, proper X3))
    (proper# U82(X1, X2, X3) -> proper# X1, proper# U14(X1, X2, X3) -> proper# X1)
    (proper# U82(X1, X2, X3) -> proper# X1, proper# U14(X1, X2, X3) -> proper# X2)
    (proper# U82(X1, X2, X3) -> proper# X1, proper# U14(X1, X2, X3) -> proper# X3)
    (proper# U82(X1, X2, X3) -> proper# X1, proper# U15(X1, X2) -> U15#(proper X1, proper X2))
    (proper# U82(X1, X2, X3) -> proper# X1, proper# U15(X1, X2) -> proper# X1)
    (proper# U82(X1, X2, X3) -> proper# X1, proper# U15(X1, X2) -> proper# X2)
    (proper# U82(X1, X2, X3) -> proper# X1, proper# U16 X -> U16# proper X)
    (proper# U82(X1, X2, X3) -> proper# X1, proper# U16 X -> proper# X)
    (proper# U82(X1, X2, X3) -> proper# X1, proper# U22(X1, X2) -> U22#(proper X1, proper X2))
    (proper# U82(X1, X2, X3) -> proper# X1, proper# U22(X1, X2) -> proper# X1)
    (proper# U82(X1, X2, X3) -> proper# X1, proper# U22(X1, X2) -> proper# X2)
    (proper# U82(X1, X2, X3) -> proper# X1, proper# U21(X1, X2) -> U21#(proper X1, proper X2))
    (proper# U82(X1, X2, X3) -> proper# X1, proper# U21(X1, X2) -> proper# X1)
    (proper# U82(X1, X2, X3) -> proper# X1, proper# U21(X1, X2) -> proper# X2)
    (proper# U82(X1, X2, X3) -> proper# X1, proper# U23 X -> U23# proper X)
    (proper# U82(X1, X2, X3) -> proper# X1, proper# U23 X -> proper# X)
    (proper# U82(X1, X2, X3) -> proper# X1, proper# U32(X1, X2, X3) -> U32#(proper X1, proper X2, proper X3))
    (proper# U82(X1, X2, X3) -> proper# X1, proper# U32(X1, X2, X3) -> proper# X1)
    (proper# U82(X1, X2, X3) -> proper# X1, proper# U32(X1, X2, X3) -> proper# X2)
    (proper# U82(X1, X2, X3) -> proper# X1, proper# U32(X1, X2, X3) -> proper# X3)
    (proper# U82(X1, X2, X3) -> proper# X1, proper# U31(X1, X2, X3) -> U31#(proper X1, proper X2, proper X3))
    (proper# U82(X1, X2, X3) -> proper# X1, proper# U31(X1, X2, X3) -> proper# X1)
    (proper# U82(X1, X2, X3) -> proper# X1, proper# U31(X1, X2, X3) -> proper# X2)
    (proper# U82(X1, X2, X3) -> proper# X1, proper# U31(X1, X2, X3) -> proper# X3)
    (proper# U82(X1, X2, X3) -> proper# X1, proper# U33(X1, X2, X3) -> U33#(proper X1, proper X2, proper X3))
    (proper# U82(X1, X2, X3) -> proper# X1, proper# U33(X1, X2, X3) -> proper# X1)
    (proper# U82(X1, X2, X3) -> proper# X1, proper# U33(X1, X2, X3) -> proper# X2)
    (proper# U82(X1, X2, X3) -> proper# X1, proper# U33(X1, X2, X3) -> proper# X3)
    (proper# U82(X1, X2, X3) -> proper# X1, proper# U34(X1, X2, X3) -> U34#(proper X1, proper X2, proper X3))
    (proper# U82(X1, X2, X3) -> proper# X1, proper# U34(X1, X2, X3) -> proper# X1)
    (proper# U82(X1, X2, X3) -> proper# X1, proper# U34(X1, X2, X3) -> proper# X2)
    (proper# U82(X1, X2, X3) -> proper# X1, proper# U34(X1, X2, X3) -> proper# X3)
    (proper# U82(X1, X2, X3) -> proper# X1, proper# U35(X1, X2) -> U35#(proper X1, proper X2))
    (proper# U82(X1, X2, X3) -> proper# X1, proper# U35(X1, X2) -> proper# X1)
    (proper# U82(X1, X2, X3) -> proper# X1, proper# U35(X1, X2) -> proper# X2)
    (proper# U82(X1, X2, X3) -> proper# X1, proper# U36 X -> U36# proper X)
    (proper# U82(X1, X2, X3) -> proper# X1, proper# U36 X -> proper# X)
    (proper# U82(X1, X2, X3) -> proper# X1, proper# U42 X -> U42# proper X)
    (proper# U82(X1, X2, X3) -> proper# X1, proper# U42 X -> proper# X)
    (proper# U82(X1, X2, X3) -> proper# X1, proper# U41(X1, X2) -> U41#(proper X1, proper X2))
    (proper# U82(X1, X2, X3) -> proper# X1, proper# U41(X1, X2) -> proper# X1)
    (proper# U82(X1, X2, X3) -> proper# X1, proper# U41(X1, X2) -> proper# X2)
    (proper# U82(X1, X2, X3) -> proper# X1, proper# U51 X -> U51# proper X)
    (proper# U82(X1, X2, X3) -> proper# X1, proper# U51 X -> proper# X)
    (proper# U82(X1, X2, X3) -> proper# X1, proper# U62 X -> U62# proper X)
    (proper# U82(X1, X2, X3) -> proper# X1, proper# U62 X -> proper# X)
    (proper# U82(X1, X2, X3) -> proper# X1, proper# U61(X1, X2) -> U61#(proper X1, proper X2))
    (proper# U82(X1, X2, X3) -> proper# X1, proper# U61(X1, X2) -> proper# X1)
    (proper# U82(X1, X2, X3) -> proper# X1, proper# U61(X1, X2) -> proper# X2)
    (proper# U82(X1, X2, X3) -> proper# X1, proper# U72(X1, X2) -> U72#(proper X1, proper X2))
    (proper# U82(X1, X2, X3) -> proper# X1, proper# U72(X1, X2) -> proper# X1)
    (proper# U82(X1, X2, X3) -> proper# X1, proper# U72(X1, X2) -> proper# X2)
    (proper# U82(X1, X2, X3) -> proper# X1, proper# U71(X1, X2) -> U71#(proper X1, proper X2))
    (proper# U82(X1, X2, X3) -> proper# X1, proper# U71(X1, X2) -> proper# X1)
    (proper# U82(X1, X2, X3) -> proper# X1, proper# U71(X1, X2) -> proper# X2)
    (proper# U82(X1, X2, X3) -> proper# X1, proper# U82(X1, X2, X3) -> U82#(proper X1, proper X2, proper X3))
    (proper# U82(X1, X2, X3) -> proper# X1, proper# U82(X1, X2, X3) -> proper# X1)
    (proper# U82(X1, X2, X3) -> proper# X1, proper# U82(X1, X2, X3) -> proper# X2)
    (proper# U82(X1, X2, X3) -> proper# X1, proper# U82(X1, X2, X3) -> proper# X3)
    (proper# U82(X1, X2, X3) -> proper# X1, proper# U81(X1, X2, X3) -> U81#(proper X1, proper X2, proper X3))
    (proper# U82(X1, X2, X3) -> proper# X1, proper# U81(X1, X2, X3) -> proper# X1)
    (proper# U82(X1, X2, X3) -> proper# X1, proper# U81(X1, X2, X3) -> proper# X2)
    (proper# U82(X1, X2, X3) -> proper# X1, proper# U81(X1, X2, X3) -> proper# X3)
    (proper# U82(X1, X2, X3) -> proper# X1, proper# U83(X1, X2, X3) -> U83#(proper X1, proper X2, proper X3))
    (proper# U82(X1, X2, X3) -> proper# X1, proper# U83(X1, X2, X3) -> proper# X1)
    (proper# U82(X1, X2, X3) -> proper# X1, proper# U83(X1, X2, X3) -> proper# X2)
    (proper# U82(X1, X2, X3) -> proper# X1, proper# U83(X1, X2, X3) -> proper# X3)
    (proper# U82(X1, X2, X3) -> proper# X1, proper# U84(X1, X2, X3) -> U84#(proper X1, proper X2, proper X3))
    (proper# U82(X1, X2, X3) -> proper# X1, proper# U84(X1, X2, X3) -> proper# X1)
    (proper# U82(X1, X2, X3) -> proper# X1, proper# U84(X1, X2, X3) -> proper# X2)
    (proper# U82(X1, X2, X3) -> proper# X1, proper# U84(X1, X2, X3) -> proper# X3)
    (proper# U82(X1, X2, X3) -> proper# X1, proper# s X -> s# proper X)
    (proper# U82(X1, X2, X3) -> proper# X1, proper# s X -> proper# X)
    (proper# U82(X1, X2, X3) -> proper# X1, proper# U92 X -> U92# proper X)
    (proper# U82(X1, X2, X3) -> proper# X1, proper# U92 X -> proper# X)
    (proper# U82(X1, X2, X3) -> proper# X1, proper# U91(X1, X2) -> U91#(proper X1, proper X2))
    (proper# U82(X1, X2, X3) -> proper# X1, proper# U91(X1, X2) -> proper# X1)
    (proper# U82(X1, X2, X3) -> proper# X1, proper# U91(X1, X2) -> proper# X2)
    (proper# U72(X1, X2) -> proper# X1, proper# U102(X1, X2, X3) -> U102#(proper X1, proper X2, proper X3))
    (proper# U72(X1, X2) -> proper# X1, proper# U102(X1, X2, X3) -> proper# X1)
    (proper# U72(X1, X2) -> proper# X1, proper# U102(X1, X2, X3) -> proper# X2)
    (proper# U72(X1, X2) -> proper# X1, proper# U102(X1, X2, X3) -> proper# X3)
    (proper# U72(X1, X2) -> proper# X1, proper# isNatKind X -> isNatKind# proper X)
    (proper# U72(X1, X2) -> proper# X1, proper# isNatKind X -> proper# X)
    (proper# U72(X1, X2) -> proper# X1, proper# U101(X1, X2, X3) -> U101#(proper X1, proper X2, proper X3))
    (proper# U72(X1, X2) -> proper# X1, proper# U101(X1, X2, X3) -> proper# X1)
    (proper# U72(X1, X2) -> proper# X1, proper# U101(X1, X2, X3) -> proper# X2)
    (proper# U72(X1, X2) -> proper# X1, proper# U101(X1, X2, X3) -> proper# X3)
    (proper# U72(X1, X2) -> proper# X1, proper# U103(X1, X2, X3) -> U103#(proper X1, proper X2, proper X3))
    (proper# U72(X1, X2) -> proper# X1, proper# U103(X1, X2, X3) -> proper# X1)
    (proper# U72(X1, X2) -> proper# X1, proper# U103(X1, X2, X3) -> proper# X2)
    (proper# U72(X1, X2) -> proper# X1, proper# U103(X1, X2, X3) -> proper# X3)
    (proper# U72(X1, X2) -> proper# X1, proper# isNat X -> isNat# proper X)
    (proper# U72(X1, X2) -> proper# X1, proper# isNat X -> proper# X)
    (proper# U72(X1, X2) -> proper# X1, proper# U104(X1, X2, X3) -> U104#(proper X1, proper X2, proper X3))
    (proper# U72(X1, X2) -> proper# X1, proper# U104(X1, X2, X3) -> proper# X1)
    (proper# U72(X1, X2) -> proper# X1, proper# U104(X1, X2, X3) -> proper# X2)
    (proper# U72(X1, X2) -> proper# X1, proper# U104(X1, X2, X3) -> proper# X3)
    (proper# U72(X1, X2) -> proper# X1, proper# plus(X1, X2) -> plus#(proper X1, proper X2))
    (proper# U72(X1, X2) -> proper# X1, proper# plus(X1, X2) -> proper# X1)
    (proper# U72(X1, X2) -> proper# X1, proper# plus(X1, X2) -> proper# X2)
    (proper# U72(X1, X2) -> proper# X1, proper# x(X1, X2) -> x#(proper X1, proper X2))
    (proper# U72(X1, X2) -> proper# X1, proper# x(X1, X2) -> proper# X1)
    (proper# U72(X1, X2) -> proper# X1, proper# x(X1, X2) -> proper# X2)
    (proper# U72(X1, X2) -> proper# X1, proper# U12(X1, X2, X3) -> U12#(proper X1, proper X2, proper X3))
    (proper# U72(X1, X2) -> proper# X1, proper# U12(X1, X2, X3) -> proper# X1)
    (proper# U72(X1, X2) -> proper# X1, proper# U12(X1, X2, X3) -> proper# X2)
    (proper# U72(X1, X2) -> proper# X1, proper# U12(X1, X2, X3) -> proper# X3)
    (proper# U72(X1, X2) -> proper# X1, proper# U11(X1, X2, X3) -> U11#(proper X1, proper X2, proper X3))
    (proper# U72(X1, X2) -> proper# X1, proper# U11(X1, X2, X3) -> proper# X1)
    (proper# U72(X1, X2) -> proper# X1, proper# U11(X1, X2, X3) -> proper# X2)
    (proper# U72(X1, X2) -> proper# X1, proper# U11(X1, X2, X3) -> proper# X3)
    (proper# U72(X1, X2) -> proper# X1, proper# U13(X1, X2, X3) -> U13#(proper X1, proper X2, proper X3))
    (proper# U72(X1, X2) -> proper# X1, proper# U13(X1, X2, X3) -> proper# X1)
    (proper# U72(X1, X2) -> proper# X1, proper# U13(X1, X2, X3) -> proper# X2)
    (proper# U72(X1, X2) -> proper# X1, proper# U13(X1, X2, X3) -> proper# X3)
    (proper# U72(X1, X2) -> proper# X1, proper# U14(X1, X2, X3) -> U14#(proper X1, proper X2, proper X3))
    (proper# U72(X1, X2) -> proper# X1, proper# U14(X1, X2, X3) -> proper# X1)
    (proper# U72(X1, X2) -> proper# X1, proper# U14(X1, X2, X3) -> proper# X2)
    (proper# U72(X1, X2) -> proper# X1, proper# U14(X1, X2, X3) -> proper# X3)
    (proper# U72(X1, X2) -> proper# X1, proper# U15(X1, X2) -> U15#(proper X1, proper X2))
    (proper# U72(X1, X2) -> proper# X1, proper# U15(X1, X2) -> proper# X1)
    (proper# U72(X1, X2) -> proper# X1, proper# U15(X1, X2) -> proper# X2)
    (proper# U72(X1, X2) -> proper# X1, proper# U16 X -> U16# proper X)
    (proper# U72(X1, X2) -> proper# X1, proper# U16 X -> proper# X)
    (proper# U72(X1, X2) -> proper# X1, proper# U22(X1, X2) -> U22#(proper X1, proper X2))
    (proper# U72(X1, X2) -> proper# X1, proper# U22(X1, X2) -> proper# X1)
    (proper# U72(X1, X2) -> proper# X1, proper# U22(X1, X2) -> proper# X2)
    (proper# U72(X1, X2) -> proper# X1, proper# U21(X1, X2) -> U21#(proper X1, proper X2))
    (proper# U72(X1, X2) -> proper# X1, proper# U21(X1, X2) -> proper# X1)
    (proper# U72(X1, X2) -> proper# X1, proper# U21(X1, X2) -> proper# X2)
    (proper# U72(X1, X2) -> proper# X1, proper# U23 X -> U23# proper X)
    (proper# U72(X1, X2) -> proper# X1, proper# U23 X -> proper# X)
    (proper# U72(X1, X2) -> proper# X1, proper# U32(X1, X2, X3) -> U32#(proper X1, proper X2, proper X3))
    (proper# U72(X1, X2) -> proper# X1, proper# U32(X1, X2, X3) -> proper# X1)
    (proper# U72(X1, X2) -> proper# X1, proper# U32(X1, X2, X3) -> proper# X2)
    (proper# U72(X1, X2) -> proper# X1, proper# U32(X1, X2, X3) -> proper# X3)
    (proper# U72(X1, X2) -> proper# X1, proper# U31(X1, X2, X3) -> U31#(proper X1, proper X2, proper X3))
    (proper# U72(X1, X2) -> proper# X1, proper# U31(X1, X2, X3) -> proper# X1)
    (proper# U72(X1, X2) -> proper# X1, proper# U31(X1, X2, X3) -> proper# X2)
    (proper# U72(X1, X2) -> proper# X1, proper# U31(X1, X2, X3) -> proper# X3)
    (proper# U72(X1, X2) -> proper# X1, proper# U33(X1, X2, X3) -> U33#(proper X1, proper X2, proper X3))
    (proper# U72(X1, X2) -> proper# X1, proper# U33(X1, X2, X3) -> proper# X1)
    (proper# U72(X1, X2) -> proper# X1, proper# U33(X1, X2, X3) -> proper# X2)
    (proper# U72(X1, X2) -> proper# X1, proper# U33(X1, X2, X3) -> proper# X3)
    (proper# U72(X1, X2) -> proper# X1, proper# U34(X1, X2, X3) -> U34#(proper X1, proper X2, proper X3))
    (proper# U72(X1, X2) -> proper# X1, proper# U34(X1, X2, X3) -> proper# X1)
    (proper# U72(X1, X2) -> proper# X1, proper# U34(X1, X2, X3) -> proper# X2)
    (proper# U72(X1, X2) -> proper# X1, proper# U34(X1, X2, X3) -> proper# X3)
    (proper# U72(X1, X2) -> proper# X1, proper# U35(X1, X2) -> U35#(proper X1, proper X2))
    (proper# U72(X1, X2) -> proper# X1, proper# U35(X1, X2) -> proper# X1)
    (proper# U72(X1, X2) -> proper# X1, proper# U35(X1, X2) -> proper# X2)
    (proper# U72(X1, X2) -> proper# X1, proper# U36 X -> U36# proper X)
    (proper# U72(X1, X2) -> proper# X1, proper# U36 X -> proper# X)
    (proper# U72(X1, X2) -> proper# X1, proper# U42 X -> U42# proper X)
    (proper# U72(X1, X2) -> proper# X1, proper# U42 X -> proper# X)
    (proper# U72(X1, X2) -> proper# X1, proper# U41(X1, X2) -> U41#(proper X1, proper X2))
    (proper# U72(X1, X2) -> proper# X1, proper# U41(X1, X2) -> proper# X1)
    (proper# U72(X1, X2) -> proper# X1, proper# U41(X1, X2) -> proper# X2)
    (proper# U72(X1, X2) -> proper# X1, proper# U51 X -> U51# proper X)
    (proper# U72(X1, X2) -> proper# X1, proper# U51 X -> proper# X)
    (proper# U72(X1, X2) -> proper# X1, proper# U62 X -> U62# proper X)
    (proper# U72(X1, X2) -> proper# X1, proper# U62 X -> proper# X)
    (proper# U72(X1, X2) -> proper# X1, proper# U61(X1, X2) -> U61#(proper X1, proper X2))
    (proper# U72(X1, X2) -> proper# X1, proper# U61(X1, X2) -> proper# X1)
    (proper# U72(X1, X2) -> proper# X1, proper# U61(X1, X2) -> proper# X2)
    (proper# U72(X1, X2) -> proper# X1, proper# U72(X1, X2) -> U72#(proper X1, proper X2))
    (proper# U72(X1, X2) -> proper# X1, proper# U72(X1, X2) -> proper# X1)
    (proper# U72(X1, X2) -> proper# X1, proper# U72(X1, X2) -> proper# X2)
    (proper# U72(X1, X2) -> proper# X1, proper# U71(X1, X2) -> U71#(proper X1, proper X2))
    (proper# U72(X1, X2) -> proper# X1, proper# U71(X1, X2) -> proper# X1)
    (proper# U72(X1, X2) -> proper# X1, proper# U71(X1, X2) -> proper# X2)
    (proper# U72(X1, X2) -> proper# X1, proper# U82(X1, X2, X3) -> U82#(proper X1, proper X2, proper X3))
    (proper# U72(X1, X2) -> proper# X1, proper# U82(X1, X2, X3) -> proper# X1)
    (proper# U72(X1, X2) -> proper# X1, proper# U82(X1, X2, X3) -> proper# X2)
    (proper# U72(X1, X2) -> proper# X1, proper# U82(X1, X2, X3) -> proper# X3)
    (proper# U72(X1, X2) -> proper# X1, proper# U81(X1, X2, X3) -> U81#(proper X1, proper X2, proper X3))
    (proper# U72(X1, X2) -> proper# X1, proper# U81(X1, X2, X3) -> proper# X1)
    (proper# U72(X1, X2) -> proper# X1, proper# U81(X1, X2, X3) -> proper# X2)
    (proper# U72(X1, X2) -> proper# X1, proper# U81(X1, X2, X3) -> proper# X3)
    (proper# U72(X1, X2) -> proper# X1, proper# U83(X1, X2, X3) -> U83#(proper X1, proper X2, proper X3))
    (proper# U72(X1, X2) -> proper# X1, proper# U83(X1, X2, X3) -> proper# X1)
    (proper# U72(X1, X2) -> proper# X1, proper# U83(X1, X2, X3) -> proper# X2)
    (proper# U72(X1, X2) -> proper# X1, proper# U83(X1, X2, X3) -> proper# X3)
    (proper# U72(X1, X2) -> proper# X1, proper# U84(X1, X2, X3) -> U84#(proper X1, proper X2, proper X3))
    (proper# U72(X1, X2) -> proper# X1, proper# U84(X1, X2, X3) -> proper# X1)
    (proper# U72(X1, X2) -> proper# X1, proper# U84(X1, X2, X3) -> proper# X2)
    (proper# U72(X1, X2) -> proper# X1, proper# U84(X1, X2, X3) -> proper# X3)
    (proper# U72(X1, X2) -> proper# X1, proper# s X -> s# proper X)
    (proper# U72(X1, X2) -> proper# X1, proper# s X -> proper# X)
    (proper# U72(X1, X2) -> proper# X1, proper# U92 X -> U92# proper X)
    (proper# U72(X1, X2) -> proper# X1, proper# U92 X -> proper# X)
    (proper# U72(X1, X2) -> proper# X1, proper# U91(X1, X2) -> U91#(proper X1, proper X2))
    (proper# U72(X1, X2) -> proper# X1, proper# U91(X1, X2) -> proper# X1)
    (proper# U72(X1, X2) -> proper# X1, proper# U91(X1, X2) -> proper# X2)
    (proper# U41(X1, X2) -> proper# X1, proper# U102(X1, X2, X3) -> U102#(proper X1, proper X2, proper X3))
    (proper# U41(X1, X2) -> proper# X1, proper# U102(X1, X2, X3) -> proper# X1)
    (proper# U41(X1, X2) -> proper# X1, proper# U102(X1, X2, X3) -> proper# X2)
    (proper# U41(X1, X2) -> proper# X1, proper# U102(X1, X2, X3) -> proper# X3)
    (proper# U41(X1, X2) -> proper# X1, proper# isNatKind X -> isNatKind# proper X)
    (proper# U41(X1, X2) -> proper# X1, proper# isNatKind X -> proper# X)
    (proper# U41(X1, X2) -> proper# X1, proper# U101(X1, X2, X3) -> U101#(proper X1, proper X2, proper X3))
    (proper# U41(X1, X2) -> proper# X1, proper# U101(X1, X2, X3) -> proper# X1)
    (proper# U41(X1, X2) -> proper# X1, proper# U101(X1, X2, X3) -> proper# X2)
    (proper# U41(X1, X2) -> proper# X1, proper# U101(X1, X2, X3) -> proper# X3)
    (proper# U41(X1, X2) -> proper# X1, proper# U103(X1, X2, X3) -> U103#(proper X1, proper X2, proper X3))
    (proper# U41(X1, X2) -> proper# X1, proper# U103(X1, X2, X3) -> proper# X1)
    (proper# U41(X1, X2) -> proper# X1, proper# U103(X1, X2, X3) -> proper# X2)
    (proper# U41(X1, X2) -> proper# X1, proper# U103(X1, X2, X3) -> proper# X3)
    (proper# U41(X1, X2) -> proper# X1, proper# isNat X -> isNat# proper X)
    (proper# U41(X1, X2) -> proper# X1, proper# isNat X -> proper# X)
    (proper# U41(X1, X2) -> proper# X1, proper# U104(X1, X2, X3) -> U104#(proper X1, proper X2, proper X3))
    (proper# U41(X1, X2) -> proper# X1, proper# U104(X1, X2, X3) -> proper# X1)
    (proper# U41(X1, X2) -> proper# X1, proper# U104(X1, X2, X3) -> proper# X2)
    (proper# U41(X1, X2) -> proper# X1, proper# U104(X1, X2, X3) -> proper# X3)
    (proper# U41(X1, X2) -> proper# X1, proper# plus(X1, X2) -> plus#(proper X1, proper X2))
    (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# x(X1, X2) -> x#(proper X1, proper X2))
    (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# U12(X1, X2, X3) -> U12#(proper X1, proper X2, proper X3))
    (proper# U41(X1, X2) -> proper# X1, proper# U12(X1, X2, X3) -> proper# X1)
    (proper# U41(X1, X2) -> proper# X1, proper# U12(X1, X2, X3) -> proper# X2)
    (proper# U41(X1, X2) -> proper# X1, proper# U12(X1, X2, X3) -> proper# X3)
    (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# 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(X1, X2, X3) -> U13#(proper X1, proper X2, proper X3))
    (proper# U41(X1, X2) -> proper# X1, proper# U13(X1, X2, X3) -> proper# X1)
    (proper# U41(X1, X2) -> proper# X1, proper# U13(X1, X2, X3) -> proper# X2)
    (proper# U41(X1, X2) -> proper# X1, proper# U13(X1, X2, X3) -> proper# X3)
    (proper# U41(X1, X2) -> proper# X1, proper# U14(X1, X2, X3) -> U14#(proper X1, proper X2, proper X3))
    (proper# U41(X1, X2) -> proper# X1, proper# U14(X1, X2, X3) -> proper# X1)
    (proper# U41(X1, X2) -> proper# X1, proper# U14(X1, X2, X3) -> proper# X2)
    (proper# U41(X1, X2) -> proper# X1, proper# U14(X1, X2, X3) -> proper# X3)
    (proper# U41(X1, X2) -> proper# X1, proper# U15(X1, X2) -> U15#(proper X1, proper X2))
    (proper# U41(X1, X2) -> proper# X1, proper# U15(X1, X2) -> proper# X1)
    (proper# U41(X1, X2) -> proper# X1, proper# U15(X1, X2) -> proper# X2)
    (proper# U41(X1, X2) -> proper# X1, proper# U16 X -> U16# proper X)
    (proper# U41(X1, X2) -> proper# X1, proper# U16 X -> proper# X)
    (proper# U41(X1, X2) -> proper# X1, proper# U22(X1, X2) -> U22#(proper X1, proper X2))
    (proper# U41(X1, X2) -> proper# X1, proper# U22(X1, X2) -> proper# X1)
    (proper# U41(X1, X2) -> proper# X1, proper# U22(X1, X2) -> proper# X2)
    (proper# U41(X1, X2) -> proper# X1, proper# U21(X1, X2) -> U21#(proper X1, proper X2))
    (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# U23 X -> U23# proper X)
    (proper# U41(X1, X2) -> proper# X1, proper# U23 X -> proper# X)
    (proper# U41(X1, X2) -> proper# X1, proper# U32(X1, X2, X3) -> U32#(proper X1, proper X2, proper X3))
    (proper# U41(X1, X2) -> proper# X1, proper# U32(X1, X2, X3) -> proper# X1)
    (proper# U41(X1, X2) -> proper# X1, proper# U32(X1, X2, X3) -> proper# X2)
    (proper# U41(X1, X2) -> proper# X1, proper# U32(X1, X2, X3) -> proper# X3)
    (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# 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# U31(X1, X2, X3) -> proper# X3)
    (proper# U41(X1, X2) -> proper# X1, proper# U33(X1, X2, X3) -> U33#(proper X1, proper X2, proper X3))
    (proper# U41(X1, X2) -> proper# X1, proper# U33(X1, X2, X3) -> proper# X1)
    (proper# U41(X1, X2) -> proper# X1, proper# U33(X1, X2, X3) -> proper# X2)
    (proper# U41(X1, X2) -> proper# X1, proper# U33(X1, X2, X3) -> proper# X3)
    (proper# U41(X1, X2) -> proper# X1, proper# U34(X1, X2, X3) -> U34#(proper X1, proper X2, proper X3))
    (proper# U41(X1, X2) -> proper# X1, proper# U34(X1, X2, X3) -> proper# X1)
    (proper# U41(X1, X2) -> proper# X1, proper# U34(X1, X2, X3) -> proper# X2)
    (proper# U41(X1, X2) -> proper# X1, proper# U34(X1, X2, X3) -> proper# X3)
    (proper# U41(X1, X2) -> proper# X1, proper# U35(X1, X2) -> U35#(proper X1, proper X2))
    (proper# U41(X1, X2) -> proper# X1, proper# U35(X1, X2) -> proper# X1)
    (proper# U41(X1, X2) -> proper# X1, proper# U35(X1, X2) -> proper# X2)
    (proper# U41(X1, X2) -> proper# X1, proper# U36 X -> U36# proper X)
    (proper# U41(X1, X2) -> proper# X1, proper# U36 X -> proper# X)
    (proper# U41(X1, X2) -> proper# X1, proper# U42 X -> U42# proper X)
    (proper# U41(X1, X2) -> proper# X1, proper# U42 X -> proper# X)
    (proper# U41(X1, X2) -> proper# X1, proper# U41(X1, X2) -> U41#(proper X1, proper X2))
    (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# U51 X -> U51# proper X)
    (proper# U41(X1, X2) -> proper# X1, proper# U51 X -> proper# X)
    (proper# U41(X1, X2) -> proper# X1, proper# U62 X -> U62# proper X)
    (proper# U41(X1, X2) -> proper# X1, proper# U62 X -> proper# X)
    (proper# U41(X1, X2) -> proper# X1, proper# U61(X1, X2) -> U61#(proper X1, proper X2))
    (proper# U41(X1, X2) -> proper# X1, proper# U61(X1, X2) -> proper# X1)
    (proper# U41(X1, X2) -> proper# X1, proper# U61(X1, X2) -> proper# X2)
    (proper# U41(X1, X2) -> proper# X1, proper# U72(X1, X2) -> U72#(proper X1, proper X2))
    (proper# U41(X1, X2) -> proper# X1, proper# U72(X1, X2) -> proper# X1)
    (proper# U41(X1, X2) -> proper# X1, proper# U72(X1, X2) -> proper# X2)
    (proper# U41(X1, X2) -> proper# X1, proper# U71(X1, X2) -> U71#(proper X1, proper X2))
    (proper# U41(X1, X2) -> proper# X1, proper# U71(X1, X2) -> proper# X1)
    (proper# U41(X1, X2) -> proper# X1, proper# U71(X1, X2) -> proper# X2)
    (proper# U41(X1, X2) -> proper# X1, proper# U82(X1, X2, X3) -> U82#(proper X1, proper X2, proper X3))
    (proper# U41(X1, X2) -> proper# X1, proper# U82(X1, X2, X3) -> proper# X1)
    (proper# U41(X1, X2) -> proper# X1, proper# U82(X1, X2, X3) -> proper# X2)
    (proper# U41(X1, X2) -> proper# X1, proper# U82(X1, X2, X3) -> proper# X3)
    (proper# U41(X1, X2) -> proper# X1, proper# U81(X1, X2, X3) -> U81#(proper X1, proper X2, proper X3))
    (proper# U41(X1, X2) -> proper# X1, proper# U81(X1, X2, X3) -> proper# X1)
    (proper# U41(X1, X2) -> proper# X1, proper# U81(X1, X2, X3) -> proper# X2)
    (proper# U41(X1, X2) -> proper# X1, proper# U81(X1, X2, X3) -> proper# X3)
    (proper# U41(X1, X2) -> proper# X1, proper# U83(X1, X2, X3) -> U83#(proper X1, proper X2, proper X3))
    (proper# U41(X1, X2) -> proper# X1, proper# U83(X1, X2, X3) -> proper# X1)
    (proper# U41(X1, X2) -> proper# X1, proper# U83(X1, X2, X3) -> proper# X2)
    (proper# U41(X1, X2) -> proper# X1, proper# U83(X1, X2, X3) -> proper# X3)
    (proper# U41(X1, X2) -> proper# X1, proper# U84(X1, X2, X3) -> U84#(proper X1, proper X2, proper X3))
    (proper# U41(X1, X2) -> proper# X1, proper# U84(X1, X2, X3) -> proper# X1)
    (proper# U41(X1, X2) -> proper# X1, proper# U84(X1, X2, X3) -> proper# X2)
    (proper# U41(X1, X2) -> proper# X1, proper# U84(X1, X2, X3) -> proper# X3)
    (proper# U41(X1, X2) -> proper# X1, proper# s X -> s# proper X)
    (proper# U41(X1, X2) -> proper# X1, proper# s X -> proper# X)
    (proper# U41(X1, X2) -> proper# X1, proper# U92 X -> U92# proper X)
    (proper# U41(X1, X2) -> proper# X1, proper# U92 X -> proper# X)
    (proper# U41(X1, X2) -> proper# X1, proper# U91(X1, X2) -> U91#(proper X1, proper X2))
    (proper# U41(X1, X2) -> proper# X1, proper# U91(X1, X2) -> proper# X1)
    (proper# U41(X1, X2) -> proper# X1, proper# U91(X1, X2) -> proper# X2)
    (proper# U34(X1, X2, X3) -> proper# X1, proper# U102(X1, X2, X3) -> U102#(proper X1, proper X2, proper X3))
    (proper# U34(X1, X2, X3) -> proper# X1, proper# U102(X1, X2, X3) -> proper# X1)
    (proper# U34(X1, X2, X3) -> proper# X1, proper# U102(X1, X2, X3) -> proper# X2)
    (proper# U34(X1, X2, X3) -> proper# X1, proper# U102(X1, X2, X3) -> proper# X3)
    (proper# U34(X1, X2, X3) -> proper# X1, proper# isNatKind X -> isNatKind# proper X)
    (proper# U34(X1, X2, X3) -> proper# X1, proper# isNatKind X -> proper# X)
    (proper# U34(X1, X2, X3) -> proper# X1, proper# U101(X1, X2, X3) -> U101#(proper X1, proper X2, proper X3))
    (proper# U34(X1, X2, X3) -> proper# X1, proper# U101(X1, X2, X3) -> proper# X1)
    (proper# U34(X1, X2, X3) -> proper# X1, proper# U101(X1, X2, X3) -> proper# X2)
    (proper# U34(X1, X2, X3) -> proper# X1, proper# U101(X1, X2, X3) -> proper# X3)
    (proper# U34(X1, X2, X3) -> proper# X1, proper# U103(X1, X2, X3) -> U103#(proper X1, proper X2, proper X3))
    (proper# U34(X1, X2, X3) -> proper# X1, proper# U103(X1, X2, X3) -> proper# X1)
    (proper# U34(X1, X2, X3) -> proper# X1, proper# U103(X1, X2, X3) -> proper# X2)
    (proper# U34(X1, X2, X3) -> proper# X1, proper# U103(X1, X2, X3) -> proper# X3)
    (proper# U34(X1, X2, X3) -> proper# X1, proper# isNat X -> isNat# proper X)
    (proper# U34(X1, X2, X3) -> proper# X1, proper# isNat X -> proper# X)
    (proper# U34(X1, X2, X3) -> proper# X1, proper# U104(X1, X2, X3) -> U104#(proper X1, proper X2, proper X3))
    (proper# U34(X1, X2, X3) -> proper# X1, proper# U104(X1, X2, X3) -> proper# X1)
    (proper# U34(X1, X2, X3) -> proper# X1, proper# U104(X1, X2, X3) -> proper# X2)
    (proper# U34(X1, X2, X3) -> proper# X1, proper# U104(X1, X2, X3) -> proper# X3)
    (proper# U34(X1, X2, X3) -> proper# X1, proper# plus(X1, X2) -> plus#(proper X1, proper X2))
    (proper# U34(X1, X2, X3) -> proper# X1, proper# plus(X1, X2) -> proper# X1)
    (proper# U34(X1, X2, X3) -> proper# X1, proper# plus(X1, X2) -> proper# X2)
    (proper# U34(X1, X2, X3) -> proper# X1, proper# x(X1, X2) -> x#(proper X1, proper X2))
    (proper# U34(X1, X2, X3) -> proper# X1, proper# x(X1, X2) -> proper# X1)
    (proper# U34(X1, X2, X3) -> proper# X1, proper# x(X1, X2) -> proper# X2)
    (proper# U34(X1, X2, X3) -> proper# X1, proper# U12(X1, X2, X3) -> U12#(proper X1, proper X2, proper X3))
    (proper# U34(X1, X2, X3) -> proper# X1, proper# U12(X1, X2, X3) -> proper# X1)
    (proper# U34(X1, X2, X3) -> proper# X1, proper# U12(X1, X2, X3) -> proper# X2)
    (proper# U34(X1, X2, X3) -> proper# X1, proper# U12(X1, X2, X3) -> proper# X3)
    (proper# U34(X1, X2, X3) -> proper# X1, proper# U11(X1, X2, X3) -> U11#(proper X1, proper X2, proper X3))
    (proper# U34(X1, X2, X3) -> proper# X1, proper# U11(X1, X2, X3) -> proper# X1)
    (proper# U34(X1, X2, X3) -> proper# X1, proper# U11(X1, X2, X3) -> proper# X2)
    (proper# U34(X1, X2, X3) -> proper# X1, proper# U11(X1, X2, X3) -> proper# X3)
    (proper# U34(X1, X2, X3) -> proper# X1, proper# U13(X1, X2, X3) -> U13#(proper X1, proper X2, proper X3))
    (proper# U34(X1, X2, X3) -> proper# X1, proper# U13(X1, X2, X3) -> proper# X1)
    (proper# U34(X1, X2, X3) -> proper# X1, proper# U13(X1, X2, X3) -> proper# X2)
    (proper# U34(X1, X2, X3) -> proper# X1, proper# U13(X1, X2, X3) -> proper# X3)
    (proper# U34(X1, X2, X3) -> proper# X1, proper# U14(X1, X2, X3) -> U14#(proper X1, proper X2, proper X3))
    (proper# U34(X1, X2, X3) -> proper# X1, proper# U14(X1, X2, X3) -> proper# X1)
    (proper# U34(X1, X2, X3) -> proper# X1, proper# U14(X1, X2, X3) -> proper# X2)
    (proper# U34(X1, X2, X3) -> proper# X1, proper# U14(X1, X2, X3) -> proper# X3)
    (proper# U34(X1, X2, X3) -> proper# X1, proper# U15(X1, X2) -> U15#(proper X1, proper X2))
    (proper# U34(X1, X2, X3) -> proper# X1, proper# U15(X1, X2) -> proper# X1)
    (proper# U34(X1, X2, X3) -> proper# X1, proper# U15(X1, X2) -> proper# X2)
    (proper# U34(X1, X2, X3) -> proper# X1, proper# U16 X -> U16# proper X)
    (proper# U34(X1, X2, X3) -> proper# X1, proper# U16 X -> proper# X)
    (proper# U34(X1, X2, X3) -> proper# X1, proper# U22(X1, X2) -> U22#(proper X1, proper X2))
    (proper# U34(X1, X2, X3) -> proper# X1, proper# U22(X1, X2) -> proper# X1)
    (proper# U34(X1, X2, X3) -> proper# X1, proper# U22(X1, X2) -> proper# X2)
    (proper# U34(X1, X2, X3) -> proper# X1, proper# U21(X1, X2) -> U21#(proper X1, proper X2))
    (proper# U34(X1, X2, X3) -> proper# X1, proper# U21(X1, X2) -> proper# X1)
    (proper# U34(X1, X2, X3) -> proper# X1, proper# U21(X1, X2) -> proper# X2)
    (proper# U34(X1, X2, X3) -> proper# X1, proper# U23 X -> U23# proper X)
    (proper# U34(X1, X2, X3) -> proper# X1, proper# U23 X -> proper# X)
    (proper# U34(X1, X2, X3) -> proper# X1, proper# U32(X1, X2, X3) -> U32#(proper X1, proper X2, proper X3))
    (proper# U34(X1, X2, X3) -> proper# X1, proper# U32(X1, X2, X3) -> proper# X1)
    (proper# U34(X1, X2, X3) -> proper# X1, proper# U32(X1, X2, X3) -> proper# X2)
    (proper# U34(X1, X2, X3) -> proper# X1, proper# U32(X1, X2, X3) -> proper# X3)
    (proper# U34(X1, X2, X3) -> proper# X1, proper# U31(X1, X2, X3) -> U31#(proper X1, proper X2, proper X3))
    (proper# U34(X1, X2, X3) -> proper# X1, proper# U31(X1, X2, X3) -> proper# X1)
    (proper# U34(X1, X2, X3) -> proper# X1, proper# U31(X1, X2, X3) -> proper# X2)
    (proper# U34(X1, X2, X3) -> proper# X1, proper# U31(X1, X2, X3) -> proper# X3)
    (proper# U34(X1, X2, X3) -> proper# X1, proper# U33(X1, X2, X3) -> U33#(proper X1, proper X2, proper X3))
    (proper# U34(X1, X2, X3) -> proper# X1, proper# U33(X1, X2, X3) -> proper# X1)
    (proper# U34(X1, X2, X3) -> proper# X1, proper# U33(X1, X2, X3) -> proper# X2)
    (proper# U34(X1, X2, X3) -> proper# X1, proper# U33(X1, X2, X3) -> proper# X3)
    (proper# U34(X1, X2, X3) -> proper# X1, proper# U34(X1, X2, X3) -> U34#(proper X1, proper X2, proper X3))
    (proper# U34(X1, X2, X3) -> proper# X1, proper# U34(X1, X2, X3) -> proper# X1)
    (proper# U34(X1, X2, X3) -> proper# X1, proper# U34(X1, X2, X3) -> proper# X2)
    (proper# U34(X1, X2, X3) -> proper# X1, proper# U34(X1, X2, X3) -> proper# X3)
    (proper# U34(X1, X2, X3) -> proper# X1, proper# U35(X1, X2) -> U35#(proper X1, proper X2))
    (proper# U34(X1, X2, X3) -> proper# X1, proper# U35(X1, X2) -> proper# X1)
    (proper# U34(X1, X2, X3) -> proper# X1, proper# U35(X1, X2) -> proper# X2)
    (proper# U34(X1, X2, X3) -> proper# X1, proper# U36 X -> U36# proper X)
    (proper# U34(X1, X2, X3) -> proper# X1, proper# U36 X -> proper# X)
    (proper# U34(X1, X2, X3) -> proper# X1, proper# U42 X -> U42# proper X)
    (proper# U34(X1, X2, X3) -> proper# X1, proper# U42 X -> proper# X)
    (proper# U34(X1, X2, X3) -> proper# X1, proper# U41(X1, X2) -> U41#(proper X1, proper X2))
    (proper# U34(X1, X2, X3) -> proper# X1, proper# U41(X1, X2) -> proper# X1)
    (proper# U34(X1, X2, X3) -> proper# X1, proper# U41(X1, X2) -> proper# X2)
    (proper# U34(X1, X2, X3) -> proper# X1, proper# U51 X -> U51# proper X)
    (proper# U34(X1, X2, X3) -> proper# X1, proper# U51 X -> proper# X)
    (proper# U34(X1, X2, X3) -> proper# X1, proper# U62 X -> U62# proper X)
    (proper# U34(X1, X2, X3) -> proper# X1, proper# U62 X -> proper# X)
    (proper# U34(X1, X2, X3) -> proper# X1, proper# U61(X1, X2) -> U61#(proper X1, proper X2))
    (proper# U34(X1, X2, X3) -> proper# X1, proper# U61(X1, X2) -> proper# X1)
    (proper# U34(X1, X2, X3) -> proper# X1, proper# U61(X1, X2) -> proper# X2)
    (proper# U34(X1, X2, X3) -> proper# X1, proper# U72(X1, X2) -> U72#(proper X1, proper X2))
    (proper# U34(X1, X2, X3) -> proper# X1, proper# U72(X1, X2) -> proper# X1)
    (proper# U34(X1, X2, X3) -> proper# X1, proper# U72(X1, X2) -> proper# X2)
    (proper# U34(X1, X2, X3) -> proper# X1, proper# U71(X1, X2) -> U71#(proper X1, proper X2))
    (proper# U34(X1, X2, X3) -> proper# X1, proper# U71(X1, X2) -> proper# X1)
    (proper# U34(X1, X2, X3) -> proper# X1, proper# U71(X1, X2) -> proper# X2)
    (proper# U34(X1, X2, X3) -> proper# X1, proper# U82(X1, X2, X3) -> U82#(proper X1, proper X2, proper X3))
    (proper# U34(X1, X2, X3) -> proper# X1, proper# U82(X1, X2, X3) -> proper# X1)
    (proper# U34(X1, X2, X3) -> proper# X1, proper# U82(X1, X2, X3) -> proper# X2)
    (proper# U34(X1, X2, X3) -> proper# X1, proper# U82(X1, X2, X3) -> proper# X3)
    (proper# U34(X1, X2, X3) -> proper# X1, proper# U81(X1, X2, X3) -> U81#(proper X1, proper X2, proper X3))
    (proper# U34(X1, X2, X3) -> proper# X1, proper# U81(X1, X2, X3) -> proper# X1)
    (proper# U34(X1, X2, X3) -> proper# X1, proper# U81(X1, X2, X3) -> proper# X2)
    (proper# U34(X1, X2, X3) -> proper# X1, proper# U81(X1, X2, X3) -> proper# X3)
    (proper# U34(X1, X2, X3) -> proper# X1, proper# U83(X1, X2, X3) -> U83#(proper X1, proper X2, proper X3))
    (proper# U34(X1, X2, X3) -> proper# X1, proper# U83(X1, X2, X3) -> proper# X1)
    (proper# U34(X1, X2, X3) -> proper# X1, proper# U83(X1, X2, X3) -> proper# X2)
    (proper# U34(X1, X2, X3) -> proper# X1, proper# U83(X1, X2, X3) -> proper# X3)
    (proper# U34(X1, X2, X3) -> proper# X1, proper# U84(X1, X2, X3) -> U84#(proper X1, proper X2, proper X3))
    (proper# U34(X1, X2, X3) -> proper# X1, proper# U84(X1, X2, X3) -> proper# X1)
    (proper# U34(X1, X2, X3) -> proper# X1, proper# U84(X1, X2, X3) -> proper# X2)
    (proper# U34(X1, X2, X3) -> proper# X1, proper# U84(X1, X2, X3) -> proper# X3)
    (proper# U34(X1, X2, X3) -> proper# X1, proper# s X -> s# proper X)
    (proper# U34(X1, X2, X3) -> proper# X1, proper# s X -> proper# X)
    (proper# U34(X1, X2, X3) -> proper# X1, proper# U92 X -> U92# proper X)
    (proper# U34(X1, X2, X3) -> proper# X1, proper# U92 X -> proper# X)
    (proper# U34(X1, X2, X3) -> proper# X1, proper# U91(X1, X2) -> U91#(proper X1, proper X2))
    (proper# U34(X1, X2, X3) -> proper# X1, proper# U91(X1, X2) -> proper# X1)
    (proper# U34(X1, X2, X3) -> proper# X1, proper# U91(X1, X2) -> proper# X2)
    (proper# U31(X1, X2, X3) -> proper# X1, proper# U102(X1, X2, X3) -> U102#(proper X1, proper X2, proper X3))
    (proper# U31(X1, X2, X3) -> proper# X1, proper# U102(X1, X2, X3) -> proper# X1)
    (proper# U31(X1, X2, X3) -> proper# X1, proper# U102(X1, X2, X3) -> proper# X2)
    (proper# U31(X1, X2, X3) -> proper# X1, proper# U102(X1, X2, X3) -> proper# X3)
    (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# U31(X1, X2, X3) -> proper# X1, proper# U101(X1, X2, X3) -> U101#(proper X1, proper X2, proper X3))
    (proper# U31(X1, X2, X3) -> proper# X1, proper# U101(X1, X2, X3) -> proper# X1)
    (proper# U31(X1, X2, X3) -> proper# X1, proper# U101(X1, X2, X3) -> proper# X2)
    (proper# U31(X1, X2, X3) -> proper# X1, proper# U101(X1, X2, X3) -> proper# X3)
    (proper# U31(X1, X2, X3) -> proper# X1, proper# U103(X1, X2, X3) -> U103#(proper X1, proper X2, proper X3))
    (proper# U31(X1, X2, X3) -> proper# X1, proper# U103(X1, X2, X3) -> proper# X1)
    (proper# U31(X1, X2, X3) -> proper# X1, proper# U103(X1, X2, X3) -> proper# X2)
    (proper# U31(X1, X2, X3) -> proper# X1, proper# U103(X1, X2, X3) -> proper# X3)
    (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# U104(X1, X2, X3) -> U104#(proper X1, proper X2, proper X3))
    (proper# U31(X1, X2, X3) -> proper# X1, proper# U104(X1, X2, X3) -> proper# X1)
    (proper# U31(X1, X2, X3) -> proper# X1, proper# U104(X1, X2, X3) -> proper# X2)
    (proper# U31(X1, X2, X3) -> proper# X1, proper# U104(X1, X2, X3) -> proper# X3)
    (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# 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# U12(X1, X2, X3) -> U12#(proper X1, proper X2, proper X3))
    (proper# U31(X1, X2, X3) -> proper# X1, proper# U12(X1, X2, X3) -> proper# X1)
    (proper# U31(X1, X2, X3) -> proper# X1, proper# U12(X1, X2, X3) -> proper# X2)
    (proper# U31(X1, X2, X3) -> proper# X1, proper# U12(X1, X2, X3) -> proper# X3)
    (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(X1, X2, X3) -> U13#(proper X1, proper X2, proper X3))
    (proper# U31(X1, X2, X3) -> proper# X1, proper# U13(X1, X2, X3) -> proper# X1)
    (proper# U31(X1, X2, X3) -> proper# X1, proper# U13(X1, X2, X3) -> proper# X2)
    (proper# U31(X1, X2, X3) -> proper# X1, proper# U13(X1, X2, X3) -> proper# X3)
    (proper# U31(X1, X2, X3) -> proper# X1, proper# U14(X1, X2, X3) -> U14#(proper X1, proper X2, proper X3))
    (proper# U31(X1, X2, X3) -> proper# X1, proper# U14(X1, X2, X3) -> proper# X1)
    (proper# U31(X1, X2, X3) -> proper# X1, proper# U14(X1, X2, X3) -> proper# X2)
    (proper# U31(X1, X2, X3) -> proper# X1, proper# U14(X1, X2, X3) -> proper# X3)
    (proper# U31(X1, X2, X3) -> proper# X1, proper# U15(X1, X2) -> U15#(proper X1, proper X2))
    (proper# U31(X1, X2, X3) -> proper# X1, proper# U15(X1, X2) -> proper# X1)
    (proper# U31(X1, X2, X3) -> proper# X1, proper# U15(X1, X2) -> proper# X2)
    (proper# U31(X1, X2, X3) -> proper# X1, proper# U16 X -> U16# proper X)
    (proper# U31(X1, X2, X3) -> proper# X1, proper# U16 X -> proper# X)
    (proper# U31(X1, X2, X3) -> proper# X1, proper# U22(X1, X2) -> U22#(proper X1, proper X2))
    (proper# U31(X1, X2, X3) -> proper# X1, proper# U22(X1, X2) -> proper# X1)
    (proper# U31(X1, X2, X3) -> proper# X1, proper# U22(X1, X2) -> proper# X2)
    (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# U23 X -> U23# proper X)
    (proper# U31(X1, X2, X3) -> proper# X1, proper# U23 X -> proper# X)
    (proper# U31(X1, X2, X3) -> proper# X1, proper# U32(X1, X2, X3) -> U32#(proper X1, proper X2, proper X3))
    (proper# U31(X1, X2, X3) -> proper# X1, proper# U32(X1, X2, X3) -> proper# X1)
    (proper# U31(X1, X2, X3) -> proper# X1, proper# U32(X1, X2, X3) -> proper# X2)
    (proper# U31(X1, X2, X3) -> proper# X1, proper# U32(X1, X2, X3) -> proper# X3)
    (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(X1, X2, X3) -> U33#(proper X1, proper X2, proper X3))
    (proper# U31(X1, X2, X3) -> proper# X1, proper# U33(X1, X2, X3) -> proper# X1)
    (proper# U31(X1, X2, X3) -> proper# X1, proper# U33(X1, X2, X3) -> proper# X2)
    (proper# U31(X1, X2, X3) -> proper# X1, proper# U33(X1, X2, X3) -> proper# X3)
    (proper# U31(X1, X2, X3) -> proper# X1, proper# U34(X1, X2, X3) -> U34#(proper X1, proper X2, proper X3))
    (proper# U31(X1, X2, X3) -> proper# X1, proper# U34(X1, X2, X3) -> proper# X1)
    (proper# U31(X1, X2, X3) -> proper# X1, proper# U34(X1, X2, X3) -> proper# X2)
    (proper# U31(X1, X2, X3) -> proper# X1, proper# U34(X1, X2, X3) -> proper# X3)
    (proper# U31(X1, X2, X3) -> proper# X1, proper# U35(X1, X2) -> U35#(proper X1, proper X2))
    (proper# U31(X1, X2, X3) -> proper# X1, proper# U35(X1, X2) -> proper# X1)
    (proper# U31(X1, X2, X3) -> proper# X1, proper# U35(X1, X2) -> proper# X2)
    (proper# U31(X1, X2, X3) -> proper# X1, proper# U36 X -> U36# proper X)
    (proper# U31(X1, X2, X3) -> proper# X1, proper# U36 X -> proper# X)
    (proper# U31(X1, X2, X3) -> proper# X1, proper# U42 X -> U42# proper X)
    (proper# U31(X1, X2, X3) -> proper# X1, proper# U42 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# U51 X -> U51# proper X)
    (proper# U31(X1, X2, X3) -> proper# X1, proper# U51 X -> proper# X)
    (proper# U31(X1, X2, X3) -> proper# X1, proper# U62 X -> U62# proper X)
    (proper# U31(X1, X2, X3) -> proper# X1, proper# U62 X -> proper# X)
    (proper# U31(X1, X2, X3) -> proper# X1, proper# U61(X1, X2) -> U61#(proper X1, proper X2))
    (proper# U31(X1, X2, X3) -> proper# X1, proper# U61(X1, X2) -> proper# X1)
    (proper# U31(X1, X2, X3) -> proper# X1, proper# U61(X1, X2) -> proper# X2)
    (proper# U31(X1, X2, X3) -> proper# X1, proper# U72(X1, X2) -> U72#(proper X1, proper X2))
    (proper# U31(X1, X2, X3) -> proper# X1, proper# U72(X1, X2) -> proper# X1)
    (proper# U31(X1, X2, X3) -> proper# X1, proper# U72(X1, X2) -> proper# X2)
    (proper# U31(X1, X2, X3) -> proper# X1, proper# U71(X1, X2) -> U71#(proper X1, proper X2))
    (proper# U31(X1, X2, X3) -> proper# X1, proper# U71(X1, X2) -> proper# X1)
    (proper# U31(X1, X2, X3) -> proper# X1, proper# U71(X1, X2) -> proper# X2)
    (proper# U31(X1, X2, X3) -> proper# X1, proper# U82(X1, X2, X3) -> U82#(proper X1, proper X2, proper X3))
    (proper# U31(X1, X2, X3) -> proper# X1, proper# U82(X1, X2, X3) -> proper# X1)
    (proper# U31(X1, X2, X3) -> proper# X1, proper# U82(X1, X2, X3) -> proper# X2)
    (proper# U31(X1, X2, X3) -> proper# X1, proper# U82(X1, X2, X3) -> proper# X3)
    (proper# U31(X1, X2, X3) -> proper# X1, proper# U81(X1, X2, X3) -> U81#(proper X1, proper X2, proper X3))
    (proper# U31(X1, X2, X3) -> proper# X1, proper# U81(X1, X2, X3) -> proper# X1)
    (proper# U31(X1, X2, X3) -> proper# X1, proper# U81(X1, X2, X3) -> proper# X2)
    (proper# U31(X1, X2, X3) -> proper# X1, proper# U81(X1, X2, X3) -> proper# X3)
    (proper# U31(X1, X2, X3) -> proper# X1, proper# U83(X1, X2, X3) -> U83#(proper X1, proper X2, proper X3))
    (proper# U31(X1, X2, X3) -> proper# X1, proper# U83(X1, X2, X3) -> proper# X1)
    (proper# U31(X1, X2, X3) -> proper# X1, proper# U83(X1, X2, X3) -> proper# X2)
    (proper# U31(X1, X2, X3) -> proper# X1, proper# U83(X1, X2, X3) -> proper# X3)
    (proper# U31(X1, X2, X3) -> proper# X1, proper# U84(X1, X2, X3) -> U84#(proper X1, proper X2, proper X3))
    (proper# U31(X1, X2, X3) -> proper# X1, proper# U84(X1, X2, X3) -> proper# X1)
    (proper# U31(X1, X2, X3) -> proper# X1, proper# U84(X1, X2, X3) -> proper# X2)
    (proper# U31(X1, X2, X3) -> proper# X1, proper# U84(X1, X2, X3) -> proper# X3)
    (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# U92 X -> U92# proper X)
    (proper# U31(X1, X2, X3) -> proper# X1, proper# U92 X -> proper# X)
    (proper# U31(X1, X2, X3) -> proper# X1, proper# U91(X1, X2) -> U91#(proper X1, proper X2))
    (proper# U31(X1, X2, X3) -> proper# X1, proper# U91(X1, X2) -> proper# X1)
    (proper# U31(X1, X2, X3) -> proper# X1, proper# U91(X1, X2) -> proper# X2)
    (proper# U21(X1, X2) -> proper# X1, proper# U102(X1, X2, X3) -> U102#(proper X1, proper X2, proper X3))
    (proper# U21(X1, X2) -> proper# X1, proper# U102(X1, X2, X3) -> proper# X1)
    (proper# U21(X1, X2) -> proper# X1, proper# U102(X1, X2, X3) -> proper# X2)
    (proper# U21(X1, X2) -> proper# X1, proper# U102(X1, X2, X3) -> proper# X3)
    (proper# U21(X1, X2) -> proper# X1, proper# isNatKind X -> isNatKind# proper X)
    (proper# U21(X1, X2) -> proper# X1, proper# isNatKind X -> proper# X)
    (proper# U21(X1, X2) -> proper# X1, proper# U101(X1, X2, X3) -> U101#(proper X1, proper X2, proper X3))
    (proper# U21(X1, X2) -> proper# X1, proper# U101(X1, X2, X3) -> proper# X1)
    (proper# U21(X1, X2) -> proper# X1, proper# U101(X1, X2, X3) -> proper# X2)
    (proper# U21(X1, X2) -> proper# X1, proper# U101(X1, X2, X3) -> proper# X3)
    (proper# U21(X1, X2) -> proper# X1, proper# U103(X1, X2, X3) -> U103#(proper X1, proper X2, proper X3))
    (proper# U21(X1, X2) -> proper# X1, proper# U103(X1, X2, X3) -> proper# X1)
    (proper# U21(X1, X2) -> proper# X1, proper# U103(X1, X2, X3) -> proper# X2)
    (proper# U21(X1, X2) -> proper# X1, proper# U103(X1, X2, X3) -> proper# X3)
    (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# U104(X1, X2, X3) -> U104#(proper X1, proper X2, proper X3))
    (proper# U21(X1, X2) -> proper# X1, proper# U104(X1, X2, X3) -> proper# X1)
    (proper# U21(X1, X2) -> proper# X1, proper# U104(X1, X2, X3) -> proper# X2)
    (proper# U21(X1, X2) -> proper# X1, proper# U104(X1, X2, X3) -> proper# X3)
    (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# 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# U12(X1, X2, X3) -> U12#(proper X1, proper X2, proper X3))
    (proper# U21(X1, X2) -> proper# X1, proper# U12(X1, X2, X3) -> proper# X1)
    (proper# U21(X1, X2) -> proper# X1, proper# U12(X1, X2, X3) -> proper# X2)
    (proper# U21(X1, X2) -> proper# X1, proper# U12(X1, X2, X3) -> proper# X3)
    (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(X1, X2, X3) -> U13#(proper X1, proper X2, proper X3))
    (proper# U21(X1, X2) -> proper# X1, proper# U13(X1, X2, X3) -> proper# X1)
    (proper# U21(X1, X2) -> proper# X1, proper# U13(X1, X2, X3) -> proper# X2)
    (proper# U21(X1, X2) -> proper# X1, proper# U13(X1, X2, X3) -> proper# X3)
    (proper# U21(X1, X2) -> proper# X1, proper# U14(X1, X2, X3) -> U14#(proper X1, proper X2, proper X3))
    (proper# U21(X1, X2) -> proper# X1, proper# U14(X1, X2, X3) -> proper# X1)
    (proper# U21(X1, X2) -> proper# X1, proper# U14(X1, X2, X3) -> proper# X2)
    (proper# U21(X1, X2) -> proper# X1, proper# U14(X1, X2, X3) -> proper# X3)
    (proper# U21(X1, X2) -> proper# X1, proper# U15(X1, X2) -> U15#(proper X1, proper X2))
    (proper# U21(X1, X2) -> proper# X1, proper# U15(X1, X2) -> proper# X1)
    (proper# U21(X1, X2) -> proper# X1, proper# U15(X1, X2) -> proper# X2)
    (proper# U21(X1, X2) -> proper# X1, proper# U16 X -> U16# proper X)
    (proper# U21(X1, X2) -> proper# X1, proper# U16 X -> proper# X)
    (proper# U21(X1, X2) -> proper# X1, proper# U22(X1, X2) -> U22#(proper X1, proper X2))
    (proper# U21(X1, X2) -> proper# X1, proper# U22(X1, X2) -> proper# X1)
    (proper# U21(X1, X2) -> proper# X1, proper# U22(X1, X2) -> proper# X2)
    (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# U23 X -> U23# proper X)
    (proper# U21(X1, X2) -> proper# X1, proper# U23 X -> proper# X)
    (proper# U21(X1, X2) -> proper# X1, proper# U32(X1, X2, X3) -> U32#(proper X1, proper X2, proper X3))
    (proper# U21(X1, X2) -> proper# X1, proper# U32(X1, X2, X3) -> proper# X1)
    (proper# U21(X1, X2) -> proper# X1, proper# U32(X1, X2, X3) -> proper# X2)
    (proper# U21(X1, X2) -> proper# X1, proper# U32(X1, X2, X3) -> proper# X3)
    (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(X1, X2, X3) -> U33#(proper X1, proper X2, proper X3))
    (proper# U21(X1, X2) -> proper# X1, proper# U33(X1, X2, X3) -> proper# X1)
    (proper# U21(X1, X2) -> proper# X1, proper# U33(X1, X2, X3) -> proper# X2)
    (proper# U21(X1, X2) -> proper# X1, proper# U33(X1, X2, X3) -> proper# X3)
    (proper# U21(X1, X2) -> proper# X1, proper# U34(X1, X2, X3) -> U34#(proper X1, proper X2, proper X3))
    (proper# U21(X1, X2) -> proper# X1, proper# U34(X1, X2, X3) -> proper# X1)
    (proper# U21(X1, X2) -> proper# X1, proper# U34(X1, X2, X3) -> proper# X2)
    (proper# U21(X1, X2) -> proper# X1, proper# U34(X1, X2, X3) -> proper# X3)
    (proper# U21(X1, X2) -> proper# X1, proper# U35(X1, X2) -> U35#(proper X1, proper X2))
    (proper# U21(X1, X2) -> proper# X1, proper# U35(X1, X2) -> proper# X1)
    (proper# U21(X1, X2) -> proper# X1, proper# U35(X1, X2) -> proper# X2)
    (proper# U21(X1, X2) -> proper# X1, proper# U36 X -> U36# proper X)
    (proper# U21(X1, X2) -> proper# X1, proper# U36 X -> proper# X)
    (proper# U21(X1, X2) -> proper# X1, proper# U42 X -> U42# proper X)
    (proper# U21(X1, X2) -> proper# X1, proper# U42 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# U51 X -> U51# proper X)
    (proper# U21(X1, X2) -> proper# X1, proper# U51 X -> proper# X)
    (proper# U21(X1, X2) -> proper# X1, proper# U62 X -> U62# proper X)
    (proper# U21(X1, X2) -> proper# X1, proper# U62 X -> proper# X)
    (proper# U21(X1, X2) -> proper# X1, proper# U61(X1, X2) -> U61#(proper X1, proper X2))
    (proper# U21(X1, X2) -> proper# X1, proper# U61(X1, X2) -> proper# X1)
    (proper# U21(X1, X2) -> proper# X1, proper# U61(X1, X2) -> proper# X2)
    (proper# U21(X1, X2) -> proper# X1, proper# U72(X1, X2) -> U72#(proper X1, proper X2))
    (proper# U21(X1, X2) -> proper# X1, proper# U72(X1, X2) -> proper# X1)
    (proper# U21(X1, X2) -> proper# X1, proper# U72(X1, X2) -> proper# X2)
    (proper# U21(X1, X2) -> proper# X1, proper# U71(X1, X2) -> U71#(proper X1, proper X2))
    (proper# U21(X1, X2) -> proper# X1, proper# U71(X1, X2) -> proper# X1)
    (proper# U21(X1, X2) -> proper# X1, proper# U71(X1, X2) -> proper# X2)
    (proper# U21(X1, X2) -> proper# X1, proper# U82(X1, X2, X3) -> U82#(proper X1, proper X2, proper X3))
    (proper# U21(X1, X2) -> proper# X1, proper# U82(X1, X2, X3) -> proper# X1)
    (proper# U21(X1, X2) -> proper# X1, proper# U82(X1, X2, X3) -> proper# X2)
    (proper# U21(X1, X2) -> proper# X1, proper# U82(X1, X2, X3) -> proper# X3)
    (proper# U21(X1, X2) -> proper# X1, proper# U81(X1, X2, X3) -> U81#(proper X1, proper X2, proper X3))
    (proper# U21(X1, X2) -> proper# X1, proper# U81(X1, X2, X3) -> proper# X1)
    (proper# U21(X1, X2) -> proper# X1, proper# U81(X1, X2, X3) -> proper# X2)
    (proper# U21(X1, X2) -> proper# X1, proper# U81(X1, X2, X3) -> proper# X3)
    (proper# U21(X1, X2) -> proper# X1, proper# U83(X1, X2, X3) -> U83#(proper X1, proper X2, proper X3))
    (proper# U21(X1, X2) -> proper# X1, proper# U83(X1, X2, X3) -> proper# X1)
    (proper# U21(X1, X2) -> proper# X1, proper# U83(X1, X2, X3) -> proper# X2)
    (proper# U21(X1, X2) -> proper# X1, proper# U83(X1, X2, X3) -> proper# X3)
    (proper# U21(X1, X2) -> proper# X1, proper# U84(X1, X2, X3) -> U84#(proper X1, proper X2, proper X3))
    (proper# U21(X1, X2) -> proper# X1, proper# U84(X1, X2, X3) -> proper# X1)
    (proper# U21(X1, X2) -> proper# X1, proper# U84(X1, X2, X3) -> proper# X2)
    (proper# U21(X1, X2) -> proper# X1, proper# U84(X1, X2, X3) -> proper# X3)
    (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# U92 X -> U92# proper X)
    (proper# U21(X1, X2) -> proper# X1, proper# U92 X -> proper# X)
    (proper# U21(X1, X2) -> proper# X1, proper# U91(X1, X2) -> U91#(proper X1, proper X2))
    (proper# U21(X1, X2) -> proper# X1, proper# U91(X1, X2) -> proper# X1)
    (proper# U21(X1, X2) -> proper# X1, proper# U91(X1, X2) -> proper# X2)
    (proper# U15(X1, X2) -> proper# X1, proper# U102(X1, X2, X3) -> U102#(proper X1, proper X2, proper X3))
    (proper# U15(X1, X2) -> proper# X1, proper# U102(X1, X2, X3) -> proper# X1)
    (proper# U15(X1, X2) -> proper# X1, proper# U102(X1, X2, X3) -> proper# X2)
    (proper# U15(X1, X2) -> proper# X1, proper# U102(X1, X2, X3) -> proper# X3)
    (proper# U15(X1, X2) -> proper# X1, proper# isNatKind X -> isNatKind# proper X)
    (proper# U15(X1, X2) -> proper# X1, proper# isNatKind X -> proper# X)
    (proper# U15(X1, X2) -> proper# X1, proper# U101(X1, X2, X3) -> U101#(proper X1, proper X2, proper X3))
    (proper# U15(X1, X2) -> proper# X1, proper# U101(X1, X2, X3) -> proper# X1)
    (proper# U15(X1, X2) -> proper# X1, proper# U101(X1, X2, X3) -> proper# X2)
    (proper# U15(X1, X2) -> proper# X1, proper# U101(X1, X2, X3) -> proper# X3)
    (proper# U15(X1, X2) -> proper# X1, proper# U103(X1, X2, X3) -> U103#(proper X1, proper X2, proper X3))
    (proper# U15(X1, X2) -> proper# X1, proper# U103(X1, X2, X3) -> proper# X1)
    (proper# U15(X1, X2) -> proper# X1, proper# U103(X1, X2, X3) -> proper# X2)
    (proper# U15(X1, X2) -> proper# X1, proper# U103(X1, X2, X3) -> proper# X3)
    (proper# U15(X1, X2) -> proper# X1, proper# isNat X -> isNat# proper X)
    (proper# U15(X1, X2) -> proper# X1, proper# isNat X -> proper# X)
    (proper# U15(X1, X2) -> proper# X1, proper# U104(X1, X2, X3) -> U104#(proper X1, proper X2, proper X3))
    (proper# U15(X1, X2) -> proper# X1, proper# U104(X1, X2, X3) -> proper# X1)
    (proper# U15(X1, X2) -> proper# X1, proper# U104(X1, X2, X3) -> proper# X2)
    (proper# U15(X1, X2) -> proper# X1, proper# U104(X1, X2, X3) -> proper# X3)
    (proper# U15(X1, X2) -> proper# X1, proper# plus(X1, X2) -> plus#(proper X1, proper X2))
    (proper# U15(X1, X2) -> proper# X1, proper# plus(X1, X2) -> proper# X1)
    (proper# U15(X1, X2) -> proper# X1, proper# plus(X1, X2) -> proper# X2)
    (proper# U15(X1, X2) -> proper# X1, proper# x(X1, X2) -> x#(proper X1, proper X2))
    (proper# U15(X1, X2) -> proper# X1, proper# x(X1, X2) -> proper# X1)
    (proper# U15(X1, X2) -> proper# X1, proper# x(X1, X2) -> proper# X2)
    (proper# U15(X1, X2) -> proper# X1, proper# U12(X1, X2, X3) -> U12#(proper X1, proper X2, proper X3))
    (proper# U15(X1, X2) -> proper# X1, proper# U12(X1, X2, X3) -> proper# X1)
    (proper# U15(X1, X2) -> proper# X1, proper# U12(X1, X2, X3) -> proper# X2)
    (proper# U15(X1, X2) -> proper# X1, proper# U12(X1, X2, X3) -> proper# X3)
    (proper# U15(X1, X2) -> proper# X1, proper# U11(X1, X2, X3) -> U11#(proper X1, proper X2, proper X3))
    (proper# U15(X1, X2) -> proper# X1, proper# U11(X1, X2, X3) -> proper# X1)
    (proper# U15(X1, X2) -> proper# X1, proper# U11(X1, X2, X3) -> proper# X2)
    (proper# U15(X1, X2) -> proper# X1, proper# U11(X1, X2, X3) -> proper# X3)
    (proper# U15(X1, X2) -> proper# X1, proper# U13(X1, X2, X3) -> U13#(proper X1, proper X2, proper X3))
    (proper# U15(X1, X2) -> proper# X1, proper# U13(X1, X2, X3) -> proper# X1)
    (proper# U15(X1, X2) -> proper# X1, proper# U13(X1, X2, X3) -> proper# X2)
    (proper# U15(X1, X2) -> proper# X1, proper# U13(X1, X2, X3) -> proper# X3)
    (proper# U15(X1, X2) -> proper# X1, proper# U14(X1, X2, X3) -> U14#(proper X1, proper X2, proper X3))
    (proper# U15(X1, X2) -> proper# X1, proper# U14(X1, X2, X3) -> proper# X1)
    (proper# U15(X1, X2) -> proper# X1, proper# U14(X1, X2, X3) -> proper# X2)
    (proper# U15(X1, X2) -> proper# X1, proper# U14(X1, X2, X3) -> proper# X3)
    (proper# U15(X1, X2) -> proper# X1, proper# U15(X1, X2) -> U15#(proper X1, proper X2))
    (proper# U15(X1, X2) -> proper# X1, proper# U15(X1, X2) -> proper# X1)
    (proper# U15(X1, X2) -> proper# X1, proper# U15(X1, X2) -> proper# X2)
    (proper# U15(X1, X2) -> proper# X1, proper# U16 X -> U16# proper X)
    (proper# U15(X1, X2) -> proper# X1, proper# U16 X -> proper# X)
    (proper# U15(X1, X2) -> proper# X1, proper# U22(X1, X2) -> U22#(proper X1, proper X2))
    (proper# U15(X1, X2) -> proper# X1, proper# U22(X1, X2) -> proper# X1)
    (proper# U15(X1, X2) -> proper# X1, proper# U22(X1, X2) -> proper# X2)
    (proper# U15(X1, X2) -> proper# X1, proper# U21(X1, X2) -> U21#(proper X1, proper X2))
    (proper# U15(X1, X2) -> proper# X1, proper# U21(X1, X2) -> proper# X1)
    (proper# U15(X1, X2) -> proper# X1, proper# U21(X1, X2) -> proper# X2)
    (proper# U15(X1, X2) -> proper# X1, proper# U23 X -> U23# proper X)
    (proper# U15(X1, X2) -> proper# X1, proper# U23 X -> proper# X)
    (proper# U15(X1, X2) -> proper# X1, proper# U32(X1, X2, X3) -> U32#(proper X1, proper X2, proper X3))
    (proper# U15(X1, X2) -> proper# X1, proper# U32(X1, X2, X3) -> proper# X1)
    (proper# U15(X1, X2) -> proper# X1, proper# U32(X1, X2, X3) -> proper# X2)
    (proper# U15(X1, X2) -> proper# X1, proper# U32(X1, X2, X3) -> proper# X3)
    (proper# U15(X1, X2) -> proper# X1, proper# U31(X1, X2, X3) -> U31#(proper X1, proper X2, proper X3))
    (proper# U15(X1, X2) -> proper# X1, proper# U31(X1, X2, X3) -> proper# X1)
    (proper# U15(X1, X2) -> proper# X1, proper# U31(X1, X2, X3) -> proper# X2)
    (proper# U15(X1, X2) -> proper# X1, proper# U31(X1, X2, X3) -> proper# X3)
    (proper# U15(X1, X2) -> proper# X1, proper# U33(X1, X2, X3) -> U33#(proper X1, proper X2, proper X3))
    (proper# U15(X1, X2) -> proper# X1, proper# U33(X1, X2, X3) -> proper# X1)
    (proper# U15(X1, X2) -> proper# X1, proper# U33(X1, X2, X3) -> proper# X2)
    (proper# U15(X1, X2) -> proper# X1, proper# U33(X1, X2, X3) -> proper# X3)
    (proper# U15(X1, X2) -> proper# X1, proper# U34(X1, X2, X3) -> U34#(proper X1, proper X2, proper X3))
    (proper# U15(X1, X2) -> proper# X1, proper# U34(X1, X2, X3) -> proper# X1)
    (proper# U15(X1, X2) -> proper# X1, proper# U34(X1, X2, X3) -> proper# X2)
    (proper# U15(X1, X2) -> proper# X1, proper# U34(X1, X2, X3) -> proper# X3)
    (proper# U15(X1, X2) -> proper# X1, proper# U35(X1, X2) -> U35#(proper X1, proper X2))
    (proper# U15(X1, X2) -> proper# X1, proper# U35(X1, X2) -> proper# X1)
    (proper# U15(X1, X2) -> proper# X1, proper# U35(X1, X2) -> proper# X2)
    (proper# U15(X1, X2) -> proper# X1, proper# U36 X -> U36# proper X)
    (proper# U15(X1, X2) -> proper# X1, proper# U36 X -> proper# X)
    (proper# U15(X1, X2) -> proper# X1, proper# U42 X -> U42# proper X)
    (proper# U15(X1, X2) -> proper# X1, proper# U42 X -> proper# X)
    (proper# U15(X1, X2) -> proper# X1, proper# U41(X1, X2) -> U41#(proper X1, proper X2))
    (proper# U15(X1, X2) -> proper# X1, proper# U41(X1, X2) -> proper# X1)
    (proper# U15(X1, X2) -> proper# X1, proper# U41(X1, X2) -> proper# X2)
    (proper# U15(X1, X2) -> proper# X1, proper# U51 X -> U51# proper X)
    (proper# U15(X1, X2) -> proper# X1, proper# U51 X -> proper# X)
    (proper# U15(X1, X2) -> proper# X1, proper# U62 X -> U62# proper X)
    (proper# U15(X1, X2) -> proper# X1, proper# U62 X -> proper# X)
    (proper# U15(X1, X2) -> proper# X1, proper# U61(X1, X2) -> U61#(proper X1, proper X2))
    (proper# U15(X1, X2) -> proper# X1, proper# U61(X1, X2) -> proper# X1)
    (proper# U15(X1, X2) -> proper# X1, proper# U61(X1, X2) -> proper# X2)
    (proper# U15(X1, X2) -> proper# X1, proper# U72(X1, X2) -> U72#(proper X1, proper X2))
    (proper# U15(X1, X2) -> proper# X1, proper# U72(X1, X2) -> proper# X1)
    (proper# U15(X1, X2) -> proper# X1, proper# U72(X1, X2) -> proper# X2)
    (proper# U15(X1, X2) -> proper# X1, proper# U71(X1, X2) -> U71#(proper X1, proper X2))
    (proper# U15(X1, X2) -> proper# X1, proper# U71(X1, X2) -> proper# X1)
    (proper# U15(X1, X2) -> proper# X1, proper# U71(X1, X2) -> proper# X2)
    (proper# U15(X1, X2) -> proper# X1, proper# U82(X1, X2, X3) -> U82#(proper X1, proper X2, proper X3))
    (proper# U15(X1, X2) -> proper# X1, proper# U82(X1, X2, X3) -> proper# X1)
    (proper# U15(X1, X2) -> proper# X1, proper# U82(X1, X2, X3) -> proper# X2)
    (proper# U15(X1, X2) -> proper# X1, proper# U82(X1, X2, X3) -> proper# X3)
    (proper# U15(X1, X2) -> proper# X1, proper# U81(X1, X2, X3) -> U81#(proper X1, proper X2, proper X3))
    (proper# U15(X1, X2) -> proper# X1, proper# U81(X1, X2, X3) -> proper# X1)
    (proper# U15(X1, X2) -> proper# X1, proper# U81(X1, X2, X3) -> proper# X2)
    (proper# U15(X1, X2) -> proper# X1, proper# U81(X1, X2, X3) -> proper# X3)
    (proper# U15(X1, X2) -> proper# X1, proper# U83(X1, X2, X3) -> U83#(proper X1, proper X2, proper X3))
    (proper# U15(X1, X2) -> proper# X1, proper# U83(X1, X2, X3) -> proper# X1)
    (proper# U15(X1, X2) -> proper# X1, proper# U83(X1, X2, X3) -> proper# X2)
    (proper# U15(X1, X2) -> proper# X1, proper# U83(X1, X2, X3) -> proper# X3)
    (proper# U15(X1, X2) -> proper# X1, proper# U84(X1, X2, X3) -> U84#(proper X1, proper X2, proper X3))
    (proper# U15(X1, X2) -> proper# X1, proper# U84(X1, X2, X3) -> proper# X1)
    (proper# U15(X1, X2) -> proper# X1, proper# U84(X1, X2, X3) -> proper# X2)
    (proper# U15(X1, X2) -> proper# X1, proper# U84(X1, X2, X3) -> proper# X3)
    (proper# U15(X1, X2) -> proper# X1, proper# s X -> s# proper X)
    (proper# U15(X1, X2) -> proper# X1, proper# s X -> proper# X)
    (proper# U15(X1, X2) -> proper# X1, proper# U92 X -> U92# proper X)
    (proper# U15(X1, X2) -> proper# X1, proper# U92 X -> proper# X)
    (proper# U15(X1, X2) -> proper# X1, proper# U91(X1, X2) -> U91#(proper X1, proper X2))
    (proper# U15(X1, X2) -> proper# X1, proper# U91(X1, X2) -> proper# X1)
    (proper# U15(X1, X2) -> proper# X1, proper# U91(X1, X2) -> proper# X2)
    (proper# U13(X1, X2, X3) -> proper# X1, proper# U102(X1, X2, X3) -> U102#(proper X1, proper X2, proper X3))
    (proper# U13(X1, X2, X3) -> proper# X1, proper# U102(X1, X2, X3) -> proper# X1)
    (proper# U13(X1, X2, X3) -> proper# X1, proper# U102(X1, X2, X3) -> proper# X2)
    (proper# U13(X1, X2, X3) -> proper# X1, proper# U102(X1, X2, X3) -> proper# X3)
    (proper# U13(X1, X2, X3) -> proper# X1, proper# isNatKind X -> isNatKind# proper X)
    (proper# U13(X1, X2, X3) -> proper# X1, proper# isNatKind X -> proper# X)
    (proper# U13(X1, X2, X3) -> proper# X1, proper# U101(X1, X2, X3) -> U101#(proper X1, proper X2, proper X3))
    (proper# U13(X1, X2, X3) -> proper# X1, proper# U101(X1, X2, X3) -> proper# X1)
    (proper# U13(X1, X2, X3) -> proper# X1, proper# U101(X1, X2, X3) -> proper# X2)
    (proper# U13(X1, X2, X3) -> proper# X1, proper# U101(X1, X2, X3) -> proper# X3)
    (proper# U13(X1, X2, X3) -> proper# X1, proper# U103(X1, X2, X3) -> U103#(proper X1, proper X2, proper X3))
    (proper# U13(X1, X2, X3) -> proper# X1, proper# U103(X1, X2, X3) -> proper# X1)
    (proper# U13(X1, X2, X3) -> proper# X1, proper# U103(X1, X2, X3) -> proper# X2)
    (proper# U13(X1, X2, X3) -> proper# X1, proper# U103(X1, X2, X3) -> proper# X3)
    (proper# U13(X1, X2, X3) -> proper# X1, proper# isNat X -> isNat# proper X)
    (proper# U13(X1, X2, X3) -> proper# X1, proper# isNat X -> proper# X)
    (proper# U13(X1, X2, X3) -> proper# X1, proper# U104(X1, X2, X3) -> U104#(proper X1, proper X2, proper X3))
    (proper# U13(X1, X2, X3) -> proper# X1, proper# U104(X1, X2, X3) -> proper# X1)
    (proper# U13(X1, X2, X3) -> proper# X1, proper# U104(X1, X2, X3) -> proper# X2)
    (proper# U13(X1, X2, X3) -> proper# X1, proper# U104(X1, X2, X3) -> proper# X3)
    (proper# U13(X1, X2, X3) -> proper# X1, proper# plus(X1, X2) -> plus#(proper X1, proper X2))
    (proper# U13(X1, X2, X3) -> proper# X1, proper# plus(X1, X2) -> proper# X1)
    (proper# U13(X1, X2, X3) -> proper# X1, proper# plus(X1, X2) -> proper# X2)
    (proper# U13(X1, X2, X3) -> proper# X1, proper# x(X1, X2) -> x#(proper X1, proper X2))
    (proper# U13(X1, X2, X3) -> proper# X1, proper# x(X1, X2) -> proper# X1)
    (proper# U13(X1, X2, X3) -> proper# X1, proper# x(X1, X2) -> proper# X2)
    (proper# U13(X1, X2, X3) -> proper# X1, proper# U12(X1, X2, X3) -> U12#(proper X1, proper X2, proper X3))
    (proper# U13(X1, X2, X3) -> proper# X1, proper# U12(X1, X2, X3) -> proper# X1)
    (proper# U13(X1, X2, X3) -> proper# X1, proper# U12(X1, X2, X3) -> proper# X2)
    (proper# U13(X1, X2, X3) -> proper# X1, proper# U12(X1, X2, X3) -> proper# X3)
    (proper# U13(X1, X2, X3) -> proper# X1, proper# U11(X1, X2, X3) -> U11#(proper X1, proper X2, proper X3))
    (proper# U13(X1, X2, X3) -> proper# X1, proper# U11(X1, X2, X3) -> proper# X1)
    (proper# U13(X1, X2, X3) -> proper# X1, proper# U11(X1, X2, X3) -> proper# X2)
    (proper# U13(X1, X2, X3) -> proper# X1, proper# U11(X1, X2, X3) -> proper# X3)
    (proper# U13(X1, X2, X3) -> proper# X1, proper# U13(X1, X2, X3) -> U13#(proper X1, proper X2, proper X3))
    (proper# U13(X1, X2, X3) -> proper# X1, proper# U13(X1, X2, X3) -> proper# X1)
    (proper# U13(X1, X2, X3) -> proper# X1, proper# U13(X1, X2, X3) -> proper# X2)
    (proper# U13(X1, X2, X3) -> proper# X1, proper# U13(X1, X2, X3) -> proper# X3)
    (proper# U13(X1, X2, X3) -> proper# X1, proper# U14(X1, X2, X3) -> U14#(proper X1, proper X2, proper X3))
    (proper# U13(X1, X2, X3) -> proper# X1, proper# U14(X1, X2, X3) -> proper# X1)
    (proper# U13(X1, X2, X3) -> proper# X1, proper# U14(X1, X2, X3) -> proper# X2)
    (proper# U13(X1, X2, X3) -> proper# X1, proper# U14(X1, X2, X3) -> proper# X3)
    (proper# U13(X1, X2, X3) -> proper# X1, proper# U15(X1, X2) -> U15#(proper X1, proper X2))
    (proper# U13(X1, X2, X3) -> proper# X1, proper# U15(X1, X2) -> proper# X1)
    (proper# U13(X1, X2, X3) -> proper# X1, proper# U15(X1, X2) -> proper# X2)
    (proper# U13(X1, X2, X3) -> proper# X1, proper# U16 X -> U16# proper X)
    (proper# U13(X1, X2, X3) -> proper# X1, proper# U16 X -> proper# X)
    (proper# U13(X1, X2, X3) -> proper# X1, proper# U22(X1, X2) -> U22#(proper X1, proper X2))
    (proper# U13(X1, X2, X3) -> proper# X1, proper# U22(X1, X2) -> proper# X1)
    (proper# U13(X1, X2, X3) -> proper# X1, proper# U22(X1, X2) -> proper# X2)
    (proper# U13(X1, X2, X3) -> proper# X1, proper# U21(X1, X2) -> U21#(proper X1, proper X2))
    (proper# U13(X1, X2, X3) -> proper# X1, proper# U21(X1, X2) -> proper# X1)
    (proper# U13(X1, X2, X3) -> proper# X1, proper# U21(X1, X2) -> proper# X2)
    (proper# U13(X1, X2, X3) -> proper# X1, proper# U23 X -> U23# proper X)
    (proper# U13(X1, X2, X3) -> proper# X1, proper# U23 X -> proper# X)
    (proper# U13(X1, X2, X3) -> proper# X1, proper# U32(X1, X2, X3) -> U32#(proper X1, proper X2, proper X3))
    (proper# U13(X1, X2, X3) -> proper# X1, proper# U32(X1, X2, X3) -> proper# X1)
    (proper# U13(X1, X2, X3) -> proper# X1, proper# U32(X1, X2, X3) -> proper# X2)
    (proper# U13(X1, X2, X3) -> proper# X1, proper# U32(X1, X2, X3) -> proper# X3)
    (proper# U13(X1, X2, X3) -> proper# X1, proper# U31(X1, X2, X3) -> U31#(proper X1, proper X2, proper X3))
    (proper# U13(X1, X2, X3) -> proper# X1, proper# U31(X1, X2, X3) -> proper# X1)
    (proper# U13(X1, X2, X3) -> proper# X1, proper# U31(X1, X2, X3) -> proper# X2)
    (proper# U13(X1, X2, X3) -> proper# X1, proper# U31(X1, X2, X3) -> proper# X3)
    (proper# U13(X1, X2, X3) -> proper# X1, proper# U33(X1, X2, X3) -> U33#(proper X1, proper X2, proper X3))
    (proper# U13(X1, X2, X3) -> proper# X1, proper# U33(X1, X2, X3) -> proper# X1)
    (proper# U13(X1, X2, X3) -> proper# X1, proper# U33(X1, X2, X3) -> proper# X2)
    (proper# U13(X1, X2, X3) -> proper# X1, proper# U33(X1, X2, X3) -> proper# X3)
    (proper# U13(X1, X2, X3) -> proper# X1, proper# U34(X1, X2, X3) -> U34#(proper X1, proper X2, proper X3))
    (proper# U13(X1, X2, X3) -> proper# X1, proper# U34(X1, X2, X3) -> proper# X1)
    (proper# U13(X1, X2, X3) -> proper# X1, proper# U34(X1, X2, X3) -> proper# X2)
    (proper# U13(X1, X2, X3) -> proper# X1, proper# U34(X1, X2, X3) -> proper# X3)
    (proper# U13(X1, X2, X3) -> proper# X1, proper# U35(X1, X2) -> U35#(proper X1, proper X2))
    (proper# U13(X1, X2, X3) -> proper# X1, proper# U35(X1, X2) -> proper# X1)
    (proper# U13(X1, X2, X3) -> proper# X1, proper# U35(X1, X2) -> proper# X2)
    (proper# U13(X1, X2, X3) -> proper# X1, proper# U36 X -> U36# proper X)
    (proper# U13(X1, X2, X3) -> proper# X1, proper# U36 X -> proper# X)
    (proper# U13(X1, X2, X3) -> proper# X1, proper# U42 X -> U42# proper X)
    (proper# U13(X1, X2, X3) -> proper# X1, proper# U42 X -> proper# X)
    (proper# U13(X1, X2, X3) -> proper# X1, proper# U41(X1, X2) -> U41#(proper X1, proper X2))
    (proper# U13(X1, X2, X3) -> proper# X1, proper# U41(X1, X2) -> proper# X1)
    (proper# U13(X1, X2, X3) -> proper# X1, proper# U41(X1, X2) -> proper# X2)
    (proper# U13(X1, X2, X3) -> proper# X1, proper# U51 X -> U51# proper X)
    (proper# U13(X1, X2, X3) -> proper# X1, proper# U51 X -> proper# X)
    (proper# U13(X1, X2, X3) -> proper# X1, proper# U62 X -> U62# proper X)
    (proper# U13(X1, X2, X3) -> proper# X1, proper# U62 X -> proper# X)
    (proper# U13(X1, X2, X3) -> proper# X1, proper# U61(X1, X2) -> U61#(proper X1, proper X2))
    (proper# U13(X1, X2, X3) -> proper# X1, proper# U61(X1, X2) -> proper# X1)
    (proper# U13(X1, X2, X3) -> proper# X1, proper# U61(X1, X2) -> proper# X2)
    (proper# U13(X1, X2, X3) -> proper# X1, proper# U72(X1, X2) -> U72#(proper X1, proper X2))
    (proper# U13(X1, X2, X3) -> proper# X1, proper# U72(X1, X2) -> proper# X1)
    (proper# U13(X1, X2, X3) -> proper# X1, proper# U72(X1, X2) -> proper# X2)
    (proper# U13(X1, X2, X3) -> proper# X1, proper# U71(X1, X2) -> U71#(proper X1, proper X2))
    (proper# U13(X1, X2, X3) -> proper# X1, proper# U71(X1, X2) -> proper# X1)
    (proper# U13(X1, X2, X3) -> proper# X1, proper# U71(X1, X2) -> proper# X2)
    (proper# U13(X1, X2, X3) -> proper# X1, proper# U82(X1, X2, X3) -> U82#(proper X1, proper X2, proper X3))
    (proper# U13(X1, X2, X3) -> proper# X1, proper# U82(X1, X2, X3) -> proper# X1)
    (proper# U13(X1, X2, X3) -> proper# X1, proper# U82(X1, X2, X3) -> proper# X2)
    (proper# U13(X1, X2, X3) -> proper# X1, proper# U82(X1, X2, X3) -> proper# X3)
    (proper# U13(X1, X2, X3) -> proper# X1, proper# U81(X1, X2, X3) -> U81#(proper X1, proper X2, proper X3))
    (proper# U13(X1, X2, X3) -> proper# X1, proper# U81(X1, X2, X3) -> proper# X1)
    (proper# U13(X1, X2, X3) -> proper# X1, proper# U81(X1, X2, X3) -> proper# X2)
    (proper# U13(X1, X2, X3) -> proper# X1, proper# U81(X1, X2, X3) -> proper# X3)
    (proper# U13(X1, X2, X3) -> proper# X1, proper# U83(X1, X2, X3) -> U83#(proper X1, proper X2, proper X3))
    (proper# U13(X1, X2, X3) -> proper# X1, proper# U83(X1, X2, X3) -> proper# X1)
    (proper# U13(X1, X2, X3) -> proper# X1, proper# U83(X1, X2, X3) -> proper# X2)
    (proper# U13(X1, X2, X3) -> proper# X1, proper# U83(X1, X2, X3) -> proper# X3)
    (proper# U13(X1, X2, X3) -> proper# X1, proper# U84(X1, X2, X3) -> U84#(proper X1, proper X2, proper X3))
    (proper# U13(X1, X2, X3) -> proper# X1, proper# U84(X1, X2, X3) -> proper# X1)
    (proper# U13(X1, X2, X3) -> proper# X1, proper# U84(X1, X2, X3) -> proper# X2)
    (proper# U13(X1, X2, X3) -> proper# X1, proper# U84(X1, X2, X3) -> proper# X3)
    (proper# U13(X1, X2, X3) -> proper# X1, proper# s X -> s# proper X)
    (proper# U13(X1, X2, X3) -> proper# X1, proper# s X -> proper# X)
    (proper# U13(X1, X2, X3) -> proper# X1, proper# U92 X -> U92# proper X)
    (proper# U13(X1, X2, X3) -> proper# X1, proper# U92 X -> proper# X)
    (proper# U13(X1, X2, X3) -> proper# X1, proper# U91(X1, X2) -> U91#(proper X1, proper X2))
    (proper# U13(X1, X2, X3) -> proper# X1, proper# U91(X1, X2) -> proper# X1)
    (proper# U13(X1, X2, X3) -> proper# X1, proper# U91(X1, X2) -> proper# X2)
    (proper# U12(X1, X2, X3) -> proper# X1, proper# U102(X1, X2, X3) -> U102#(proper X1, proper X2, proper X3))
    (proper# U12(X1, X2, X3) -> proper# X1, proper# U102(X1, X2, X3) -> proper# X1)
    (proper# U12(X1, X2, X3) -> proper# X1, proper# U102(X1, X2, X3) -> proper# X2)
    (proper# U12(X1, X2, X3) -> proper# X1, proper# U102(X1, X2, X3) -> proper# X3)
    (proper# U12(X1, X2, X3) -> proper# X1, proper# isNatKind X -> isNatKind# proper X)
    (proper# U12(X1, X2, X3) -> proper# X1, proper# isNatKind X -> proper# X)
    (proper# U12(X1, X2, X3) -> proper# X1, proper# U101(X1, X2, X3) -> U101#(proper X1, proper X2, proper X3))
    (proper# U12(X1, X2, X3) -> proper# X1, proper# U101(X1, X2, X3) -> proper# X1)
    (proper# U12(X1, X2, X3) -> proper# X1, proper# U101(X1, X2, X3) -> proper# X2)
    (proper# U12(X1, X2, X3) -> proper# X1, proper# U101(X1, X2, X3) -> proper# X3)
    (proper# U12(X1, X2, X3) -> proper# X1, proper# U103(X1, X2, X3) -> U103#(proper X1, proper X2, proper X3))
    (proper# U12(X1, X2, X3) -> proper# X1, proper# U103(X1, X2, X3) -> proper# X1)
    (proper# U12(X1, X2, X3) -> proper# X1, proper# U103(X1, X2, X3) -> proper# X2)
    (proper# U12(X1, X2, X3) -> proper# X1, proper# U103(X1, X2, X3) -> proper# X3)
    (proper# U12(X1, X2, X3) -> proper# X1, proper# isNat X -> isNat# proper X)
    (proper# U12(X1, X2, X3) -> proper# X1, proper# isNat X -> proper# X)
    (proper# U12(X1, X2, X3) -> proper# X1, proper# U104(X1, X2, X3) -> U104#(proper X1, proper X2, proper X3))
    (proper# U12(X1, X2, X3) -> proper# X1, proper# U104(X1, X2, X3) -> proper# X1)
    (proper# U12(X1, X2, X3) -> proper# X1, proper# U104(X1, X2, X3) -> proper# X2)
    (proper# U12(X1, X2, X3) -> proper# X1, proper# U104(X1, X2, X3) -> proper# X3)
    (proper# U12(X1, X2, X3) -> proper# X1, proper# plus(X1, X2) -> plus#(proper X1, proper X2))
    (proper# U12(X1, X2, X3) -> proper# X1, proper# plus(X1, X2) -> proper# X1)
    (proper# U12(X1, X2, X3) -> proper# X1, proper# plus(X1, X2) -> proper# X2)
    (proper# U12(X1, X2, X3) -> proper# X1, proper# x(X1, X2) -> x#(proper X1, proper X2))
    (proper# U12(X1, X2, X3) -> proper# X1, proper# x(X1, X2) -> proper# X1)
    (proper# U12(X1, X2, X3) -> proper# X1, proper# x(X1, X2) -> proper# X2)
    (proper# U12(X1, X2, X3) -> proper# X1, proper# U12(X1, X2, X3) -> U12#(proper X1, proper X2, proper X3))
    (proper# U12(X1, X2, X3) -> proper# X1, proper# U12(X1, X2, X3) -> proper# X1)
    (proper# U12(X1, X2, X3) -> proper# X1, proper# U12(X1, X2, X3) -> proper# X2)
    (proper# U12(X1, X2, X3) -> proper# X1, proper# U12(X1, X2, X3) -> proper# X3)
    (proper# U12(X1, X2, X3) -> proper# X1, proper# U11(X1, X2, X3) -> U11#(proper X1, proper X2, proper X3))
    (proper# U12(X1, X2, X3) -> proper# X1, proper# U11(X1, X2, X3) -> proper# X1)
    (proper# U12(X1, X2, X3) -> proper# X1, proper# U11(X1, X2, X3) -> proper# X2)
    (proper# U12(X1, X2, X3) -> proper# X1, proper# U11(X1, X2, X3) -> proper# X3)
    (proper# U12(X1, X2, X3) -> proper# X1, proper# U13(X1, X2, X3) -> U13#(proper X1, proper X2, proper X3))
    (proper# U12(X1, X2, X3) -> proper# X1, proper# U13(X1, X2, X3) -> proper# X1)
    (proper# U12(X1, X2, X3) -> proper# X1, proper# U13(X1, X2, X3) -> proper# X2)
    (proper# U12(X1, X2, X3) -> proper# X1, proper# U13(X1, X2, X3) -> proper# X3)
    (proper# U12(X1, X2, X3) -> proper# X1, proper# U14(X1, X2, X3) -> U14#(proper X1, proper X2, proper X3))
    (proper# U12(X1, X2, X3) -> proper# X1, proper# U14(X1, X2, X3) -> proper# X1)
    (proper# U12(X1, X2, X3) -> proper# X1, proper# U14(X1, X2, X3) -> proper# X2)
    (proper# U12(X1, X2, X3) -> proper# X1, proper# U14(X1, X2, X3) -> proper# X3)
    (proper# U12(X1, X2, X3) -> proper# X1, proper# U15(X1, X2) -> U15#(proper X1, proper X2))
    (proper# U12(X1, X2, X3) -> proper# X1, proper# U15(X1, X2) -> proper# X1)
    (proper# U12(X1, X2, X3) -> proper# X1, proper# U15(X1, X2) -> proper# X2)
    (proper# U12(X1, X2, X3) -> proper# X1, proper# U16 X -> U16# proper X)
    (proper# U12(X1, X2, X3) -> proper# X1, proper# U16 X -> proper# X)
    (proper# U12(X1, X2, X3) -> proper# X1, proper# U22(X1, X2) -> U22#(proper X1, proper X2))
    (proper# U12(X1, X2, X3) -> proper# X1, proper# U22(X1, X2) -> proper# X1)
    (proper# U12(X1, X2, X3) -> proper# X1, proper# U22(X1, X2) -> proper# X2)
    (proper# U12(X1, X2, X3) -> proper# X1, proper# U21(X1, X2) -> U21#(proper X1, proper X2))
    (proper# U12(X1, X2, X3) -> proper# X1, proper# U21(X1, X2) -> proper# X1)
    (proper# U12(X1, X2, X3) -> proper# X1, proper# U21(X1, X2) -> proper# X2)
    (proper# U12(X1, X2, X3) -> proper# X1, proper# U23 X -> U23# proper X)
    (proper# U12(X1, X2, X3) -> proper# X1, proper# U23 X -> proper# X)
    (proper# U12(X1, X2, X3) -> proper# X1, proper# U32(X1, X2, X3) -> U32#(proper X1, proper X2, proper X3))
    (proper# U12(X1, X2, X3) -> proper# X1, proper# U32(X1, X2, X3) -> proper# X1)
    (proper# U12(X1, X2, X3) -> proper# X1, proper# U32(X1, X2, X3) -> proper# X2)
    (proper# U12(X1, X2, X3) -> proper# X1, proper# U32(X1, X2, X3) -> proper# X3)
    (proper# U12(X1, X2, X3) -> proper# X1, proper# U31(X1, X2, X3) -> U31#(proper X1, proper X2, proper X3))
    (proper# U12(X1, X2, X3) -> proper# X1, proper# U31(X1, X2, X3) -> proper# X1)
    (proper# U12(X1, X2, X3) -> proper# X1, proper# U31(X1, X2, X3) -> proper# X2)
    (proper# U12(X1, X2, X3) -> proper# X1, proper# U31(X1, X2, X3) -> proper# X3)
    (proper# U12(X1, X2, X3) -> proper# X1, proper# U33(X1, X2, X3) -> U33#(proper X1, proper X2, proper X3))
    (proper# U12(X1, X2, X3) -> proper# X1, proper# U33(X1, X2, X3) -> proper# X1)
    (proper# U12(X1, X2, X3) -> proper# X1, proper# U33(X1, X2, X3) -> proper# X2)
    (proper# U12(X1, X2, X3) -> proper# X1, proper# U33(X1, X2, X3) -> proper# X3)
    (proper# U12(X1, X2, X3) -> proper# X1, proper# U34(X1, X2, X3) -> U34#(proper X1, proper X2, proper X3))
    (proper# U12(X1, X2, X3) -> proper# X1, proper# U34(X1, X2, X3) -> proper# X1)
    (proper# U12(X1, X2, X3) -> proper# X1, proper# U34(X1, X2, X3) -> proper# X2)
    (proper# U12(X1, X2, X3) -> proper# X1, proper# U34(X1, X2, X3) -> proper# X3)
    (proper# U12(X1, X2, X3) -> proper# X1, proper# U35(X1, X2) -> U35#(proper X1, proper X2))
    (proper# U12(X1, X2, X3) -> proper# X1, proper# U35(X1, X2) -> proper# X1)
    (proper# U12(X1, X2, X3) -> proper# X1, proper# U35(X1, X2) -> proper# X2)
    (proper# U12(X1, X2, X3) -> proper# X1, proper# U36 X -> U36# proper X)
    (proper# U12(X1, X2, X3) -> proper# X1, proper# U36 X -> proper# X)
    (proper# U12(X1, X2, X3) -> proper# X1, proper# U42 X -> U42# proper X)
    (proper# U12(X1, X2, X3) -> proper# X1, proper# U42 X -> proper# X)
    (proper# U12(X1, X2, X3) -> proper# X1, proper# U41(X1, X2) -> U41#(proper X1, proper X2))
    (proper# U12(X1, X2, X3) -> proper# X1, proper# U41(X1, X2) -> proper# X1)
    (proper# U12(X1, X2, X3) -> proper# X1, proper# U41(X1, X2) -> proper# X2)
    (proper# U12(X1, X2, X3) -> proper# X1, proper# U51 X -> U51# proper X)
    (proper# U12(X1, X2, X3) -> proper# X1, proper# U51 X -> proper# X)
    (proper# U12(X1, X2, X3) -> proper# X1, proper# U62 X -> U62# proper X)
    (proper# U12(X1, X2, X3) -> proper# X1, proper# U62 X -> proper# X)
    (proper# U12(X1, X2, X3) -> proper# X1, proper# U61(X1, X2) -> U61#(proper X1, proper X2))
    (proper# U12(X1, X2, X3) -> proper# X1, proper# U61(X1, X2) -> proper# X1)
    (proper# U12(X1, X2, X3) -> proper# X1, proper# U61(X1, X2) -> proper# X2)
    (proper# U12(X1, X2, X3) -> proper# X1, proper# U72(X1, X2) -> U72#(proper X1, proper X2))
    (proper# U12(X1, X2, X3) -> proper# X1, proper# U72(X1, X2) -> proper# X1)
    (proper# U12(X1, X2, X3) -> proper# X1, proper# U72(X1, X2) -> proper# X2)
    (proper# U12(X1, X2, X3) -> proper# X1, proper# U71(X1, X2) -> U71#(proper X1, proper X2))
    (proper# U12(X1, X2, X3) -> proper# X1, proper# U71(X1, X2) -> proper# X1)
    (proper# U12(X1, X2, X3) -> proper# X1, proper# U71(X1, X2) -> proper# X2)
    (proper# U12(X1, X2, X3) -> proper# X1, proper# U82(X1, X2, X3) -> U82#(proper X1, proper X2, proper X3))
    (proper# U12(X1, X2, X3) -> proper# X1, proper# U82(X1, X2, X3) -> proper# X1)
    (proper# U12(X1, X2, X3) -> proper# X1, proper# U82(X1, X2, X3) -> proper# X2)
    (proper# U12(X1, X2, X3) -> proper# X1, proper# U82(X1, X2, X3) -> proper# X3)
    (proper# U12(X1, X2, X3) -> proper# X1, proper# U81(X1, X2, X3) -> U81#(proper X1, proper X2, proper X3))
    (proper# U12(X1, X2, X3) -> proper# X1, proper# U81(X1, X2, X3) -> proper# X1)
    (proper# U12(X1, X2, X3) -> proper# X1, proper# U81(X1, X2, X3) -> proper# X2)
    (proper# U12(X1, X2, X3) -> proper# X1, proper# U81(X1, X2, X3) -> proper# X3)
    (proper# U12(X1, X2, X3) -> proper# X1, proper# U83(X1, X2, X3) -> U83#(proper X1, proper X2, proper X3))
    (proper# U12(X1, X2, X3) -> proper# X1, proper# U83(X1, X2, X3) -> proper# X1)
    (proper# U12(X1, X2, X3) -> proper# X1, proper# U83(X1, X2, X3) -> proper# X2)
    (proper# U12(X1, X2, X3) -> proper# X1, proper# U83(X1, X2, X3) -> proper# X3)
    (proper# U12(X1, X2, X3) -> proper# X1, proper# U84(X1, X2, X3) -> U84#(proper X1, proper X2, proper X3))
    (proper# U12(X1, X2, X3) -> proper# X1, proper# U84(X1, X2, X3) -> proper# X1)
    (proper# U12(X1, X2, X3) -> proper# X1, proper# U84(X1, X2, X3) -> proper# X2)
    (proper# U12(X1, X2, X3) -> proper# X1, proper# U84(X1, X2, X3) -> proper# X3)
    (proper# U12(X1, X2, X3) -> proper# X1, proper# s X -> s# proper X)
    (proper# U12(X1, X2, X3) -> proper# X1, proper# s X -> proper# X)
    (proper# U12(X1, X2, X3) -> proper# X1, proper# U92 X -> U92# proper X)
    (proper# U12(X1, X2, X3) -> proper# X1, proper# U92 X -> proper# X)
    (proper# U12(X1, X2, X3) -> proper# X1, proper# U91(X1, X2) -> U91#(proper X1, proper X2))
    (proper# U12(X1, X2, X3) -> proper# X1, proper# U91(X1, X2) -> proper# X1)
    (proper# U12(X1, X2, X3) -> proper# X1, proper# U91(X1, X2) -> proper# X2)
    (proper# plus(X1, X2) -> proper# X1, proper# U102(X1, X2, X3) -> U102#(proper X1, proper X2, proper X3))
    (proper# plus(X1, X2) -> proper# X1, proper# U102(X1, X2, X3) -> proper# X1)
    (proper# plus(X1, X2) -> proper# X1, proper# U102(X1, X2, X3) -> proper# X2)
    (proper# plus(X1, X2) -> proper# X1, proper# U102(X1, X2, X3) -> proper# X3)
    (proper# plus(X1, X2) -> proper# X1, proper# isNatKind X -> isNatKind# proper X)
    (proper# plus(X1, X2) -> proper# X1, proper# isNatKind X -> proper# X)
    (proper# plus(X1, X2) -> proper# X1, proper# U101(X1, X2, X3) -> U101#(proper X1, proper X2, proper X3))
    (proper# plus(X1, X2) -> proper# X1, proper# U101(X1, X2, X3) -> proper# X1)
    (proper# plus(X1, X2) -> proper# X1, proper# U101(X1, X2, X3) -> proper# X2)
    (proper# plus(X1, X2) -> proper# X1, proper# U101(X1, X2, X3) -> proper# X3)
    (proper# plus(X1, X2) -> proper# X1, proper# U103(X1, X2, X3) -> U103#(proper X1, proper X2, proper X3))
    (proper# plus(X1, X2) -> proper# X1, proper# U103(X1, X2, X3) -> proper# X1)
    (proper# plus(X1, X2) -> proper# X1, proper# U103(X1, X2, X3) -> proper# X2)
    (proper# plus(X1, X2) -> proper# X1, proper# U103(X1, X2, X3) -> proper# X3)
    (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# U104(X1, X2, X3) -> U104#(proper X1, proper X2, proper X3))
    (proper# plus(X1, X2) -> proper# X1, proper# U104(X1, X2, X3) -> proper# X1)
    (proper# plus(X1, X2) -> proper# X1, proper# U104(X1, X2, X3) -> proper# X2)
    (proper# plus(X1, X2) -> proper# X1, proper# U104(X1, X2, X3) -> proper# X3)
    (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# 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# U12(X1, X2, X3) -> U12#(proper X1, proper X2, proper X3))
    (proper# plus(X1, X2) -> proper# X1, proper# U12(X1, X2, X3) -> proper# X1)
    (proper# plus(X1, X2) -> proper# X1, proper# U12(X1, X2, X3) -> proper# X2)
    (proper# plus(X1, X2) -> proper# X1, proper# U12(X1, X2, X3) -> proper# X3)
    (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(X1, X2, X3) -> U13#(proper X1, proper X2, proper X3))
    (proper# plus(X1, X2) -> proper# X1, proper# U13(X1, X2, X3) -> proper# X1)
    (proper# plus(X1, X2) -> proper# X1, proper# U13(X1, X2, X3) -> proper# X2)
    (proper# plus(X1, X2) -> proper# X1, proper# U13(X1, X2, X3) -> proper# X3)
    (proper# plus(X1, X2) -> proper# X1, proper# U14(X1, X2, X3) -> U14#(proper X1, proper X2, proper X3))
    (proper# plus(X1, X2) -> proper# X1, proper# U14(X1, X2, X3) -> proper# X1)
    (proper# plus(X1, X2) -> proper# X1, proper# U14(X1, X2, X3) -> proper# X2)
    (proper# plus(X1, X2) -> proper# X1, proper# U14(X1, X2, X3) -> proper# X3)
    (proper# plus(X1, X2) -> proper# X1, proper# U15(X1, X2) -> U15#(proper X1, proper X2))
    (proper# plus(X1, X2) -> proper# X1, proper# U15(X1, X2) -> proper# X1)
    (proper# plus(X1, X2) -> proper# X1, proper# U15(X1, X2) -> proper# X2)
    (proper# plus(X1, X2) -> proper# X1, proper# U16 X -> U16# proper X)
    (proper# plus(X1, X2) -> proper# X1, proper# U16 X -> proper# X)
    (proper# plus(X1, X2) -> proper# X1, proper# U22(X1, X2) -> U22#(proper X1, proper X2))
    (proper# plus(X1, X2) -> proper# X1, proper# U22(X1, X2) -> proper# X1)
    (proper# plus(X1, X2) -> proper# X1, proper# U22(X1, X2) -> proper# X2)
    (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# U23 X -> U23# proper X)
    (proper# plus(X1, X2) -> proper# X1, proper# U23 X -> proper# X)
    (proper# plus(X1, X2) -> proper# X1, proper# U32(X1, X2, X3) -> U32#(proper X1, proper X2, proper X3))
    (proper# plus(X1, X2) -> proper# X1, proper# U32(X1, X2, X3) -> proper# X1)
    (proper# plus(X1, X2) -> proper# X1, proper# U32(X1, X2, X3) -> proper# X2)
    (proper# plus(X1, X2) -> proper# X1, proper# U32(X1, X2, X3) -> proper# X3)
    (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(X1, X2, X3) -> U33#(proper X1, proper X2, proper X3))
    (proper# plus(X1, X2) -> proper# X1, proper# U33(X1, X2, X3) -> proper# X1)
    (proper# plus(X1, X2) -> proper# X1, proper# U33(X1, X2, X3) -> proper# X2)
    (proper# plus(X1, X2) -> proper# X1, proper# U33(X1, X2, X3) -> proper# X3)
    (proper# plus(X1, X2) -> proper# X1, proper# U34(X1, X2, X3) -> U34#(proper X1, proper X2, proper X3))
    (proper# plus(X1, X2) -> proper# X1, proper# U34(X1, X2, X3) -> proper# X1)
    (proper# plus(X1, X2) -> proper# X1, proper# U34(X1, X2, X3) -> proper# X2)
    (proper# plus(X1, X2) -> proper# X1, proper# U34(X1, X2, X3) -> proper# X3)
    (proper# plus(X1, X2) -> proper# X1, proper# U35(X1, X2) -> U35#(proper X1, proper X2))
    (proper# plus(X1, X2) -> proper# X1, proper# U35(X1, X2) -> proper# X1)
    (proper# plus(X1, X2) -> proper# X1, proper# U35(X1, X2) -> proper# X2)
    (proper# plus(X1, X2) -> proper# X1, proper# U36 X -> U36# proper X)
    (proper# plus(X1, X2) -> proper# X1, proper# U36 X -> proper# X)
    (proper# plus(X1, X2) -> proper# X1, proper# U42 X -> U42# proper X)
    (proper# plus(X1, X2) -> proper# X1, proper# U42 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# U51 X -> U51# proper X)
    (proper# plus(X1, X2) -> proper# X1, proper# U51 X -> proper# X)
    (proper# plus(X1, X2) -> proper# X1, proper# U62 X -> U62# proper X)
    (proper# plus(X1, X2) -> proper# X1, proper# U62 X -> proper# X)
    (proper# plus(X1, X2) -> proper# X1, proper# U61(X1, X2) -> U61#(proper X1, proper X2))
    (proper# plus(X1, X2) -> proper# X1, proper# U61(X1, X2) -> proper# X1)
    (proper# plus(X1, X2) -> proper# X1, proper# U61(X1, X2) -> proper# X2)
    (proper# plus(X1, X2) -> proper# X1, proper# U72(X1, X2) -> U72#(proper X1, proper X2))
    (proper# plus(X1, X2) -> proper# X1, proper# U72(X1, X2) -> proper# X1)
    (proper# plus(X1, X2) -> proper# X1, proper# U72(X1, X2) -> proper# X2)
    (proper# plus(X1, X2) -> proper# X1, proper# U71(X1, X2) -> U71#(proper X1, proper X2))
    (proper# plus(X1, X2) -> proper# X1, proper# U71(X1, X2) -> proper# X1)
    (proper# plus(X1, X2) -> proper# X1, proper# U71(X1, X2) -> proper# X2)
    (proper# plus(X1, X2) -> proper# X1, proper# U82(X1, X2, X3) -> U82#(proper X1, proper X2, proper X3))
    (proper# plus(X1, X2) -> proper# X1, proper# U82(X1, X2, X3) -> proper# X1)
    (proper# plus(X1, X2) -> proper# X1, proper# U82(X1, X2, X3) -> proper# X2)
    (proper# plus(X1, X2) -> proper# X1, proper# U82(X1, X2, X3) -> proper# X3)
    (proper# plus(X1, X2) -> proper# X1, proper# U81(X1, X2, X3) -> U81#(proper X1, proper X2, proper X3))
    (proper# plus(X1, X2) -> proper# X1, proper# U81(X1, X2, X3) -> proper# X1)
    (proper# plus(X1, X2) -> proper# X1, proper# U81(X1, X2, X3) -> proper# X2)
    (proper# plus(X1, X2) -> proper# X1, proper# U81(X1, X2, X3) -> proper# X3)
    (proper# plus(X1, X2) -> proper# X1, proper# U83(X1, X2, X3) -> U83#(proper X1, proper X2, proper X3))
    (proper# plus(X1, X2) -> proper# X1, proper# U83(X1, X2, X3) -> proper# X1)
    (proper# plus(X1, X2) -> proper# X1, proper# U83(X1, X2, X3) -> proper# X2)
    (proper# plus(X1, X2) -> proper# X1, proper# U83(X1, X2, X3) -> proper# X3)
    (proper# plus(X1, X2) -> proper# X1, proper# U84(X1, X2, X3) -> U84#(proper X1, proper X2, proper X3))
    (proper# plus(X1, X2) -> proper# X1, proper# U84(X1, X2, X3) -> proper# X1)
    (proper# plus(X1, X2) -> proper# X1, proper# U84(X1, X2, X3) -> proper# X2)
    (proper# plus(X1, X2) -> proper# X1, proper# U84(X1, X2, X3) -> proper# X3)
    (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# U92 X -> U92# proper X)
    (proper# plus(X1, X2) -> proper# X1, proper# U92 X -> proper# X)
    (proper# plus(X1, X2) -> proper# X1, proper# U91(X1, X2) -> U91#(proper X1, proper X2))
    (proper# plus(X1, X2) -> proper# X1, proper# U91(X1, X2) -> proper# X1)
    (proper# plus(X1, X2) -> proper# X1, proper# U91(X1, X2) -> proper# X2)
    (proper# U103(X1, X2, X3) -> proper# X1, proper# U102(X1, X2, X3) -> U102#(proper X1, proper X2, proper X3))
    (proper# U103(X1, X2, X3) -> proper# X1, proper# U102(X1, X2, X3) -> proper# X1)
    (proper# U103(X1, X2, X3) -> proper# X1, proper# U102(X1, X2, X3) -> proper# X2)
    (proper# U103(X1, X2, X3) -> proper# X1, proper# U102(X1, X2, X3) -> proper# X3)
    (proper# U103(X1, X2, X3) -> proper# X1, proper# isNatKind X -> isNatKind# proper X)
    (proper# U103(X1, X2, X3) -> proper# X1, proper# isNatKind X -> proper# X)
    (proper# U103(X1, X2, X3) -> proper# X1, proper# U101(X1, X2, X3) -> U101#(proper X1, proper X2, proper X3))
    (proper# U103(X1, X2, X3) -> proper# X1, proper# U101(X1, X2, X3) -> proper# X1)
    (proper# U103(X1, X2, X3) -> proper# X1, proper# U101(X1, X2, X3) -> proper# X2)
    (proper# U103(X1, X2, X3) -> proper# X1, proper# U101(X1, X2, X3) -> proper# X3)
    (proper# U103(X1, X2, X3) -> proper# X1, proper# U103(X1, X2, X3) -> U103#(proper X1, proper X2, proper X3))
    (proper# U103(X1, X2, X3) -> proper# X1, proper# U103(X1, X2, X3) -> proper# X1)
    (proper# U103(X1, X2, X3) -> proper# X1, proper# U103(X1, X2, X3) -> proper# X2)
    (proper# U103(X1, X2, X3) -> proper# X1, proper# U103(X1, X2, X3) -> proper# X3)
    (proper# U103(X1, X2, X3) -> proper# X1, proper# isNat X -> isNat# proper X)
    (proper# U103(X1, X2, X3) -> proper# X1, proper# isNat X -> proper# X)
    (proper# U103(X1, X2, X3) -> proper# X1, proper# U104(X1, X2, X3) -> U104#(proper X1, proper X2, proper X3))
    (proper# U103(X1, X2, X3) -> proper# X1, proper# U104(X1, X2, X3) -> proper# X1)
    (proper# U103(X1, X2, X3) -> proper# X1, proper# U104(X1, X2, X3) -> proper# X2)
    (proper# U103(X1, X2, X3) -> proper# X1, proper# U104(X1, X2, X3) -> proper# X3)
    (proper# U103(X1, X2, X3) -> proper# X1, proper# plus(X1, X2) -> plus#(proper X1, proper X2))
    (proper# U103(X1, X2, X3) -> proper# X1, proper# plus(X1, X2) -> proper# X1)
    (proper# U103(X1, X2, X3) -> proper# X1, proper# plus(X1, X2) -> proper# X2)
    (proper# U103(X1, X2, X3) -> proper# X1, proper# x(X1, X2) -> x#(proper X1, proper X2))
    (proper# U103(X1, X2, X3) -> proper# X1, proper# x(X1, X2) -> proper# X1)
    (proper# U103(X1, X2, X3) -> proper# X1, proper# x(X1, X2) -> proper# X2)
    (proper# U103(X1, X2, X3) -> proper# X1, proper# U12(X1, X2, X3) -> U12#(proper X1, proper X2, proper X3))
    (proper# U103(X1, X2, X3) -> proper# X1, proper# U12(X1, X2, X3) -> proper# X1)
    (proper# U103(X1, X2, X3) -> proper# X1, proper# U12(X1, X2, X3) -> proper# X2)
    (proper# U103(X1, X2, X3) -> proper# X1, proper# U12(X1, X2, X3) -> proper# X3)
    (proper# U103(X1, X2, X3) -> proper# X1, proper# U11(X1, X2, X3) -> U11#(proper X1, proper X2, proper X3))
    (proper# U103(X1, X2, X3) -> proper# X1, proper# U11(X1, X2, X3) -> proper# X1)
    (proper# U103(X1, X2, X3) -> proper# X1, proper# U11(X1, X2, X3) -> proper# X2)
    (proper# U103(X1, X2, X3) -> proper# X1, proper# U11(X1, X2, X3) -> proper# X3)
    (proper# U103(X1, X2, X3) -> proper# X1, proper# U13(X1, X2, X3) -> U13#(proper X1, proper X2, proper X3))
    (proper# U103(X1, X2, X3) -> proper# X1, proper# U13(X1, X2, X3) -> proper# X1)
    (proper# U103(X1, X2, X3) -> proper# X1, proper# U13(X1, X2, X3) -> proper# X2)
    (proper# U103(X1, X2, X3) -> proper# X1, proper# U13(X1, X2, X3) -> proper# X3)
    (proper# U103(X1, X2, X3) -> proper# X1, proper# U14(X1, X2, X3) -> U14#(proper X1, proper X2, proper X3))
    (proper# U103(X1, X2, X3) -> proper# X1, proper# U14(X1, X2, X3) -> proper# X1)
    (proper# U103(X1, X2, X3) -> proper# X1, proper# U14(X1, X2, X3) -> proper# X2)
    (proper# U103(X1, X2, X3) -> proper# X1, proper# U14(X1, X2, X3) -> proper# X3)
    (proper# U103(X1, X2, X3) -> proper# X1, proper# U15(X1, X2) -> U15#(proper X1, proper X2))
    (proper# U103(X1, X2, X3) -> proper# X1, proper# U15(X1, X2) -> proper# X1)
    (proper# U103(X1, X2, X3) -> proper# X1, proper# U15(X1, X2) -> proper# X2)
    (proper# U103(X1, X2, X3) -> proper# X1, proper# U16 X -> U16# proper X)
    (proper# U103(X1, X2, X3) -> proper# X1, proper# U16 X -> proper# X)
    (proper# U103(X1, X2, X3) -> proper# X1, proper# U22(X1, X2) -> U22#(proper X1, proper X2))
    (proper# U103(X1, X2, X3) -> proper# X1, proper# U22(X1, X2) -> proper# X1)
    (proper# U103(X1, X2, X3) -> proper# X1, proper# U22(X1, X2) -> proper# X2)
    (proper# U103(X1, X2, X3) -> proper# X1, proper# U21(X1, X2) -> U21#(proper X1, proper X2))
    (proper# U103(X1, X2, X3) -> proper# X1, proper# U21(X1, X2) -> proper# X1)
    (proper# U103(X1, X2, X3) -> proper# X1, proper# U21(X1, X2) -> proper# X2)
    (proper# U103(X1, X2, X3) -> proper# X1, proper# U23 X -> U23# proper X)
    (proper# U103(X1, X2, X3) -> proper# X1, proper# U23 X -> proper# X)
    (proper# U103(X1, X2, X3) -> proper# X1, proper# U32(X1, X2, X3) -> U32#(proper X1, proper X2, proper X3))
    (proper# U103(X1, X2, X3) -> proper# X1, proper# U32(X1, X2, X3) -> proper# X1)
    (proper# U103(X1, X2, X3) -> proper# X1, proper# U32(X1, X2, X3) -> proper# X2)
    (proper# U103(X1, X2, X3) -> proper# X1, proper# U32(X1, X2, X3) -> proper# X3)
    (proper# U103(X1, X2, X3) -> proper# X1, proper# U31(X1, X2, X3) -> U31#(proper X1, proper X2, proper X3))
    (proper# U103(X1, X2, X3) -> proper# X1, proper# U31(X1, X2, X3) -> proper# X1)
    (proper# U103(X1, X2, X3) -> proper# X1, proper# U31(X1, X2, X3) -> proper# X2)
    (proper# U103(X1, X2, X3) -> proper# X1, proper# U31(X1, X2, X3) -> proper# X3)
    (proper# U103(X1, X2, X3) -> proper# X1, proper# U33(X1, X2, X3) -> U33#(proper X1, proper X2, proper X3))
    (proper# U103(X1, X2, X3) -> proper# X1, proper# U33(X1, X2, X3) -> proper# X1)
    (proper# U103(X1, X2, X3) -> proper# X1, proper# U33(X1, X2, X3) -> proper# X2)
    (proper# U103(X1, X2, X3) -> proper# X1, proper# U33(X1, X2, X3) -> proper# X3)
    (proper# U103(X1, X2, X3) -> proper# X1, proper# U34(X1, X2, X3) -> U34#(proper X1, proper X2, proper X3))
    (proper# U103(X1, X2, X3) -> proper# X1, proper# U34(X1, X2, X3) -> proper# X1)
    (proper# U103(X1, X2, X3) -> proper# X1, proper# U34(X1, X2, X3) -> proper# X2)
    (proper# U103(X1, X2, X3) -> proper# X1, proper# U34(X1, X2, X3) -> proper# X3)
    (proper# U103(X1, X2, X3) -> proper# X1, proper# U35(X1, X2) -> U35#(proper X1, proper X2))
    (proper# U103(X1, X2, X3) -> proper# X1, proper# U35(X1, X2) -> proper# X1)
    (proper# U103(X1, X2, X3) -> proper# X1, proper# U35(X1, X2) -> proper# X2)
    (proper# U103(X1, X2, X3) -> proper# X1, proper# U36 X -> U36# proper X)
    (proper# U103(X1, X2, X3) -> proper# X1, proper# U36 X -> proper# X)
    (proper# U103(X1, X2, X3) -> proper# X1, proper# U42 X -> U42# proper X)
    (proper# U103(X1, X2, X3) -> proper# X1, proper# U42 X -> proper# X)
    (proper# U103(X1, X2, X3) -> proper# X1, proper# U41(X1, X2) -> U41#(proper X1, proper X2))
    (proper# U103(X1, X2, X3) -> proper# X1, proper# U41(X1, X2) -> proper# X1)
    (proper# U103(X1, X2, X3) -> proper# X1, proper# U41(X1, X2) -> proper# X2)
    (proper# U103(X1, X2, X3) -> proper# X1, proper# U51 X -> U51# proper X)
    (proper# U103(X1, X2, X3) -> proper# X1, proper# U51 X -> proper# X)
    (proper# U103(X1, X2, X3) -> proper# X1, proper# U62 X -> U62# proper X)
    (proper# U103(X1, X2, X3) -> proper# X1, proper# U62 X -> proper# X)
    (proper# U103(X1, X2, X3) -> proper# X1, proper# U61(X1, X2) -> U61#(proper X1, proper X2))
    (proper# U103(X1, X2, X3) -> proper# X1, proper# U61(X1, X2) -> proper# X1)
    (proper# U103(X1, X2, X3) -> proper# X1, proper# U61(X1, X2) -> proper# X2)
    (proper# U103(X1, X2, X3) -> proper# X1, proper# U72(X1, X2) -> U72#(proper X1, proper X2))
    (proper# U103(X1, X2, X3) -> proper# X1, proper# U72(X1, X2) -> proper# X1)
    (proper# U103(X1, X2, X3) -> proper# X1, proper# U72(X1, X2) -> proper# X2)
    (proper# U103(X1, X2, X3) -> proper# X1, proper# U71(X1, X2) -> U71#(proper X1, proper X2))
    (proper# U103(X1, X2, X3) -> proper# X1, proper# U71(X1, X2) -> proper# X1)
    (proper# U103(X1, X2, X3) -> proper# X1, proper# U71(X1, X2) -> proper# X2)
    (proper# U103(X1, X2, X3) -> proper# X1, proper# U82(X1, X2, X3) -> U82#(proper X1, proper X2, proper X3))
    (proper# U103(X1, X2, X3) -> proper# X1, proper# U82(X1, X2, X3) -> proper# X1)
    (proper# U103(X1, X2, X3) -> proper# X1, proper# U82(X1, X2, X3) -> proper# X2)
    (proper# U103(X1, X2, X3) -> proper# X1, proper# U82(X1, X2, X3) -> proper# X3)
    (proper# U103(X1, X2, X3) -> proper# X1, proper# U81(X1, X2, X3) -> U81#(proper X1, proper X2, proper X3))
    (proper# U103(X1, X2, X3) -> proper# X1, proper# U81(X1, X2, X3) -> proper# X1)
    (proper# U103(X1, X2, X3) -> proper# X1, proper# U81(X1, X2, X3) -> proper# X2)
    (proper# U103(X1, X2, X3) -> proper# X1, proper# U81(X1, X2, X3) -> proper# X3)
    (proper# U103(X1, X2, X3) -> proper# X1, proper# U83(X1, X2, X3) -> U83#(proper X1, proper X2, proper X3))
    (proper# U103(X1, X2, X3) -> proper# X1, proper# U83(X1, X2, X3) -> proper# X1)
    (proper# U103(X1, X2, X3) -> proper# X1, proper# U83(X1, X2, X3) -> proper# X2)
    (proper# U103(X1, X2, X3) -> proper# X1, proper# U83(X1, X2, X3) -> proper# X3)
    (proper# U103(X1, X2, X3) -> proper# X1, proper# U84(X1, X2, X3) -> U84#(proper X1, proper X2, proper X3))
    (proper# U103(X1, X2, X3) -> proper# X1, proper# U84(X1, X2, X3) -> proper# X1)
    (proper# U103(X1, X2, X3) -> proper# X1, proper# U84(X1, X2, X3) -> proper# X2)
    (proper# U103(X1, X2, X3) -> proper# X1, proper# U84(X1, X2, X3) -> proper# X3)
    (proper# U103(X1, X2, X3) -> proper# X1, proper# s X -> s# proper X)
    (proper# U103(X1, X2, X3) -> proper# X1, proper# s X -> proper# X)
    (proper# U103(X1, X2, X3) -> proper# X1, proper# U92 X -> U92# proper X)
    (proper# U103(X1, X2, X3) -> proper# X1, proper# U92 X -> proper# X)
    (proper# U103(X1, X2, X3) -> proper# X1, proper# U91(X1, X2) -> U91#(proper X1, proper X2))
    (proper# U103(X1, X2, X3) -> proper# X1, proper# U91(X1, X2) -> proper# X1)
    (proper# U103(X1, X2, X3) -> proper# X1, proper# U91(X1, X2) -> proper# X2)
    (proper# U102(X1, X2, X3) -> proper# X1, proper# U102(X1, X2, X3) -> U102#(proper X1, proper X2, proper X3))
    (proper# U102(X1, X2, X3) -> proper# X1, proper# U102(X1, X2, X3) -> proper# X1)
    (proper# U102(X1, X2, X3) -> proper# X1, proper# U102(X1, X2, X3) -> proper# X2)
    (proper# U102(X1, X2, X3) -> proper# X1, proper# U102(X1, X2, X3) -> proper# X3)
    (proper# U102(X1, X2, X3) -> proper# X1, proper# isNatKind X -> isNatKind# proper X)
    (proper# U102(X1, X2, X3) -> proper# X1, proper# isNatKind X -> proper# X)
    (proper# U102(X1, X2, X3) -> proper# X1, proper# U101(X1, X2, X3) -> U101#(proper X1, proper X2, proper X3))
    (proper# U102(X1, X2, X3) -> proper# X1, proper# U101(X1, X2, X3) -> proper# X1)
    (proper# U102(X1, X2, X3) -> proper# X1, proper# U101(X1, X2, X3) -> proper# X2)
    (proper# U102(X1, X2, X3) -> proper# X1, proper# U101(X1, X2, X3) -> proper# X3)
    (proper# U102(X1, X2, X3) -> proper# X1, proper# U103(X1, X2, X3) -> U103#(proper X1, proper X2, proper X3))
    (proper# U102(X1, X2, X3) -> proper# X1, proper# U103(X1, X2, X3) -> proper# X1)
    (proper# U102(X1, X2, X3) -> proper# X1, proper# U103(X1, X2, X3) -> proper# X2)
    (proper# U102(X1, X2, X3) -> proper# X1, proper# U103(X1, X2, X3) -> proper# X3)
    (proper# U102(X1, X2, X3) -> proper# X1, proper# isNat X -> isNat# proper X)
    (proper# U102(X1, X2, X3) -> proper# X1, proper# isNat X -> proper# X)
    (proper# U102(X1, X2, X3) -> proper# X1, proper# U104(X1, X2, X3) -> U104#(proper X1, proper X2, proper X3))
    (proper# U102(X1, X2, X3) -> proper# X1, proper# U104(X1, X2, X3) -> proper# X1)
    (proper# U102(X1, X2, X3) -> proper# X1, proper# U104(X1, X2, X3) -> proper# X2)
    (proper# U102(X1, X2, X3) -> proper# X1, proper# U104(X1, X2, X3) -> proper# X3)
    (proper# U102(X1, X2, X3) -> proper# X1, proper# plus(X1, X2) -> plus#(proper X1, proper X2))
    (proper# U102(X1, X2, X3) -> proper# X1, proper# plus(X1, X2) -> proper# X1)
    (proper# U102(X1, X2, X3) -> proper# X1, proper# plus(X1, X2) -> proper# X2)
    (proper# U102(X1, X2, X3) -> proper# X1, proper# x(X1, X2) -> x#(proper X1, proper X2))
    (proper# U102(X1, X2, X3) -> proper# X1, proper# x(X1, X2) -> proper# X1)
    (proper# U102(X1, X2, X3) -> proper# X1, proper# x(X1, X2) -> proper# X2)
    (proper# U102(X1, X2, X3) -> proper# X1, proper# U12(X1, X2, X3) -> U12#(proper X1, proper X2, proper X3))
    (proper# U102(X1, X2, X3) -> proper# X1, proper# U12(X1, X2, X3) -> proper# X1)
    (proper# U102(X1, X2, X3) -> proper# X1, proper# U12(X1, X2, X3) -> proper# X2)
    (proper# U102(X1, X2, X3) -> proper# X1, proper# U12(X1, X2, X3) -> proper# X3)
    (proper# U102(X1, X2, X3) -> proper# X1, proper# U11(X1, X2, X3) -> U11#(proper X1, proper X2, proper X3))
    (proper# U102(X1, X2, X3) -> proper# X1, proper# U11(X1, X2, X3) -> proper# X1)
    (proper# U102(X1, X2, X3) -> proper# X1, proper# U11(X1, X2, X3) -> proper# X2)
    (proper# U102(X1, X2, X3) -> proper# X1, proper# U11(X1, X2, X3) -> proper# X3)
    (proper# U102(X1, X2, X3) -> proper# X1, proper# U13(X1, X2, X3) -> U13#(proper X1, proper X2, proper X3))
    (proper# U102(X1, X2, X3) -> proper# X1, proper# U13(X1, X2, X3) -> proper# X1)
    (proper# U102(X1, X2, X3) -> proper# X1, proper# U13(X1, X2, X3) -> proper# X2)
    (proper# U102(X1, X2, X3) -> proper# X1, proper# U13(X1, X2, X3) -> proper# X3)
    (proper# U102(X1, X2, X3) -> proper# X1, proper# U14(X1, X2, X3) -> U14#(proper X1, proper X2, proper X3))
    (proper# U102(X1, X2, X3) -> proper# X1, proper# U14(X1, X2, X3) -> proper# X1)
    (proper# U102(X1, X2, X3) -> proper# X1, proper# U14(X1, X2, X3) -> proper# X2)
    (proper# U102(X1, X2, X3) -> proper# X1, proper# U14(X1, X2, X3) -> proper# X3)
    (proper# U102(X1, X2, X3) -> proper# X1, proper# U15(X1, X2) -> U15#(proper X1, proper X2))
    (proper# U102(X1, X2, X3) -> proper# X1, proper# U15(X1, X2) -> proper# X1)
    (proper# U102(X1, X2, X3) -> proper# X1, proper# U15(X1, X2) -> proper# X2)
    (proper# U102(X1, X2, X3) -> proper# X1, proper# U16 X -> U16# proper X)
    (proper# U102(X1, X2, X3) -> proper# X1, proper# U16 X -> proper# X)
    (proper# U102(X1, X2, X3) -> proper# X1, proper# U22(X1, X2) -> U22#(proper X1, proper X2))
    (proper# U102(X1, X2, X3) -> proper# X1, proper# U22(X1, X2) -> proper# X1)
    (proper# U102(X1, X2, X3) -> proper# X1, proper# U22(X1, X2) -> proper# X2)
    (proper# U102(X1, X2, X3) -> proper# X1, proper# U21(X1, X2) -> U21#(proper X1, proper X2))
    (proper# U102(X1, X2, X3) -> proper# X1, proper# U21(X1, X2) -> proper# X1)
    (proper# U102(X1, X2, X3) -> proper# X1, proper# U21(X1, X2) -> proper# X2)
    (proper# U102(X1, X2, X3) -> proper# X1, proper# U23 X -> U23# proper X)
    (proper# U102(X1, X2, X3) -> proper# X1, proper# U23 X -> proper# X)
    (proper# U102(X1, X2, X3) -> proper# X1, proper# U32(X1, X2, X3) -> U32#(proper X1, proper X2, proper X3))
    (proper# U102(X1, X2, X3) -> proper# X1, proper# U32(X1, X2, X3) -> proper# X1)
    (proper# U102(X1, X2, X3) -> proper# X1, proper# U32(X1, X2, X3) -> proper# X2)
    (proper# U102(X1, X2, X3) -> proper# X1, proper# U32(X1, X2, X3) -> proper# X3)
    (proper# U102(X1, X2, X3) -> proper# X1, proper# U31(X1, X2, X3) -> U31#(proper X1, proper X2, proper X3))
    (proper# U102(X1, X2, X3) -> proper# X1, proper# U31(X1, X2, X3) -> proper# X1)
    (proper# U102(X1, X2, X3) -> proper# X1, proper# U31(X1, X2, X3) -> proper# X2)
    (proper# U102(X1, X2, X3) -> proper# X1, proper# U31(X1, X2, X3) -> proper# X3)
    (proper# U102(X1, X2, X3) -> proper# X1, proper# U33(X1, X2, X3) -> U33#(proper X1, proper X2, proper X3))
    (proper# U102(X1, X2, X3) -> proper# X1, proper# U33(X1, X2, X3) -> proper# X1)
    (proper# U102(X1, X2, X3) -> proper# X1, proper# U33(X1, X2, X3) -> proper# X2)
    (proper# U102(X1, X2, X3) -> proper# X1, proper# U33(X1, X2, X3) -> proper# X3)
    (proper# U102(X1, X2, X3) -> proper# X1, proper# U34(X1, X2, X3) -> U34#(proper X1, proper X2, proper X3))
    (proper# U102(X1, X2, X3) -> proper# X1, proper# U34(X1, X2, X3) -> proper# X1)
    (proper# U102(X1, X2, X3) -> proper# X1, proper# U34(X1, X2, X3) -> proper# X2)
    (proper# U102(X1, X2, X3) -> proper# X1, proper# U34(X1, X2, X3) -> proper# X3)
    (proper# U102(X1, X2, X3) -> proper# X1, proper# U35(X1, X2) -> U35#(proper X1, proper X2))
    (proper# U102(X1, X2, X3) -> proper# X1, proper# U35(X1, X2) -> proper# X1)
    (proper# U102(X1, X2, X3) -> proper# X1, proper# U35(X1, X2) -> proper# X2)
    (proper# U102(X1, X2, X3) -> proper# X1, proper# U36 X -> U36# proper X)
    (proper# U102(X1, X2, X3) -> proper# X1, proper# U36 X -> proper# X)
    (proper# U102(X1, X2, X3) -> proper# X1, proper# U42 X -> U42# proper X)
    (proper# U102(X1, X2, X3) -> proper# X1, proper# U42 X -> proper# X)
    (proper# U102(X1, X2, X3) -> proper# X1, proper# U41(X1, X2) -> U41#(proper X1, proper X2))
    (proper# U102(X1, X2, X3) -> proper# X1, proper# U41(X1, X2) -> proper# X1)
    (proper# U102(X1, X2, X3) -> proper# X1, proper# U41(X1, X2) -> proper# X2)
    (proper# U102(X1, X2, X3) -> proper# X1, proper# U51 X -> U51# proper X)
    (proper# U102(X1, X2, X3) -> proper# X1, proper# U51 X -> proper# X)
    (proper# U102(X1, X2, X3) -> proper# X1, proper# U62 X -> U62# proper X)
    (proper# U102(X1, X2, X3) -> proper# X1, proper# U62 X -> proper# X)
    (proper# U102(X1, X2, X3) -> proper# X1, proper# U61(X1, X2) -> U61#(proper X1, proper X2))
    (proper# U102(X1, X2, X3) -> proper# X1, proper# U61(X1, X2) -> proper# X1)
    (proper# U102(X1, X2, X3) -> proper# X1, proper# U61(X1, X2) -> proper# X2)
    (proper# U102(X1, X2, X3) -> proper# X1, proper# U72(X1, X2) -> U72#(proper X1, proper X2))
    (proper# U102(X1, X2, X3) -> proper# X1, proper# U72(X1, X2) -> proper# X1)
    (proper# U102(X1, X2, X3) -> proper# X1, proper# U72(X1, X2) -> proper# X2)
    (proper# U102(X1, X2, X3) -> proper# X1, proper# U71(X1, X2) -> U71#(proper X1, proper X2))
    (proper# U102(X1, X2, X3) -> proper# X1, proper# U71(X1, X2) -> proper# X1)
    (proper# U102(X1, X2, X3) -> proper# X1, proper# U71(X1, X2) -> proper# X2)
    (proper# U102(X1, X2, X3) -> proper# X1, proper# U82(X1, X2, X3) -> U82#(proper X1, proper X2, proper X3))
    (proper# U102(X1, X2, X3) -> proper# X1, proper# U82(X1, X2, X3) -> proper# X1)
    (proper# U102(X1, X2, X3) -> proper# X1, proper# U82(X1, X2, X3) -> proper# X2)
    (proper# U102(X1, X2, X3) -> proper# X1, proper# U82(X1, X2, X3) -> proper# X3)
    (proper# U102(X1, X2, X3) -> proper# X1, proper# U81(X1, X2, X3) -> U81#(proper X1, proper X2, proper X3))
    (proper# U102(X1, X2, X3) -> proper# X1, proper# U81(X1, X2, X3) -> proper# X1)
    (proper# U102(X1, X2, X3) -> proper# X1, proper# U81(X1, X2, X3) -> proper# X2)
    (proper# U102(X1, X2, X3) -> proper# X1, proper# U81(X1, X2, X3) -> proper# X3)
    (proper# U102(X1, X2, X3) -> proper# X1, proper# U83(X1, X2, X3) -> U83#(proper X1, proper X2, proper X3))
    (proper# U102(X1, X2, X3) -> proper# X1, proper# U83(X1, X2, X3) -> proper# X1)
    (proper# U102(X1, X2, X3) -> proper# X1, proper# U83(X1, X2, X3) -> proper# X2)
    (proper# U102(X1, X2, X3) -> proper# X1, proper# U83(X1, X2, X3) -> proper# X3)
    (proper# U102(X1, X2, X3) -> proper# X1, proper# U84(X1, X2, X3) -> U84#(proper X1, proper X2, proper X3))
    (proper# U102(X1, X2, X3) -> proper# X1, proper# U84(X1, X2, X3) -> proper# X1)
    (proper# U102(X1, X2, X3) -> proper# X1, proper# U84(X1, X2, X3) -> proper# X2)
    (proper# U102(X1, X2, X3) -> proper# X1, proper# U84(X1, X2, X3) -> proper# X3)
    (proper# U102(X1, X2, X3) -> proper# X1, proper# s X -> s# proper X)
    (proper# U102(X1, X2, X3) -> proper# X1, proper# s X -> proper# X)
    (proper# U102(X1, X2, X3) -> proper# X1, proper# U92 X -> U92# proper X)
    (proper# U102(X1, X2, X3) -> proper# X1, proper# U92 X -> proper# X)
    (proper# U102(X1, X2, X3) -> proper# X1, proper# U91(X1, X2) -> U91#(proper X1, proper X2))
    (proper# U102(X1, X2, X3) -> proper# X1, proper# U91(X1, X2) -> proper# X1)
    (proper# U102(X1, X2, X3) -> proper# X1, proper# U91(X1, X2) -> proper# X2)
    (active# U84(X1, X2, X3) -> active# X1, active# U102(X1, X2, X3) -> U102#(active X1, X2, X3))
    (active# U84(X1, X2, X3) -> active# X1, active# U102(X1, X2, X3) -> active# X1)
    (active# U84(X1, X2, X3) -> active# X1, active# U102(tt(), M, N) -> U103#(isNat N, M, N))
    (active# U84(X1, X2, X3) -> active# X1, active# U102(tt(), M, N) -> isNat# N)
    (active# U84(X1, X2, X3) -> active# X1, active# isNatKind plus(V1, V2) -> isNatKind# V1)
    (active# U84(X1, X2, X3) -> active# X1, active# isNatKind plus(V1, V2) -> U41#(isNatKind V1, V2))
    (active# U84(X1, X2, X3) -> active# X1, active# isNatKind x(V1, V2) -> isNatKind# V1)
    (active# U84(X1, X2, X3) -> active# X1, active# isNatKind x(V1, V2) -> U61#(isNatKind V1, V2))
    (active# U84(X1, X2, X3) -> active# X1, active# isNatKind s V1 -> isNatKind# V1)
    (active# U84(X1, X2, X3) -> active# X1, active# isNatKind s V1 -> U51# isNatKind V1)
    (active# U84(X1, X2, X3) -> active# X1, active# U101(X1, X2, X3) -> active# X1)
    (active# U84(X1, X2, X3) -> active# X1, active# U101(X1, X2, X3) -> U101#(active X1, X2, X3))
    (active# U84(X1, X2, X3) -> active# X1, active# U101(tt(), M, N) -> U102#(isNatKind M, M, N))
    (active# U84(X1, X2, X3) -> active# X1, active# U101(tt(), M, N) -> isNatKind# M)
    (active# U84(X1, X2, X3) -> active# X1, active# U103(X1, X2, X3) -> active# X1)
    (active# U84(X1, X2, X3) -> active# X1, active# U103(X1, X2, X3) -> U103#(active X1, X2, X3))
    (active# U84(X1, X2, X3) -> active# X1, active# U103(tt(), M, N) -> isNatKind# N)
    (active# U84(X1, X2, X3) -> active# X1, active# U103(tt(), M, N) -> U104#(isNatKind N, M, N))
    (active# U84(X1, X2, X3) -> active# X1, active# isNat plus(V1, V2) -> isNatKind# V1)
    (active# U84(X1, X2, X3) -> active# X1, active# isNat plus(V1, V2) -> U11#(isNatKind V1, V1, V2))
    (active# U84(X1, X2, X3) -> active# X1, active# isNat x(V1, V2) -> isNatKind# V1)
    (active# U84(X1, X2, X3) -> active# X1, active# isNat x(V1, V2) -> U31#(isNatKind V1, V1, V2))
    (active# U84(X1, X2, X3) -> active# X1, active# isNat s V1 -> isNatKind# V1)
    (active# U84(X1, X2, X3) -> active# X1, active# isNat s V1 -> U21#(isNatKind V1, V1))
    (active# U84(X1, X2, X3) -> active# X1, active# U104(X1, X2, X3) -> active# X1)
    (active# U84(X1, X2, X3) -> active# X1, active# U104(X1, X2, X3) -> U104#(active X1, X2, X3))
    (active# U84(X1, X2, X3) -> active# X1, active# U104(tt(), M, N) -> plus#(x(N, M), N))
    (active# U84(X1, X2, X3) -> active# X1, active# U104(tt(), M, N) -> x#(N, M))
    (active# U84(X1, X2, X3) -> active# X1, active# plus(N, s M) -> isNat# M)
    (active# U84(X1, X2, X3) -> active# X1, active# plus(N, s M) -> U81#(isNat M, M, N))
    (active# U84(X1, X2, X3) -> active# X1, active# plus(N, 0()) -> isNat# N)
    (active# U84(X1, X2, X3) -> active# X1, active# plus(N, 0()) -> U71#(isNat N, N))
    (active# U84(X1, X2, X3) -> active# X1, active# plus(X1, X2) -> active# X1)
    (active# U84(X1, X2, X3) -> active# X1, active# plus(X1, X2) -> active# X2)
    (active# U84(X1, X2, X3) -> active# X1, active# plus(X1, X2) -> plus#(X1, active X2))
    (active# U84(X1, X2, X3) -> active# X1, active# plus(X1, X2) -> plus#(active X1, X2))
    (active# U84(X1, X2, X3) -> active# X1, active# x(N, s M) -> U101#(isNat M, M, N))
    (active# U84(X1, X2, X3) -> active# X1, active# x(N, s M) -> isNat# M)
    (active# U84(X1, X2, X3) -> active# X1, active# x(N, 0()) -> isNat# N)
    (active# U84(X1, X2, X3) -> active# X1, active# x(N, 0()) -> U91#(isNat N, N))
    (active# U84(X1, X2, X3) -> active# X1, active# x(X1, X2) -> active# X1)
    (active# U84(X1, X2, X3) -> active# X1, active# x(X1, X2) -> active# X2)
    (active# U84(X1, X2, X3) -> active# X1, active# x(X1, X2) -> x#(X1, active X2))
    (active# U84(X1, X2, X3) -> active# X1, active# x(X1, X2) -> x#(active X1, X2))
    (active# U84(X1, X2, X3) -> active# X1, active# U12(X1, X2, X3) -> active# X1)
    (active# U84(X1, X2, X3) -> active# X1, active# U12(X1, X2, X3) -> U12#(active X1, X2, X3))
    (active# U84(X1, X2, X3) -> active# X1, active# U12(tt(), V1, V2) -> isNatKind# V2)
    (active# U84(X1, X2, X3) -> active# X1, active# U12(tt(), V1, V2) -> U13#(isNatKind V2, V1, V2))
    (active# U84(X1, X2, X3) -> active# X1, active# U11(X1, X2, X3) -> active# X1)
    (active# U84(X1, X2, X3) -> active# X1, active# U11(X1, X2, X3) -> U11#(active X1, X2, X3))
    (active# U84(X1, X2, X3) -> active# X1, active# U11(tt(), V1, V2) -> isNatKind# V1)
    (active# U84(X1, X2, X3) -> active# X1, active# U11(tt(), V1, V2) -> U12#(isNatKind V1, V1, V2))
    (active# U84(X1, X2, X3) -> active# X1, active# U13(X1, X2, X3) -> active# X1)
    (active# U84(X1, X2, X3) -> active# X1, active# U13(X1, X2, X3) -> U13#(active X1, X2, X3))
    (active# U84(X1, X2, X3) -> active# X1, active# U13(tt(), V1, V2) -> isNatKind# V2)
    (active# U84(X1, X2, X3) -> active# X1, active# U13(tt(), V1, V2) -> U14#(isNatKind V2, V1, V2))
    (active# U84(X1, X2, X3) -> active# X1, active# U14(X1, X2, X3) -> active# X1)
    (active# U84(X1, X2, X3) -> active# X1, active# U14(X1, X2, X3) -> U14#(active X1, X2, X3))
    (active# U84(X1, X2, X3) -> active# X1, active# U14(tt(), V1, V2) -> isNat# V1)
    (active# U84(X1, X2, X3) -> active# X1, active# U14(tt(), V1, V2) -> U15#(isNat V1, V2))
    (active# U84(X1, X2, X3) -> active# X1, active# U15(X1, X2) -> active# X1)
    (active# U84(X1, X2, X3) -> active# X1, active# U15(X1, X2) -> U15#(active X1, X2))
    (active# U84(X1, X2, X3) -> active# X1, active# U15(tt(), V2) -> isNat# V2)
    (active# U84(X1, X2, X3) -> active# X1, active# U15(tt(), V2) -> U16# isNat V2)
    (active# U84(X1, X2, X3) -> active# X1, active# U16 X -> active# X)
    (active# U84(X1, X2, X3) -> active# X1, active# U16 X -> U16# active X)
    (active# U84(X1, X2, X3) -> active# X1, active# U22(X1, X2) -> active# X1)
    (active# U84(X1, X2, X3) -> active# X1, active# U22(X1, X2) -> U22#(active X1, X2))
    (active# U84(X1, X2, X3) -> active# X1, active# U22(tt(), V1) -> isNat# V1)
    (active# U84(X1, X2, X3) -> active# X1, active# U22(tt(), V1) -> U23# isNat V1)
    (active# U84(X1, X2, X3) -> active# X1, active# U21(X1, X2) -> active# X1)
    (active# U84(X1, X2, X3) -> active# X1, active# U21(X1, X2) -> U21#(active X1, X2))
    (active# U84(X1, X2, X3) -> active# X1, active# U21(tt(), V1) -> isNatKind# V1)
    (active# U84(X1, X2, X3) -> active# X1, active# U21(tt(), V1) -> U22#(isNatKind V1, V1))
    (active# U84(X1, X2, X3) -> active# X1, active# U23 X -> active# X)
    (active# U84(X1, X2, X3) -> active# X1, active# U23 X -> U23# active X)
    (active# U84(X1, X2, X3) -> active# X1, active# U32(X1, X2, X3) -> active# X1)
    (active# U84(X1, X2, X3) -> active# X1, active# U32(X1, X2, X3) -> U32#(active X1, X2, X3))
    (active# U84(X1, X2, X3) -> active# X1, active# U32(tt(), V1, V2) -> isNatKind# V2)
    (active# U84(X1, X2, X3) -> active# X1, active# U32(tt(), V1, V2) -> U33#(isNatKind V2, V1, V2))
    (active# U84(X1, X2, X3) -> active# X1, active# U31(X1, X2, X3) -> active# X1)
    (active# U84(X1, X2, X3) -> active# X1, active# U31(X1, X2, X3) -> U31#(active X1, X2, X3))
    (active# U84(X1, X2, X3) -> active# X1, active# U31(tt(), V1, V2) -> isNatKind# V1)
    (active# U84(X1, X2, X3) -> active# X1, active# U31(tt(), V1, V2) -> U32#(isNatKind V1, V1, V2))
    (active# U84(X1, X2, X3) -> active# X1, active# U33(X1, X2, X3) -> active# X1)
    (active# U84(X1, X2, X3) -> active# X1, active# U33(X1, X2, X3) -> U33#(active X1, X2, X3))
    (active# U84(X1, X2, X3) -> active# X1, active# U33(tt(), V1, V2) -> isNatKind# V2)
    (active# U84(X1, X2, X3) -> active# X1, active# U33(tt(), V1, V2) -> U34#(isNatKind V2, V1, V2))
    (active# U84(X1, X2, X3) -> active# X1, active# U34(X1, X2, X3) -> active# X1)
    (active# U84(X1, X2, X3) -> active# X1, active# U34(X1, X2, X3) -> U34#(active X1, X2, X3))
    (active# U84(X1, X2, X3) -> active# X1, active# U34(tt(), V1, V2) -> isNat# V1)
    (active# U84(X1, X2, X3) -> active# X1, active# U34(tt(), V1, V2) -> U35#(isNat V1, V2))
    (active# U84(X1, X2, X3) -> active# X1, active# U35(X1, X2) -> active# X1)
    (active# U84(X1, X2, X3) -> active# X1, active# U35(X1, X2) -> U35#(active X1, X2))
    (active# U84(X1, X2, X3) -> active# X1, active# U35(tt(), V2) -> isNat# V2)
    (active# U84(X1, X2, X3) -> active# X1, active# U35(tt(), V2) -> U36# isNat V2)
    (active# U84(X1, X2, X3) -> active# X1, active# U36 X -> active# X)
    (active# U84(X1, X2, X3) -> active# X1, active# U36 X -> U36# active X)
    (active# U84(X1, X2, X3) -> active# X1, active# U42 X -> active# X)
    (active# U84(X1, X2, X3) -> active# X1, active# U42 X -> U42# active X)
    (active# U84(X1, X2, X3) -> active# X1, active# U41(X1, X2) -> active# X1)
    (active# U84(X1, X2, X3) -> active# X1, active# U41(X1, X2) -> U41#(active X1, X2))
    (active# U84(X1, X2, X3) -> active# X1, active# U41(tt(), V2) -> isNatKind# V2)
    (active# U84(X1, X2, X3) -> active# X1, active# U41(tt(), V2) -> U42# isNatKind V2)
    (active# U84(X1, X2, X3) -> active# X1, active# U51 X -> active# X)
    (active# U84(X1, X2, X3) -> active# X1, active# U51 X -> U51# active X)
    (active# U84(X1, X2, X3) -> active# X1, active# U62 X -> active# X)
    (active# U84(X1, X2, X3) -> active# X1, active# U62 X -> U62# active X)
    (active# U84(X1, X2, X3) -> active# X1, active# U61(X1, X2) -> active# X1)
    (active# U84(X1, X2, X3) -> active# X1, active# U61(X1, X2) -> U61#(active X1, X2))
    (active# U84(X1, X2, X3) -> active# X1, active# U61(tt(), V2) -> isNatKind# V2)
    (active# U84(X1, X2, X3) -> active# X1, active# U61(tt(), V2) -> U62# isNatKind V2)
    (active# U84(X1, X2, X3) -> active# X1, active# U72(X1, X2) -> active# X1)
    (active# U84(X1, X2, X3) -> active# X1, active# U72(X1, X2) -> U72#(active X1, X2))
    (active# U84(X1, X2, X3) -> active# X1, active# U71(X1, X2) -> active# X1)
    (active# U84(X1, X2, X3) -> active# X1, active# U71(X1, X2) -> U71#(active X1, X2))
    (active# U84(X1, X2, X3) -> active# X1, active# U71(tt(), N) -> isNatKind# N)
    (active# U84(X1, X2, X3) -> active# X1, active# U71(tt(), N) -> U72#(isNatKind N, N))
    (active# U84(X1, X2, X3) -> active# X1, active# U82(X1, X2, X3) -> active# X1)
    (active# U84(X1, X2, X3) -> active# X1, active# U82(X1, X2, X3) -> U82#(active X1, X2, X3))
    (active# U84(X1, X2, X3) -> active# X1, active# U82(tt(), M, N) -> isNat# N)
    (active# U84(X1, X2, X3) -> active# X1, active# U82(tt(), M, N) -> U83#(isNat N, M, N))
    (active# U84(X1, X2, X3) -> active# X1, active# U81(X1, X2, X3) -> active# X1)
    (active# U84(X1, X2, X3) -> active# X1, active# U81(X1, X2, X3) -> U81#(active X1, X2, X3))
    (active# U84(X1, X2, X3) -> active# X1, active# U81(tt(), M, N) -> isNatKind# M)
    (active# U84(X1, X2, X3) -> active# X1, active# U81(tt(), M, N) -> U82#(isNatKind M, M, N))
    (active# U84(X1, X2, X3) -> active# X1, active# U83(X1, X2, X3) -> active# X1)
    (active# U84(X1, X2, X3) -> active# X1, active# U83(X1, X2, X3) -> U83#(active X1, X2, X3))
    (active# U84(X1, X2, X3) -> active# X1, active# U83(tt(), M, N) -> isNatKind# N)
    (active# U84(X1, X2, X3) -> active# X1, active# U83(tt(), M, N) -> U84#(isNatKind N, M, N))
    (active# U84(X1, X2, X3) -> active# X1, active# U84(X1, X2, X3) -> active# X1)
    (active# U84(X1, X2, X3) -> active# X1, active# U84(X1, X2, X3) -> U84#(active X1, X2, X3))
    (active# U84(X1, X2, X3) -> active# X1, active# U84(tt(), M, N) -> plus#(N, M))
    (active# U84(X1, X2, X3) -> active# X1, active# U84(tt(), M, N) -> s# plus(N, M))
    (active# U84(X1, X2, X3) -> active# X1, active# s X -> active# X)
    (active# U84(X1, X2, X3) -> active# X1, active# s X -> s# active X)
    (active# U84(X1, X2, X3) -> active# X1, active# U92 X -> active# X)
    (active# U84(X1, X2, X3) -> active# X1, active# U92 X -> U92# active X)
    (active# U84(X1, X2, X3) -> active# X1, active# U91(X1, X2) -> active# X1)
    (active# U84(X1, X2, X3) -> active# X1, active# U91(X1, X2) -> U91#(active X1, X2))
    (active# U84(X1, X2, X3) -> active# X1, active# U91(tt(), N) -> isNatKind# N)
    (active# U84(X1, X2, X3) -> active# X1, active# U91(tt(), N) -> U92# isNatKind N)
    (active# U81(X1, X2, X3) -> active# X1, active# U102(X1, X2, X3) -> U102#(active X1, X2, X3))
    (active# U81(X1, X2, X3) -> active# X1, active# U102(X1, X2, X3) -> active# X1)
    (active# U81(X1, X2, X3) -> active# X1, active# U102(tt(), M, N) -> U103#(isNat N, M, N))
    (active# U81(X1, X2, X3) -> active# X1, active# U102(tt(), M, N) -> isNat# N)
    (active# U81(X1, X2, X3) -> active# X1, active# isNatKind plus(V1, V2) -> isNatKind# V1)
    (active# U81(X1, X2, X3) -> active# X1, active# isNatKind plus(V1, V2) -> U41#(isNatKind V1, V2))
    (active# U81(X1, X2, X3) -> active# X1, active# isNatKind x(V1, V2) -> isNatKind# V1)
    (active# U81(X1, X2, X3) -> active# X1, active# isNatKind x(V1, V2) -> U61#(isNatKind V1, V2))
    (active# U81(X1, X2, X3) -> active# X1, active# isNatKind s V1 -> isNatKind# V1)
    (active# U81(X1, X2, X3) -> active# X1, active# isNatKind s V1 -> U51# isNatKind V1)
    (active# U81(X1, X2, X3) -> active# X1, active# U101(X1, X2, X3) -> active# X1)
    (active# U81(X1, X2, X3) -> active# X1, active# U101(X1, X2, X3) -> U101#(active X1, X2, X3))
    (active# U81(X1, X2, X3) -> active# X1, active# U101(tt(), M, N) -> U102#(isNatKind M, M, N))
    (active# U81(X1, X2, X3) -> active# X1, active# U101(tt(), M, N) -> isNatKind# M)
    (active# U81(X1, X2, X3) -> active# X1, active# U103(X1, X2, X3) -> active# X1)
    (active# U81(X1, X2, X3) -> active# X1, active# U103(X1, X2, X3) -> U103#(active X1, X2, X3))
    (active# U81(X1, X2, X3) -> active# X1, active# U103(tt(), M, N) -> isNatKind# N)
    (active# U81(X1, X2, X3) -> active# X1, active# U103(tt(), M, N) -> U104#(isNatKind N, M, N))
    (active# U81(X1, X2, X3) -> active# X1, active# isNat plus(V1, V2) -> isNatKind# V1)
    (active# U81(X1, X2, X3) -> active# X1, active# isNat plus(V1, V2) -> U11#(isNatKind V1, V1, V2))
    (active# U81(X1, X2, X3) -> active# X1, active# isNat x(V1, V2) -> isNatKind# V1)
    (active# U81(X1, X2, X3) -> active# X1, active# isNat x(V1, V2) -> U31#(isNatKind V1, V1, V2))
    (active# U81(X1, X2, X3) -> active# X1, active# isNat s V1 -> isNatKind# V1)
    (active# U81(X1, X2, X3) -> active# X1, active# isNat s V1 -> U21#(isNatKind V1, V1))
    (active# U81(X1, X2, X3) -> active# X1, active# U104(X1, X2, X3) -> active# X1)
    (active# U81(X1, X2, X3) -> active# X1, active# U104(X1, X2, X3) -> U104#(active X1, X2, X3))
    (active# U81(X1, X2, X3) -> active# X1, active# U104(tt(), M, N) -> plus#(x(N, M), N))
    (active# U81(X1, X2, X3) -> active# X1, active# U104(tt(), M, N) -> x#(N, M))
    (active# U81(X1, X2, X3) -> active# X1, active# plus(N, s M) -> isNat# M)
    (active# U81(X1, X2, X3) -> active# X1, active# plus(N, s M) -> U81#(isNat M, M, N))
    (active# U81(X1, X2, X3) -> active# X1, active# plus(N, 0()) -> isNat# N)
    (active# U81(X1, X2, X3) -> active# X1, active# plus(N, 0()) -> U71#(isNat N, N))
    (active# U81(X1, X2, X3) -> active# X1, active# plus(X1, X2) -> active# X1)
    (active# U81(X1, X2, X3) -> active# X1, active# plus(X1, X2) -> active# X2)
    (active# U81(X1, X2, X3) -> active# X1, active# plus(X1, X2) -> plus#(X1, active X2))
    (active# U81(X1, X2, X3) -> active# X1, active# plus(X1, X2) -> plus#(active X1, X2))
    (active# U81(X1, X2, X3) -> active# X1, active# x(N, s M) -> U101#(isNat M, M, N))
    (active# U81(X1, X2, X3) -> active# X1, active# x(N, s M) -> isNat# M)
    (active# U81(X1, X2, X3) -> active# X1, active# x(N, 0()) -> isNat# N)
    (active# U81(X1, X2, X3) -> active# X1, active# x(N, 0()) -> U91#(isNat N, N))
    (active# U81(X1, X2, X3) -> active# X1, active# x(X1, X2) -> active# X1)
    (active# U81(X1, X2, X3) -> active# X1, active# x(X1, X2) -> active# X2)
    (active# U81(X1, X2, X3) -> active# X1, active# x(X1, X2) -> x#(X1, active X2))
    (active# U81(X1, X2, X3) -> active# X1, active# x(X1, X2) -> x#(active X1, X2))
    (active# U81(X1, X2, X3) -> active# X1, active# U12(X1, X2, X3) -> active# X1)
    (active# U81(X1, X2, X3) -> active# X1, active# U12(X1, X2, X3) -> U12#(active X1, X2, X3))
    (active# U81(X1, X2, X3) -> active# X1, active# U12(tt(), V1, V2) -> isNatKind# V2)
    (active# U81(X1, X2, X3) -> active# X1, active# U12(tt(), V1, V2) -> U13#(isNatKind V2, V1, V2))
    (active# U81(X1, X2, X3) -> active# X1, active# U11(X1, X2, X3) -> active# X1)
    (active# U81(X1, X2, X3) -> active# X1, active# U11(X1, X2, X3) -> U11#(active X1, X2, X3))
    (active# U81(X1, X2, X3) -> active# X1, active# U11(tt(), V1, V2) -> isNatKind# V1)
    (active# U81(X1, X2, X3) -> active# X1, active# U11(tt(), V1, V2) -> U12#(isNatKind V1, V1, V2))
    (active# U81(X1, X2, X3) -> active# X1, active# U13(X1, X2, X3) -> active# X1)
    (active# U81(X1, X2, X3) -> active# X1, active# U13(X1, X2, X3) -> U13#(active X1, X2, X3))
    (active# U81(X1, X2, X3) -> active# X1, active# U13(tt(), V1, V2) -> isNatKind# V2)
    (active# U81(X1, X2, X3) -> active# X1, active# U13(tt(), V1, V2) -> U14#(isNatKind V2, V1, V2))
    (active# U81(X1, X2, X3) -> active# X1, active# U14(X1, X2, X3) -> active# X1)
    (active# U81(X1, X2, X3) -> active# X1, active# U14(X1, X2, X3) -> U14#(active X1, X2, X3))
    (active# U81(X1, X2, X3) -> active# X1, active# U14(tt(), V1, V2) -> isNat# V1)
    (active# U81(X1, X2, X3) -> active# X1, active# U14(tt(), V1, V2) -> U15#(isNat V1, V2))
    (active# U81(X1, X2, X3) -> active# X1, active# U15(X1, X2) -> active# X1)
    (active# U81(X1, X2, X3) -> active# X1, active# U15(X1, X2) -> U15#(active X1, X2))
    (active# U81(X1, X2, X3) -> active# X1, active# U15(tt(), V2) -> isNat# V2)
    (active# U81(X1, X2, X3) -> active# X1, active# U15(tt(), V2) -> U16# isNat V2)
    (active# U81(X1, X2, X3) -> active# X1, active# U16 X -> active# X)
    (active# U81(X1, X2, X3) -> active# X1, active# U16 X -> U16# active X)
    (active# U81(X1, X2, X3) -> active# X1, active# U22(X1, X2) -> active# X1)
    (active# U81(X1, X2, X3) -> active# X1, active# U22(X1, X2) -> U22#(active X1, X2))
    (active# U81(X1, X2, X3) -> active# X1, active# U22(tt(), V1) -> isNat# V1)
    (active# U81(X1, X2, X3) -> active# X1, active# U22(tt(), V1) -> U23# isNat V1)
    (active# U81(X1, X2, X3) -> active# X1, active# U21(X1, X2) -> active# X1)
    (active# U81(X1, X2, X3) -> active# X1, active# U21(X1, X2) -> U21#(active X1, X2))
    (active# U81(X1, X2, X3) -> active# X1, active# U21(tt(), V1) -> isNatKind# V1)
    (active# U81(X1, X2, X3) -> active# X1, active# U21(tt(), V1) -> U22#(isNatKind V1, V1))
    (active# U81(X1, X2, X3) -> active# X1, active# U23 X -> active# X)
    (active# U81(X1, X2, X3) -> active# X1, active# U23 X -> U23# active X)
    (active# U81(X1, X2, X3) -> active# X1, active# U32(X1, X2, X3) -> active# X1)
    (active# U81(X1, X2, X3) -> active# X1, active# U32(X1, X2, X3) -> U32#(active X1, X2, X3))
    (active# U81(X1, X2, X3) -> active# X1, active# U32(tt(), V1, V2) -> isNatKind# V2)
    (active# U81(X1, X2, X3) -> active# X1, active# U32(tt(), V1, V2) -> U33#(isNatKind V2, V1, V2))
    (active# U81(X1, X2, X3) -> active# X1, active# U31(X1, X2, X3) -> active# X1)
    (active# U81(X1, X2, X3) -> active# X1, active# U31(X1, X2, X3) -> U31#(active X1, X2, X3))
    (active# U81(X1, X2, X3) -> active# X1, active# U31(tt(), V1, V2) -> isNatKind# V1)
    (active# U81(X1, X2, X3) -> active# X1, active# U31(tt(), V1, V2) -> U32#(isNatKind V1, V1, V2))
    (active# U81(X1, X2, X3) -> active# X1, active# U33(X1, X2, X3) -> active# X1)
    (active# U81(X1, X2, X3) -> active# X1, active# U33(X1, X2, X3) -> U33#(active X1, X2, X3))
    (active# U81(X1, X2, X3) -> active# X1, active# U33(tt(), V1, V2) -> isNatKind# V2)
    (active# U81(X1, X2, X3) -> active# X1, active# U33(tt(), V1, V2) -> U34#(isNatKind V2, V1, V2))
    (active# U81(X1, X2, X3) -> active# X1, active# U34(X1, X2, X3) -> active# X1)
    (active# U81(X1, X2, X3) -> active# X1, active# U34(X1, X2, X3) -> U34#(active X1, X2, X3))
    (active# U81(X1, X2, X3) -> active# X1, active# U34(tt(), V1, V2) -> isNat# V1)
    (active# U81(X1, X2, X3) -> active# X1, active# U34(tt(), V1, V2) -> U35#(isNat V1, V2))
    (active# U81(X1, X2, X3) -> active# X1, active# U35(X1, X2) -> active# X1)
    (active# U81(X1, X2, X3) -> active# X1, active# U35(X1, X2) -> U35#(active X1, X2))
    (active# U81(X1, X2, X3) -> active# X1, active# U35(tt(), V2) -> isNat# V2)
    (active# U81(X1, X2, X3) -> active# X1, active# U35(tt(), V2) -> U36# isNat V2)
    (active# U81(X1, X2, X3) -> active# X1, active# U36 X -> active# X)
    (active# U81(X1, X2, X3) -> active# X1, active# U36 X -> U36# active X)
    (active# U81(X1, X2, X3) -> active# X1, active# U42 X -> active# X)
    (active# U81(X1, X2, X3) -> active# X1, active# U42 X -> U42# active X)
    (active# U81(X1, X2, X3) -> active# X1, active# U41(X1, X2) -> active# X1)
    (active# U81(X1, X2, X3) -> active# X1, active# U41(X1, X2) -> U41#(active X1, X2))
    (active# U81(X1, X2, X3) -> active# X1, active# U41(tt(), V2) -> isNatKind# V2)
    (active# U81(X1, X2, X3) -> active# X1, active# U41(tt(), V2) -> U42# isNatKind V2)
    (active# U81(X1, X2, X3) -> active# X1, active# U51 X -> active# X)
    (active# U81(X1, X2, X3) -> active# X1, active# U51 X -> U51# active X)
    (active# U81(X1, X2, X3) -> active# X1, active# U62 X -> active# X)
    (active# U81(X1, X2, X3) -> active# X1, active# U62 X -> U62# active X)
    (active# U81(X1, X2, X3) -> active# X1, active# U61(X1, X2) -> active# X1)
    (active# U81(X1, X2, X3) -> active# X1, active# U61(X1, X2) -> U61#(active X1, X2))
    (active# U81(X1, X2, X3) -> active# X1, active# U61(tt(), V2) -> isNatKind# V2)
    (active# U81(X1, X2, X3) -> active# X1, active# U61(tt(), V2) -> U62# isNatKind V2)
    (active# U81(X1, X2, X3) -> active# X1, active# U72(X1, X2) -> active# X1)
    (active# U81(X1, X2, X3) -> active# X1, active# U72(X1, X2) -> U72#(active X1, X2))
    (active# U81(X1, X2, X3) -> active# X1, active# U71(X1, X2) -> active# X1)
    (active# U81(X1, X2, X3) -> active# X1, active# U71(X1, X2) -> U71#(active X1, X2))
    (active# U81(X1, X2, X3) -> active# X1, active# U71(tt(), N) -> isNatKind# N)
    (active# U81(X1, X2, X3) -> active# X1, active# U71(tt(), N) -> U72#(isNatKind N, N))
    (active# U81(X1, X2, X3) -> active# X1, active# U82(X1, X2, X3) -> active# X1)
    (active# U81(X1, X2, X3) -> active# X1, active# U82(X1, X2, X3) -> U82#(active X1, X2, X3))
    (active# U81(X1, X2, X3) -> active# X1, active# U82(tt(), M, N) -> isNat# N)
    (active# U81(X1, X2, X3) -> active# X1, active# U82(tt(), M, N) -> U83#(isNat N, M, N))
    (active# U81(X1, X2, X3) -> active# X1, active# U81(X1, X2, X3) -> active# X1)
    (active# U81(X1, X2, X3) -> active# X1, active# U81(X1, X2, X3) -> U81#(active X1, X2, X3))
    (active# U81(X1, X2, X3) -> active# X1, active# U81(tt(), M, N) -> isNatKind# M)
    (active# U81(X1, X2, X3) -> active# X1, active# U81(tt(), M, N) -> U82#(isNatKind M, M, N))
    (active# U81(X1, X2, X3) -> active# X1, active# U83(X1, X2, X3) -> active# X1)
    (active# U81(X1, X2, X3) -> active# X1, active# U83(X1, X2, X3) -> U83#(active X1, X2, X3))
    (active# U81(X1, X2, X3) -> active# X1, active# U83(tt(), M, N) -> isNatKind# N)
    (active# U81(X1, X2, X3) -> active# X1, active# U83(tt(), M, N) -> U84#(isNatKind N, M, N))
    (active# U81(X1, X2, X3) -> active# X1, active# U84(X1, X2, X3) -> active# X1)
    (active# U81(X1, X2, X3) -> active# X1, active# U84(X1, X2, X3) -> U84#(active X1, X2, X3))
    (active# U81(X1, X2, X3) -> active# X1, active# U84(tt(), M, N) -> plus#(N, M))
    (active# U81(X1, X2, X3) -> active# X1, active# U84(tt(), M, N) -> s# plus(N, M))
    (active# U81(X1, X2, X3) -> active# X1, active# s X -> active# X)
    (active# U81(X1, X2, X3) -> active# X1, active# s X -> s# active X)
    (active# U81(X1, X2, X3) -> active# X1, active# U92 X -> active# X)
    (active# U81(X1, X2, X3) -> active# X1, active# U92 X -> U92# active X)
    (active# U81(X1, X2, X3) -> active# X1, active# U91(X1, X2) -> active# X1)
    (active# U81(X1, X2, X3) -> active# X1, active# U91(X1, X2) -> U91#(active X1, X2))
    (active# U81(X1, X2, X3) -> active# X1, active# U91(tt(), N) -> isNatKind# N)
    (active# U81(X1, X2, X3) -> active# X1, active# U91(tt(), N) -> U92# isNatKind N)
    (active# U71(X1, X2) -> active# X1, active# U102(X1, X2, X3) -> U102#(active X1, X2, X3))
    (active# U71(X1, X2) -> active# X1, active# U102(X1, X2, X3) -> active# X1)
    (active# U71(X1, X2) -> active# X1, active# U102(tt(), M, N) -> U103#(isNat N, M, N))
    (active# U71(X1, X2) -> active# X1, active# U102(tt(), M, N) -> isNat# N)
    (active# U71(X1, X2) -> active# X1, active# isNatKind plus(V1, V2) -> isNatKind# V1)
    (active# U71(X1, X2) -> active# X1, active# isNatKind plus(V1, V2) -> U41#(isNatKind V1, V2))
    (active# U71(X1, X2) -> active# X1, active# isNatKind x(V1, V2) -> isNatKind# V1)
    (active# U71(X1, X2) -> active# X1, active# isNatKind x(V1, V2) -> U61#(isNatKind V1, V2))
    (active# U71(X1, X2) -> active# X1, active# isNatKind s V1 -> isNatKind# V1)
    (active# U71(X1, X2) -> active# X1, active# isNatKind s V1 -> U51# isNatKind V1)
    (active# U71(X1, X2) -> active# X1, active# U101(X1, X2, X3) -> active# X1)
    (active# U71(X1, X2) -> active# X1, active# U101(X1, X2, X3) -> U101#(active X1, X2, X3))
    (active# U71(X1, X2) -> active# X1, active# U101(tt(), M, N) -> U102#(isNatKind M, M, N))
    (active# U71(X1, X2) -> active# X1, active# U101(tt(), M, N) -> isNatKind# M)
    (active# U71(X1, X2) -> active# X1, active# U103(X1, X2, X3) -> active# X1)
    (active# U71(X1, X2) -> active# X1, active# U103(X1, X2, X3) -> U103#(active X1, X2, X3))
    (active# U71(X1, X2) -> active# X1, active# U103(tt(), M, N) -> isNatKind# N)
    (active# U71(X1, X2) -> active# X1, active# U103(tt(), M, N) -> U104#(isNatKind N, M, N))
    (active# U71(X1, X2) -> active# X1, active# isNat plus(V1, V2) -> isNatKind# V1)
    (active# U71(X1, X2) -> active# X1, active# isNat plus(V1, V2) -> U11#(isNatKind V1, V1, V2))
    (active# U71(X1, X2) -> active# X1, active# isNat x(V1, V2) -> isNatKind# V1)
    (active# U71(X1, X2) -> active# X1, active# isNat x(V1, V2) -> U31#(isNatKind V1, V1, V2))
    (active# U71(X1, X2) -> active# X1, active# isNat s V1 -> isNatKind# V1)
    (active# U71(X1, X2) -> active# X1, active# isNat s V1 -> U21#(isNatKind V1, V1))
    (active# U71(X1, X2) -> active# X1, active# U104(X1, X2, X3) -> active# X1)
    (active# U71(X1, X2) -> active# X1, active# U104(X1, X2, X3) -> U104#(active X1, X2, X3))
    (active# U71(X1, X2) -> active# X1, active# U104(tt(), M, N) -> plus#(x(N, M), N))
    (active# U71(X1, X2) -> active# X1, active# U104(tt(), M, N) -> x#(N, M))
    (active# U71(X1, X2) -> active# X1, active# plus(N, s M) -> isNat# M)
    (active# U71(X1, X2) -> active# X1, active# plus(N, s M) -> U81#(isNat M, M, N))
    (active# U71(X1, X2) -> active# X1, active# plus(N, 0()) -> isNat# N)
    (active# U71(X1, X2) -> active# X1, active# plus(N, 0()) -> U71#(isNat N, N))
    (active# U71(X1, X2) -> active# X1, active# plus(X1, X2) -> active# X1)
    (active# U71(X1, X2) -> active# X1, active# plus(X1, X2) -> active# X2)
    (active# U71(X1, X2) -> active# X1, active# plus(X1, X2) -> plus#(X1, active X2))
    (active# U71(X1, X2) -> active# X1, active# plus(X1, X2) -> plus#(active X1, X2))
    (active# U71(X1, X2) -> active# X1, active# x(N, s M) -> U101#(isNat M, M, N))
    (active# U71(X1, X2) -> active# X1, active# x(N, s M) -> isNat# M)
    (active# U71(X1, X2) -> active# X1, active# x(N, 0()) -> isNat# N)
    (active# U71(X1, X2) -> active# X1, active# x(N, 0()) -> U91#(isNat N, N))
    (active# U71(X1, X2) -> active# X1, active# x(X1, X2) -> active# X1)
    (active# U71(X1, X2) -> active# X1, active# x(X1, X2) -> active# X2)
    (active# U71(X1, X2) -> active# X1, active# x(X1, X2) -> x#(X1, active X2))
    (active# U71(X1, X2) -> active# X1, active# x(X1, X2) -> x#(active X1, X2))
    (active# U71(X1, X2) -> active# X1, active# U12(X1, X2, X3) -> active# X1)
    (active# U71(X1, X2) -> active# X1, active# U12(X1, X2, X3) -> U12#(active X1, X2, X3))
    (active# U71(X1, X2) -> active# X1, active# U12(tt(), V1, V2) -> isNatKind# V2)
    (active# U71(X1, X2) -> active# X1, active# U12(tt(), V1, V2) -> U13#(isNatKind V2, V1, V2))
    (active# U71(X1, X2) -> active# X1, active# U11(X1, X2, X3) -> active# X1)
    (active# U71(X1, X2) -> active# X1, active# U11(X1, X2, X3) -> U11#(active X1, X2, X3))
    (active# U71(X1, X2) -> active# X1, active# U11(tt(), V1, V2) -> isNatKind# V1)
    (active# U71(X1, X2) -> active# X1, active# U11(tt(), V1, V2) -> U12#(isNatKind V1, V1, V2))
    (active# U71(X1, X2) -> active# X1, active# U13(X1, X2, X3) -> active# X1)
    (active# U71(X1, X2) -> active# X1, active# U13(X1, X2, X3) -> U13#(active X1, X2, X3))
    (active# U71(X1, X2) -> active# X1, active# U13(tt(), V1, V2) -> isNatKind# V2)
    (active# U71(X1, X2) -> active# X1, active# U13(tt(), V1, V2) -> U14#(isNatKind V2, V1, V2))
    (active# U71(X1, X2) -> active# X1, active# U14(X1, X2, X3) -> active# X1)
    (active# U71(X1, X2) -> active# X1, active# U14(X1, X2, X3) -> U14#(active X1, X2, X3))
    (active# U71(X1, X2) -> active# X1, active# U14(tt(), V1, V2) -> isNat# V1)
    (active# U71(X1, X2) -> active# X1, active# U14(tt(), V1, V2) -> U15#(isNat V1, V2))
    (active# U71(X1, X2) -> active# X1, active# U15(X1, X2) -> active# X1)
    (active# U71(X1, X2) -> active# X1, active# U15(X1, X2) -> U15#(active X1, X2))
    (active# U71(X1, X2) -> active# X1, active# U15(tt(), V2) -> isNat# V2)
    (active# U71(X1, X2) -> active# X1, active# U15(tt(), V2) -> U16# isNat V2)
    (active# U71(X1, X2) -> active# X1, active# U16 X -> active# X)
    (active# U71(X1, X2) -> active# X1, active# U16 X -> U16# active X)
    (active# U71(X1, X2) -> active# X1, active# U22(X1, X2) -> active# X1)
    (active# U71(X1, X2) -> active# X1, active# U22(X1, X2) -> U22#(active X1, X2))
    (active# U71(X1, X2) -> active# X1, active# U22(tt(), V1) -> isNat# V1)
    (active# U71(X1, X2) -> active# X1, active# U22(tt(), V1) -> U23# isNat V1)
    (active# U71(X1, X2) -> active# X1, active# U21(X1, X2) -> active# X1)
    (active# U71(X1, X2) -> active# X1, active# U21(X1, X2) -> U21#(active X1, X2))
    (active# U71(X1, X2) -> active# X1, active# U21(tt(), V1) -> isNatKind# V1)
    (active# U71(X1, X2) -> active# X1, active# U21(tt(), V1) -> U22#(isNatKind V1, V1))
    (active# U71(X1, X2) -> active# X1, active# U23 X -> active# X)
    (active# U71(X1, X2) -> active# X1, active# U23 X -> U23# active X)
    (active# U71(X1, X2) -> active# X1, active# U32(X1, X2, X3) -> active# X1)
    (active# U71(X1, X2) -> active# X1, active# U32(X1, X2, X3) -> U32#(active X1, X2, X3))
    (active# U71(X1, X2) -> active# X1, active# U32(tt(), V1, V2) -> isNatKind# V2)
    (active# U71(X1, X2) -> active# X1, active# U32(tt(), V1, V2) -> U33#(isNatKind V2, V1, V2))
    (active# U71(X1, X2) -> active# X1, active# U31(X1, X2, X3) -> active# X1)
    (active# U71(X1, X2) -> active# X1, active# U31(X1, X2, X3) -> U31#(active X1, X2, X3))
    (active# U71(X1, X2) -> active# X1, active# U31(tt(), V1, V2) -> isNatKind# V1)
    (active# U71(X1, X2) -> active# X1, active# U31(tt(), V1, V2) -> U32#(isNatKind V1, V1, V2))
    (active# U71(X1, X2) -> active# X1, active# U33(X1, X2, X3) -> active# X1)
    (active# U71(X1, X2) -> active# X1, active# U33(X1, X2, X3) -> U33#(active X1, X2, X3))
    (active# U71(X1, X2) -> active# X1, active# U33(tt(), V1, V2) -> isNatKind# V2)
    (active# U71(X1, X2) -> active# X1, active# U33(tt(), V1, V2) -> U34#(isNatKind V2, V1, V2))
    (active# U71(X1, X2) -> active# X1, active# U34(X1, X2, X3) -> active# X1)
    (active# U71(X1, X2) -> active# X1, active# U34(X1, X2, X3) -> U34#(active X1, X2, X3))
    (active# U71(X1, X2) -> active# X1, active# U34(tt(), V1, V2) -> isNat# V1)
    (active# U71(X1, X2) -> active# X1, active# U34(tt(), V1, V2) -> U35#(isNat V1, V2))
    (active# U71(X1, X2) -> active# X1, active# U35(X1, X2) -> active# X1)
    (active# U71(X1, X2) -> active# X1, active# U35(X1, X2) -> U35#(active X1, X2))
    (active# U71(X1, X2) -> active# X1, active# U35(tt(), V2) -> isNat# V2)
    (active# U71(X1, X2) -> active# X1, active# U35(tt(), V2) -> U36# isNat V2)
    (active# U71(X1, X2) -> active# X1, active# U36 X -> active# X)
    (active# U71(X1, X2) -> active# X1, active# U36 X -> U36# active X)
    (active# U71(X1, X2) -> active# X1, active# U42 X -> active# X)
    (active# U71(X1, X2) -> active# X1, active# U42 X -> U42# active X)
    (active# U71(X1, X2) -> active# X1, active# U41(X1, X2) -> active# X1)
    (active# U71(X1, X2) -> active# X1, active# U41(X1, X2) -> U41#(active X1, X2))
    (active# U71(X1, X2) -> active# X1, active# U41(tt(), V2) -> isNatKind# V2)
    (active# U71(X1, X2) -> active# X1, active# U41(tt(), V2) -> U42# isNatKind V2)
    (active# U71(X1, X2) -> active# X1, active# U51 X -> active# X)
    (active# U71(X1, X2) -> active# X1, active# U51 X -> U51# active X)
    (active# U71(X1, X2) -> active# X1, active# U62 X -> active# X)
    (active# U71(X1, X2) -> active# X1, active# U62 X -> U62# active X)
    (active# U71(X1, X2) -> active# X1, active# U61(X1, X2) -> active# X1)
    (active# U71(X1, X2) -> active# X1, active# U61(X1, X2) -> U61#(active X1, X2))
    (active# U71(X1, X2) -> active# X1, active# U61(tt(), V2) -> isNatKind# V2)
    (active# U71(X1, X2) -> active# X1, active# U61(tt(), V2) -> U62# isNatKind V2)
    (active# U71(X1, X2) -> active# X1, active# U72(X1, X2) -> active# X1)
    (active# U71(X1, X2) -> active# X1, active# U72(X1, X2) -> U72#(active X1, X2))
    (active# U71(X1, X2) -> active# X1, active# U71(X1, X2) -> active# X1)
    (active# U71(X1, X2) -> active# X1, active# U71(X1, X2) -> U71#(active X1, X2))
    (active# U71(X1, X2) -> active# X1, active# U71(tt(), N) -> isNatKind# N)
    (active# U71(X1, X2) -> active# X1, active# U71(tt(), N) -> U72#(isNatKind N, N))
    (active# U71(X1, X2) -> active# X1, active# U82(X1, X2, X3) -> active# X1)
    (active# U71(X1, X2) -> active# X1, active# U82(X1, X2, X3) -> U82#(active X1, X2, X3))
    (active# U71(X1, X2) -> active# X1, active# U82(tt(), M, N) -> isNat# N)
    (active# U71(X1, X2) -> active# X1, active# U82(tt(), M, N) -> U83#(isNat N, M, N))
    (active# U71(X1, X2) -> active# X1, active# U81(X1, X2, X3) -> active# X1)
    (active# U71(X1, X2) -> active# X1, active# U81(X1, X2, X3) -> U81#(active X1, X2, X3))
    (active# U71(X1, X2) -> active# X1, active# U81(tt(), M, N) -> isNatKind# M)
    (active# U71(X1, X2) -> active# X1, active# U81(tt(), M, N) -> U82#(isNatKind M, M, N))
    (active# U71(X1, X2) -> active# X1, active# U83(X1, X2, X3) -> active# X1)
    (active# U71(X1, X2) -> active# X1, active# U83(X1, X2, X3) -> U83#(active X1, X2, X3))
    (active# U71(X1, X2) -> active# X1, active# U83(tt(), M, N) -> isNatKind# N)
    (active# U71(X1, X2) -> active# X1, active# U83(tt(), M, N) -> U84#(isNatKind N, M, N))
    (active# U71(X1, X2) -> active# X1, active# U84(X1, X2, X3) -> active# X1)
    (active# U71(X1, X2) -> active# X1, active# U84(X1, X2, X3) -> U84#(active X1, X2, X3))
    (active# U71(X1, X2) -> active# X1, active# U84(tt(), M, N) -> plus#(N, M))
    (active# U71(X1, X2) -> active# X1, active# U84(tt(), M, N) -> s# plus(N, M))
    (active# U71(X1, X2) -> active# X1, active# s X -> active# X)
    (active# U71(X1, X2) -> active# X1, active# s X -> s# active X)
    (active# U71(X1, X2) -> active# X1, active# U92 X -> active# X)
    (active# U71(X1, X2) -> active# X1, active# U92 X -> U92# active X)
    (active# U71(X1, X2) -> active# X1, active# U91(X1, X2) -> active# X1)
    (active# U71(X1, X2) -> active# X1, active# U91(X1, X2) -> U91#(active X1, X2))
    (active# U71(X1, X2) -> active# X1, active# U91(tt(), N) -> isNatKind# N)
    (active# U71(X1, X2) -> active# X1, active# U91(tt(), N) -> U92# isNatKind N)
    (active# U61(X1, X2) -> active# X1, active# U102(X1, X2, X3) -> U102#(active X1, X2, X3))
    (active# U61(X1, X2) -> active# X1, active# U102(X1, X2, X3) -> active# X1)
    (active# U61(X1, X2) -> active# X1, active# U102(tt(), M, N) -> U103#(isNat N, M, N))
    (active# U61(X1, X2) -> active# X1, active# U102(tt(), M, N) -> isNat# N)
    (active# U61(X1, X2) -> active# X1, active# isNatKind plus(V1, V2) -> isNatKind# V1)
    (active# U61(X1, X2) -> active# X1, active# isNatKind plus(V1, V2) -> U41#(isNatKind V1, V2))
    (active# U61(X1, X2) -> active# X1, active# isNatKind x(V1, V2) -> isNatKind# V1)
    (active# U61(X1, X2) -> active# X1, active# isNatKind x(V1, V2) -> U61#(isNatKind V1, V2))
    (active# U61(X1, X2) -> active# X1, active# isNatKind s V1 -> isNatKind# V1)
    (active# U61(X1, X2) -> active# X1, active# isNatKind s V1 -> U51# isNatKind V1)
    (active# U61(X1, X2) -> active# X1, active# U101(X1, X2, X3) -> active# X1)
    (active# U61(X1, X2) -> active# X1, active# U101(X1, X2, X3) -> U101#(active X1, X2, X3))
    (active# U61(X1, X2) -> active# X1, active# U101(tt(), M, N) -> U102#(isNatKind M, M, N))
    (active# U61(X1, X2) -> active# X1, active# U101(tt(), M, N) -> isNatKind# M)
    (active# U61(X1, X2) -> active# X1, active# U103(X1, X2, X3) -> active# X1)
    (active# U61(X1, X2) -> active# X1, active# U103(X1, X2, X3) -> U103#(active X1, X2, X3))
    (active# U61(X1, X2) -> active# X1, active# U103(tt(), M, N) -> isNatKind# N)
    (active# U61(X1, X2) -> active# X1, active# U103(tt(), M, N) -> U104#(isNatKind N, M, N))
    (active# U61(X1, X2) -> active# X1, active# isNat plus(V1, V2) -> isNatKind# V1)
    (active# U61(X1, X2) -> active# X1, active# isNat plus(V1, V2) -> U11#(isNatKind V1, V1, V2))
    (active# U61(X1, X2) -> active# X1, active# isNat x(V1, V2) -> isNatKind# V1)
    (active# U61(X1, X2) -> active# X1, active# isNat x(V1, V2) -> U31#(isNatKind V1, V1, V2))
    (active# U61(X1, X2) -> active# X1, active# isNat s V1 -> isNatKind# V1)
    (active# U61(X1, X2) -> active# X1, active# isNat s V1 -> U21#(isNatKind V1, V1))
    (active# U61(X1, X2) -> active# X1, active# U104(X1, X2, X3) -> active# X1)
    (active# U61(X1, X2) -> active# X1, active# U104(X1, X2, X3) -> U104#(active X1, X2, X3))
    (active# U61(X1, X2) -> active# X1, active# U104(tt(), M, N) -> plus#(x(N, M), N))
    (active# U61(X1, X2) -> active# X1, active# U104(tt(), M, N) -> x#(N, M))
    (active# U61(X1, X2) -> active# X1, active# plus(N, s M) -> isNat# M)
    (active# U61(X1, X2) -> active# X1, active# plus(N, s M) -> U81#(isNat M, M, N))
    (active# U61(X1, X2) -> active# X1, active# plus(N, 0()) -> isNat# N)
    (active# U61(X1, X2) -> active# X1, active# plus(N, 0()) -> U71#(isNat N, N))
    (active# U61(X1, X2) -> active# X1, active# plus(X1, X2) -> active# X1)
    (active# U61(X1, X2) -> active# X1, active# plus(X1, X2) -> active# X2)
    (active# U61(X1, X2) -> active# X1, active# plus(X1, X2) -> plus#(X1, active X2))
    (active# U61(X1, X2) -> active# X1, active# plus(X1, X2) -> plus#(active X1, X2))
    (active# U61(X1, X2) -> active# X1, active# x(N, s M) -> U101#(isNat M, M, N))
    (active# U61(X1, X2) -> active# X1, active# x(N, s M) -> isNat# M)
    (active# U61(X1, X2) -> active# X1, active# x(N, 0()) -> isNat# N)
    (active# U61(X1, X2) -> active# X1, active# x(N, 0()) -> U91#(isNat N, N))
    (active# U61(X1, X2) -> active# X1, active# x(X1, X2) -> active# X1)
    (active# U61(X1, X2) -> active# X1, active# x(X1, X2) -> active# X2)
    (active# U61(X1, X2) -> active# X1, active# x(X1, X2) -> x#(X1, active X2))
    (active# U61(X1, X2) -> active# X1, active# x(X1, X2) -> x#(active X1, X2))
    (active# U61(X1, X2) -> active# X1, active# U12(X1, X2, X3) -> active# X1)
    (active# U61(X1, X2) -> active# X1, active# U12(X1, X2, X3) -> U12#(active X1, X2, X3))
    (active# U61(X1, X2) -> active# X1, active# U12(tt(), V1, V2) -> isNatKind# V2)
    (active# U61(X1, X2) -> active# X1, active# U12(tt(), V1, V2) -> U13#(isNatKind V2, V1, V2))
    (active# U61(X1, X2) -> active# X1, active# U11(X1, X2, X3) -> active# X1)
    (active# U61(X1, X2) -> active# X1, active# U11(X1, X2, X3) -> U11#(active X1, X2, X3))
    (active# U61(X1, X2) -> active# X1, active# U11(tt(), V1, V2) -> isNatKind# V1)
    (active# U61(X1, X2) -> active# X1, active# U11(tt(), V1, V2) -> U12#(isNatKind V1, V1, V2))
    (active# U61(X1, X2) -> active# X1, active# U13(X1, X2, X3) -> active# X1)
    (active# U61(X1, X2) -> active# X1, active# U13(X1, X2, X3) -> U13#(active X1, X2, X3))
    (active# U61(X1, X2) -> active# X1, active# U13(tt(), V1, V2) -> isNatKind# V2)
    (active# U61(X1, X2) -> active# X1, active# U13(tt(), V1, V2) -> U14#(isNatKind V2, V1, V2))
    (active# U61(X1, X2) -> active# X1, active# U14(X1, X2, X3) -> active# X1)
    (active# U61(X1, X2) -> active# X1, active# U14(X1, X2, X3) -> U14#(active X1, X2, X3))
    (active# U61(X1, X2) -> active# X1, active# U14(tt(), V1, V2) -> isNat# V1)
    (active# U61(X1, X2) -> active# X1, active# U14(tt(), V1, V2) -> U15#(isNat V1, V2))
    (active# U61(X1, X2) -> active# X1, active# U15(X1, X2) -> active# X1)
    (active# U61(X1, X2) -> active# X1, active# U15(X1, X2) -> U15#(active X1, X2))
    (active# U61(X1, X2) -> active# X1, active# U15(tt(), V2) -> isNat# V2)
    (active# U61(X1, X2) -> active# X1, active# U15(tt(), V2) -> U16# isNat V2)
    (active# U61(X1, X2) -> active# X1, active# U16 X -> active# X)
    (active# U61(X1, X2) -> active# X1, active# U16 X -> U16# active X)
    (active# U61(X1, X2) -> active# X1, active# U22(X1, X2) -> active# X1)
    (active# U61(X1, X2) -> active# X1, active# U22(X1, X2) -> U22#(active X1, X2))
    (active# U61(X1, X2) -> active# X1, active# U22(tt(), V1) -> isNat# V1)
    (active# U61(X1, X2) -> active# X1, active# U22(tt(), V1) -> U23# isNat V1)
    (active# U61(X1, X2) -> active# X1, active# U21(X1, X2) -> active# X1)
    (active# U61(X1, X2) -> active# X1, active# U21(X1, X2) -> U21#(active X1, X2))
    (active# U61(X1, X2) -> active# X1, active# U21(tt(), V1) -> isNatKind# V1)
    (active# U61(X1, X2) -> active# X1, active# U21(tt(), V1) -> U22#(isNatKind V1, V1))
    (active# U61(X1, X2) -> active# X1, active# U23 X -> active# X)
    (active# U61(X1, X2) -> active# X1, active# U23 X -> U23# active X)
    (active# U61(X1, X2) -> active# X1, active# U32(X1, X2, X3) -> active# X1)
    (active# U61(X1, X2) -> active# X1, active# U32(X1, X2, X3) -> U32#(active X1, X2, X3))
    (active# U61(X1, X2) -> active# X1, active# U32(tt(), V1, V2) -> isNatKind# V2)
    (active# U61(X1, X2) -> active# X1, active# U32(tt(), V1, V2) -> U33#(isNatKind V2, V1, V2))
    (active# U61(X1, X2) -> active# X1, active# U31(X1, X2, X3) -> active# X1)
    (active# U61(X1, X2) -> active# X1, active# U31(X1, X2, X3) -> U31#(active X1, X2, X3))
    (active# U61(X1, X2) -> active# X1, active# U31(tt(), V1, V2) -> isNatKind# V1)
    (active# U61(X1, X2) -> active# X1, active# U31(tt(), V1, V2) -> U32#(isNatKind V1, V1, V2))
    (active# U61(X1, X2) -> active# X1, active# U33(X1, X2, X3) -> active# X1)
    (active# U61(X1, X2) -> active# X1, active# U33(X1, X2, X3) -> U33#(active X1, X2, X3))
    (active# U61(X1, X2) -> active# X1, active# U33(tt(), V1, V2) -> isNatKind# V2)
    (active# U61(X1, X2) -> active# X1, active# U33(tt(), V1, V2) -> U34#(isNatKind V2, V1, V2))
    (active# U61(X1, X2) -> active# X1, active# U34(X1, X2, X3) -> active# X1)
    (active# U61(X1, X2) -> active# X1, active# U34(X1, X2, X3) -> U34#(active X1, X2, X3))
    (active# U61(X1, X2) -> active# X1, active# U34(tt(), V1, V2) -> isNat# V1)
    (active# U61(X1, X2) -> active# X1, active# U34(tt(), V1, V2) -> U35#(isNat V1, V2))
    (active# U61(X1, X2) -> active# X1, active# U35(X1, X2) -> active# X1)
    (active# U61(X1, X2) -> active# X1, active# U35(X1, X2) -> U35#(active X1, X2))
    (active# U61(X1, X2) -> active# X1, active# U35(tt(), V2) -> isNat# V2)
    (active# U61(X1, X2) -> active# X1, active# U35(tt(), V2) -> U36# isNat V2)
    (active# U61(X1, X2) -> active# X1, active# U36 X -> active# X)
    (active# U61(X1, X2) -> active# X1, active# U36 X -> U36# active X)
    (active# U61(X1, X2) -> active# X1, active# U42 X -> active# X)
    (active# U61(X1, X2) -> active# X1, active# U42 X -> U42# active X)
    (active# U61(X1, X2) -> active# X1, active# U41(X1, X2) -> active# X1)
    (active# U61(X1, X2) -> active# X1, active# U41(X1, X2) -> U41#(active X1, X2))
    (active# U61(X1, X2) -> active# X1, active# U41(tt(), V2) -> isNatKind# V2)
    (active# U61(X1, X2) -> active# X1, active# U41(tt(), V2) -> U42# isNatKind V2)
    (active# U61(X1, X2) -> active# X1, active# U51 X -> active# X)
    (active# U61(X1, X2) -> active# X1, active# U51 X -> U51# active X)
    (active# U61(X1, X2) -> active# X1, active# U62 X -> active# X)
    (active# U61(X1, X2) -> active# X1, active# U62 X -> U62# active X)
    (active# U61(X1, X2) -> active# X1, active# U61(X1, X2) -> active# X1)
    (active# U61(X1, X2) -> active# X1, active# U61(X1, X2) -> U61#(active X1, X2))
    (active# U61(X1, X2) -> active# X1, active# U61(tt(), V2) -> isNatKind# V2)
    (active# U61(X1, X2) -> active# X1, active# U61(tt(), V2) -> U62# isNatKind V2)
    (active# U61(X1, X2) -> active# X1, active# U72(X1, X2) -> active# X1)
    (active# U61(X1, X2) -> active# X1, active# U72(X1, X2) -> U72#(active X1, X2))
    (active# U61(X1, X2) -> active# X1, active# U71(X1, X2) -> active# X1)
    (active# U61(X1, X2) -> active# X1, active# U71(X1, X2) -> U71#(active X1, X2))
    (active# U61(X1, X2) -> active# X1, active# U71(tt(), N) -> isNatKind# N)
    (active# U61(X1, X2) -> active# X1, active# U71(tt(), N) -> U72#(isNatKind N, N))
    (active# U61(X1, X2) -> active# X1, active# U82(X1, X2, X3) -> active# X1)
    (active# U61(X1, X2) -> active# X1, active# U82(X1, X2, X3) -> U82#(active X1, X2, X3))
    (active# U61(X1, X2) -> active# X1, active# U82(tt(), M, N) -> isNat# N)
    (active# U61(X1, X2) -> active# X1, active# U82(tt(), M, N) -> U83#(isNat N, M, N))
    (active# U61(X1, X2) -> active# X1, active# U81(X1, X2, X3) -> active# X1)
    (active# U61(X1, X2) -> active# X1, active# U81(X1, X2, X3) -> U81#(active X1, X2, X3))
    (active# U61(X1, X2) -> active# X1, active# U81(tt(), M, N) -> isNatKind# M)
    (active# U61(X1, X2) -> active# X1, active# U81(tt(), M, N) -> U82#(isNatKind M, M, N))
    (active# U61(X1, X2) -> active# X1, active# U83(X1, X2, X3) -> active# X1)
    (active# U61(X1, X2) -> active# X1, active# U83(X1, X2, X3) -> U83#(active X1, X2, X3))
    (active# U61(X1, X2) -> active# X1, active# U83(tt(), M, N) -> isNatKind# N)
    (active# U61(X1, X2) -> active# X1, active# U83(tt(), M, N) -> U84#(isNatKind N, M, N))
    (active# U61(X1, X2) -> active# X1, active# U84(X1, X2, X3) -> active# X1)
    (active# U61(X1, X2) -> active# X1, active# U84(X1, X2, X3) -> U84#(active X1, X2, X3))
    (active# U61(X1, X2) -> active# X1, active# U84(tt(), M, N) -> plus#(N, M))
    (active# U61(X1, X2) -> active# X1, active# U84(tt(), M, N) -> s# plus(N, M))
    (active# U61(X1, X2) -> active# X1, active# s X -> active# X)
    (active# U61(X1, X2) -> active# X1, active# s X -> s# active X)
    (active# U61(X1, X2) -> active# X1, active# U92 X -> active# X)
    (active# U61(X1, X2) -> active# X1, active# U92 X -> U92# active X)
    (active# U61(X1, X2) -> active# X1, active# U91(X1, X2) -> active# X1)
    (active# U61(X1, X2) -> active# X1, active# U91(X1, X2) -> U91#(active X1, X2))
    (active# U61(X1, X2) -> active# X1, active# U91(tt(), N) -> isNatKind# N)
    (active# U61(X1, X2) -> active# X1, active# U91(tt(), N) -> U92# isNatKind N)
    (active# U35(X1, X2) -> active# X1, active# U102(X1, X2, X3) -> U102#(active X1, X2, X3))
    (active# U35(X1, X2) -> active# X1, active# U102(X1, X2, X3) -> active# X1)
    (active# U35(X1, X2) -> active# X1, active# U102(tt(), M, N) -> U103#(isNat N, M, N))
    (active# U35(X1, X2) -> active# X1, active# U102(tt(), M, N) -> isNat# N)
    (active# U35(X1, X2) -> active# X1, active# isNatKind plus(V1, V2) -> isNatKind# V1)
    (active# U35(X1, X2) -> active# X1, active# isNatKind plus(V1, V2) -> U41#(isNatKind V1, V2))
    (active# U35(X1, X2) -> active# X1, active# isNatKind x(V1, V2) -> isNatKind# V1)
    (active# U35(X1, X2) -> active# X1, active# isNatKind x(V1, V2) -> U61#(isNatKind V1, V2))
    (active# U35(X1, X2) -> active# X1, active# isNatKind s V1 -> isNatKind# V1)
    (active# U35(X1, X2) -> active# X1, active# isNatKind s V1 -> U51# isNatKind V1)
    (active# U35(X1, X2) -> active# X1, active# U101(X1, X2, X3) -> active# X1)
    (active# U35(X1, X2) -> active# X1, active# U101(X1, X2, X3) -> U101#(active X1, X2, X3))
    (active# U35(X1, X2) -> active# X1, active# U101(tt(), M, N) -> U102#(isNatKind M, M, N))
    (active# U35(X1, X2) -> active# X1, active# U101(tt(), M, N) -> isNatKind# M)
    (active# U35(X1, X2) -> active# X1, active# U103(X1, X2, X3) -> active# X1)
    (active# U35(X1, X2) -> active# X1, active# U103(X1, X2, X3) -> U103#(active X1, X2, X3))
    (active# U35(X1, X2) -> active# X1, active# U103(tt(), M, N) -> isNatKind# N)
    (active# U35(X1, X2) -> active# X1, active# U103(tt(), M, N) -> U104#(isNatKind N, M, N))
    (active# U35(X1, X2) -> active# X1, active# isNat plus(V1, V2) -> isNatKind# V1)
    (active# U35(X1, X2) -> active# X1, active# isNat plus(V1, V2) -> U11#(isNatKind V1, V1, V2))
    (active# U35(X1, X2) -> active# X1, active# isNat x(V1, V2) -> isNatKind# V1)
    (active# U35(X1, X2) -> active# X1, active# isNat x(V1, V2) -> U31#(isNatKind V1, V1, V2))
    (active# U35(X1, X2) -> active# X1, active# isNat s V1 -> isNatKind# V1)
    (active# U35(X1, X2) -> active# X1, active# isNat s V1 -> U21#(isNatKind V1, V1))
    (active# U35(X1, X2) -> active# X1, active# U104(X1, X2, X3) -> active# X1)
    (active# U35(X1, X2) -> active# X1, active# U104(X1, X2, X3) -> U104#(active X1, X2, X3))
    (active# U35(X1, X2) -> active# X1, active# U104(tt(), M, N) -> plus#(x(N, M), N))
    (active# U35(X1, X2) -> active# X1, active# U104(tt(), M, N) -> x#(N, M))
    (active# U35(X1, X2) -> active# X1, active# plus(N, s M) -> isNat# M)
    (active# U35(X1, X2) -> active# X1, active# plus(N, s M) -> U81#(isNat M, M, N))
    (active# U35(X1, X2) -> active# X1, active# plus(N, 0()) -> isNat# N)
    (active# U35(X1, X2) -> active# X1, active# plus(N, 0()) -> U71#(isNat N, N))
    (active# U35(X1, X2) -> active# X1, active# plus(X1, X2) -> active# X1)
    (active# U35(X1, X2) -> active# X1, active# plus(X1, X2) -> active# X2)
    (active# U35(X1, X2) -> active# X1, active# plus(X1, X2) -> plus#(X1, active X2))
    (active# U35(X1, X2) -> active# X1, active# plus(X1, X2) -> plus#(active X1, X2))
    (active# U35(X1, X2) -> active# X1, active# x(N, s M) -> U101#(isNat M, M, N))
    (active# U35(X1, X2) -> active# X1, active# x(N, s M) -> isNat# M)
    (active# U35(X1, X2) -> active# X1, active# x(N, 0()) -> isNat# N)
    (active# U35(X1, X2) -> active# X1, active# x(N, 0()) -> U91#(isNat N, N))
    (active# U35(X1, X2) -> active# X1, active# x(X1, X2) -> active# X1)
    (active# U35(X1, X2) -> active# X1, active# x(X1, X2) -> active# X2)
    (active# U35(X1, X2) -> active# X1, active# x(X1, X2) -> x#(X1, active X2))
    (active# U35(X1, X2) -> active# X1, active# x(X1, X2) -> x#(active X1, X2))
    (active# U35(X1, X2) -> active# X1, active# U12(X1, X2, X3) -> active# X1)
    (active# U35(X1, X2) -> active# X1, active# U12(X1, X2, X3) -> U12#(active X1, X2, X3))
    (active# U35(X1, X2) -> active# X1, active# U12(tt(), V1, V2) -> isNatKind# V2)
    (active# U35(X1, X2) -> active# X1, active# U12(tt(), V1, V2) -> U13#(isNatKind V2, V1, V2))
    (active# U35(X1, X2) -> active# X1, active# U11(X1, X2, X3) -> active# X1)
    (active# U35(X1, X2) -> active# X1, active# U11(X1, X2, X3) -> U11#(active X1, X2, X3))
    (active# U35(X1, X2) -> active# X1, active# U11(tt(), V1, V2) -> isNatKind# V1)
    (active# U35(X1, X2) -> active# X1, active# U11(tt(), V1, V2) -> U12#(isNatKind V1, V1, V2))
    (active# U35(X1, X2) -> active# X1, active# U13(X1, X2, X3) -> active# X1)
    (active# U35(X1, X2) -> active# X1, active# U13(X1, X2, X3) -> U13#(active X1, X2, X3))
    (active# U35(X1, X2) -> active# X1, active# U13(tt(), V1, V2) -> isNatKind# V2)
    (active# U35(X1, X2) -> active# X1, active# U13(tt(), V1, V2) -> U14#(isNatKind V2, V1, V2))
    (active# U35(X1, X2) -> active# X1, active# U14(X1, X2, X3) -> active# X1)
    (active# U35(X1, X2) -> active# X1, active# U14(X1, X2, X3) -> U14#(active X1, X2, X3))
    (active# U35(X1, X2) -> active# X1, active# U14(tt(), V1, V2) -> isNat# V1)
    (active# U35(X1, X2) -> active# X1, active# U14(tt(), V1, V2) -> U15#(isNat V1, V2))
    (active# U35(X1, X2) -> active# X1, active# U15(X1, X2) -> active# X1)
    (active# U35(X1, X2) -> active# X1, active# U15(X1, X2) -> U15#(active X1, X2))
    (active# U35(X1, X2) -> active# X1, active# U15(tt(), V2) -> isNat# V2)
    (active# U35(X1, X2) -> active# X1, active# U15(tt(), V2) -> U16# isNat V2)
    (active# U35(X1, X2) -> active# X1, active# U16 X -> active# X)
    (active# U35(X1, X2) -> active# X1, active# U16 X -> U16# active X)
    (active# U35(X1, X2) -> active# X1, active# U22(X1, X2) -> active# X1)
    (active# U35(X1, X2) -> active# X1, active# U22(X1, X2) -> U22#(active X1, X2))
    (active# U35(X1, X2) -> active# X1, active# U22(tt(), V1) -> isNat# V1)
    (active# U35(X1, X2) -> active# X1, active# U22(tt(), V1) -> U23# isNat V1)
    (active# U35(X1, X2) -> active# X1, active# U21(X1, X2) -> active# X1)
    (active# U35(X1, X2) -> active# X1, active# U21(X1, X2) -> U21#(active X1, X2))
    (active# U35(X1, X2) -> active# X1, active# U21(tt(), V1) -> isNatKind# V1)
    (active# U35(X1, X2) -> active# X1, active# U21(tt(), V1) -> U22#(isNatKind V1, V1))
    (active# U35(X1, X2) -> active# X1, active# U23 X -> active# X)
    (active# U35(X1, X2) -> active# X1, active# U23 X -> U23# active X)
    (active# U35(X1, X2) -> active# X1, active# U32(X1, X2, X3) -> active# X1)
    (active# U35(X1, X2) -> active# X1, active# U32(X1, X2, X3) -> U32#(active X1, X2, X3))
    (active# U35(X1, X2) -> active# X1, active# U32(tt(), V1, V2) -> isNatKind# V2)
    (active# U35(X1, X2) -> active# X1, active# U32(tt(), V1, V2) -> U33#(isNatKind V2, V1, V2))
    (active# U35(X1, X2) -> active# X1, active# U31(X1, X2, X3) -> active# X1)
    (active# U35(X1, X2) -> active# X1, active# U31(X1, X2, X3) -> U31#(active X1, X2, X3))
    (active# U35(X1, X2) -> active# X1, active# U31(tt(), V1, V2) -> isNatKind# V1)
    (active# U35(X1, X2) -> active# X1, active# U31(tt(), V1, V2) -> U32#(isNatKind V1, V1, V2))
    (active# U35(X1, X2) -> active# X1, active# U33(X1, X2, X3) -> active# X1)
    (active# U35(X1, X2) -> active# X1, active# U33(X1, X2, X3) -> U33#(active X1, X2, X3))
    (active# U35(X1, X2) -> active# X1, active# U33(tt(), V1, V2) -> isNatKind# V2)
    (active# U35(X1, X2) -> active# X1, active# U33(tt(), V1, V2) -> U34#(isNatKind V2, V1, V2))
    (active# U35(X1, X2) -> active# X1, active# U34(X1, X2, X3) -> active# X1)
    (active# U35(X1, X2) -> active# X1, active# U34(X1, X2, X3) -> U34#(active X1, X2, X3))
    (active# U35(X1, X2) -> active# X1, active# U34(tt(), V1, V2) -> isNat# V1)
    (active# U35(X1, X2) -> active# X1, active# U34(tt(), V1, V2) -> U35#(isNat V1, V2))
    (active# U35(X1, X2) -> active# X1, active# U35(X1, X2) -> active# X1)
    (active# U35(X1, X2) -> active# X1, active# U35(X1, X2) -> U35#(active X1, X2))
    (active# U35(X1, X2) -> active# X1, active# U35(tt(), V2) -> isNat# V2)
    (active# U35(X1, X2) -> active# X1, active# U35(tt(), V2) -> U36# isNat V2)
    (active# U35(X1, X2) -> active# X1, active# U36 X -> active# X)
    (active# U35(X1, X2) -> active# X1, active# U36 X -> U36# active X)
    (active# U35(X1, X2) -> active# X1, active# U42 X -> active# X)
    (active# U35(X1, X2) -> active# X1, active# U42 X -> U42# active X)
    (active# U35(X1, X2) -> active# X1, active# U41(X1, X2) -> active# X1)
    (active# U35(X1, X2) -> active# X1, active# U41(X1, X2) -> U41#(active X1, X2))
    (active# U35(X1, X2) -> active# X1, active# U41(tt(), V2) -> isNatKind# V2)
    (active# U35(X1, X2) -> active# X1, active# U41(tt(), V2) -> U42# isNatKind V2)
    (active# U35(X1, X2) -> active# X1, active# U51 X -> active# X)
    (active# U35(X1, X2) -> active# X1, active# U51 X -> U51# active X)
    (active# U35(X1, X2) -> active# X1, active# U62 X -> active# X)
    (active# U35(X1, X2) -> active# X1, active# U62 X -> U62# active X)
    (active# U35(X1, X2) -> active# X1, active# U61(X1, X2) -> active# X1)
    (active# U35(X1, X2) -> active# X1, active# U61(X1, X2) -> U61#(active X1, X2))
    (active# U35(X1, X2) -> active# X1, active# U61(tt(), V2) -> isNatKind# V2)
    (active# U35(X1, X2) -> active# X1, active# U61(tt(), V2) -> U62# isNatKind V2)
    (active# U35(X1, X2) -> active# X1, active# U72(X1, X2) -> active# X1)
    (active# U35(X1, X2) -> active# X1, active# U72(X1, X2) -> U72#(active X1, X2))
    (active# U35(X1, X2) -> active# X1, active# U71(X1, X2) -> active# X1)
    (active# U35(X1, X2) -> active# X1, active# U71(X1, X2) -> U71#(active X1, X2))
    (active# U35(X1, X2) -> active# X1, active# U71(tt(), N) -> isNatKind# N)
    (active# U35(X1, X2) -> active# X1, active# U71(tt(), N) -> U72#(isNatKind N, N))
    (active# U35(X1, X2) -> active# X1, active# U82(X1, X2, X3) -> active# X1)
    (active# U35(X1, X2) -> active# X1, active# U82(X1, X2, X3) -> U82#(active X1, X2, X3))
    (active# U35(X1, X2) -> active# X1, active# U82(tt(), M, N) -> isNat# N)
    (active# U35(X1, X2) -> active# X1, active# U82(tt(), M, N) -> U83#(isNat N, M, N))
    (active# U35(X1, X2) -> active# X1, active# U81(X1, X2, X3) -> active# X1)
    (active# U35(X1, X2) -> active# X1, active# U81(X1, X2, X3) -> U81#(active X1, X2, X3))
    (active# U35(X1, X2) -> active# X1, active# U81(tt(), M, N) -> isNatKind# M)
    (active# U35(X1, X2) -> active# X1, active# U81(tt(), M, N) -> U82#(isNatKind M, M, N))
    (active# U35(X1, X2) -> active# X1, active# U83(X1, X2, X3) -> active# X1)
    (active# U35(X1, X2) -> active# X1, active# U83(X1, X2, X3) -> U83#(active X1, X2, X3))
    (active# U35(X1, X2) -> active# X1, active# U83(tt(), M, N) -> isNatKind# N)
    (active# U35(X1, X2) -> active# X1, active# U83(tt(), M, N) -> U84#(isNatKind N, M, N))
    (active# U35(X1, X2) -> active# X1, active# U84(X1, X2, X3) -> active# X1)
    (active# U35(X1, X2) -> active# X1, active# U84(X1, X2, X3) -> U84#(active X1, X2, X3))
    (active# U35(X1, X2) -> active# X1, active# U84(tt(), M, N) -> plus#(N, M))
    (active# U35(X1, X2) -> active# X1, active# U84(tt(), M, N) -> s# plus(N, M))
    (active# U35(X1, X2) -> active# X1, active# s X -> active# X)
    (active# U35(X1, X2) -> active# X1, active# s X -> s# active X)
    (active# U35(X1, X2) -> active# X1, active# U92 X -> active# X)
    (active# U35(X1, X2) -> active# X1, active# U92 X -> U92# active X)
    (active# U35(X1, X2) -> active# X1, active# U91(X1, X2) -> active# X1)
    (active# U35(X1, X2) -> active# X1, active# U91(X1, X2) -> U91#(active X1, X2))
    (active# U35(X1, X2) -> active# X1, active# U91(tt(), N) -> isNatKind# N)
    (active# U35(X1, X2) -> active# X1, active# U91(tt(), N) -> U92# isNatKind N)
    (active# U33(X1, X2, X3) -> active# X1, active# U102(X1, X2, X3) -> U102#(active X1, X2, X3))
    (active# U33(X1, X2, X3) -> active# X1, active# U102(X1, X2, X3) -> active# X1)
    (active# U33(X1, X2, X3) -> active# X1, active# U102(tt(), M, N) -> U103#(isNat N, M, N))
    (active# U33(X1, X2, X3) -> active# X1, active# U102(tt(), M, N) -> isNat# N)
    (active# U33(X1, X2, X3) -> active# X1, active# isNatKind plus(V1, V2) -> isNatKind# V1)
    (active# U33(X1, X2, X3) -> active# X1, active# isNatKind plus(V1, V2) -> U41#(isNatKind V1, V2))
    (active# U33(X1, X2, X3) -> active# X1, active# isNatKind x(V1, V2) -> isNatKind# V1)
    (active# U33(X1, X2, X3) -> active# X1, active# isNatKind x(V1, V2) -> U61#(isNatKind V1, V2))
    (active# U33(X1, X2, X3) -> active# X1, active# isNatKind s V1 -> isNatKind# V1)
    (active# U33(X1, X2, X3) -> active# X1, active# isNatKind s V1 -> U51# isNatKind V1)
    (active# U33(X1, X2, X3) -> active# X1, active# U101(X1, X2, X3) -> active# X1)
    (active# U33(X1, X2, X3) -> active# X1, active# U101(X1, X2, X3) -> U101#(active X1, X2, X3))
    (active# U33(X1, X2, X3) -> active# X1, active# U101(tt(), M, N) -> U102#(isNatKind M, M, N))
    (active# U33(X1, X2, X3) -> active# X1, active# U101(tt(), M, N) -> isNatKind# M)
    (active# U33(X1, X2, X3) -> active# X1, active# U103(X1, X2, X3) -> active# X1)
    (active# U33(X1, X2, X3) -> active# X1, active# U103(X1, X2, X3) -> U103#(active X1, X2, X3))
    (active# U33(X1, X2, X3) -> active# X1, active# U103(tt(), M, N) -> isNatKind# N)
    (active# U33(X1, X2, X3) -> active# X1, active# U103(tt(), M, N) -> U104#(isNatKind N, M, N))
    (active# U33(X1, X2, X3) -> active# X1, active# isNat plus(V1, V2) -> isNatKind# V1)
    (active# U33(X1, X2, X3) -> active# X1, active# isNat plus(V1, V2) -> U11#(isNatKind V1, V1, V2))
    (active# U33(X1, X2, X3) -> active# X1, active# isNat x(V1, V2) -> isNatKind# V1)
    (active# U33(X1, X2, X3) -> active# X1, active# isNat x(V1, V2) -> U31#(isNatKind V1, V1, V2))
    (active# U33(X1, X2, X3) -> active# X1, active# isNat s V1 -> isNatKind# V1)
    (active# U33(X1, X2, X3) -> active# X1, active# isNat s V1 -> U21#(isNatKind V1, V1))
    (active# U33(X1, X2, X3) -> active# X1, active# U104(X1, X2, X3) -> active# X1)
    (active# U33(X1, X2, X3) -> active# X1, active# U104(X1, X2, X3) -> U104#(active X1, X2, X3))
    (active# U33(X1, X2, X3) -> active# X1, active# U104(tt(), M, N) -> plus#(x(N, M), N))
    (active# U33(X1, X2, X3) -> active# X1, active# U104(tt(), M, N) -> x#(N, M))
    (active# U33(X1, X2, X3) -> active# X1, active# plus(N, s M) -> isNat# M)
    (active# U33(X1, X2, X3) -> active# X1, active# plus(N, s M) -> U81#(isNat M, M, N))
    (active# U33(X1, X2, X3) -> active# X1, active# plus(N, 0()) -> isNat# N)
    (active# U33(X1, X2, X3) -> active# X1, active# plus(N, 0()) -> U71#(isNat N, N))
    (active# U33(X1, X2, X3) -> active# X1, active# plus(X1, X2) -> active# X1)
    (active# U33(X1, X2, X3) -> active# X1, active# plus(X1, X2) -> active# X2)
    (active# U33(X1, X2, X3) -> active# X1, active# plus(X1, X2) -> plus#(X1, active X2))
    (active# U33(X1, X2, X3) -> active# X1, active# plus(X1, X2) -> plus#(active X1, X2))
    (active# U33(X1, X2, X3) -> active# X1, active# x(N, s M) -> U101#(isNat M, M, N))
    (active# U33(X1, X2, X3) -> active# X1, active# x(N, s M) -> isNat# M)
    (active# U33(X1, X2, X3) -> active# X1, active# x(N, 0()) -> isNat# N)
    (active# U33(X1, X2, X3) -> active# X1, active# x(N, 0()) -> U91#(isNat N, N))
    (active# U33(X1, X2, X3) -> active# X1, active# x(X1, X2) -> active# X1)
    (active# U33(X1, X2, X3) -> active# X1, active# x(X1, X2) -> active# X2)
    (active# U33(X1, X2, X3) -> active# X1, active# x(X1, X2) -> x#(X1, active X2))
    (active# U33(X1, X2, X3) -> active# X1, active# x(X1, X2) -> x#(active X1, X2))
    (active# U33(X1, X2, X3) -> active# X1, active# U12(X1, X2, X3) -> active# X1)
    (active# U33(X1, X2, X3) -> active# X1, active# U12(X1, X2, X3) -> U12#(active X1, X2, X3))
    (active# U33(X1, X2, X3) -> active# X1, active# U12(tt(), V1, V2) -> isNatKind# V2)
    (active# U33(X1, X2, X3) -> active# X1, active# U12(tt(), V1, V2) -> U13#(isNatKind V2, V1, V2))
    (active# U33(X1, X2, X3) -> active# X1, active# U11(X1, X2, X3) -> active# X1)
    (active# U33(X1, X2, X3) -> active# X1, active# U11(X1, X2, X3) -> U11#(active X1, X2, X3))
    (active# U33(X1, X2, X3) -> active# X1, active# U11(tt(), V1, V2) -> isNatKind# V1)
    (active# U33(X1, X2, X3) -> active# X1, active# U11(tt(), V1, V2) -> U12#(isNatKind V1, V1, V2))
    (active# U33(X1, X2, X3) -> active# X1, active# U13(X1, X2, X3) -> active# X1)
    (active# U33(X1, X2, X3) -> active# X1, active# U13(X1, X2, X3) -> U13#(active X1, X2, X3))
    (active# U33(X1, X2, X3) -> active# X1, active# U13(tt(), V1, V2) -> isNatKind# V2)
    (active# U33(X1, X2, X3) -> active# X1, active# U13(tt(), V1, V2) -> U14#(isNatKind V2, V1, V2))
    (active# U33(X1, X2, X3) -> active# X1, active# U14(X1, X2, X3) -> active# X1)
    (active# U33(X1, X2, X3) -> active# X1, active# U14(X1, X2, X3) -> U14#(active X1, X2, X3))
    (active# U33(X1, X2, X3) -> active# X1, active# U14(tt(), V1, V2) -> isNat# V1)
    (active# U33(X1, X2, X3) -> active# X1, active# U14(tt(), V1, V2) -> U15#(isNat V1, V2))
    (active# U33(X1, X2, X3) -> active# X1, active# U15(X1, X2) -> active# X1)
    (active# U33(X1, X2, X3) -> active# X1, active# U15(X1, X2) -> U15#(active X1, X2))
    (active# U33(X1, X2, X3) -> active# X1, active# U15(tt(), V2) -> isNat# V2)
    (active# U33(X1, X2, X3) -> active# X1, active# U15(tt(), V2) -> U16# isNat V2)
    (active# U33(X1, X2, X3) -> active# X1, active# U16 X -> active# X)
    (active# U33(X1, X2, X3) -> active# X1, active# U16 X -> U16# active X)
    (active# U33(X1, X2, X3) -> active# X1, active# U22(X1, X2) -> active# X1)
    (active# U33(X1, X2, X3) -> active# X1, active# U22(X1, X2) -> U22#(active X1, X2))
    (active# U33(X1, X2, X3) -> active# X1, active# U22(tt(), V1) -> isNat# V1)
    (active# U33(X1, X2, X3) -> active# X1, active# U22(tt(), V1) -> U23# isNat V1)
    (active# U33(X1, X2, X3) -> active# X1, active# U21(X1, X2) -> active# X1)
    (active# U33(X1, X2, X3) -> active# X1, active# U21(X1, X2) -> U21#(active X1, X2))
    (active# U33(X1, X2, X3) -> active# X1, active# U21(tt(), V1) -> isNatKind# V1)
    (active# U33(X1, X2, X3) -> active# X1, active# U21(tt(), V1) -> U22#(isNatKind V1, V1))
    (active# U33(X1, X2, X3) -> active# X1, active# U23 X -> active# X)
    (active# U33(X1, X2, X3) -> active# X1, active# U23 X -> U23# active X)
    (active# U33(X1, X2, X3) -> active# X1, active# U32(X1, X2, X3) -> active# X1)
    (active# U33(X1, X2, X3) -> active# X1, active# U32(X1, X2, X3) -> U32#(active X1, X2, X3))
    (active# U33(X1, X2, X3) -> active# X1, active# U32(tt(), V1, V2) -> isNatKind# V2)
    (active# U33(X1, X2, X3) -> active# X1, active# U32(tt(), V1, V2) -> U33#(isNatKind V2, V1, V2))
    (active# U33(X1, X2, X3) -> active# X1, active# U31(X1, X2, X3) -> active# X1)
    (active# U33(X1, X2, X3) -> active# X1, active# U31(X1, X2, X3) -> U31#(active X1, X2, X3))
    (active# U33(X1, X2, X3) -> active# X1, active# U31(tt(), V1, V2) -> isNatKind# V1)
    (active# U33(X1, X2, X3) -> active# X1, active# U31(tt(), V1, V2) -> U32#(isNatKind V1, V1, V2))
    (active# U33(X1, X2, X3) -> active# X1, active# U33(X1, X2, X3) -> active# X1)
    (active# U33(X1, X2, X3) -> active# X1, active# U33(X1, X2, X3) -> U33#(active X1, X2, X3))
    (active# U33(X1, X2, X3) -> active# X1, active# U33(tt(), V1, V2) -> isNatKind# V2)
    (active# U33(X1, X2, X3) -> active# X1, active# U33(tt(), V1, V2) -> U34#(isNatKind V2, V1, V2))
    (active# U33(X1, X2, X3) -> active# X1, active# U34(X1, X2, X3) -> active# X1)
    (active# U33(X1, X2, X3) -> active# X1, active# U34(X1, X2, X3) -> U34#(active X1, X2, X3))
    (active# U33(X1, X2, X3) -> active# X1, active# U34(tt(), V1, V2) -> isNat# V1)
    (active# U33(X1, X2, X3) -> active# X1, active# U34(tt(), V1, V2) -> U35#(isNat V1, V2))
    (active# U33(X1, X2, X3) -> active# X1, active# U35(X1, X2) -> active# X1)
    (active# U33(X1, X2, X3) -> active# X1, active# U35(X1, X2) -> U35#(active X1, X2))
    (active# U33(X1, X2, X3) -> active# X1, active# U35(tt(), V2) -> isNat# V2)
    (active# U33(X1, X2, X3) -> active# X1, active# U35(tt(), V2) -> U36# isNat V2)
    (active# U33(X1, X2, X3) -> active# X1, active# U36 X -> active# X)
    (active# U33(X1, X2, X3) -> active# X1, active# U36 X -> U36# active X)
    (active# U33(X1, X2, X3) -> active# X1, active# U42 X -> active# X)
    (active# U33(X1, X2, X3) -> active# X1, active# U42 X -> U42# active X)
    (active# U33(X1, X2, X3) -> active# X1, active# U41(X1, X2) -> active# X1)
    (active# U33(X1, X2, X3) -> active# X1, active# U41(X1, X2) -> U41#(active X1, X2))
    (active# U33(X1, X2, X3) -> active# X1, active# U41(tt(), V2) -> isNatKind# V2)
    (active# U33(X1, X2, X3) -> active# X1, active# U41(tt(), V2) -> U42# isNatKind V2)
    (active# U33(X1, X2, X3) -> active# X1, active# U51 X -> active# X)
    (active# U33(X1, X2, X3) -> active# X1, active# U51 X -> U51# active X)
    (active# U33(X1, X2, X3) -> active# X1, active# U62 X -> active# X)
    (active# U33(X1, X2, X3) -> active# X1, active# U62 X -> U62# active X)
    (active# U33(X1, X2, X3) -> active# X1, active# U61(X1, X2) -> active# X1)
    (active# U33(X1, X2, X3) -> active# X1, active# U61(X1, X2) -> U61#(active X1, X2))
    (active# U33(X1, X2, X3) -> active# X1, active# U61(tt(), V2) -> isNatKind# V2)
    (active# U33(X1, X2, X3) -> active# X1, active# U61(tt(), V2) -> U62# isNatKind V2)
    (active# U33(X1, X2, X3) -> active# X1, active# U72(X1, X2) -> active# X1)
    (active# U33(X1, X2, X3) -> active# X1, active# U72(X1, X2) -> U72#(active X1, X2))
    (active# U33(X1, X2, X3) -> active# X1, active# U71(X1, X2) -> active# X1)
    (active# U33(X1, X2, X3) -> active# X1, active# U71(X1, X2) -> U71#(active X1, X2))
    (active# U33(X1, X2, X3) -> active# X1, active# U71(tt(), N) -> isNatKind# N)
    (active# U33(X1, X2, X3) -> active# X1, active# U71(tt(), N) -> U72#(isNatKind N, N))
    (active# U33(X1, X2, X3) -> active# X1, active# U82(X1, X2, X3) -> active# X1)
    (active# U33(X1, X2, X3) -> active# X1, active# U82(X1, X2, X3) -> U82#(active X1, X2, X3))
    (active# U33(X1, X2, X3) -> active# X1, active# U82(tt(), M, N) -> isNat# N)
    (active# U33(X1, X2, X3) -> active# X1, active# U82(tt(), M, N) -> U83#(isNat N, M, N))
    (active# U33(X1, X2, X3) -> active# X1, active# U81(X1, X2, X3) -> active# X1)
    (active# U33(X1, X2, X3) -> active# X1, active# U81(X1, X2, X3) -> U81#(active X1, X2, X3))
    (active# U33(X1, X2, X3) -> active# X1, active# U81(tt(), M, N) -> isNatKind# M)
    (active# U33(X1, X2, X3) -> active# X1, active# U81(tt(), M, N) -> U82#(isNatKind M, M, N))
    (active# U33(X1, X2, X3) -> active# X1, active# U83(X1, X2, X3) -> active# X1)
    (active# U33(X1, X2, X3) -> active# X1, active# U83(X1, X2, X3) -> U83#(active X1, X2, X3))
    (active# U33(X1, X2, X3) -> active# X1, active# U83(tt(), M, N) -> isNatKind# N)
    (active# U33(X1, X2, X3) -> active# X1, active# U83(tt(), M, N) -> U84#(isNatKind N, M, N))
    (active# U33(X1, X2, X3) -> active# X1, active# U84(X1, X2, X3) -> active# X1)
    (active# U33(X1, X2, X3) -> active# X1, active# U84(X1, X2, X3) -> U84#(active X1, X2, X3))
    (active# U33(X1, X2, X3) -> active# X1, active# U84(tt(), M, N) -> plus#(N, M))
    (active# U33(X1, X2, X3) -> active# X1, active# U84(tt(), M, N) -> s# plus(N, M))
    (active# U33(X1, X2, X3) -> active# X1, active# s X -> active# X)
    (active# U33(X1, X2, X3) -> active# X1, active# s X -> s# active X)
    (active# U33(X1, X2, X3) -> active# X1, active# U92 X -> active# X)
    (active# U33(X1, X2, X3) -> active# X1, active# U92 X -> U92# active X)
    (active# U33(X1, X2, X3) -> active# X1, active# U91(X1, X2) -> active# X1)
    (active# U33(X1, X2, X3) -> active# X1, active# U91(X1, X2) -> U91#(active X1, X2))
    (active# U33(X1, X2, X3) -> active# X1, active# U91(tt(), N) -> isNatKind# N)
    (active# U33(X1, X2, X3) -> active# X1, active# U91(tt(), N) -> U92# isNatKind N)
    (active# U32(X1, X2, X3) -> active# X1, active# U102(X1, X2, X3) -> U102#(active X1, X2, X3))
    (active# U32(X1, X2, X3) -> active# X1, active# U102(X1, X2, X3) -> active# X1)
    (active# U32(X1, X2, X3) -> active# X1, active# U102(tt(), M, N) -> U103#(isNat N, M, N))
    (active# U32(X1, X2, X3) -> active# X1, active# U102(tt(), M, N) -> isNat# N)
    (active# U32(X1, X2, X3) -> active# X1, active# isNatKind plus(V1, V2) -> isNatKind# V1)
    (active# U32(X1, X2, X3) -> active# X1, active# isNatKind plus(V1, V2) -> U41#(isNatKind V1, V2))
    (active# U32(X1, X2, X3) -> active# X1, active# isNatKind x(V1, V2) -> isNatKind# V1)
    (active# U32(X1, X2, X3) -> active# X1, active# isNatKind x(V1, V2) -> U61#(isNatKind V1, V2))
    (active# U32(X1, X2, X3) -> active# X1, active# isNatKind s V1 -> isNatKind# V1)
    (active# U32(X1, X2, X3) -> active# X1, active# isNatKind s V1 -> U51# isNatKind V1)
    (active# U32(X1, X2, X3) -> active# X1, active# U101(X1, X2, X3) -> active# X1)
    (active# U32(X1, X2, X3) -> active# X1, active# U101(X1, X2, X3) -> U101#(active X1, X2, X3))
    (active# U32(X1, X2, X3) -> active# X1, active# U101(tt(), M, N) -> U102#(isNatKind M, M, N))
    (active# U32(X1, X2, X3) -> active# X1, active# U101(tt(), M, N) -> isNatKind# M)
    (active# U32(X1, X2, X3) -> active# X1, active# U103(X1, X2, X3) -> active# X1)
    (active# U32(X1, X2, X3) -> active# X1, active# U103(X1, X2, X3) -> U103#(active X1, X2, X3))
    (active# U32(X1, X2, X3) -> active# X1, active# U103(tt(), M, N) -> isNatKind# N)
    (active# U32(X1, X2, X3) -> active# X1, active# U103(tt(), M, N) -> U104#(isNatKind N, M, N))
    (active# U32(X1, X2, X3) -> active# X1, active# isNat plus(V1, V2) -> isNatKind# V1)
    (active# U32(X1, X2, X3) -> active# X1, active# isNat plus(V1, V2) -> U11#(isNatKind V1, V1, V2))
    (active# U32(X1, X2, X3) -> active# X1, active# isNat x(V1, V2) -> isNatKind# V1)
    (active# U32(X1, X2, X3) -> active# X1, active# isNat x(V1, V2) -> U31#(isNatKind V1, V1, V2))
    (active# U32(X1, X2, X3) -> active# X1, active# isNat s V1 -> isNatKind# V1)
    (active# U32(X1, X2, X3) -> active# X1, active# isNat s V1 -> U21#(isNatKind V1, V1))
    (active# U32(X1, X2, X3) -> active# X1, active# U104(X1, X2, X3) -> active# X1)
    (active# U32(X1, X2, X3) -> active# X1, active# U104(X1, X2, X3) -> U104#(active X1, X2, X3))
    (active# U32(X1, X2, X3) -> active# X1, active# U104(tt(), M, N) -> plus#(x(N, M), N))
    (active# U32(X1, X2, X3) -> active# X1, active# U104(tt(), M, N) -> x#(N, M))
    (active# U32(X1, X2, X3) -> active# X1, active# plus(N, s M) -> isNat# M)
    (active# U32(X1, X2, X3) -> active# X1, active# plus(N, s M) -> U81#(isNat M, M, N))
    (active# U32(X1, X2, X3) -> active# X1, active# plus(N, 0()) -> isNat# N)
    (active# U32(X1, X2, X3) -> active# X1, active# plus(N, 0()) -> U71#(isNat N, N))
    (active# U32(X1, X2, X3) -> active# X1, active# plus(X1, X2) -> active# X1)
    (active# U32(X1, X2, X3) -> active# X1, active# plus(X1, X2) -> active# X2)
    (active# U32(X1, X2, X3) -> active# X1, active# plus(X1, X2) -> plus#(X1, active X2))
    (active# U32(X1, X2, X3) -> active# X1, active# plus(X1, X2) -> plus#(active X1, X2))
    (active# U32(X1, X2, X3) -> active# X1, active# x(N, s M) -> U101#(isNat M, M, N))
    (active# U32(X1, X2, X3) -> active# X1, active# x(N, s M) -> isNat# M)
    (active# U32(X1, X2, X3) -> active# X1, active# x(N, 0()) -> isNat# N)
    (active# U32(X1, X2, X3) -> active# X1, active# x(N, 0()) -> U91#(isNat N, N))
    (active# U32(X1, X2, X3) -> active# X1, active# x(X1, X2) -> active# X1)
    (active# U32(X1, X2, X3) -> active# X1, active# x(X1, X2) -> active# X2)
    (active# U32(X1, X2, X3) -> active# X1, active# x(X1, X2) -> x#(X1, active X2))
    (active# U32(X1, X2, X3) -> active# X1, active# x(X1, X2) -> x#(active X1, X2))
    (active# U32(X1, X2, X3) -> active# X1, active# U12(X1, X2, X3) -> active# X1)
    (active# U32(X1, X2, X3) -> active# X1, active# U12(X1, X2, X3) -> U12#(active X1, X2, X3))
    (active# U32(X1, X2, X3) -> active# X1, active# U12(tt(), V1, V2) -> isNatKind# V2)
    (active# U32(X1, X2, X3) -> active# X1, active# U12(tt(), V1, V2) -> U13#(isNatKind V2, V1, V2))
    (active# U32(X1, X2, X3) -> active# X1, active# U11(X1, X2, X3) -> active# X1)
    (active# U32(X1, X2, X3) -> active# X1, active# U11(X1, X2, X3) -> U11#(active X1, X2, X3))
    (active# U32(X1, X2, X3) -> active# X1, active# U11(tt(), V1, V2) -> isNatKind# V1)
    (active# U32(X1, X2, X3) -> active# X1, active# U11(tt(), V1, V2) -> U12#(isNatKind V1, V1, V2))
    (active# U32(X1, X2, X3) -> active# X1, active# U13(X1, X2, X3) -> active# X1)
    (active# U32(X1, X2, X3) -> active# X1, active# U13(X1, X2, X3) -> U13#(active X1, X2, X3))
    (active# U32(X1, X2, X3) -> active# X1, active# U13(tt(), V1, V2) -> isNatKind# V2)
    (active# U32(X1, X2, X3) -> active# X1, active# U13(tt(), V1, V2) -> U14#(isNatKind V2, V1, V2))
    (active# U32(X1, X2, X3) -> active# X1, active# U14(X1, X2, X3) -> active# X1)
    (active# U32(X1, X2, X3) -> active# X1, active# U14(X1, X2, X3) -> U14#(active X1, X2, X3))
    (active# U32(X1, X2, X3) -> active# X1, active# U14(tt(), V1, V2) -> isNat# V1)
    (active# U32(X1, X2, X3) -> active# X1, active# U14(tt(), V1, V2) -> U15#(isNat V1, V2))
    (active# U32(X1, X2, X3) -> active# X1, active# U15(X1, X2) -> active# X1)
    (active# U32(X1, X2, X3) -> active# X1, active# U15(X1, X2) -> U15#(active X1, X2))
    (active# U32(X1, X2, X3) -> active# X1, active# U15(tt(), V2) -> isNat# V2)
    (active# U32(X1, X2, X3) -> active# X1, active# U15(tt(), V2) -> U16# isNat V2)
    (active# U32(X1, X2, X3) -> active# X1, active# U16 X -> active# X)
    (active# U32(X1, X2, X3) -> active# X1, active# U16 X -> U16# active X)
    (active# U32(X1, X2, X3) -> active# X1, active# U22(X1, X2) -> active# X1)
    (active# U32(X1, X2, X3) -> active# X1, active# U22(X1, X2) -> U22#(active X1, X2))
    (active# U32(X1, X2, X3) -> active# X1, active# U22(tt(), V1) -> isNat# V1)
    (active# U32(X1, X2, X3) -> active# X1, active# U22(tt(), V1) -> U23# isNat V1)
    (active# U32(X1, X2, X3) -> active# X1, active# U21(X1, X2) -> active# X1)
    (active# U32(X1, X2, X3) -> active# X1, active# U21(X1, X2) -> U21#(active X1, X2))
    (active# U32(X1, X2, X3) -> active# X1, active# U21(tt(), V1) -> isNatKind# V1)
    (active# U32(X1, X2, X3) -> active# X1, active# U21(tt(), V1) -> U22#(isNatKind V1, V1))
    (active# U32(X1, X2, X3) -> active# X1, active# U23 X -> active# X)
    (active# U32(X1, X2, X3) -> active# X1, active# U23 X -> U23# active X)
    (active# U32(X1, X2, X3) -> active# X1, active# U32(X1, X2, X3) -> active# X1)
    (active# U32(X1, X2, X3) -> active# X1, active# U32(X1, X2, X3) -> U32#(active X1, X2, X3))
    (active# U32(X1, X2, X3) -> active# X1, active# U32(tt(), V1, V2) -> isNatKind# V2)
    (active# U32(X1, X2, X3) -> active# X1, active# U32(tt(), V1, V2) -> U33#(isNatKind V2, V1, V2))
    (active# U32(X1, X2, X3) -> active# X1, active# U31(X1, X2, X3) -> active# X1)
    (active# U32(X1, X2, X3) -> active# X1, active# U31(X1, X2, X3) -> U31#(active X1, X2, X3))
    (active# U32(X1, X2, X3) -> active# X1, active# U31(tt(), V1, V2) -> isNatKind# V1)
    (active# U32(X1, X2, X3) -> active# X1, active# U31(tt(), V1, V2) -> U32#(isNatKind V1, V1, V2))
    (active# U32(X1, X2, X3) -> active# X1, active# U33(X1, X2, X3) -> active# X1)
    (active# U32(X1, X2, X3) -> active# X1, active# U33(X1, X2, X3) -> U33#(active X1, X2, X3))
    (active# U32(X1, X2, X3) -> active# X1, active# U33(tt(), V1, V2) -> isNatKind# V2)
    (active# U32(X1, X2, X3) -> active# X1, active# U33(tt(), V1, V2) -> U34#(isNatKind V2, V1, V2))
    (active# U32(X1, X2, X3) -> active# X1, active# U34(X1, X2, X3) -> active# X1)
    (active# U32(X1, X2, X3) -> active# X1, active# U34(X1, X2, X3) -> U34#(active X1, X2, X3))
    (active# U32(X1, X2, X3) -> active# X1, active# U34(tt(), V1, V2) -> isNat# V1)
    (active# U32(X1, X2, X3) -> active# X1, active# U34(tt(), V1, V2) -> U35#(isNat V1, V2))
    (active# U32(X1, X2, X3) -> active# X1, active# U35(X1, X2) -> active# X1)
    (active# U32(X1, X2, X3) -> active# X1, active# U35(X1, X2) -> U35#(active X1, X2))
    (active# U32(X1, X2, X3) -> active# X1, active# U35(tt(), V2) -> isNat# V2)
    (active# U32(X1, X2, X3) -> active# X1, active# U35(tt(), V2) -> U36# isNat V2)
    (active# U32(X1, X2, X3) -> active# X1, active# U36 X -> active# X)
    (active# U32(X1, X2, X3) -> active# X1, active# U36 X -> U36# active X)
    (active# U32(X1, X2, X3) -> active# X1, active# U42 X -> active# X)
    (active# U32(X1, X2, X3) -> active# X1, active# U42 X -> U42# active X)
    (active# U32(X1, X2, X3) -> active# X1, active# U41(X1, X2) -> active# X1)
    (active# U32(X1, X2, X3) -> active# X1, active# U41(X1, X2) -> U41#(active X1, X2))
    (active# U32(X1, X2, X3) -> active# X1, active# U41(tt(), V2) -> isNatKind# V2)
    (active# U32(X1, X2, X3) -> active# X1, active# U41(tt(), V2) -> U42# isNatKind V2)
    (active# U32(X1, X2, X3) -> active# X1, active# U51 X -> active# X)
    (active# U32(X1, X2, X3) -> active# X1, active# U51 X -> U51# active X)
    (active# U32(X1, X2, X3) -> active# X1, active# U62 X -> active# X)
    (active# U32(X1, X2, X3) -> active# X1, active# U62 X -> U62# active X)
    (active# U32(X1, X2, X3) -> active# X1, active# U61(X1, X2) -> active# X1)
    (active# U32(X1, X2, X3) -> active# X1, active# U61(X1, X2) -> U61#(active X1, X2))
    (active# U32(X1, X2, X3) -> active# X1, active# U61(tt(), V2) -> isNatKind# V2)
    (active# U32(X1, X2, X3) -> active# X1, active# U61(tt(), V2) -> U62# isNatKind V2)
    (active# U32(X1, X2, X3) -> active# X1, active# U72(X1, X2) -> active# X1)
    (active# U32(X1, X2, X3) -> active# X1, active# U72(X1, X2) -> U72#(active X1, X2))
    (active# U32(X1, X2, X3) -> active# X1, active# U71(X1, X2) -> active# X1)
    (active# U32(X1, X2, X3) -> active# X1, active# U71(X1, X2) -> U71#(active X1, X2))
    (active# U32(X1, X2, X3) -> active# X1, active# U71(tt(), N) -> isNatKind# N)
    (active# U32(X1, X2, X3) -> active# X1, active# U71(tt(), N) -> U72#(isNatKind N, N))
    (active# U32(X1, X2, X3) -> active# X1, active# U82(X1, X2, X3) -> active# X1)
    (active# U32(X1, X2, X3) -> active# X1, active# U82(X1, X2, X3) -> U82#(active X1, X2, X3))
    (active# U32(X1, X2, X3) -> active# X1, active# U82(tt(), M, N) -> isNat# N)
    (active# U32(X1, X2, X3) -> active# X1, active# U82(tt(), M, N) -> U83#(isNat N, M, N))
    (active# U32(X1, X2, X3) -> active# X1, active# U81(X1, X2, X3) -> active# X1)
    (active# U32(X1, X2, X3) -> active# X1, active# U81(X1, X2, X3) -> U81#(active X1, X2, X3))
    (active# U32(X1, X2, X3) -> active# X1, active# U81(tt(), M, N) -> isNatKind# M)
    (active# U32(X1, X2, X3) -> active# X1, active# U81(tt(), M, N) -> U82#(isNatKind M, M, N))
    (active# U32(X1, X2, X3) -> active# X1, active# U83(X1, X2, X3) -> active# X1)
    (active# U32(X1, X2, X3) -> active# X1, active# U83(X1, X2, X3) -> U83#(active X1, X2, X3))
    (active# U32(X1, X2, X3) -> active# X1, active# U83(tt(), M, N) -> isNatKind# N)
    (active# U32(X1, X2, X3) -> active# X1, active# U83(tt(), M, N) -> U84#(isNatKind N, M, N))
    (active# U32(X1, X2, X3) -> active# X1, active# U84(X1, X2, X3) -> active# X1)
    (active# U32(X1, X2, X3) -> active# X1, active# U84(X1, X2, X3) -> U84#(active X1, X2, X3))
    (active# U32(X1, X2, X3) -> active# X1, active# U84(tt(), M, N) -> plus#(N, M))
    (active# U32(X1, X2, X3) -> active# X1, active# U84(tt(), M, N) -> s# plus(N, M))
    (active# U32(X1, X2, X3) -> active# X1, active# s X -> active# X)
    (active# U32(X1, X2, X3) -> active# X1, active# s X -> s# active X)
    (active# U32(X1, X2, X3) -> active# X1, active# U92 X -> active# X)
    (active# U32(X1, X2, X3) -> active# X1, active# U92 X -> U92# active X)
    (active# U32(X1, X2, X3) -> active# X1, active# U91(X1, X2) -> active# X1)
    (active# U32(X1, X2, X3) -> active# X1, active# U91(X1, X2) -> U91#(active X1, X2))
    (active# U32(X1, X2, X3) -> active# X1, active# U91(tt(), N) -> isNatKind# N)
    (active# U32(X1, X2, X3) -> active# X1, active# U91(tt(), N) -> U92# isNatKind N)
    (active# U22(X1, X2) -> active# X1, active# U102(X1, X2, X3) -> U102#(active X1, X2, X3))
    (active# U22(X1, X2) -> active# X1, active# U102(X1, X2, X3) -> active# X1)
    (active# U22(X1, X2) -> active# X1, active# U102(tt(), M, N) -> U103#(isNat N, M, N))
    (active# U22(X1, X2) -> active# X1, active# U102(tt(), M, N) -> isNat# N)
    (active# U22(X1, X2) -> active# X1, active# isNatKind plus(V1, V2) -> isNatKind# V1)
    (active# U22(X1, X2) -> active# X1, active# isNatKind plus(V1, V2) -> U41#(isNatKind V1, V2))
    (active# U22(X1, X2) -> active# X1, active# isNatKind x(V1, V2) -> isNatKind# V1)
    (active# U22(X1, X2) -> active# X1, active# isNatKind x(V1, V2) -> U61#(isNatKind V1, V2))
    (active# U22(X1, X2) -> active# X1, active# isNatKind s V1 -> isNatKind# V1)
    (active# U22(X1, X2) -> active# X1, active# isNatKind s V1 -> U51# isNatKind V1)
    (active# U22(X1, X2) -> active# X1, active# U101(X1, X2, X3) -> active# X1)
    (active# U22(X1, X2) -> active# X1, active# U101(X1, X2, X3) -> U101#(active X1, X2, X3))
    (active# U22(X1, X2) -> active# X1, active# U101(tt(), M, N) -> U102#(isNatKind M, M, N))
    (active# U22(X1, X2) -> active# X1, active# U101(tt(), M, N) -> isNatKind# M)
    (active# U22(X1, X2) -> active# X1, active# U103(X1, X2, X3) -> active# X1)
    (active# U22(X1, X2) -> active# X1, active# U103(X1, X2, X3) -> U103#(active X1, X2, X3))
    (active# U22(X1, X2) -> active# X1, active# U103(tt(), M, N) -> isNatKind# N)
    (active# U22(X1, X2) -> active# X1, active# U103(tt(), M, N) -> U104#(isNatKind N, M, N))
    (active# U22(X1, X2) -> active# X1, active# isNat plus(V1, V2) -> isNatKind# V1)
    (active# U22(X1, X2) -> active# X1, active# isNat plus(V1, V2) -> U11#(isNatKind V1, V1, V2))
    (active# U22(X1, X2) -> active# X1, active# isNat x(V1, V2) -> isNatKind# V1)
    (active# U22(X1, X2) -> active# X1, active# isNat x(V1, V2) -> U31#(isNatKind V1, V1, V2))
    (active# U22(X1, X2) -> active# X1, active# isNat s V1 -> isNatKind# V1)
    (active# U22(X1, X2) -> active# X1, active# isNat s V1 -> U21#(isNatKind V1, V1))
    (active# U22(X1, X2) -> active# X1, active# U104(X1, X2, X3) -> active# X1)
    (active# U22(X1, X2) -> active# X1, active# U104(X1, X2, X3) -> U104#(active X1, X2, X3))
    (active# U22(X1, X2) -> active# X1, active# U104(tt(), M, N) -> plus#(x(N, M), N))
    (active# U22(X1, X2) -> active# X1, active# U104(tt(), M, N) -> x#(N, M))
    (active# U22(X1, X2) -> active# X1, active# plus(N, s M) -> isNat# M)
    (active# U22(X1, X2) -> active# X1, active# plus(N, s M) -> U81#(isNat M, M, N))
    (active# U22(X1, X2) -> active# X1, active# plus(N, 0()) -> isNat# N)
    (active# U22(X1, X2) -> active# X1, active# plus(N, 0()) -> U71#(isNat N, N))
    (active# U22(X1, X2) -> active# X1, active# plus(X1, X2) -> active# X1)
    (active# U22(X1, X2) -> active# X1, active# plus(X1, X2) -> active# X2)
    (active# U22(X1, X2) -> active# X1, active# plus(X1, X2) -> plus#(X1, active X2))
    (active# U22(X1, X2) -> active# X1, active# plus(X1, X2) -> plus#(active X1, X2))
    (active# U22(X1, X2) -> active# X1, active# x(N, s M) -> U101#(isNat M, M, N))
    (active# U22(X1, X2) -> active# X1, active# x(N, s M) -> isNat# M)
    (active# U22(X1, X2) -> active# X1, active# x(N, 0()) -> isNat# N)
    (active# U22(X1, X2) -> active# X1, active# x(N, 0()) -> U91#(isNat N, N))
    (active# U22(X1, X2) -> active# X1, active# x(X1, X2) -> active# X1)
    (active# U22(X1, X2) -> active# X1, active# x(X1, X2) -> active# X2)
    (active# U22(X1, X2) -> active# X1, active# x(X1, X2) -> x#(X1, active X2))
    (active# U22(X1, X2) -> active# X1, active# x(X1, X2) -> x#(active X1, X2))
    (active# U22(X1, X2) -> active# X1, active# U12(X1, X2, X3) -> active# X1)
    (active# U22(X1, X2) -> active# X1, active# U12(X1, X2, X3) -> U12#(active X1, X2, X3))
    (active# U22(X1, X2) -> active# X1, active# U12(tt(), V1, V2) -> isNatKind# V2)
    (active# U22(X1, X2) -> active# X1, active# U12(tt(), V1, V2) -> U13#(isNatKind V2, V1, V2))
    (active# U22(X1, X2) -> active# X1, active# U11(X1, X2, X3) -> active# X1)
    (active# U22(X1, X2) -> active# X1, active# U11(X1, X2, X3) -> U11#(active X1, X2, X3))
    (active# U22(X1, X2) -> active# X1, active# U11(tt(), V1, V2) -> isNatKind# V1)
    (active# U22(X1, X2) -> active# X1, active# U11(tt(), V1, V2) -> U12#(isNatKind V1, V1, V2))
    (active# U22(X1, X2) -> active# X1, active# U13(X1, X2, X3) -> active# X1)
    (active# U22(X1, X2) -> active# X1, active# U13(X1, X2, X3) -> U13#(active X1, X2, X3))
    (active# U22(X1, X2) -> active# X1, active# U13(tt(), V1, V2) -> isNatKind# V2)
    (active# U22(X1, X2) -> active# X1, active# U13(tt(), V1, V2) -> U14#(isNatKind V2, V1, V2))
    (active# U22(X1, X2) -> active# X1, active# U14(X1, X2, X3) -> active# X1)
    (active# U22(X1, X2) -> active# X1, active# U14(X1, X2, X3) -> U14#(active X1, X2, X3))
    (active# U22(X1, X2) -> active# X1, active# U14(tt(), V1, V2) -> isNat# V1)
    (active# U22(X1, X2) -> active# X1, active# U14(tt(), V1, V2) -> U15#(isNat V1, V2))
    (active# U22(X1, X2) -> active# X1, active# U15(X1, X2) -> active# X1)
    (active# U22(X1, X2) -> active# X1, active# U15(X1, X2) -> U15#(active X1, X2))
    (active# U22(X1, X2) -> active# X1, active# U15(tt(), V2) -> isNat# V2)
    (active# U22(X1, X2) -> active# X1, active# U15(tt(), V2) -> U16# isNat V2)
    (active# U22(X1, X2) -> active# X1, active# U16 X -> active# X)
    (active# U22(X1, X2) -> active# X1, active# U16 X -> U16# active X)
    (active# U22(X1, X2) -> active# X1, active# U22(X1, X2) -> active# X1)
    (active# U22(X1, X2) -> active# X1, active# U22(X1, X2) -> U22#(active X1, X2))
    (active# U22(X1, X2) -> active# X1, active# U22(tt(), V1) -> isNat# V1)
    (active# U22(X1, X2) -> active# X1, active# U22(tt(), V1) -> U23# isNat V1)
    (active# U22(X1, X2) -> active# X1, active# U21(X1, X2) -> active# X1)
    (active# U22(X1, X2) -> active# X1, active# U21(X1, X2) -> U21#(active X1, X2))
    (active# U22(X1, X2) -> active# X1, active# U21(tt(), V1) -> isNatKind# V1)
    (active# U22(X1, X2) -> active# X1, active# U21(tt(), V1) -> U22#(isNatKind V1, V1))
    (active# U22(X1, X2) -> active# X1, active# U23 X -> active# X)
    (active# U22(X1, X2) -> active# X1, active# U23 X -> U23# active X)
    (active# U22(X1, X2) -> active# X1, active# U32(X1, X2, X3) -> active# X1)
    (active# U22(X1, X2) -> active# X1, active# U32(X1, X2, X3) -> U32#(active X1, X2, X3))
    (active# U22(X1, X2) -> active# X1, active# U32(tt(), V1, V2) -> isNatKind# V2)
    (active# U22(X1, X2) -> active# X1, active# U32(tt(), V1, V2) -> U33#(isNatKind V2, V1, V2))
    (active# U22(X1, X2) -> active# X1, active# U31(X1, X2, X3) -> active# X1)
    (active# U22(X1, X2) -> active# X1, active# U31(X1, X2, X3) -> U31#(active X1, X2, X3))
    (active# U22(X1, X2) -> active# X1, active# U31(tt(), V1, V2) -> isNatKind# V1)
    (active# U22(X1, X2) -> active# X1, active# U31(tt(), V1, V2) -> U32#(isNatKind V1, V1, V2))
    (active# U22(X1, X2) -> active# X1, active# U33(X1, X2, X3) -> active# X1)
    (active# U22(X1, X2) -> active# X1, active# U33(X1, X2, X3) -> U33#(active X1, X2, X3))
    (active# U22(X1, X2) -> active# X1, active# U33(tt(), V1, V2) -> isNatKind# V2)
    (active# U22(X1, X2) -> active# X1, active# U33(tt(), V1, V2) -> U34#(isNatKind V2, V1, V2))
    (active# U22(X1, X2) -> active# X1, active# U34(X1, X2, X3) -> active# X1)
    (active# U22(X1, X2) -> active# X1, active# U34(X1, X2, X3) -> U34#(active X1, X2, X3))
    (active# U22(X1, X2) -> active# X1, active# U34(tt(), V1, V2) -> isNat# V1)
    (active# U22(X1, X2) -> active# X1, active# U34(tt(), V1, V2) -> U35#(isNat V1, V2))
    (active# U22(X1, X2) -> active# X1, active# U35(X1, X2) -> active# X1)
    (active# U22(X1, X2) -> active# X1, active# U35(X1, X2) -> U35#(active X1, X2))
    (active# U22(X1, X2) -> active# X1, active# U35(tt(), V2) -> isNat# V2)
    (active# U22(X1, X2) -> active# X1, active# U35(tt(), V2) -> U36# isNat V2)
    (active# U22(X1, X2) -> active# X1, active# U36 X -> active# X)
    (active# U22(X1, X2) -> active# X1, active# U36 X -> U36# active X)
    (active# U22(X1, X2) -> active# X1, active# U42 X -> active# X)
    (active# U22(X1, X2) -> active# X1, active# U42 X -> U42# active X)
    (active# U22(X1, X2) -> active# X1, active# U41(X1, X2) -> active# X1)
    (active# U22(X1, X2) -> active# X1, active# U41(X1, X2) -> U41#(active X1, X2))
    (active# U22(X1, X2) -> active# X1, active# U41(tt(), V2) -> isNatKind# V2)
    (active# U22(X1, X2) -> active# X1, active# U41(tt(), V2) -> U42# isNatKind V2)
    (active# U22(X1, X2) -> active# X1, active# U51 X -> active# X)
    (active# U22(X1, X2) -> active# X1, active# U51 X -> U51# active X)
    (active# U22(X1, X2) -> active# X1, active# U62 X -> active# X)
    (active# U22(X1, X2) -> active# X1, active# U62 X -> U62# active X)
    (active# U22(X1, X2) -> active# X1, active# U61(X1, X2) -> active# X1)
    (active# U22(X1, X2) -> active# X1, active# U61(X1, X2) -> U61#(active X1, X2))
    (active# U22(X1, X2) -> active# X1, active# U61(tt(), V2) -> isNatKind# V2)
    (active# U22(X1, X2) -> active# X1, active# U61(tt(), V2) -> U62# isNatKind V2)
    (active# U22(X1, X2) -> active# X1, active# U72(X1, X2) -> active# X1)
    (active# U22(X1, X2) -> active# X1, active# U72(X1, X2) -> U72#(active X1, X2))
    (active# U22(X1, X2) -> active# X1, active# U71(X1, X2) -> active# X1)
    (active# U22(X1, X2) -> active# X1, active# U71(X1, X2) -> U71#(active X1, X2))
    (active# U22(X1, X2) -> active# X1, active# U71(tt(), N) -> isNatKind# N)
    (active# U22(X1, X2) -> active# X1, active# U71(tt(), N) -> U72#(isNatKind N, N))
    (active# U22(X1, X2) -> active# X1, active# U82(X1, X2, X3) -> active# X1)
    (active# U22(X1, X2) -> active# X1, active# U82(X1, X2, X3) -> U82#(active X1, X2, X3))
    (active# U22(X1, X2) -> active# X1, active# U82(tt(), M, N) -> isNat# N)
    (active# U22(X1, X2) -> active# X1, active# U82(tt(), M, N) -> U83#(isNat N, M, N))
    (active# U22(X1, X2) -> active# X1, active# U81(X1, X2, X3) -> active# X1)
    (active# U22(X1, X2) -> active# X1, active# U81(X1, X2, X3) -> U81#(active X1, X2, X3))
    (active# U22(X1, X2) -> active# X1, active# U81(tt(), M, N) -> isNatKind# M)
    (active# U22(X1, X2) -> active# X1, active# U81(tt(), M, N) -> U82#(isNatKind M, M, N))
    (active# U22(X1, X2) -> active# X1, active# U83(X1, X2, X3) -> active# X1)
    (active# U22(X1, X2) -> active# X1, active# U83(X1, X2, X3) -> U83#(active X1, X2, X3))
    (active# U22(X1, X2) -> active# X1, active# U83(tt(), M, N) -> isNatKind# N)
    (active# U22(X1, X2) -> active# X1, active# U83(tt(), M, N) -> U84#(isNatKind N, M, N))
    (active# U22(X1, X2) -> active# X1, active# U84(X1, X2, X3) -> active# X1)
    (active# U22(X1, X2) -> active# X1, active# U84(X1, X2, X3) -> U84#(active X1, X2, X3))
    (active# U22(X1, X2) -> active# X1, active# U84(tt(), M, N) -> plus#(N, M))
    (active# U22(X1, X2) -> active# X1, active# U84(tt(), M, N) -> s# plus(N, M))
    (active# U22(X1, X2) -> active# X1, active# s X -> active# X)
    (active# U22(X1, X2) -> active# X1, active# s X -> s# active X)
    (active# U22(X1, X2) -> active# X1, active# U92 X -> active# X)
    (active# U22(X1, X2) -> active# X1, active# U92 X -> U92# active X)
    (active# U22(X1, X2) -> active# X1, active# U91(X1, X2) -> active# X1)
    (active# U22(X1, X2) -> active# X1, active# U91(X1, X2) -> U91#(active X1, X2))
    (active# U22(X1, X2) -> active# X1, active# U91(tt(), N) -> isNatKind# N)
    (active# U22(X1, X2) -> active# X1, active# U91(tt(), N) -> U92# isNatKind N)
    (active# U14(X1, X2, X3) -> active# X1, active# U102(X1, X2, X3) -> U102#(active X1, X2, X3))
    (active# U14(X1, X2, X3) -> active# X1, active# U102(X1, X2, X3) -> active# X1)
    (active# U14(X1, X2, X3) -> active# X1, active# U102(tt(), M, N) -> U103#(isNat N, M, N))
    (active# U14(X1, X2, X3) -> active# X1, active# U102(tt(), M, N) -> isNat# N)
    (active# U14(X1, X2, X3) -> active# X1, active# isNatKind plus(V1, V2) -> isNatKind# V1)
    (active# U14(X1, X2, X3) -> active# X1, active# isNatKind plus(V1, V2) -> U41#(isNatKind V1, V2))
    (active# U14(X1, X2, X3) -> active# X1, active# isNatKind x(V1, V2) -> isNatKind# V1)
    (active# U14(X1, X2, X3) -> active# X1, active# isNatKind x(V1, V2) -> U61#(isNatKind V1, V2))
    (active# U14(X1, X2, X3) -> active# X1, active# isNatKind s V1 -> isNatKind# V1)
    (active# U14(X1, X2, X3) -> active# X1, active# isNatKind s V1 -> U51# isNatKind V1)
    (active# U14(X1, X2, X3) -> active# X1, active# U101(X1, X2, X3) -> active# X1)
    (active# U14(X1, X2, X3) -> active# X1, active# U101(X1, X2, X3) -> U101#(active X1, X2, X3))
    (active# U14(X1, X2, X3) -> active# X1, active# U101(tt(), M, N) -> U102#(isNatKind M, M, N))
    (active# U14(X1, X2, X3) -> active# X1, active# U101(tt(), M, N) -> isNatKind# M)
    (active# U14(X1, X2, X3) -> active# X1, active# U103(X1, X2, X3) -> active# X1)
    (active# U14(X1, X2, X3) -> active# X1, active# U103(X1, X2, X3) -> U103#(active X1, X2, X3))
    (active# U14(X1, X2, X3) -> active# X1, active# U103(tt(), M, N) -> isNatKind# N)
    (active# U14(X1, X2, X3) -> active# X1, active# U103(tt(), M, N) -> U104#(isNatKind N, M, N))
    (active# U14(X1, X2, X3) -> active# X1, active# isNat plus(V1, V2) -> isNatKind# V1)
    (active# U14(X1, X2, X3) -> active# X1, active# isNat plus(V1, V2) -> U11#(isNatKind V1, V1, V2))
    (active# U14(X1, X2, X3) -> active# X1, active# isNat x(V1, V2) -> isNatKind# V1)
    (active# U14(X1, X2, X3) -> active# X1, active# isNat x(V1, V2) -> U31#(isNatKind V1, V1, V2))
    (active# U14(X1, X2, X3) -> active# X1, active# isNat s V1 -> isNatKind# V1)
    (active# U14(X1, X2, X3) -> active# X1, active# isNat s V1 -> U21#(isNatKind V1, V1))
    (active# U14(X1, X2, X3) -> active# X1, active# U104(X1, X2, X3) -> active# X1)
    (active# U14(X1, X2, X3) -> active# X1, active# U104(X1, X2, X3) -> U104#(active X1, X2, X3))
    (active# U14(X1, X2, X3) -> active# X1, active# U104(tt(), M, N) -> plus#(x(N, M), N))
    (active# U14(X1, X2, X3) -> active# X1, active# U104(tt(), M, N) -> x#(N, M))
    (active# U14(X1, X2, X3) -> active# X1, active# plus(N, s M) -> isNat# M)
    (active# U14(X1, X2, X3) -> active# X1, active# plus(N, s M) -> U81#(isNat M, M, N))
    (active# U14(X1, X2, X3) -> active# X1, active# plus(N, 0()) -> isNat# N)
    (active# U14(X1, X2, X3) -> active# X1, active# plus(N, 0()) -> U71#(isNat N, N))
    (active# U14(X1, X2, X3) -> active# X1, active# plus(X1, X2) -> active# X1)
    (active# U14(X1, X2, X3) -> active# X1, active# plus(X1, X2) -> active# X2)
    (active# U14(X1, X2, X3) -> active# X1, active# plus(X1, X2) -> plus#(X1, active X2))
    (active# U14(X1, X2, X3) -> active# X1, active# plus(X1, X2) -> plus#(active X1, X2))
    (active# U14(X1, X2, X3) -> active# X1, active# x(N, s M) -> U101#(isNat M, M, N))
    (active# U14(X1, X2, X3) -> active# X1, active# x(N, s M) -> isNat# M)
    (active# U14(X1, X2, X3) -> active# X1, active# x(N, 0()) -> isNat# N)
    (active# U14(X1, X2, X3) -> active# X1, active# x(N, 0()) -> U91#(isNat N, N))
    (active# U14(X1, X2, X3) -> active# X1, active# x(X1, X2) -> active# X1)
    (active# U14(X1, X2, X3) -> active# X1, active# x(X1, X2) -> active# X2)
    (active# U14(X1, X2, X3) -> active# X1, active# x(X1, X2) -> x#(X1, active X2))
    (active# U14(X1, X2, X3) -> active# X1, active# x(X1, X2) -> x#(active X1, X2))
    (active# U14(X1, X2, X3) -> active# X1, active# U12(X1, X2, X3) -> active# X1)
    (active# U14(X1, X2, X3) -> active# X1, active# U12(X1, X2, X3) -> U12#(active X1, X2, X3))
    (active# U14(X1, X2, X3) -> active# X1, active# U12(tt(), V1, V2) -> isNatKind# V2)
    (active# U14(X1, X2, X3) -> active# X1, active# U12(tt(), V1, V2) -> U13#(isNatKind V2, V1, V2))
    (active# U14(X1, X2, X3) -> active# X1, active# U11(X1, X2, X3) -> active# X1)
    (active# U14(X1, X2, X3) -> active# X1, active# U11(X1, X2, X3) -> U11#(active X1, X2, X3))
    (active# U14(X1, X2, X3) -> active# X1, active# U11(tt(), V1, V2) -> isNatKind# V1)
    (active# U14(X1, X2, X3) -> active# X1, active# U11(tt(), V1, V2) -> U12#(isNatKind V1, V1, V2))
    (active# U14(X1, X2, X3) -> active# X1, active# U13(X1, X2, X3) -> active# X1)
    (active# U14(X1, X2, X3) -> active# X1, active# U13(X1, X2, X3) -> U13#(active X1, X2, X3))
    (active# U14(X1, X2, X3) -> active# X1, active# U13(tt(), V1, V2) -> isNatKind# V2)
    (active# U14(X1, X2, X3) -> active# X1, active# U13(tt(), V1, V2) -> U14#(isNatKind V2, V1, V2))
    (active# U14(X1, X2, X3) -> active# X1, active# U14(X1, X2, X3) -> active# X1)
    (active# U14(X1, X2, X3) -> active# X1, active# U14(X1, X2, X3) -> U14#(active X1, X2, X3))
    (active# U14(X1, X2, X3) -> active# X1, active# U14(tt(), V1, V2) -> isNat# V1)
    (active# U14(X1, X2, X3) -> active# X1, active# U14(tt(), V1, V2) -> U15#(isNat V1, V2))
    (active# U14(X1, X2, X3) -> active# X1, active# U15(X1, X2) -> active# X1)
    (active# U14(X1, X2, X3) -> active# X1, active# U15(X1, X2) -> U15#(active X1, X2))
    (active# U14(X1, X2, X3) -> active# X1, active# U15(tt(), V2) -> isNat# V2)
    (active# U14(X1, X2, X3) -> active# X1, active# U15(tt(), V2) -> U16# isNat V2)
    (active# U14(X1, X2, X3) -> active# X1, active# U16 X -> active# X)
    (active# U14(X1, X2, X3) -> active# X1, active# U16 X -> U16# active X)
    (active# U14(X1, X2, X3) -> active# X1, active# U22(X1, X2) -> active# X1)
    (active# U14(X1, X2, X3) -> active# X1, active# U22(X1, X2) -> U22#(active X1, X2))
    (active# U14(X1, X2, X3) -> active# X1, active# U22(tt(), V1) -> isNat# V1)
    (active# U14(X1, X2, X3) -> active# X1, active# U22(tt(), V1) -> U23# isNat V1)
    (active# U14(X1, X2, X3) -> active# X1, active# U21(X1, X2) -> active# X1)
    (active# U14(X1, X2, X3) -> active# X1, active# U21(X1, X2) -> U21#(active X1, X2))
    (active# U14(X1, X2, X3) -> active# X1, active# U21(tt(), V1) -> isNatKind# V1)
    (active# U14(X1, X2, X3) -> active# X1, active# U21(tt(), V1) -> U22#(isNatKind V1, V1))
    (active# U14(X1, X2, X3) -> active# X1, active# U23 X -> active# X)
    (active# U14(X1, X2, X3) -> active# X1, active# U23 X -> U23# active X)
    (active# U14(X1, X2, X3) -> active# X1, active# U32(X1, X2, X3) -> active# X1)
    (active# U14(X1, X2, X3) -> active# X1, active# U32(X1, X2, X3) -> U32#(active X1, X2, X3))
    (active# U14(X1, X2, X3) -> active# X1, active# U32(tt(), V1, V2) -> isNatKind# V2)
    (active# U14(X1, X2, X3) -> active# X1, active# U32(tt(), V1, V2) -> U33#(isNatKind V2, V1, V2))
    (active# U14(X1, X2, X3) -> active# X1, active# U31(X1, X2, X3) -> active# X1)
    (active# U14(X1, X2, X3) -> active# X1, active# U31(X1, X2, X3) -> U31#(active X1, X2, X3))
    (active# U14(X1, X2, X3) -> active# X1, active# U31(tt(), V1, V2) -> isNatKind# V1)
    (active# U14(X1, X2, X3) -> active# X1, active# U31(tt(), V1, V2) -> U32#(isNatKind V1, V1, V2))
    (active# U14(X1, X2, X3) -> active# X1, active# U33(X1, X2, X3) -> active# X1)
    (active# U14(X1, X2, X3) -> active# X1, active# U33(X1, X2, X3) -> U33#(active X1, X2, X3))
    (active# U14(X1, X2, X3) -> active# X1, active# U33(tt(), V1, V2) -> isNatKind# V2)
    (active# U14(X1, X2, X3) -> active# X1, active# U33(tt(), V1, V2) -> U34#(isNatKind V2, V1, V2))
    (active# U14(X1, X2, X3) -> active# X1, active# U34(X1, X2, X3) -> active# X1)
    (active# U14(X1, X2, X3) -> active# X1, active# U34(X1, X2, X3) -> U34#(active X1, X2, X3))
    (active# U14(X1, X2, X3) -> active# X1, active# U34(tt(), V1, V2) -> isNat# V1)
    (active# U14(X1, X2, X3) -> active# X1, active# U34(tt(), V1, V2) -> U35#(isNat V1, V2))
    (active# U14(X1, X2, X3) -> active# X1, active# U35(X1, X2) -> active# X1)
    (active# U14(X1, X2, X3) -> active# X1, active# U35(X1, X2) -> U35#(active X1, X2))
    (active# U14(X1, X2, X3) -> active# X1, active# U35(tt(), V2) -> isNat# V2)
    (active# U14(X1, X2, X3) -> active# X1, active# U35(tt(), V2) -> U36# isNat V2)
    (active# U14(X1, X2, X3) -> active# X1, active# U36 X -> active# X)
    (active# U14(X1, X2, X3) -> active# X1, active# U36 X -> U36# active X)
    (active# U14(X1, X2, X3) -> active# X1, active# U42 X -> active# X)
    (active# U14(X1, X2, X3) -> active# X1, active# U42 X -> U42# active X)
    (active# U14(X1, X2, X3) -> active# X1, active# U41(X1, X2) -> active# X1)
    (active# U14(X1, X2, X3) -> active# X1, active# U41(X1, X2) -> U41#(active X1, X2))
    (active# U14(X1, X2, X3) -> active# X1, active# U41(tt(), V2) -> isNatKind# V2)
    (active# U14(X1, X2, X3) -> active# X1, active# U41(tt(), V2) -> U42# isNatKind V2)
    (active# U14(X1, X2, X3) -> active# X1, active# U51 X -> active# X)
    (active# U14(X1, X2, X3) -> active# X1, active# U51 X -> U51# active X)
    (active# U14(X1, X2, X3) -> active# X1, active# U62 X -> active# X)
    (active# U14(X1, X2, X3) -> active# X1, active# U62 X -> U62# active X)
    (active# U14(X1, X2, X3) -> active# X1, active# U61(X1, X2) -> active# X1)
    (active# U14(X1, X2, X3) -> active# X1, active# U61(X1, X2) -> U61#(active X1, X2))
    (active# U14(X1, X2, X3) -> active# X1, active# U61(tt(), V2) -> isNatKind# V2)
    (active# U14(X1, X2, X3) -> active# X1, active# U61(tt(), V2) -> U62# isNatKind V2)
    (active# U14(X1, X2, X3) -> active# X1, active# U72(X1, X2) -> active# X1)
    (active# U14(X1, X2, X3) -> active# X1, active# U72(X1, X2) -> U72#(active X1, X2))
    (active# U14(X1, X2, X3) -> active# X1, active# U71(X1, X2) -> active# X1)
    (active# U14(X1, X2, X3) -> active# X1, active# U71(X1, X2) -> U71#(active X1, X2))
    (active# U14(X1, X2, X3) -> active# X1, active# U71(tt(), N) -> isNatKind# N)
    (active# U14(X1, X2, X3) -> active# X1, active# U71(tt(), N) -> U72#(isNatKind N, N))
    (active# U14(X1, X2, X3) -> active# X1, active# U82(X1, X2, X3) -> active# X1)
    (active# U14(X1, X2, X3) -> active# X1, active# U82(X1, X2, X3) -> U82#(active X1, X2, X3))
    (active# U14(X1, X2, X3) -> active# X1, active# U82(tt(), M, N) -> isNat# N)
    (active# U14(X1, X2, X3) -> active# X1, active# U82(tt(), M, N) -> U83#(isNat N, M, N))
    (active# U14(X1, X2, X3) -> active# X1, active# U81(X1, X2, X3) -> active# X1)
    (active# U14(X1, X2, X3) -> active# X1, active# U81(X1, X2, X3) -> U81#(active X1, X2, X3))
    (active# U14(X1, X2, X3) -> active# X1, active# U81(tt(), M, N) -> isNatKind# M)
    (active# U14(X1, X2, X3) -> active# X1, active# U81(tt(), M, N) -> U82#(isNatKind M, M, N))
    (active# U14(X1, X2, X3) -> active# X1, active# U83(X1, X2, X3) -> active# X1)
    (active# U14(X1, X2, X3) -> active# X1, active# U83(X1, X2, X3) -> U83#(active X1, X2, X3))
    (active# U14(X1, X2, X3) -> active# X1, active# U83(tt(), M, N) -> isNatKind# N)
    (active# U14(X1, X2, X3) -> active# X1, active# U83(tt(), M, N) -> U84#(isNatKind N, M, N))
    (active# U14(X1, X2, X3) -> active# X1, active# U84(X1, X2, X3) -> active# X1)
    (active# U14(X1, X2, X3) -> active# X1, active# U84(X1, X2, X3) -> U84#(active X1, X2, X3))
    (active# U14(X1, X2, X3) -> active# X1, active# U84(tt(), M, N) -> plus#(N, M))
    (active# U14(X1, X2, X3) -> active# X1, active# U84(tt(), M, N) -> s# plus(N, M))
    (active# U14(X1, X2, X3) -> active# X1, active# s X -> active# X)
    (active# U14(X1, X2, X3) -> active# X1, active# s X -> s# active X)
    (active# U14(X1, X2, X3) -> active# X1, active# U92 X -> active# X)
    (active# U14(X1, X2, X3) -> active# X1, active# U92 X -> U92# active X)
    (active# U14(X1, X2, X3) -> active# X1, active# U91(X1, X2) -> active# X1)
    (active# U14(X1, X2, X3) -> active# X1, active# U91(X1, X2) -> U91#(active X1, X2))
    (active# U14(X1, X2, X3) -> active# X1, active# U91(tt(), N) -> isNatKind# N)
    (active# U14(X1, X2, X3) -> active# X1, active# U91(tt(), N) -> U92# isNatKind N)
    (active# U11(X1, X2, X3) -> active# X1, active# U102(X1, X2, X3) -> U102#(active X1, X2, X3))
    (active# U11(X1, X2, X3) -> active# X1, active# U102(X1, X2, X3) -> active# X1)
    (active# U11(X1, X2, X3) -> active# X1, active# U102(tt(), M, N) -> U103#(isNat N, M, N))
    (active# U11(X1, X2, X3) -> active# X1, active# U102(tt(), M, N) -> isNat# N)
    (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) -> U41#(isNatKind V1, 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) -> U61#(isNatKind V1, V2))
    (active# U11(X1, X2, X3) -> active# X1, active# isNatKind s V1 -> isNatKind# V1)
    (active# U11(X1, X2, X3) -> active# X1, active# isNatKind s V1 -> U51# isNatKind V1)
    (active# U11(X1, X2, X3) -> active# X1, active# U101(X1, X2, X3) -> active# X1)
    (active# U11(X1, X2, X3) -> active# X1, active# U101(X1, X2, X3) -> U101#(active X1, X2, X3))
    (active# U11(X1, X2, X3) -> active# X1, active# U101(tt(), M, N) -> U102#(isNatKind M, M, N))
    (active# U11(X1, X2, X3) -> active# X1, active# U101(tt(), M, N) -> isNatKind# M)
    (active# U11(X1, X2, X3) -> active# X1, active# U103(X1, X2, X3) -> active# X1)
    (active# U11(X1, X2, X3) -> active# X1, active# U103(X1, X2, X3) -> U103#(active X1, X2, X3))
    (active# U11(X1, X2, X3) -> active# X1, active# U103(tt(), M, N) -> isNatKind# N)
    (active# U11(X1, X2, X3) -> active# X1, active# U103(tt(), M, N) -> U104#(isNatKind N, M, N))
    (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) -> U11#(isNatKind V1, V1, 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) -> U31#(isNatKind V1, V1, V2))
    (active# U11(X1, X2, X3) -> active# X1, active# isNat s V1 -> isNatKind# V1)
    (active# U11(X1, X2, X3) -> active# X1, active# isNat s V1 -> U21#(isNatKind V1, V1))
    (active# U11(X1, X2, X3) -> active# X1, active# U104(X1, X2, X3) -> active# X1)
    (active# U11(X1, X2, X3) -> active# X1, active# U104(X1, X2, X3) -> U104#(active X1, X2, X3))
    (active# U11(X1, X2, X3) -> active# X1, active# U104(tt(), M, N) -> plus#(x(N, M), N))
    (active# U11(X1, X2, X3) -> active# X1, active# U104(tt(), M, N) -> x#(N, M))
    (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) -> U81#(isNat M, M, N))
    (active# U11(X1, X2, X3) -> active# X1, active# plus(N, 0()) -> isNat# N)
    (active# U11(X1, X2, X3) -> active# X1, active# plus(N, 0()) -> U71#(isNat N, 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# x(N, s M) -> U101#(isNat M, M, 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, 0()) -> isNat# N)
    (active# U11(X1, X2, X3) -> active# X1, active# x(N, 0()) -> U91#(isNat N, 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# U12(X1, X2, X3) -> active# X1)
    (active# U11(X1, X2, X3) -> active# X1, active# U12(X1, X2, X3) -> U12#(active X1, X2, X3))
    (active# U11(X1, X2, X3) -> active# X1, active# U12(tt(), V1, V2) -> isNatKind# V2)
    (active# U11(X1, X2, X3) -> active# X1, active# U12(tt(), V1, V2) -> U13#(isNatKind V2, V1, 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) -> isNatKind# V1)
    (active# U11(X1, X2, X3) -> active# X1, active# U11(tt(), V1, V2) -> U12#(isNatKind V1, V1, V2))
    (active# U11(X1, X2, X3) -> active# X1, active# U13(X1, X2, X3) -> active# X1)
    (active# U11(X1, X2, X3) -> active# X1, active# U13(X1, X2, X3) -> U13#(active X1, X2, X3))
    (active# U11(X1, X2, X3) -> active# X1, active# U13(tt(), V1, V2) -> isNatKind# V2)
    (active# U11(X1, X2, X3) -> active# X1, active# U13(tt(), V1, V2) -> U14#(isNatKind V2, V1, V2))
    (active# U11(X1, X2, X3) -> active# X1, active# U14(X1, X2, X3) -> active# X1)
    (active# U11(X1, X2, X3) -> active# X1, active# U14(X1, X2, X3) -> U14#(active X1, X2, X3))
    (active# U11(X1, X2, X3) -> active# X1, active# U14(tt(), V1, V2) -> isNat# V1)
    (active# U11(X1, X2, X3) -> active# X1, active# U14(tt(), V1, V2) -> U15#(isNat V1, V2))
    (active# U11(X1, X2, X3) -> active# X1, active# U15(X1, X2) -> active# X1)
    (active# U11(X1, X2, X3) -> active# X1, active# U15(X1, X2) -> U15#(active X1, X2))
    (active# U11(X1, X2, X3) -> active# X1, active# U15(tt(), V2) -> isNat# V2)
    (active# U11(X1, X2, X3) -> active# X1, active# U15(tt(), V2) -> U16# isNat V2)
    (active# U11(X1, X2, X3) -> active# X1, active# U16 X -> active# X)
    (active# U11(X1, X2, X3) -> active# X1, active# U16 X -> U16# active X)
    (active# U11(X1, X2, X3) -> active# X1, active# U22(X1, X2) -> active# X1)
    (active# U11(X1, X2, X3) -> active# X1, active# U22(X1, X2) -> U22#(active X1, X2))
    (active# U11(X1, X2, X3) -> active# X1, active# U22(tt(), V1) -> isNat# V1)
    (active# U11(X1, X2, X3) -> active# X1, active# U22(tt(), V1) -> U23# isNat V1)
    (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) -> isNatKind# V1)
    (active# U11(X1, X2, X3) -> active# X1, active# U21(tt(), V1) -> U22#(isNatKind V1, V1))
    (active# U11(X1, X2, X3) -> active# X1, active# U23 X -> active# X)
    (active# U11(X1, X2, X3) -> active# X1, active# U23 X -> U23# active X)
    (active# U11(X1, X2, X3) -> active# X1, active# U32(X1, X2, X3) -> active# X1)
    (active# U11(X1, X2, X3) -> active# X1, active# U32(X1, X2, X3) -> U32#(active X1, X2, X3))
    (active# U11(X1, X2, X3) -> active# X1, active# U32(tt(), V1, V2) -> isNatKind# V2)
    (active# U11(X1, X2, X3) -> active# X1, active# U32(tt(), V1, V2) -> U33#(isNatKind V2, V1, 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) -> isNatKind# V1)
    (active# U11(X1, X2, X3) -> active# X1, active# U31(tt(), V1, V2) -> U32#(isNatKind V1, V1, V2))
    (active# U11(X1, X2, X3) -> active# X1, active# U33(X1, X2, X3) -> active# X1)
    (active# U11(X1, X2, X3) -> active# X1, active# U33(X1, X2, X3) -> U33#(active X1, X2, X3))
    (active# U11(X1, X2, X3) -> active# X1, active# U33(tt(), V1, V2) -> isNatKind# V2)
    (active# U11(X1, X2, X3) -> active# X1, active# U33(tt(), V1, V2) -> U34#(isNatKind V2, V1, V2))
    (active# U11(X1, X2, X3) -> active# X1, active# U34(X1, X2, X3) -> active# X1)
    (active# U11(X1, X2, X3) -> active# X1, active# U34(X1, X2, X3) -> U34#(active X1, X2, X3))
    (active# U11(X1, X2, X3) -> active# X1, active# U34(tt(), V1, V2) -> isNat# V1)
    (active# U11(X1, X2, X3) -> active# X1, active# U34(tt(), V1, V2) -> U35#(isNat V1, V2))
    (active# U11(X1, X2, X3) -> active# X1, active# U35(X1, X2) -> active# X1)
    (active# U11(X1, X2, X3) -> active# X1, active# U35(X1, X2) -> U35#(active X1, X2))
    (active# U11(X1, X2, X3) -> active# X1, active# U35(tt(), V2) -> isNat# V2)
    (active# U11(X1, X2, X3) -> active# X1, active# U35(tt(), V2) -> U36# isNat V2)
    (active# U11(X1, X2, X3) -> active# X1, active# U36 X -> active# X)
    (active# U11(X1, X2, X3) -> active# X1, active# U36 X -> U36# active X)
    (active# U11(X1, X2, X3) -> active# X1, active# U42 X -> active# X)
    (active# U11(X1, X2, X3) -> active# X1, active# U42 X -> U42# 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# U41(tt(), V2) -> isNatKind# V2)
    (active# U11(X1, X2, X3) -> active# X1, active# U41(tt(), V2) -> U42# isNatKind V2)
    (active# U11(X1, X2, X3) -> active# X1, active# U51 X -> active# X)
    (active# U11(X1, X2, X3) -> active# X1, active# U51 X -> U51# active X)
    (active# U11(X1, X2, X3) -> active# X1, active# U62 X -> active# X)
    (active# U11(X1, X2, X3) -> active# X1, active# U62 X -> U62# active X)
    (active# U11(X1, X2, X3) -> active# X1, active# U61(X1, X2) -> active# X1)
    (active# U11(X1, X2, X3) -> active# X1, active# U61(X1, X2) -> U61#(active X1, X2))
    (active# U11(X1, X2, X3) -> active# X1, active# U61(tt(), V2) -> isNatKind# V2)
    (active# U11(X1, X2, X3) -> active# X1, active# U61(tt(), V2) -> U62# isNatKind V2)
    (active# U11(X1, X2, X3) -> active# X1, active# U72(X1, X2) -> active# X1)
    (active# U11(X1, X2, X3) -> active# X1, active# U72(X1, X2) -> U72#(active X1, X2))
    (active# U11(X1, X2, X3) -> active# X1, active# U71(X1, X2) -> active# X1)
    (active# U11(X1, X2, X3) -> active# X1, active# U71(X1, X2) -> U71#(active X1, X2))
    (active# U11(X1, X2, X3) -> active# X1, active# U71(tt(), N) -> isNatKind# N)
    (active# U11(X1, X2, X3) -> active# X1, active# U71(tt(), N) -> U72#(isNatKind N, N))
    (active# U11(X1, X2, X3) -> active# X1, active# U82(X1, X2, X3) -> active# X1)
    (active# U11(X1, X2, X3) -> active# X1, active# U82(X1, X2, X3) -> U82#(active X1, X2, X3))
    (active# U11(X1, X2, X3) -> active# X1, active# U82(tt(), M, N) -> isNat# N)
    (active# U11(X1, X2, X3) -> active# X1, active# U82(tt(), M, N) -> U83#(isNat N, M, N))
    (active# U11(X1, X2, X3) -> active# X1, active# U81(X1, X2, X3) -> active# X1)
    (active# U11(X1, X2, X3) -> active# X1, active# U81(X1, X2, X3) -> U81#(active X1, X2, X3))
    (active# U11(X1, X2, X3) -> active# X1, active# U81(tt(), M, N) -> isNatKind# M)
    (active# U11(X1, X2, X3) -> active# X1, active# U81(tt(), M, N) -> U82#(isNatKind M, M, N))
    (active# U11(X1, X2, X3) -> active# X1, active# U83(X1, X2, X3) -> active# X1)
    (active# U11(X1, X2, X3) -> active# X1, active# U83(X1, X2, X3) -> U83#(active X1, X2, X3))
    (active# U11(X1, X2, X3) -> active# X1, active# U83(tt(), M, N) -> isNatKind# N)
    (active# U11(X1, X2, X3) -> active# X1, active# U83(tt(), M, N) -> U84#(isNatKind N, M, N))
    (active# U11(X1, X2, X3) -> active# X1, active# U84(X1, X2, X3) -> active# X1)
    (active# U11(X1, X2, X3) -> active# X1, active# U84(X1, X2, X3) -> U84#(active X1, X2, X3))
    (active# U11(X1, X2, X3) -> active# X1, active# U84(tt(), M, N) -> plus#(N, M))
    (active# U11(X1, X2, X3) -> active# X1, active# U84(tt(), M, N) -> s# plus(N, M))
    (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# U92 X -> active# X)
    (active# U11(X1, X2, X3) -> active# X1, active# U92 X -> U92# active X)
    (active# U11(X1, X2, X3) -> active# X1, active# U91(X1, X2) -> active# X1)
    (active# U11(X1, X2, X3) -> active# X1, active# U91(X1, X2) -> U91#(active X1, X2))
    (active# U11(X1, X2, X3) -> active# X1, active# U91(tt(), N) -> isNatKind# N)
    (active# U11(X1, X2, X3) -> active# X1, active# U91(tt(), N) -> U92# isNatKind N)
    (active# x(X1, X2) -> active# X1, active# U102(X1, X2, X3) -> U102#(active X1, X2, X3))
    (active# x(X1, X2) -> active# X1, active# U102(X1, X2, X3) -> active# X1)
    (active# x(X1, X2) -> active# X1, active# U102(tt(), M, N) -> U103#(isNat N, M, N))
    (active# x(X1, X2) -> active# X1, active# U102(tt(), M, N) -> isNat# N)
    (active# x(X1, X2) -> active# X1, active# isNatKind plus(V1, V2) -> isNatKind# V1)
    (active# x(X1, X2) -> active# X1, active# isNatKind plus(V1, V2) -> U41#(isNatKind V1, 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) -> U61#(isNatKind V1, V2))
    (active# x(X1, X2) -> active# X1, active# isNatKind s V1 -> isNatKind# V1)
    (active# x(X1, X2) -> active# X1, active# isNatKind s V1 -> U51# isNatKind V1)
    (active# x(X1, X2) -> active# X1, active# U101(X1, X2, X3) -> active# X1)
    (active# x(X1, X2) -> active# X1, active# U101(X1, X2, X3) -> U101#(active X1, X2, X3))
    (active# x(X1, X2) -> active# X1, active# U101(tt(), M, N) -> U102#(isNatKind M, M, N))
    (active# x(X1, X2) -> active# X1, active# U101(tt(), M, N) -> isNatKind# M)
    (active# x(X1, X2) -> active# X1, active# U103(X1, X2, X3) -> active# X1)
    (active# x(X1, X2) -> active# X1, active# U103(X1, X2, X3) -> U103#(active X1, X2, X3))
    (active# x(X1, X2) -> active# X1, active# U103(tt(), M, N) -> isNatKind# N)
    (active# x(X1, X2) -> active# X1, active# U103(tt(), M, N) -> U104#(isNatKind N, M, N))
    (active# x(X1, X2) -> active# X1, active# isNat plus(V1, V2) -> isNatKind# V1)
    (active# x(X1, X2) -> active# X1, active# isNat plus(V1, V2) -> U11#(isNatKind V1, V1, 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) -> U31#(isNatKind V1, 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# U104(X1, X2, X3) -> active# X1)
    (active# x(X1, X2) -> active# X1, active# U104(X1, X2, X3) -> U104#(active X1, X2, X3))
    (active# x(X1, X2) -> active# X1, active# U104(tt(), M, N) -> plus#(x(N, M), N))
    (active# x(X1, X2) -> active# X1, active# U104(tt(), M, N) -> x#(N, M))
    (active# x(X1, X2) -> active# X1, active# plus(N, s M) -> isNat# M)
    (active# x(X1, X2) -> active# X1, active# plus(N, s M) -> U81#(isNat M, M, N))
    (active# x(X1, X2) -> active# X1, active# plus(N, 0()) -> isNat# N)
    (active# x(X1, X2) -> active# X1, active# plus(N, 0()) -> U71#(isNat N, N))
    (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# plus(X1, X2) -> plus#(X1, active X2))
    (active# x(X1, X2) -> active# X1, active# plus(X1, X2) -> plus#(active X1, X2))
    (active# x(X1, X2) -> active# X1, active# x(N, s M) -> U101#(isNat M, M, N))
    (active# x(X1, X2) -> active# X1, active# x(N, s M) -> isNat# M)
    (active# x(X1, X2) -> active# X1, active# x(N, 0()) -> isNat# N)
    (active# x(X1, X2) -> active# X1, active# x(N, 0()) -> U91#(isNat N, N))
    (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# x(X1, X2) -> x#(X1, active X2))
    (active# x(X1, X2) -> active# X1, active# x(X1, X2) -> x#(active X1, X2))
    (active# x(X1, X2) -> active# X1, active# U12(X1, X2, X3) -> active# X1)
    (active# x(X1, X2) -> active# X1, active# U12(X1, X2, X3) -> U12#(active X1, X2, X3))
    (active# x(X1, X2) -> active# X1, active# U12(tt(), V1, V2) -> isNatKind# V2)
    (active# x(X1, X2) -> active# X1, active# U12(tt(), V1, V2) -> U13#(isNatKind V2, V1, V2))
    (active# x(X1, X2) -> active# X1, active# U11(X1, X2, X3) -> active# X1)
    (active# x(X1, X2) -> active# X1, active# U11(X1, X2, X3) -> U11#(active X1, X2, X3))
    (active# x(X1, X2) -> active# X1, active# U11(tt(), V1, V2) -> isNatKind# V1)
    (active# x(X1, X2) -> active# X1, active# U11(tt(), V1, V2) -> U12#(isNatKind V1, V1, V2))
    (active# x(X1, X2) -> active# X1, active# U13(X1, X2, X3) -> active# X1)
    (active# x(X1, X2) -> active# X1, active# U13(X1, X2, X3) -> U13#(active X1, X2, X3))
    (active# x(X1, X2) -> active# X1, active# U13(tt(), V1, V2) -> isNatKind# V2)
    (active# x(X1, X2) -> active# X1, active# U13(tt(), V1, V2) -> U14#(isNatKind V2, V1, V2))
    (active# x(X1, X2) -> active# X1, active# U14(X1, X2, X3) -> active# X1)
    (active# x(X1, X2) -> active# X1, active# U14(X1, X2, X3) -> U14#(active X1, X2, X3))
    (active# x(X1, X2) -> active# X1, active# U14(tt(), V1, V2) -> isNat# V1)
    (active# x(X1, X2) -> active# X1, active# U14(tt(), V1, V2) -> U15#(isNat V1, V2))
    (active# x(X1, X2) -> active# X1, active# U15(X1, X2) -> active# X1)
    (active# x(X1, X2) -> active# X1, active# U15(X1, X2) -> U15#(active X1, X2))
    (active# x(X1, X2) -> active# X1, active# U15(tt(), V2) -> isNat# V2)
    (active# x(X1, X2) -> active# X1, active# U15(tt(), V2) -> U16# isNat V2)
    (active# x(X1, X2) -> active# X1, active# U16 X -> active# X)
    (active# x(X1, X2) -> active# X1, active# U16 X -> U16# active X)
    (active# x(X1, X2) -> active# X1, active# U22(X1, X2) -> active# X1)
    (active# x(X1, X2) -> active# X1, active# U22(X1, X2) -> U22#(active X1, X2))
    (active# x(X1, X2) -> active# X1, active# U22(tt(), V1) -> isNat# V1)
    (active# x(X1, X2) -> active# X1, active# U22(tt(), V1) -> U23# isNat V1)
    (active# x(X1, X2) -> active# X1, active# U21(X1, X2) -> active# X1)
    (active# x(X1, X2) -> active# X1, active# U21(X1, X2) -> U21#(active X1, X2))
    (active# x(X1, X2) -> active# X1, active# U21(tt(), V1) -> isNatKind# V1)
    (active# x(X1, X2) -> active# X1, active# U21(tt(), V1) -> U22#(isNatKind V1, V1))
    (active# x(X1, X2) -> active# X1, active# U23 X -> active# X)
    (active# x(X1, X2) -> active# X1, active# U23 X -> U23# active X)
    (active# x(X1, X2) -> active# X1, active# U32(X1, X2, X3) -> active# X1)
    (active# x(X1, X2) -> active# X1, active# U32(X1, X2, X3) -> U32#(active X1, X2, X3))
    (active# x(X1, X2) -> active# X1, active# U32(tt(), V1, V2) -> isNatKind# V2)
    (active# x(X1, X2) -> active# X1, active# U32(tt(), V1, V2) -> U33#(isNatKind V2, V1, V2))
    (active# x(X1, X2) -> active# X1, active# U31(X1, X2, X3) -> active# X1)
    (active# x(X1, X2) -> active# X1, active# U31(X1, X2, X3) -> U31#(active X1, X2, X3))
    (active# x(X1, X2) -> active# X1, active# U31(tt(), V1, V2) -> isNatKind# V1)
    (active# x(X1, X2) -> active# X1, active# U31(tt(), V1, V2) -> U32#(isNatKind V1, V1, V2))
    (active# x(X1, X2) -> active# X1, active# U33(X1, X2, X3) -> active# X1)
    (active# x(X1, X2) -> active# X1, active# U33(X1, X2, X3) -> U33#(active X1, X2, X3))
    (active# x(X1, X2) -> active# X1, active# U33(tt(), V1, V2) -> isNatKind# V2)
    (active# x(X1, X2) -> active# X1, active# U33(tt(), V1, V2) -> U34#(isNatKind V2, V1, V2))
    (active# x(X1, X2) -> active# X1, active# U34(X1, X2, X3) -> active# X1)
    (active# x(X1, X2) -> active# X1, active# U34(X1, X2, X3) -> U34#(active X1, X2, X3))
    (active# x(X1, X2) -> active# X1, active# U34(tt(), V1, V2) -> isNat# V1)
    (active# x(X1, X2) -> active# X1, active# U34(tt(), V1, V2) -> U35#(isNat V1, V2))
    (active# x(X1, X2) -> active# X1, active# U35(X1, X2) -> active# X1)
    (active# x(X1, X2) -> active# X1, active# U35(X1, X2) -> U35#(active X1, X2))
    (active# x(X1, X2) -> active# X1, active# U35(tt(), V2) -> isNat# V2)
    (active# x(X1, X2) -> active# X1, active# U35(tt(), V2) -> U36# isNat V2)
    (active# x(X1, X2) -> active# X1, active# U36 X -> active# X)
    (active# x(X1, X2) -> active# X1, active# U36 X -> U36# active X)
    (active# x(X1, X2) -> active# X1, active# U42 X -> active# X)
    (active# x(X1, X2) -> active# X1, active# U42 X -> U42# active X)
    (active# x(X1, X2) -> active# X1, active# U41(X1, X2) -> active# X1)
    (active# x(X1, X2) -> active# X1, active# U41(X1, X2) -> U41#(active X1, X2))
    (active# x(X1, X2) -> active# X1, active# U41(tt(), V2) -> isNatKind# V2)
    (active# x(X1, X2) -> active# X1, active# U41(tt(), V2) -> U42# isNatKind V2)
    (active# x(X1, X2) -> active# X1, active# U51 X -> active# X)
    (active# x(X1, X2) -> active# X1, active# U51 X -> U51# active X)
    (active# x(X1, X2) -> active# X1, active# U62 X -> active# X)
    (active# x(X1, X2) -> active# X1, active# U62 X -> U62# active X)
    (active# x(X1, X2) -> active# X1, active# U61(X1, X2) -> active# X1)
    (active# x(X1, X2) -> active# X1, active# U61(X1, X2) -> U61#(active X1, X2))
    (active# x(X1, X2) -> active# X1, active# U61(tt(), V2) -> isNatKind# V2)
    (active# x(X1, X2) -> active# X1, active# U61(tt(), V2) -> U62# isNatKind V2)
    (active# x(X1, X2) -> active# X1, active# U72(X1, X2) -> active# X1)
    (active# x(X1, X2) -> active# X1, active# U72(X1, X2) -> U72#(active X1, X2))
    (active# x(X1, X2) -> active# X1, active# U71(X1, X2) -> active# X1)
    (active# x(X1, X2) -> active# X1, active# U71(X1, X2) -> U71#(active X1, X2))
    (active# x(X1, X2) -> active# X1, active# U71(tt(), N) -> isNatKind# N)
    (active# x(X1, X2) -> active# X1, active# U71(tt(), N) -> U72#(isNatKind N, N))
    (active# x(X1, X2) -> active# X1, active# U82(X1, X2, X3) -> active# X1)
    (active# x(X1, X2) -> active# X1, active# U82(X1, X2, X3) -> U82#(active X1, X2, X3))
    (active# x(X1, X2) -> active# X1, active# U82(tt(), M, N) -> isNat# N)
    (active# x(X1, X2) -> active# X1, active# U82(tt(), M, N) -> U83#(isNat N, M, N))
    (active# x(X1, X2) -> active# X1, active# U81(X1, X2, X3) -> active# X1)
    (active# x(X1, X2) -> active# X1, active# U81(X1, X2, X3) -> U81#(active X1, X2, X3))
    (active# x(X1, X2) -> active# X1, active# U81(tt(), M, N) -> isNatKind# M)
    (active# x(X1, X2) -> active# X1, active# U81(tt(), M, N) -> U82#(isNatKind M, M, N))
    (active# x(X1, X2) -> active# X1, active# U83(X1, X2, X3) -> active# X1)
    (active# x(X1, X2) -> active# X1, active# U83(X1, X2, X3) -> U83#(active X1, X2, X3))
    (active# x(X1, X2) -> active# X1, active# U83(tt(), M, N) -> isNatKind# N)
    (active# x(X1, X2) -> active# X1, active# U83(tt(), M, N) -> U84#(isNatKind N, M, N))
    (active# x(X1, X2) -> active# X1, active# U84(X1, X2, X3) -> active# X1)
    (active# x(X1, X2) -> active# X1, active# U84(X1, X2, X3) -> U84#(active X1, X2, X3))
    (active# x(X1, X2) -> active# X1, active# U84(tt(), M, N) -> plus#(N, M))
    (active# x(X1, X2) -> active# X1, active# U84(tt(), M, N) -> s# plus(N, M))
    (active# x(X1, X2) -> active# X1, active# s X -> active# X)
    (active# x(X1, X2) -> active# X1, active# s X -> s# active X)
    (active# x(X1, X2) -> active# X1, active# U92 X -> active# X)
    (active# x(X1, X2) -> active# X1, active# U92 X -> U92# active X)
    (active# x(X1, X2) -> active# X1, active# U91(X1, X2) -> active# X1)
    (active# x(X1, X2) -> active# X1, active# U91(X1, X2) -> U91#(active X1, X2))
    (active# x(X1, X2) -> active# X1, active# U91(tt(), N) -> isNatKind# N)
    (active# x(X1, X2) -> active# X1, active# U91(tt(), N) -> U92# isNatKind N)
    (active# U104(X1, X2, X3) -> active# X1, active# U102(X1, X2, X3) -> U102#(active X1, X2, X3))
    (active# U104(X1, X2, X3) -> active# X1, active# U102(X1, X2, X3) -> active# X1)
    (active# U104(X1, X2, X3) -> active# X1, active# U102(tt(), M, N) -> U103#(isNat N, M, N))
    (active# U104(X1, X2, X3) -> active# X1, active# U102(tt(), M, N) -> isNat# N)
    (active# U104(X1, X2, X3) -> active# X1, active# isNatKind plus(V1, V2) -> isNatKind# V1)
    (active# U104(X1, X2, X3) -> active# X1, active# isNatKind plus(V1, V2) -> U41#(isNatKind V1, V2))
    (active# U104(X1, X2, X3) -> active# X1, active# isNatKind x(V1, V2) -> isNatKind# V1)
    (active# U104(X1, X2, X3) -> active# X1, active# isNatKind x(V1, V2) -> U61#(isNatKind V1, V2))
    (active# U104(X1, X2, X3) -> active# X1, active# isNatKind s V1 -> isNatKind# V1)
    (active# U104(X1, X2, X3) -> active# X1, active# isNatKind s V1 -> U51# isNatKind V1)
    (active# U104(X1, X2, X3) -> active# X1, active# U101(X1, X2, X3) -> active# X1)
    (active# U104(X1, X2, X3) -> active# X1, active# U101(X1, X2, X3) -> U101#(active X1, X2, X3))
    (active# U104(X1, X2, X3) -> active# X1, active# U101(tt(), M, N) -> U102#(isNatKind M, M, N))
    (active# U104(X1, X2, X3) -> active# X1, active# U101(tt(), M, N) -> isNatKind# M)
    (active# U104(X1, X2, X3) -> active# X1, active# U103(X1, X2, X3) -> active# X1)
    (active# U104(X1, X2, X3) -> active# X1, active# U103(X1, X2, X3) -> U103#(active X1, X2, X3))
    (active# U104(X1, X2, X3) -> active# X1, active# U103(tt(), M, N) -> isNatKind# N)
    (active# U104(X1, X2, X3) -> active# X1, active# U103(tt(), M, N) -> U104#(isNatKind N, M, N))
    (active# U104(X1, X2, X3) -> active# X1, active# isNat plus(V1, V2) -> isNatKind# V1)
    (active# U104(X1, X2, X3) -> active# X1, active# isNat plus(V1, V2) -> U11#(isNatKind V1, V1, V2))
    (active# U104(X1, X2, X3) -> active# X1, active# isNat x(V1, V2) -> isNatKind# V1)
    (active# U104(X1, X2, X3) -> active# X1, active# isNat x(V1, V2) -> U31#(isNatKind V1, V1, V2))
    (active# U104(X1, X2, X3) -> active# X1, active# isNat s V1 -> isNatKind# V1)
    (active# U104(X1, X2, X3) -> active# X1, active# isNat s V1 -> U21#(isNatKind V1, V1))
    (active# U104(X1, X2, X3) -> active# X1, active# U104(X1, X2, X3) -> active# X1)
    (active# U104(X1, X2, X3) -> active# X1, active# U104(X1, X2, X3) -> U104#(active X1, X2, X3))
    (active# U104(X1, X2, X3) -> active# X1, active# U104(tt(), M, N) -> plus#(x(N, M), N))
    (active# U104(X1, X2, X3) -> active# X1, active# U104(tt(), M, N) -> x#(N, M))
    (active# U104(X1, X2, X3) -> active# X1, active# plus(N, s M) -> isNat# M)
    (active# U104(X1, X2, X3) -> active# X1, active# plus(N, s M) -> U81#(isNat M, M, N))
    (active# U104(X1, X2, X3) -> active# X1, active# plus(N, 0()) -> isNat# N)
    (active# U104(X1, X2, X3) -> active# X1, active# plus(N, 0()) -> U71#(isNat N, N))
    (active# U104(X1, X2, X3) -> active# X1, active# plus(X1, X2) -> active# X1)
    (active# U104(X1, X2, X3) -> active# X1, active# plus(X1, X2) -> active# X2)
    (active# U104(X1, X2, X3) -> active# X1, active# plus(X1, X2) -> plus#(X1, active X2))
    (active# U104(X1, X2, X3) -> active# X1, active# plus(X1, X2) -> plus#(active X1, X2))
    (active# U104(X1, X2, X3) -> active# X1, active# x(N, s M) -> U101#(isNat M, M, N))
    (active# U104(X1, X2, X3) -> active# X1, active# x(N, s M) -> isNat# M)
    (active# U104(X1, X2, X3) -> active# X1, active# x(N, 0()) -> isNat# N)
    (active# U104(X1, X2, X3) -> active# X1, active# x(N, 0()) -> U91#(isNat N, N))
    (active# U104(X1, X2, X3) -> active# X1, active# x(X1, X2) -> active# X1)
    (active# U104(X1, X2, X3) -> active# X1, active# x(X1, X2) -> active# X2)
    (active# U104(X1, X2, X3) -> active# X1, active# x(X1, X2) -> x#(X1, active X2))
    (active# U104(X1, X2, X3) -> active# X1, active# x(X1, X2) -> x#(active X1, X2))
    (active# U104(X1, X2, X3) -> active# X1, active# U12(X1, X2, X3) -> active# X1)
    (active# U104(X1, X2, X3) -> active# X1, active# U12(X1, X2, X3) -> U12#(active X1, X2, X3))
    (active# U104(X1, X2, X3) -> active# X1, active# U12(tt(), V1, V2) -> isNatKind# V2)
    (active# U104(X1, X2, X3) -> active# X1, active# U12(tt(), V1, V2) -> U13#(isNatKind V2, V1, V2))
    (active# U104(X1, X2, X3) -> active# X1, active# U11(X1, X2, X3) -> active# X1)
    (active# U104(X1, X2, X3) -> active# X1, active# U11(X1, X2, X3) -> U11#(active X1, X2, X3))
    (active# U104(X1, X2, X3) -> active# X1, active# U11(tt(), V1, V2) -> isNatKind# V1)
    (active# U104(X1, X2, X3) -> active# X1, active# U11(tt(), V1, V2) -> U12#(isNatKind V1, V1, V2))
    (active# U104(X1, X2, X3) -> active# X1, active# U13(X1, X2, X3) -> active# X1)
    (active# U104(X1, X2, X3) -> active# X1, active# U13(X1, X2, X3) -> U13#(active X1, X2, X3))
    (active# U104(X1, X2, X3) -> active# X1, active# U13(tt(), V1, V2) -> isNatKind# V2)
    (active# U104(X1, X2, X3) -> active# X1, active# U13(tt(), V1, V2) -> U14#(isNatKind V2, V1, V2))
    (active# U104(X1, X2, X3) -> active# X1, active# U14(X1, X2, X3) -> active# X1)
    (active# U104(X1, X2, X3) -> active# X1, active# U14(X1, X2, X3) -> U14#(active X1, X2, X3))
    (active# U104(X1, X2, X3) -> active# X1, active# U14(tt(), V1, V2) -> isNat# V1)
    (active# U104(X1, X2, X3) -> active# X1, active# U14(tt(), V1, V2) -> U15#(isNat V1, V2))
    (active# U104(X1, X2, X3) -> active# X1, active# U15(X1, X2) -> active# X1)
    (active# U104(X1, X2, X3) -> active# X1, active# U15(X1, X2) -> U15#(active X1, X2))
    (active# U104(X1, X2, X3) -> active# X1, active# U15(tt(), V2) -> isNat# V2)
    (active# U104(X1, X2, X3) -> active# X1, active# U15(tt(), V2) -> U16# isNat V2)
    (active# U104(X1, X2, X3) -> active# X1, active# U16 X -> active# X)
    (active# U104(X1, X2, X3) -> active# X1, active# U16 X -> U16# active X)
    (active# U104(X1, X2, X3) -> active# X1, active# U22(X1, X2) -> active# X1)
    (active# U104(X1, X2, X3) -> active# X1, active# U22(X1, X2) -> U22#(active X1, X2))
    (active# U104(X1, X2, X3) -> active# X1, active# U22(tt(), V1) -> isNat# V1)
    (active# U104(X1, X2, X3) -> active# X1, active# U22(tt(), V1) -> U23# isNat V1)
    (active# U104(X1, X2, X3) -> active# X1, active# U21(X1, X2) -> active# X1)
    (active# U104(X1, X2, X3) -> active# X1, active# U21(X1, X2) -> U21#(active X1, X2))
    (active# U104(X1, X2, X3) -> active# X1, active# U21(tt(), V1) -> isNatKind# V1)
    (active# U104(X1, X2, X3) -> active# X1, active# U21(tt(), V1) -> U22#(isNatKind V1, V1))
    (active# U104(X1, X2, X3) -> active# X1, active# U23 X -> active# X)
    (active# U104(X1, X2, X3) -> active# X1, active# U23 X -> U23# active X)
    (active# U104(X1, X2, X3) -> active# X1, active# U32(X1, X2, X3) -> active# X1)
    (active# U104(X1, X2, X3) -> active# X1, active# U32(X1, X2, X3) -> U32#(active X1, X2, X3))
    (active# U104(X1, X2, X3) -> active# X1, active# U32(tt(), V1, V2) -> isNatKind# V2)
    (active# U104(X1, X2, X3) -> active# X1, active# U32(tt(), V1, V2) -> U33#(isNatKind V2, V1, V2))
    (active# U104(X1, X2, X3) -> active# X1, active# U31(X1, X2, X3) -> active# X1)
    (active# U104(X1, X2, X3) -> active# X1, active# U31(X1, X2, X3) -> U31#(active X1, X2, X3))
    (active# U104(X1, X2, X3) -> active# X1, active# U31(tt(), V1, V2) -> isNatKind# V1)
    (active# U104(X1, X2, X3) -> active# X1, active# U31(tt(), V1, V2) -> U32#(isNatKind V1, V1, V2))
    (active# U104(X1, X2, X3) -> active# X1, active# U33(X1, X2, X3) -> active# X1)
    (active# U104(X1, X2, X3) -> active# X1, active# U33(X1, X2, X3) -> U33#(active X1, X2, X3))
    (active# U104(X1, X2, X3) -> active# X1, active# U33(tt(), V1, V2) -> isNatKind# V2)
    (active# U104(X1, X2, X3) -> active# X1, active# U33(tt(), V1, V2) -> U34#(isNatKind V2, V1, V2))
    (active# U104(X1, X2, X3) -> active# X1, active# U34(X1, X2, X3) -> active# X1)
    (active# U104(X1, X2, X3) -> active# X1, active# U34(X1, X2, X3) -> U34#(active X1, X2, X3))
    (active# U104(X1, X2, X3) -> active# X1, active# U34(tt(), V1, V2) -> isNat# V1)
    (active# U104(X1, X2, X3) -> active# X1, active# U34(tt(), V1, V2) -> U35#(isNat V1, V2))
    (active# U104(X1, X2, X3) -> active# X1, active# U35(X1, X2) -> active# X1)
    (active# U104(X1, X2, X3) -> active# X1, active# U35(X1, X2) -> U35#(active X1, X2))
    (active# U104(X1, X2, X3) -> active# X1, active# U35(tt(), V2) -> isNat# V2)
    (active# U104(X1, X2, X3) -> active# X1, active# U35(tt(), V2) -> U36# isNat V2)
    (active# U104(X1, X2, X3) -> active# X1, active# U36 X -> active# X)
    (active# U104(X1, X2, X3) -> active# X1, active# U36 X -> U36# active X)
    (active# U104(X1, X2, X3) -> active# X1, active# U42 X -> active# X)
    (active# U104(X1, X2, X3) -> active# X1, active# U42 X -> U42# active X)
    (active# U104(X1, X2, X3) -> active# X1, active# U41(X1, X2) -> active# X1)
    (active# U104(X1, X2, X3) -> active# X1, active# U41(X1, X2) -> U41#(active X1, X2))
    (active# U104(X1, X2, X3) -> active# X1, active# U41(tt(), V2) -> isNatKind# V2)
    (active# U104(X1, X2, X3) -> active# X1, active# U41(tt(), V2) -> U42# isNatKind V2)
    (active# U104(X1, X2, X3) -> active# X1, active# U51 X -> active# X)
    (active# U104(X1, X2, X3) -> active# X1, active# U51 X -> U51# active X)
    (active# U104(X1, X2, X3) -> active# X1, active# U62 X -> active# X)
    (active# U104(X1, X2, X3) -> active# X1, active# U62 X -> U62# active X)
    (active# U104(X1, X2, X3) -> active# X1, active# U61(X1, X2) -> active# X1)
    (active# U104(X1, X2, X3) -> active# X1, active# U61(X1, X2) -> U61#(active X1, X2))
    (active# U104(X1, X2, X3) -> active# X1, active# U61(tt(), V2) -> isNatKind# V2)
    (active# U104(X1, X2, X3) -> active# X1, active# U61(tt(), V2) -> U62# isNatKind V2)
    (active# U104(X1, X2, X3) -> active# X1, active# U72(X1, X2) -> active# X1)
    (active# U104(X1, X2, X3) -> active# X1, active# U72(X1, X2) -> U72#(active X1, X2))
    (active# U104(X1, X2, X3) -> active# X1, active# U71(X1, X2) -> active# X1)
    (active# U104(X1, X2, X3) -> active# X1, active# U71(X1, X2) -> U71#(active X1, X2))
    (active# U104(X1, X2, X3) -> active# X1, active# U71(tt(), N) -> isNatKind# N)
    (active# U104(X1, X2, X3) -> active# X1, active# U71(tt(), N) -> U72#(isNatKind N, N))
    (active# U104(X1, X2, X3) -> active# X1, active# U82(X1, X2, X3) -> active# X1)
    (active# U104(X1, X2, X3) -> active# X1, active# U82(X1, X2, X3) -> U82#(active X1, X2, X3))
    (active# U104(X1, X2, X3) -> active# X1, active# U82(tt(), M, N) -> isNat# N)
    (active# U104(X1, X2, X3) -> active# X1, active# U82(tt(), M, N) -> U83#(isNat N, M, N))
    (active# U104(X1, X2, X3) -> active# X1, active# U81(X1, X2, X3) -> active# X1)
    (active# U104(X1, X2, X3) -> active# X1, active# U81(X1, X2, X3) -> U81#(active X1, X2, X3))
    (active# U104(X1, X2, X3) -> active# X1, active# U81(tt(), M, N) -> isNatKind# M)
    (active# U104(X1, X2, X3) -> active# X1, active# U81(tt(), M, N) -> U82#(isNatKind M, M, N))
    (active# U104(X1, X2, X3) -> active# X1, active# U83(X1, X2, X3) -> active# X1)
    (active# U104(X1, X2, X3) -> active# X1, active# U83(X1, X2, X3) -> U83#(active X1, X2, X3))
    (active# U104(X1, X2, X3) -> active# X1, active# U83(tt(), M, N) -> isNatKind# N)
    (active# U104(X1, X2, X3) -> active# X1, active# U83(tt(), M, N) -> U84#(isNatKind N, M, N))
    (active# U104(X1, X2, X3) -> active# X1, active# U84(X1, X2, X3) -> active# X1)
    (active# U104(X1, X2, X3) -> active# X1, active# U84(X1, X2, X3) -> U84#(active X1, X2, X3))
    (active# U104(X1, X2, X3) -> active# X1, active# U84(tt(), M, N) -> plus#(N, M))
    (active# U104(X1, X2, X3) -> active# X1, active# U84(tt(), M, N) -> s# plus(N, M))
    (active# U104(X1, X2, X3) -> active# X1, active# s X -> active# X)
    (active# U104(X1, X2, X3) -> active# X1, active# s X -> s# active X)
    (active# U104(X1, X2, X3) -> active# X1, active# U92 X -> active# X)
    (active# U104(X1, X2, X3) -> active# X1, active# U92 X -> U92# active X)
    (active# U104(X1, X2, X3) -> active# X1, active# U91(X1, X2) -> active# X1)
    (active# U104(X1, X2, X3) -> active# X1, active# U91(X1, X2) -> U91#(active X1, X2))
    (active# U104(X1, X2, X3) -> active# X1, active# U91(tt(), N) -> isNatKind# N)
    (active# U104(X1, X2, X3) -> active# X1, active# U91(tt(), N) -> U92# isNatKind N)
    (active# U101(X1, X2, X3) -> active# X1, active# U102(X1, X2, X3) -> U102#(active X1, X2, X3))
    (active# U101(X1, X2, X3) -> active# X1, active# U102(X1, X2, X3) -> active# X1)
    (active# U101(X1, X2, X3) -> active# X1, active# U102(tt(), M, N) -> U103#(isNat N, M, N))
    (active# U101(X1, X2, X3) -> active# X1, active# U102(tt(), M, N) -> isNat# N)
    (active# U101(X1, X2, X3) -> active# X1, active# isNatKind plus(V1, V2) -> isNatKind# V1)
    (active# U101(X1, X2, X3) -> active# X1, active# isNatKind plus(V1, V2) -> U41#(isNatKind V1, V2))
    (active# U101(X1, X2, X3) -> active# X1, active# isNatKind x(V1, V2) -> isNatKind# V1)
    (active# U101(X1, X2, X3) -> active# X1, active# isNatKind x(V1, V2) -> U61#(isNatKind V1, V2))
    (active# U101(X1, X2, X3) -> active# X1, active# isNatKind s V1 -> isNatKind# V1)
    (active# U101(X1, X2, X3) -> active# X1, active# isNatKind s V1 -> U51# isNatKind V1)
    (active# U101(X1, X2, X3) -> active# X1, active# U101(X1, X2, X3) -> active# X1)
    (active# U101(X1, X2, X3) -> active# X1, active# U101(X1, X2, X3) -> U101#(active X1, X2, X3))
    (active# U101(X1, X2, X3) -> active# X1, active# U101(tt(), M, N) -> U102#(isNatKind M, M, N))
    (active# U101(X1, X2, X3) -> active# X1, active# U101(tt(), M, N) -> isNatKind# M)
    (active# U101(X1, X2, X3) -> active# X1, active# U103(X1, X2, X3) -> active# X1)
    (active# U101(X1, X2, X3) -> active# X1, active# U103(X1, X2, X3) -> U103#(active X1, X2, X3))
    (active# U101(X1, X2, X3) -> active# X1, active# U103(tt(), M, N) -> isNatKind# N)
    (active# U101(X1, X2, X3) -> active# X1, active# U103(tt(), M, N) -> U104#(isNatKind N, M, N))
    (active# U101(X1, X2, X3) -> active# X1, active# isNat plus(V1, V2) -> isNatKind# V1)
    (active# U101(X1, X2, X3) -> active# X1, active# isNat plus(V1, V2) -> U11#(isNatKind V1, V1, V2))
    (active# U101(X1, X2, X3) -> active# X1, active# isNat x(V1, V2) -> isNatKind# V1)
    (active# U101(X1, X2, X3) -> active# X1, active# isNat x(V1, V2) -> U31#(isNatKind V1, V1, V2))
    (active# U101(X1, X2, X3) -> active# X1, active# isNat s V1 -> isNatKind# V1)
    (active# U101(X1, X2, X3) -> active# X1, active# isNat s V1 -> U21#(isNatKind V1, V1))
    (active# U101(X1, X2, X3) -> active# X1, active# U104(X1, X2, X3) -> active# X1)
    (active# U101(X1, X2, X3) -> active# X1, active# U104(X1, X2, X3) -> U104#(active X1, X2, X3))
    (active# U101(X1, X2, X3) -> active# X1, active# U104(tt(), M, N) -> plus#(x(N, M), N))
    (active# U101(X1, X2, X3) -> active# X1, active# U104(tt(), M, N) -> x#(N, M))
    (active# U101(X1, X2, X3) -> active# X1, active# plus(N, s M) -> isNat# M)
    (active# U101(X1, X2, X3) -> active# X1, active# plus(N, s M) -> U81#(isNat M, M, N))
    (active# U101(X1, X2, X3) -> active# X1, active# plus(N, 0()) -> isNat# N)
    (active# U101(X1, X2, X3) -> active# X1, active# plus(N, 0()) -> U71#(isNat N, N))
    (active# U101(X1, X2, X3) -> active# X1, active# plus(X1, X2) -> active# X1)
    (active# U101(X1, X2, X3) -> active# X1, active# plus(X1, X2) -> active# X2)
    (active# U101(X1, X2, X3) -> active# X1, active# plus(X1, X2) -> plus#(X1, active X2))
    (active# U101(X1, X2, X3) -> active# X1, active# plus(X1, X2) -> plus#(active X1, X2))
    (active# U101(X1, X2, X3) -> active# X1, active# x(N, s M) -> U101#(isNat M, M, N))
    (active# U101(X1, X2, X3) -> active# X1, active# x(N, s M) -> isNat# M)
    (active# U101(X1, X2, X3) -> active# X1, active# x(N, 0()) -> isNat# N)
    (active# U101(X1, X2, X3) -> active# X1, active# x(N, 0()) -> U91#(isNat N, N))
    (active# U101(X1, X2, X3) -> active# X1, active# x(X1, X2) -> active# X1)
    (active# U101(X1, X2, X3) -> active# X1, active# x(X1, X2) -> active# X2)
    (active# U101(X1, X2, X3) -> active# X1, active# x(X1, X2) -> x#(X1, active X2))
    (active# U101(X1, X2, X3) -> active# X1, active# x(X1, X2) -> x#(active X1, X2))
    (active# U101(X1, X2, X3) -> active# X1, active# U12(X1, X2, X3) -> active# X1)
    (active# U101(X1, X2, X3) -> active# X1, active# U12(X1, X2, X3) -> U12#(active X1, X2, X3))
    (active# U101(X1, X2, X3) -> active# X1, active# U12(tt(), V1, V2) -> isNatKind# V2)
    (active# U101(X1, X2, X3) -> active# X1, active# U12(tt(), V1, V2) -> U13#(isNatKind V2, V1, V2))
    (active# U101(X1, X2, X3) -> active# X1, active# U11(X1, X2, X3) -> active# X1)
    (active# U101(X1, X2, X3) -> active# X1, active# U11(X1, X2, X3) -> U11#(active X1, X2, X3))
    (active# U101(X1, X2, X3) -> active# X1, active# U11(tt(), V1, V2) -> isNatKind# V1)
    (active# U101(X1, X2, X3) -> active# X1, active# U11(tt(), V1, V2) -> U12#(isNatKind V1, V1, V2))
    (active# U101(X1, X2, X3) -> active# X1, active# U13(X1, X2, X3) -> active# X1)
    (active# U101(X1, X2, X3) -> active# X1, active# U13(X1, X2, X3) -> U13#(active X1, X2, X3))
    (active# U101(X1, X2, X3) -> active# X1, active# U13(tt(), V1, V2) -> isNatKind# V2)
    (active# U101(X1, X2, X3) -> active# X1, active# U13(tt(), V1, V2) -> U14#(isNatKind V2, V1, V2))
    (active# U101(X1, X2, X3) -> active# X1, active# U14(X1, X2, X3) -> active# X1)
    (active# U101(X1, X2, X3) -> active# X1, active# U14(X1, X2, X3) -> U14#(active X1, X2, X3))
    (active# U101(X1, X2, X3) -> active# X1, active# U14(tt(), V1, V2) -> isNat# V1)
    (active# U101(X1, X2, X3) -> active# X1, active# U14(tt(), V1, V2) -> U15#(isNat V1, V2))
    (active# U101(X1, X2, X3) -> active# X1, active# U15(X1, X2) -> active# X1)
    (active# U101(X1, X2, X3) -> active# X1, active# U15(X1, X2) -> U15#(active X1, X2))
    (active# U101(X1, X2, X3) -> active# X1, active# U15(tt(), V2) -> isNat# V2)
    (active# U101(X1, X2, X3) -> active# X1, active# U15(tt(), V2) -> U16# isNat V2)
    (active# U101(X1, X2, X3) -> active# X1, active# U16 X -> active# X)
    (active# U101(X1, X2, X3) -> active# X1, active# U16 X -> U16# active X)
    (active# U101(X1, X2, X3) -> active# X1, active# U22(X1, X2) -> active# X1)
    (active# U101(X1, X2, X3) -> active# X1, active# U22(X1, X2) -> U22#(active X1, X2))
    (active# U101(X1, X2, X3) -> active# X1, active# U22(tt(), V1) -> isNat# V1)
    (active# U101(X1, X2, X3) -> active# X1, active# U22(tt(), V1) -> U23# isNat V1)
    (active# U101(X1, X2, X3) -> active# X1, active# U21(X1, X2) -> active# X1)
    (active# U101(X1, X2, X3) -> active# X1, active# U21(X1, X2) -> U21#(active X1, X2))
    (active# U101(X1, X2, X3) -> active# X1, active# U21(tt(), V1) -> isNatKind# V1)
    (active# U101(X1, X2, X3) -> active# X1, active# U21(tt(), V1) -> U22#(isNatKind V1, V1))
    (active# U101(X1, X2, X3) -> active# X1, active# U23 X -> active# X)
    (active# U101(X1, X2, X3) -> active# X1, active# U23 X -> U23# active X)
    (active# U101(X1, X2, X3) -> active# X1, active# U32(X1, X2, X3) -> active# X1)
    (active# U101(X1, X2, X3) -> active# X1, active# U32(X1, X2, X3) -> U32#(active X1, X2, X3))
    (active# U101(X1, X2, X3) -> active# X1, active# U32(tt(), V1, V2) -> isNatKind# V2)
    (active# U101(X1, X2, X3) -> active# X1, active# U32(tt(), V1, V2) -> U33#(isNatKind V2, V1, V2))
    (active# U101(X1, X2, X3) -> active# X1, active# U31(X1, X2, X3) -> active# X1)
    (active# U101(X1, X2, X3) -> active# X1, active# U31(X1, X2, X3) -> U31#(active X1, X2, X3))
    (active# U101(X1, X2, X3) -> active# X1, active# U31(tt(), V1, V2) -> isNatKind# V1)
    (active# U101(X1, X2, X3) -> active# X1, active# U31(tt(), V1, V2) -> U32#(isNatKind V1, V1, V2))
    (active# U101(X1, X2, X3) -> active# X1, active# U33(X1, X2, X3) -> active# X1)
    (active# U101(X1, X2, X3) -> active# X1, active# U33(X1, X2, X3) -> U33#(active X1, X2, X3))
    (active# U101(X1, X2, X3) -> active# X1, active# U33(tt(), V1, V2) -> isNatKind# V2)
    (active# U101(X1, X2, X3) -> active# X1, active# U33(tt(), V1, V2) -> U34#(isNatKind V2, V1, V2))
    (active# U101(X1, X2, X3) -> active# X1, active# U34(X1, X2, X3) -> active# X1)
    (active# U101(X1, X2, X3) -> active# X1, active# U34(X1, X2, X3) -> U34#(active X1, X2, X3))
    (active# U101(X1, X2, X3) -> active# X1, active# U34(tt(), V1, V2) -> isNat# V1)
    (active# U101(X1, X2, X3) -> active# X1, active# U34(tt(), V1, V2) -> U35#(isNat V1, V2))
    (active# U101(X1, X2, X3) -> active# X1, active# U35(X1, X2) -> active# X1)
    (active# U101(X1, X2, X3) -> active# X1, active# U35(X1, X2) -> U35#(active X1, X2))
    (active# U101(X1, X2, X3) -> active# X1, active# U35(tt(), V2) -> isNat# V2)
    (active# U101(X1, X2, X3) -> active# X1, active# U35(tt(), V2) -> U36# isNat V2)
    (active# U101(X1, X2, X3) -> active# X1, active# U36 X -> active# X)
    (active# U101(X1, X2, X3) -> active# X1, active# U36 X -> U36# active X)
    (active# U101(X1, X2, X3) -> active# X1, active# U42 X -> active# X)
    (active# U101(X1, X2, X3) -> active# X1, active# U42 X -> U42# active X)
    (active# U101(X1, X2, X3) -> active# X1, active# U41(X1, X2) -> active# X1)
    (active# U101(X1, X2, X3) -> active# X1, active# U41(X1, X2) -> U41#(active X1, X2))
    (active# U101(X1, X2, X3) -> active# X1, active# U41(tt(), V2) -> isNatKind# V2)
    (active# U101(X1, X2, X3) -> active# X1, active# U41(tt(), V2) -> U42# isNatKind V2)
    (active# U101(X1, X2, X3) -> active# X1, active# U51 X -> active# X)
    (active# U101(X1, X2, X3) -> active# X1, active# U51 X -> U51# active X)
    (active# U101(X1, X2, X3) -> active# X1, active# U62 X -> active# X)
    (active# U101(X1, X2, X3) -> active# X1, active# U62 X -> U62# active X)
    (active# U101(X1, X2, X3) -> active# X1, active# U61(X1, X2) -> active# X1)
    (active# U101(X1, X2, X3) -> active# X1, active# U61(X1, X2) -> U61#(active X1, X2))
    (active# U101(X1, X2, X3) -> active# X1, active# U61(tt(), V2) -> isNatKind# V2)
    (active# U101(X1, X2, X3) -> active# X1, active# U61(tt(), V2) -> U62# isNatKind V2)
    (active# U101(X1, X2, X3) -> active# X1, active# U72(X1, X2) -> active# X1)
    (active# U101(X1, X2, X3) -> active# X1, active# U72(X1, X2) -> U72#(active X1, X2))
    (active# U101(X1, X2, X3) -> active# X1, active# U71(X1, X2) -> active# X1)
    (active# U101(X1, X2, X3) -> active# X1, active# U71(X1, X2) -> U71#(active X1, X2))
    (active# U101(X1, X2, X3) -> active# X1, active# U71(tt(), N) -> isNatKind# N)
    (active# U101(X1, X2, X3) -> active# X1, active# U71(tt(), N) -> U72#(isNatKind N, N))
    (active# U101(X1, X2, X3) -> active# X1, active# U82(X1, X2, X3) -> active# X1)
    (active# U101(X1, X2, X3) -> active# X1, active# U82(X1, X2, X3) -> U82#(active X1, X2, X3))
    (active# U101(X1, X2, X3) -> active# X1, active# U82(tt(), M, N) -> isNat# N)
    (active# U101(X1, X2, X3) -> active# X1, active# U82(tt(), M, N) -> U83#(isNat N, M, N))
    (active# U101(X1, X2, X3) -> active# X1, active# U81(X1, X2, X3) -> active# X1)
    (active# U101(X1, X2, X3) -> active# X1, active# U81(X1, X2, X3) -> U81#(active X1, X2, X3))
    (active# U101(X1, X2, X3) -> active# X1, active# U81(tt(), M, N) -> isNatKind# M)
    (active# U101(X1, X2, X3) -> active# X1, active# U81(tt(), M, N) -> U82#(isNatKind M, M, N))
    (active# U101(X1, X2, X3) -> active# X1, active# U83(X1, X2, X3) -> active# X1)
    (active# U101(X1, X2, X3) -> active# X1, active# U83(X1, X2, X3) -> U83#(active X1, X2, X3))
    (active# U101(X1, X2, X3) -> active# X1, active# U83(tt(), M, N) -> isNatKind# N)
    (active# U101(X1, X2, X3) -> active# X1, active# U83(tt(), M, N) -> U84#(isNatKind N, M, N))
    (active# U101(X1, X2, X3) -> active# X1, active# U84(X1, X2, X3) -> active# X1)
    (active# U101(X1, X2, X3) -> active# X1, active# U84(X1, X2, X3) -> U84#(active X1, X2, X3))
    (active# U101(X1, X2, X3) -> active# X1, active# U84(tt(), M, N) -> plus#(N, M))
    (active# U101(X1, X2, X3) -> active# X1, active# U84(tt(), M, N) -> s# plus(N, M))
    (active# U101(X1, X2, X3) -> active# X1, active# s X -> active# X)
    (active# U101(X1, X2, X3) -> active# X1, active# s X -> s# active X)
    (active# U101(X1, X2, X3) -> active# X1, active# U92 X -> active# X)
    (active# U101(X1, X2, X3) -> active# X1, active# U92 X -> U92# active X)
    (active# U101(X1, X2, X3) -> active# X1, active# U91(X1, X2) -> active# X1)
    (active# U101(X1, X2, X3) -> active# X1, active# U91(X1, X2) -> U91#(active X1, X2))
    (active# U101(X1, X2, X3) -> active# X1, active# U91(tt(), N) -> isNatKind# N)
    (active# U101(X1, X2, X3) -> active# X1, active# U91(tt(), N) -> U92# isNatKind N)
    (U84#(ok X1, ok X2, ok X3) -> U84#(X1, X2, X3), U84#(mark X1, X2, X3) -> U84#(X1, X2, X3))
    (U84#(ok X1, ok X2, ok X3) -> U84#(X1, X2, X3), U84#(ok X1, ok X2, ok X3) -> U84#(X1, X2, X3))
    (U83#(ok X1, ok X2, ok X3) -> U83#(X1, X2, X3), U83#(mark X1, X2, X3) -> U83#(X1, X2, X3))
    (U83#(ok X1, ok X2, ok X3) -> U83#(X1, X2, X3), U83#(ok X1, ok X2, ok X3) -> U83#(X1, X2, X3))
    (U81#(ok X1, ok X2, ok X3) -> U81#(X1, X2, X3), U81#(mark X1, X2, X3) -> U81#(X1, X2, X3))
    (U81#(ok X1, ok X2, ok X3) -> U81#(X1, X2, X3), U81#(ok X1, ok X2, ok X3) -> U81#(X1, X2, X3))
    (U82#(ok X1, ok X2, ok X3) -> U82#(X1, X2, X3), U82#(mark X1, X2, X3) -> U82#(X1, X2, X3))
    (U82#(ok X1, ok X2, ok X3) -> U82#(X1, X2, X3), U82#(ok X1, ok X2, ok X3) -> U82#(X1, X2, X3))
    (U34#(ok X1, ok X2, ok X3) -> U34#(X1, X2, X3), U34#(mark X1, X2, X3) -> U34#(X1, X2, X3))
    (U34#(ok X1, ok X2, ok X3) -> U34#(X1, X2, X3), U34#(ok X1, ok X2, ok X3) -> U34#(X1, X2, X3))
    (U33#(ok X1, ok X2, ok X3) -> U33#(X1, X2, X3), U33#(mark X1, X2, X3) -> U33#(X1, X2, X3))
    (U33#(ok X1, ok X2, ok X3) -> U33#(X1, X2, X3), U33#(ok X1, ok X2, ok X3) -> U33#(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))
    (U32#(ok X1, ok X2, ok X3) -> U32#(X1, X2, X3), U32#(mark X1, X2, X3) -> U32#(X1, X2, X3))
    (U32#(ok X1, ok X2, ok X3) -> U32#(X1, X2, X3), U32#(ok X1, ok X2, ok X3) -> U32#(X1, X2, X3))
    (U14#(ok X1, ok X2, ok X3) -> U14#(X1, X2, X3), U14#(mark X1, X2, X3) -> U14#(X1, X2, X3))
    (U14#(ok X1, ok X2, ok X3) -> U14#(X1, X2, X3), U14#(ok X1, ok X2, ok X3) -> U14#(X1, X2, X3))
    (U13#(ok X1, ok X2, ok X3) -> U13#(X1, X2, X3), U13#(mark X1, X2, X3) -> U13#(X1, X2, X3))
    (U13#(ok X1, ok X2, ok X3) -> U13#(X1, X2, X3), U13#(ok X1, ok X2, ok X3) -> U13#(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))
    (U12#(ok X1, ok X2, ok X3) -> U12#(X1, X2, X3), U12#(mark X1, X2, X3) -> U12#(X1, X2, X3))
    (U12#(ok X1, ok X2, ok X3) -> U12#(X1, X2, X3), U12#(ok X1, ok X2, ok X3) -> U12#(X1, X2, X3))
    (U104#(ok X1, ok X2, ok X3) -> U104#(X1, X2, X3), U104#(mark X1, X2, X3) -> U104#(X1, X2, X3))
    (U104#(ok X1, ok X2, ok X3) -> U104#(X1, X2, X3), U104#(ok X1, ok X2, ok X3) -> U104#(X1, X2, X3))
    (U103#(ok X1, ok X2, ok X3) -> U103#(X1, X2, X3), U103#(mark X1, X2, X3) -> U103#(X1, X2, X3))
    (U103#(ok X1, ok X2, ok X3) -> U103#(X1, X2, X3), U103#(ok X1, ok X2, ok X3) -> U103#(X1, X2, X3))
    (U101#(ok X1, ok X2, ok X3) -> U101#(X1, X2, X3), U101#(mark X1, X2, X3) -> U101#(X1, X2, X3))
    (U101#(ok X1, ok X2, ok X3) -> U101#(X1, X2, X3), U101#(ok X1, ok X2, ok X3) -> U101#(X1, X2, X3))
    (active# U84(X1, X2, X3) -> U84#(active X1, X2, X3), U84#(mark X1, X2, X3) -> U84#(X1, X2, X3))
    (active# U84(X1, X2, X3) -> U84#(active X1, X2, X3), U84#(ok X1, ok X2, ok X3) -> U84#(X1, X2, X3))
    (active# U81(X1, X2, X3) -> U81#(active X1, X2, X3), U81#(mark X1, X2, X3) -> U81#(X1, X2, X3))
    (active# U81(X1, X2, X3) -> U81#(active X1, X2, X3), U81#(ok X1, ok X2, ok X3) -> U81#(X1, X2, X3))
    (active# U34(X1, X2, X3) -> U34#(active X1, X2, X3), U34#(mark X1, X2, X3) -> U34#(X1, X2, X3))
    (active# U34(X1, X2, X3) -> U34#(active X1, X2, X3), U34#(ok X1, ok X2, ok X3) -> U34#(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# U14(X1, X2, X3) -> U14#(active X1, X2, X3), U14#(mark X1, X2, X3) -> U14#(X1, X2, X3))
    (active# U14(X1, X2, X3) -> U14#(active X1, X2, X3), U14#(ok X1, ok X2, ok X3) -> U14#(X1, X2, X3))
    (active# U11(X1, X2, X3) -> U11#(active X1, X2, X3), U11#(mark X1, X2, X3) -> U11#(X1, X2, X3))
    (active# U11(X1, X2, X3) -> U11#(active X1, X2, X3), U11#(ok X1, ok X2, ok X3) -> U11#(X1, X2, X3))
    (active# U104(X1, X2, X3) -> U104#(active X1, X2, X3), U104#(mark X1, X2, X3) -> U104#(X1, X2, X3))
    (active# U104(X1, X2, X3) -> U104#(active X1, X2, X3), U104#(ok X1, ok X2, ok X3) -> U104#(X1, X2, X3))
    (active# U101(X1, X2, X3) -> U101#(active X1, X2, X3), U101#(mark X1, X2, X3) -> U101#(X1, X2, X3))
    (active# U101(X1, X2, X3) -> U101#(active X1, X2, X3), U101#(ok X1, ok X2, ok X3) -> U101#(X1, X2, X3))
    (U102#(ok X1, ok X2, ok X3) -> U102#(X1, X2, X3), U102#(mark X1, X2, X3) -> U102#(X1, X2, X3))
    (U102#(ok X1, ok X2, ok X3) -> U102#(X1, X2, X3), U102#(ok X1, ok X2, ok X3) -> U102#(X1, X2, X3))
    (U91#(ok X1, ok X2) -> U91#(X1, X2), U91#(mark X1, X2) -> U91#(X1, X2))
    (U91#(ok X1, ok X2) -> U91#(X1, X2), U91#(ok X1, ok X2) -> U91#(X1, X2))
    (U71#(ok X1, ok X2) -> U71#(X1, X2), U71#(mark X1, X2) -> U71#(X1, X2))
    (U71#(ok X1, ok X2) -> U71#(X1, X2), U71#(ok X1, ok X2) -> U71#(X1, X2))
    (U72#(ok X1, ok X2) -> U72#(X1, X2), U72#(mark X1, X2) -> U72#(X1, X2))
    (U72#(ok X1, ok X2) -> U72#(X1, X2), U72#(ok X1, ok X2) -> U72#(X1, X2))
    (U61#(ok X1, ok X2) -> U61#(X1, X2), U61#(mark X1, X2) -> U61#(X1, X2))
    (U61#(ok X1, ok X2) -> U61#(X1, X2), U61#(ok X1, ok X2) -> U61#(X1, X2))
    (U41#(ok X1, ok X2) -> U41#(X1, X2), U41#(mark X1, X2) -> U41#(X1, X2))
    (U41#(ok X1, ok X2) -> U41#(X1, X2), U41#(ok X1, ok X2) -> U41#(X1, X2))
    (U35#(ok X1, ok X2) -> U35#(X1, X2), U35#(mark X1, X2) -> U35#(X1, X2))
    (U35#(ok X1, ok X2) -> U35#(X1, X2), U35#(ok X1, ok X2) -> U35#(X1, X2))
    (U21#(ok X1, ok X2) -> U21#(X1, X2), U21#(mark X1, X2) -> U21#(X1, X2))
    (U21#(ok X1, ok X2) -> U21#(X1, X2), U21#(ok X1, ok X2) -> U21#(X1, X2))
    (U22#(ok X1, ok X2) -> U22#(X1, X2), U22#(mark X1, X2) -> U22#(X1, X2))
    (U22#(ok X1, ok X2) -> U22#(X1, X2), U22#(ok X1, ok X2) -> U22#(X1, X2))
    (U15#(ok X1, ok X2) -> U15#(X1, X2), U15#(mark X1, X2) -> U15#(X1, X2))
    (U15#(ok X1, ok X2) -> U15#(X1, X2), U15#(ok X1, ok X2) -> U15#(X1, X2))
    (x#(ok X1, ok X2) -> x#(X1, X2), x#(X1, mark 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#(ok X1, ok 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))
    (x#(X1, mark X2) -> x#(X1, X2), x#(ok X1, ok X2) -> x#(X1, X2))
    (plus#(mark X1, X2) -> plus#(X1, X2), plus#(X1, mark X2) -> plus#(X1, X2))
    (plus#(mark X1, X2) -> plus#(X1, X2), plus#(mark X1, X2) -> plus#(X1, X2))
    (plus#(mark X1, X2) -> plus#(X1, X2), plus#(ok X1, ok X2) -> plus#(X1, X2))
    (active# U91(X1, X2) -> U91#(active X1, X2), U91#(mark X1, X2) -> U91#(X1, X2))
    (active# U91(X1, X2) -> U91#(active X1, X2), U91#(ok X1, ok X2) -> U91#(X1, X2))
    (active# U72(X1, X2) -> U72#(active X1, X2), U72#(mark X1, X2) -> U72#(X1, X2))
    (active# U72(X1, X2) -> U72#(active X1, X2), U72#(ok X1, ok X2) -> U72#(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# U15(X1, X2) -> U15#(active X1, X2), U15#(mark X1, X2) -> U15#(X1, X2))
    (active# U15(X1, X2) -> U15#(active X1, X2), U15#(ok X1, ok X2) -> U15#(X1, X2))
    (active# plus(X1, X2) -> plus#(active X1, X2), plus#(X1, mark 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#(ok X1, ok X2) -> plus#(X1, X2))
    (top# mark X -> proper# X, proper# U102(X1, X2, X3) -> U102#(proper X1, proper X2, proper X3))
    (top# mark X -> proper# X, proper# U102(X1, X2, X3) -> proper# X1)
    (top# mark X -> proper# X, proper# U102(X1, X2, X3) -> proper# X2)
    (top# mark X -> proper# X, proper# U102(X1, X2, X3) -> proper# X3)
    (top# mark X -> proper# X, proper# isNatKind X -> isNatKind# proper X)
    (top# mark X -> proper# X, proper# isNatKind X -> proper# X)
    (top# mark X -> proper# X, proper# U101(X1, X2, X3) -> U101#(proper X1, proper X2, proper X3))
    (top# mark X -> proper# X, proper# U101(X1, X2, X3) -> proper# X1)
    (top# mark X -> proper# X, proper# U101(X1, X2, X3) -> proper# X2)
    (top# mark X -> proper# X, proper# U101(X1, X2, X3) -> proper# X3)
    (top# mark X -> proper# X, proper# U103(X1, X2, X3) -> U103#(proper X1, proper X2, proper X3))
    (top# mark X -> proper# X, proper# U103(X1, X2, X3) -> proper# X1)
    (top# mark X -> proper# X, proper# U103(X1, X2, X3) -> proper# X2)
    (top# mark X -> proper# X, proper# U103(X1, X2, X3) -> proper# X3)
    (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# U104(X1, X2, X3) -> U104#(proper X1, proper X2, proper X3))
    (top# mark X -> proper# X, proper# U104(X1, X2, X3) -> proper# X1)
    (top# mark X -> proper# X, proper# U104(X1, X2, X3) -> proper# X2)
    (top# mark X -> proper# X, proper# U104(X1, X2, X3) -> proper# X3)
    (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# 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# U12(X1, X2, X3) -> U12#(proper X1, proper X2, proper X3))
    (top# mark X -> proper# X, proper# U12(X1, X2, X3) -> proper# X1)
    (top# mark X -> proper# X, proper# U12(X1, X2, X3) -> proper# X2)
    (top# mark X -> proper# X, proper# U12(X1, X2, X3) -> proper# X3)
    (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(X1, X2, X3) -> U13#(proper X1, proper X2, proper X3))
    (top# mark X -> proper# X, proper# U13(X1, X2, X3) -> proper# X1)
    (top# mark X -> proper# X, proper# U13(X1, X2, X3) -> proper# X2)
    (top# mark X -> proper# X, proper# U13(X1, X2, X3) -> proper# X3)
    (top# mark X -> proper# X, proper# U14(X1, X2, X3) -> U14#(proper X1, proper X2, proper X3))
    (top# mark X -> proper# X, proper# U14(X1, X2, X3) -> proper# X1)
    (top# mark X -> proper# X, proper# U14(X1, X2, X3) -> proper# X2)
    (top# mark X -> proper# X, proper# U14(X1, X2, X3) -> proper# X3)
    (top# mark X -> proper# X, proper# U15(X1, X2) -> U15#(proper X1, proper X2))
    (top# mark X -> proper# X, proper# U15(X1, X2) -> proper# X1)
    (top# mark X -> proper# X, proper# U15(X1, X2) -> proper# X2)
    (top# mark X -> proper# X, proper# U16 X -> U16# proper X)
    (top# mark X -> proper# X, proper# U16 X -> proper# X)
    (top# mark X -> proper# X, proper# U22(X1, X2) -> U22#(proper X1, proper X2))
    (top# mark X -> proper# X, proper# U22(X1, X2) -> proper# X1)
    (top# mark X -> proper# X, proper# U22(X1, X2) -> proper# X2)
    (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# U23 X -> U23# proper X)
    (top# mark X -> proper# X, proper# U23 X -> proper# X)
    (top# mark X -> proper# X, proper# U32(X1, X2, X3) -> U32#(proper X1, proper X2, proper X3))
    (top# mark X -> proper# X, proper# U32(X1, X2, X3) -> proper# X1)
    (top# mark X -> proper# X, proper# U32(X1, X2, X3) -> proper# X2)
    (top# mark X -> proper# X, proper# U32(X1, X2, X3) -> proper# X3)
    (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(X1, X2, X3) -> U33#(proper X1, proper X2, proper X3))
    (top# mark X -> proper# X, proper# U33(X1, X2, X3) -> proper# X1)
    (top# mark X -> proper# X, proper# U33(X1, X2, X3) -> proper# X2)
    (top# mark X -> proper# X, proper# U33(X1, X2, X3) -> proper# X3)
    (top# mark X -> proper# X, proper# U34(X1, X2, X3) -> U34#(proper X1, proper X2, proper X3))
    (top# mark X -> proper# X, proper# U34(X1, X2, X3) -> proper# X1)
    (top# mark X -> proper# X, proper# U34(X1, X2, X3) -> proper# X2)
    (top# mark X -> proper# X, proper# U34(X1, X2, X3) -> proper# X3)
    (top# mark X -> proper# X, proper# U35(X1, X2) -> U35#(proper X1, proper X2))
    (top# mark X -> proper# X, proper# U35(X1, X2) -> proper# X1)
    (top# mark X -> proper# X, proper# U35(X1, X2) -> proper# X2)
    (top# mark X -> proper# X, proper# U36 X -> U36# proper X)
    (top# mark X -> proper# X, proper# U36 X -> proper# X)
    (top# mark X -> proper# X, proper# U42 X -> U42# proper X)
    (top# mark X -> proper# X, proper# U42 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# U51 X -> U51# proper X)
    (top# mark X -> proper# X, proper# U51 X -> proper# X)
    (top# mark X -> proper# X, proper# U62 X -> U62# proper X)
    (top# mark X -> proper# X, proper# U62 X -> proper# X)
    (top# mark X -> proper# X, proper# U61(X1, X2) -> U61#(proper X1, proper X2))
    (top# mark X -> proper# X, proper# U61(X1, X2) -> proper# X1)
    (top# mark X -> proper# X, proper# U61(X1, X2) -> proper# X2)
    (top# mark X -> proper# X, proper# U72(X1, X2) -> U72#(proper X1, proper X2))
    (top# mark X -> proper# X, proper# U72(X1, X2) -> proper# X1)
    (top# mark X -> proper# X, proper# U72(X1, X2) -> proper# X2)
    (top# mark X -> proper# X, proper# U71(X1, X2) -> U71#(proper X1, proper X2))
    (top# mark X -> proper# X, proper# U71(X1, X2) -> proper# X1)
    (top# mark X -> proper# X, proper# U71(X1, X2) -> proper# X2)
    (top# mark X -> proper# X, proper# U82(X1, X2, X3) -> U82#(proper X1, proper X2, proper X3))
    (top# mark X -> proper# X, proper# U82(X1, X2, X3) -> proper# X1)
    (top# mark X -> proper# X, proper# U82(X1, X2, X3) -> proper# X2)
    (top# mark X -> proper# X, proper# U82(X1, X2, X3) -> proper# X3)
    (top# mark X -> proper# X, proper# U81(X1, X2, X3) -> U81#(proper X1, proper X2, proper X3))
    (top# mark X -> proper# X, proper# U81(X1, X2, X3) -> proper# X1)
    (top# mark X -> proper# X, proper# U81(X1, X2, X3) -> proper# X2)
    (top# mark X -> proper# X, proper# U81(X1, X2, X3) -> proper# X3)
    (top# mark X -> proper# X, proper# U83(X1, X2, X3) -> U83#(proper X1, proper X2, proper X3))
    (top# mark X -> proper# X, proper# U83(X1, X2, X3) -> proper# X1)
    (top# mark X -> proper# X, proper# U83(X1, X2, X3) -> proper# X2)
    (top# mark X -> proper# X, proper# U83(X1, X2, X3) -> proper# X3)
    (top# mark X -> proper# X, proper# U84(X1, X2, X3) -> U84#(proper X1, proper X2, proper X3))
    (top# mark X -> proper# X, proper# U84(X1, X2, X3) -> proper# X1)
    (top# mark X -> proper# X, proper# U84(X1, X2, X3) -> proper# X2)
    (top# mark X -> proper# X, proper# U84(X1, X2, X3) -> proper# X3)
    (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# U92 X -> U92# proper X)
    (top# mark X -> proper# X, proper# U92 X -> proper# X)
    (top# mark X -> proper# X, proper# U91(X1, X2) -> U91#(proper X1, proper X2))
    (top# mark X -> proper# X, proper# U91(X1, X2) -> proper# X1)
    (top# mark X -> proper# X, proper# U91(X1, X2) -> proper# X2)
    (proper# s X -> proper# X, proper# U102(X1, X2, X3) -> U102#(proper X1, proper X2, proper X3))
    (proper# s X -> proper# X, proper# U102(X1, X2, X3) -> proper# X1)
    (proper# s X -> proper# X, proper# U102(X1, X2, X3) -> proper# X2)
    (proper# s X -> proper# X, proper# U102(X1, X2, X3) -> proper# X3)
    (proper# s X -> proper# X, proper# isNatKind X -> isNatKind# proper X)
    (proper# s X -> proper# X, proper# isNatKind X -> proper# X)
    (proper# s X -> proper# X, proper# U101(X1, X2, X3) -> U101#(proper X1, proper X2, proper X3))
    (proper# s X -> proper# X, proper# U101(X1, X2, X3) -> proper# X1)
    (proper# s X -> proper# X, proper# U101(X1, X2, X3) -> proper# X2)
    (proper# s X -> proper# X, proper# U101(X1, X2, X3) -> proper# X3)
    (proper# s X -> proper# X, proper# U103(X1, X2, X3) -> U103#(proper X1, proper X2, proper X3))
    (proper# s X -> proper# X, proper# U103(X1, X2, X3) -> proper# X1)
    (proper# s X -> proper# X, proper# U103(X1, X2, X3) -> proper# X2)
    (proper# s X -> proper# X, proper# U103(X1, X2, X3) -> proper# X3)
    (proper# s X -> proper# X, proper# isNat X -> isNat# proper X)
    (proper# s X -> proper# X, proper# isNat X -> proper# X)
    (proper# s X -> proper# X, proper# U104(X1, X2, X3) -> U104#(proper X1, proper X2, proper X3))
    (proper# s X -> proper# X, proper# U104(X1, X2, X3) -> proper# X1)
    (proper# s X -> proper# X, proper# U104(X1, X2, X3) -> proper# X2)
    (proper# s X -> proper# X, proper# U104(X1, X2, X3) -> proper# X3)
    (proper# s X -> proper# X, proper# plus(X1, X2) -> plus#(proper X1, proper X2))
    (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# x(X1, X2) -> x#(proper X1, proper X2))
    (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# U12(X1, X2, X3) -> U12#(proper X1, proper X2, proper X3))
    (proper# s X -> proper# X, proper# U12(X1, X2, X3) -> proper# X1)
    (proper# s X -> proper# X, proper# U12(X1, X2, X3) -> proper# X2)
    (proper# s X -> proper# X, proper# U12(X1, X2, X3) -> proper# X3)
    (proper# s X -> proper# X, proper# U11(X1, X2, X3) -> U11#(proper X1, proper X2, proper X3))
    (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(X1, X2, X3) -> U13#(proper X1, proper X2, proper X3))
    (proper# s X -> proper# X, proper# U13(X1, X2, X3) -> proper# X1)
    (proper# s X -> proper# X, proper# U13(X1, X2, X3) -> proper# X2)
    (proper# s X -> proper# X, proper# U13(X1, X2, X3) -> proper# X3)
    (proper# s X -> proper# X, proper# U14(X1, X2, X3) -> U14#(proper X1, proper X2, proper X3))
    (proper# s X -> proper# X, proper# U14(X1, X2, X3) -> proper# X1)
    (proper# s X -> proper# X, proper# U14(X1, X2, X3) -> proper# X2)
    (proper# s X -> proper# X, proper# U14(X1, X2, X3) -> proper# X3)
    (proper# s X -> proper# X, proper# U15(X1, X2) -> U15#(proper X1, proper X2))
    (proper# s X -> proper# X, proper# U15(X1, X2) -> proper# X1)
    (proper# s X -> proper# X, proper# U15(X1, X2) -> proper# X2)
    (proper# s X -> proper# X, proper# U16 X -> U16# proper X)
    (proper# s X -> proper# X, proper# U16 X -> proper# X)
    (proper# s X -> proper# X, proper# U22(X1, X2) -> U22#(proper X1, proper X2))
    (proper# s X -> proper# X, proper# U22(X1, X2) -> proper# X1)
    (proper# s X -> proper# X, proper# U22(X1, X2) -> proper# X2)
    (proper# s X -> proper# X, proper# U21(X1, X2) -> U21#(proper X1, proper X2))
    (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# U23 X -> U23# proper X)
    (proper# s X -> proper# X, proper# U23 X -> proper# X)
    (proper# s X -> proper# X, proper# U32(X1, X2, X3) -> U32#(proper X1, proper X2, proper X3))
    (proper# s X -> proper# X, proper# U32(X1, X2, X3) -> proper# X1)
    (proper# s X -> proper# X, proper# U32(X1, X2, X3) -> proper# X2)
    (proper# s X -> proper# X, proper# U32(X1, X2, X3) -> proper# X3)
    (proper# s X -> proper# X, proper# U31(X1, X2, X3) -> U31#(proper X1, proper X2, proper X3))
    (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(X1, X2, X3) -> U33#(proper X1, proper X2, proper X3))
    (proper# s X -> proper# X, proper# U33(X1, X2, X3) -> proper# X1)
    (proper# s X -> proper# X, proper# U33(X1, X2, X3) -> proper# X2)
    (proper# s X -> proper# X, proper# U33(X1, X2, X3) -> proper# X3)
    (proper# s X -> proper# X, proper# U34(X1, X2, X3) -> U34#(proper X1, proper X2, proper X3))
    (proper# s X -> proper# X, proper# U34(X1, X2, X3) -> proper# X1)
    (proper# s X -> proper# X, proper# U34(X1, X2, X3) -> proper# X2)
    (proper# s X -> proper# X, proper# U34(X1, X2, X3) -> proper# X3)
    (proper# s X -> proper# X, proper# U35(X1, X2) -> U35#(proper X1, proper X2))
    (proper# s X -> proper# X, proper# U35(X1, X2) -> proper# X1)
    (proper# s X -> proper# X, proper# U35(X1, X2) -> proper# X2)
    (proper# s X -> proper# X, proper# U36 X -> U36# proper X)
    (proper# s X -> proper# X, proper# U36 X -> proper# X)
    (proper# s X -> proper# X, proper# U42 X -> U42# proper X)
    (proper# s X -> proper# X, proper# U42 X -> proper# X)
    (proper# s X -> proper# X, proper# U41(X1, X2) -> U41#(proper X1, proper X2))
    (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# U51 X -> U51# proper X)
    (proper# s X -> proper# X, proper# U51 X -> proper# X)
    (proper# s X -> proper# X, proper# U62 X -> U62# proper X)
    (proper# s X -> proper# X, proper# U62 X -> proper# X)
    (proper# s X -> proper# X, proper# U61(X1, X2) -> U61#(proper X1, proper X2))
    (proper# s X -> proper# X, proper# U61(X1, X2) -> proper# X1)
    (proper# s X -> proper# X, proper# U61(X1, X2) -> proper# X2)
    (proper# s X -> proper# X, proper# U72(X1, X2) -> U72#(proper X1, proper X2))
    (proper# s X -> proper# X, proper# U72(X1, X2) -> proper# X1)
    (proper# s X -> proper# X, proper# U72(X1, X2) -> proper# X2)
    (proper# s X -> proper# X, proper# U71(X1, X2) -> U71#(proper X1, proper X2))
    (proper# s X -> proper# X, proper# U71(X1, X2) -> proper# X1)
    (proper# s X -> proper# X, proper# U71(X1, X2) -> proper# X2)
    (proper# s X -> proper# X, proper# U82(X1, X2, X3) -> U82#(proper X1, proper X2, proper X3))
    (proper# s X -> proper# X, proper# U82(X1, X2, X3) -> proper# X1)
    (proper# s X -> proper# X, proper# U82(X1, X2, X3) -> proper# X2)
    (proper# s X -> proper# X, proper# U82(X1, X2, X3) -> proper# X3)
    (proper# s X -> proper# X, proper# U81(X1, X2, X3) -> U81#(proper X1, proper X2, proper X3))
    (proper# s X -> proper# X, proper# U81(X1, X2, X3) -> proper# X1)
    (proper# s X -> proper# X, proper# U81(X1, X2, X3) -> proper# X2)
    (proper# s X -> proper# X, proper# U81(X1, X2, X3) -> proper# X3)
    (proper# s X -> proper# X, proper# U83(X1, X2, X3) -> U83#(proper X1, proper X2, proper X3))
    (proper# s X -> proper# X, proper# U83(X1, X2, X3) -> proper# X1)
    (proper# s X -> proper# X, proper# U83(X1, X2, X3) -> proper# X2)
    (proper# s X -> proper# X, proper# U83(X1, X2, X3) -> proper# X3)
    (proper# s X -> proper# X, proper# U84(X1, X2, X3) -> U84#(proper X1, proper X2, proper X3))
    (proper# s X -> proper# X, proper# U84(X1, X2, X3) -> proper# X1)
    (proper# s X -> proper# X, proper# U84(X1, X2, X3) -> proper# X2)
    (proper# s X -> proper# X, proper# U84(X1, X2, X3) -> proper# X3)
    (proper# s X -> proper# X, proper# s X -> s# proper X)
    (proper# s X -> proper# X, proper# s X -> proper# X)
    (proper# s X -> proper# X, proper# U92 X -> U92# proper X)
    (proper# s X -> proper# X, proper# U92 X -> proper# X)
    (proper# s X -> proper# X, proper# U91(X1, X2) -> U91#(proper X1, proper X2))
    (proper# s X -> proper# X, proper# U91(X1, X2) -> proper# X1)
    (proper# s X -> proper# X, proper# U91(X1, X2) -> proper# X2)
    (proper# U51 X -> proper# X, proper# U102(X1, X2, X3) -> U102#(proper X1, proper X2, proper X3))
    (proper# U51 X -> proper# X, proper# U102(X1, X2, X3) -> proper# X1)
    (proper# U51 X -> proper# X, proper# U102(X1, X2, X3) -> proper# X2)
    (proper# U51 X -> proper# X, proper# U102(X1, X2, X3) -> proper# X3)
    (proper# U51 X -> proper# X, proper# isNatKind X -> isNatKind# proper X)
    (proper# U51 X -> proper# X, proper# isNatKind X -> proper# X)
    (proper# U51 X -> proper# X, proper# U101(X1, X2, X3) -> U101#(proper X1, proper X2, proper X3))
    (proper# U51 X -> proper# X, proper# U101(X1, X2, X3) -> proper# X1)
    (proper# U51 X -> proper# X, proper# U101(X1, X2, X3) -> proper# X2)
    (proper# U51 X -> proper# X, proper# U101(X1, X2, X3) -> proper# X3)
    (proper# U51 X -> proper# X, proper# U103(X1, X2, X3) -> U103#(proper X1, proper X2, proper X3))
    (proper# U51 X -> proper# X, proper# U103(X1, X2, X3) -> proper# X1)
    (proper# U51 X -> proper# X, proper# U103(X1, X2, X3) -> proper# X2)
    (proper# U51 X -> proper# X, proper# U103(X1, X2, X3) -> proper# X3)
    (proper# U51 X -> proper# X, proper# isNat X -> isNat# proper X)
    (proper# U51 X -> proper# X, proper# isNat X -> proper# X)
    (proper# U51 X -> proper# X, proper# U104(X1, X2, X3) -> U104#(proper X1, proper X2, proper X3))
    (proper# U51 X -> proper# X, proper# U104(X1, X2, X3) -> proper# X1)
    (proper# U51 X -> proper# X, proper# U104(X1, X2, X3) -> proper# X2)
    (proper# U51 X -> proper# X, proper# U104(X1, X2, X3) -> proper# X3)
    (proper# U51 X -> proper# X, proper# plus(X1, X2) -> plus#(proper X1, proper X2))
    (proper# U51 X -> proper# X, proper# plus(X1, X2) -> proper# X1)
    (proper# U51 X -> proper# X, proper# plus(X1, X2) -> proper# X2)
    (proper# U51 X -> proper# X, proper# x(X1, X2) -> x#(proper X1, proper X2))
    (proper# U51 X -> proper# X, proper# x(X1, X2) -> proper# X1)
    (proper# U51 X -> proper# X, proper# x(X1, X2) -> proper# X2)
    (proper# U51 X -> proper# X, proper# U12(X1, X2, X3) -> U12#(proper X1, proper X2, proper X3))
    (proper# U51 X -> proper# X, proper# U12(X1, X2, X3) -> proper# X1)
    (proper# U51 X -> proper# X, proper# U12(X1, X2, X3) -> proper# X2)
    (proper# U51 X -> proper# X, proper# U12(X1, X2, X3) -> proper# X3)
    (proper# U51 X -> proper# X, proper# U11(X1, X2, X3) -> U11#(proper X1, proper X2, proper X3))
    (proper# U51 X -> proper# X, proper# U11(X1, X2, X3) -> proper# X1)
    (proper# U51 X -> proper# X, proper# U11(X1, X2, X3) -> proper# X2)
    (proper# U51 X -> proper# X, proper# U11(X1, X2, X3) -> proper# X3)
    (proper# U51 X -> proper# X, proper# U13(X1, X2, X3) -> U13#(proper X1, proper X2, proper X3))
    (proper# U51 X -> proper# X, proper# U13(X1, X2, X3) -> proper# X1)
    (proper# U51 X -> proper# X, proper# U13(X1, X2, X3) -> proper# X2)
    (proper# U51 X -> proper# X, proper# U13(X1, X2, X3) -> proper# X3)
    (proper# U51 X -> proper# X, proper# U14(X1, X2, X3) -> U14#(proper X1, proper X2, proper X3))
    (proper# U51 X -> proper# X, proper# U14(X1, X2, X3) -> proper# X1)
    (proper# U51 X -> proper# X, proper# U14(X1, X2, X3) -> proper# X2)
    (proper# U51 X -> proper# X, proper# U14(X1, X2, X3) -> proper# X3)
    (proper# U51 X -> proper# X, proper# U15(X1, X2) -> U15#(proper X1, proper X2))
    (proper# U51 X -> proper# X, proper# U15(X1, X2) -> proper# X1)
    (proper# U51 X -> proper# X, proper# U15(X1, X2) -> proper# X2)
    (proper# U51 X -> proper# X, proper# U16 X -> U16# proper X)
    (proper# U51 X -> proper# X, proper# U16 X -> proper# X)
    (proper# U51 X -> proper# X, proper# U22(X1, X2) -> U22#(proper X1, proper X2))
    (proper# U51 X -> proper# X, proper# U22(X1, X2) -> proper# X1)
    (proper# U51 X -> proper# X, proper# U22(X1, X2) -> proper# X2)
    (proper# U51 X -> proper# X, proper# U21(X1, X2) -> U21#(proper X1, proper X2))
    (proper# U51 X -> proper# X, proper# U21(X1, X2) -> proper# X1)
    (proper# U51 X -> proper# X, proper# U21(X1, X2) -> proper# X2)
    (proper# U51 X -> proper# X, proper# U23 X -> U23# proper X)
    (proper# U51 X -> proper# X, proper# U23 X -> proper# X)
    (proper# U51 X -> proper# X, proper# U32(X1, X2, X3) -> U32#(proper X1, proper X2, proper X3))
    (proper# U51 X -> proper# X, proper# U32(X1, X2, X3) -> proper# X1)
    (proper# U51 X -> proper# X, proper# U32(X1, X2, X3) -> proper# X2)
    (proper# U51 X -> proper# X, proper# U32(X1, X2, X3) -> proper# X3)
    (proper# U51 X -> proper# X, proper# U31(X1, X2, X3) -> U31#(proper X1, proper X2, proper X3))
    (proper# U51 X -> proper# X, proper# U31(X1, X2, X3) -> proper# X1)
    (proper# U51 X -> proper# X, proper# U31(X1, X2, X3) -> proper# X2)
    (proper# U51 X -> proper# X, proper# U31(X1, X2, X3) -> proper# X3)
    (proper# U51 X -> proper# X, proper# U33(X1, X2, X3) -> U33#(proper X1, proper X2, proper X3))
    (proper# U51 X -> proper# X, proper# U33(X1, X2, X3) -> proper# X1)
    (proper# U51 X -> proper# X, proper# U33(X1, X2, X3) -> proper# X2)
    (proper# U51 X -> proper# X, proper# U33(X1, X2, X3) -> proper# X3)
    (proper# U51 X -> proper# X, proper# U34(X1, X2, X3) -> U34#(proper X1, proper X2, proper X3))
    (proper# U51 X -> proper# X, proper# U34(X1, X2, X3) -> proper# X1)
    (proper# U51 X -> proper# X, proper# U34(X1, X2, X3) -> proper# X2)
    (proper# U51 X -> proper# X, proper# U34(X1, X2, X3) -> proper# X3)
    (proper# U51 X -> proper# X, proper# U35(X1, X2) -> U35#(proper X1, proper X2))
    (proper# U51 X -> proper# X, proper# U35(X1, X2) -> proper# X1)
    (proper# U51 X -> proper# X, proper# U35(X1, X2) -> proper# X2)
    (proper# U51 X -> proper# X, proper# U36 X -> U36# proper X)
    (proper# U51 X -> proper# X, proper# U36 X -> proper# X)
    (proper# U51 X -> proper# X, proper# U42 X -> U42# proper X)
    (proper# U51 X -> proper# X, proper# U42 X -> proper# X)
    (proper# U51 X -> proper# X, proper# U41(X1, X2) -> U41#(proper X1, proper X2))
    (proper# U51 X -> proper# X, proper# U41(X1, X2) -> proper# X1)
    (proper# U51 X -> proper# X, proper# U41(X1, X2) -> proper# X2)
    (proper# U51 X -> proper# X, proper# U51 X -> U51# proper X)
    (proper# U51 X -> proper# X, proper# U51 X -> proper# X)
    (proper# U51 X -> proper# X, proper# U62 X -> U62# proper X)
    (proper# U51 X -> proper# X, proper# U62 X -> proper# X)
    (proper# U51 X -> proper# X, proper# U61(X1, X2) -> U61#(proper X1, proper X2))
    (proper# U51 X -> proper# X, proper# U61(X1, X2) -> proper# X1)
    (proper# U51 X -> proper# X, proper# U61(X1, X2) -> proper# X2)
    (proper# U51 X -> proper# X, proper# U72(X1, X2) -> U72#(proper X1, proper X2))
    (proper# U51 X -> proper# X, proper# U72(X1, X2) -> proper# X1)
    (proper# U51 X -> proper# X, proper# U72(X1, X2) -> proper# X2)
    (proper# U51 X -> proper# X, proper# U71(X1, X2) -> U71#(proper X1, proper X2))
    (proper# U51 X -> proper# X, proper# U71(X1, X2) -> proper# X1)
    (proper# U51 X -> proper# X, proper# U71(X1, X2) -> proper# X2)
    (proper# U51 X -> proper# X, proper# U82(X1, X2, X3) -> U82#(proper X1, proper X2, proper X3))
    (proper# U51 X -> proper# X, proper# U82(X1, X2, X3) -> proper# X1)
    (proper# U51 X -> proper# X, proper# U82(X1, X2, X3) -> proper# X2)
    (proper# U51 X -> proper# X, proper# U82(X1, X2, X3) -> proper# X3)
    (proper# U51 X -> proper# X, proper# U81(X1, X2, X3) -> U81#(proper X1, proper X2, proper X3))
    (proper# U51 X -> proper# X, proper# U81(X1, X2, X3) -> proper# X1)
    (proper# U51 X -> proper# X, proper# U81(X1, X2, X3) -> proper# X2)
    (proper# U51 X -> proper# X, proper# U81(X1, X2, X3) -> proper# X3)
    (proper# U51 X -> proper# X, proper# U83(X1, X2, X3) -> U83#(proper X1, proper X2, proper X3))
    (proper# U51 X -> proper# X, proper# U83(X1, X2, X3) -> proper# X1)
    (proper# U51 X -> proper# X, proper# U83(X1, X2, X3) -> proper# X2)
    (proper# U51 X -> proper# X, proper# U83(X1, X2, X3) -> proper# X3)
    (proper# U51 X -> proper# X, proper# U84(X1, X2, X3) -> U84#(proper X1, proper X2, proper X3))
    (proper# U51 X -> proper# X, proper# U84(X1, X2, X3) -> proper# X1)
    (proper# U51 X -> proper# X, proper# U84(X1, X2, X3) -> proper# X2)
    (proper# U51 X -> proper# X, proper# U84(X1, X2, X3) -> proper# X3)
    (proper# U51 X -> proper# X, proper# s X -> s# proper X)
    (proper# U51 X -> proper# X, proper# s X -> proper# X)
    (proper# U51 X -> proper# X, proper# U92 X -> U92# proper X)
    (proper# U51 X -> proper# X, proper# U92 X -> proper# X)
    (proper# U51 X -> proper# X, proper# U91(X1, X2) -> U91#(proper X1, proper X2))
    (proper# U51 X -> proper# X, proper# U91(X1, X2) -> proper# X1)
    (proper# U51 X -> proper# X, proper# U91(X1, X2) -> proper# X2)
    (proper# U36 X -> proper# X, proper# U102(X1, X2, X3) -> U102#(proper X1, proper X2, proper X3))
    (proper# U36 X -> proper# X, proper# U102(X1, X2, X3) -> proper# X1)
    (proper# U36 X -> proper# X, proper# U102(X1, X2, X3) -> proper# X2)
    (proper# U36 X -> proper# X, proper# U102(X1, X2, X3) -> proper# X3)
    (proper# U36 X -> proper# X, proper# isNatKind X -> isNatKind# proper X)
    (proper# U36 X -> proper# X, proper# isNatKind X -> proper# X)
    (proper# U36 X -> proper# X, proper# U101(X1, X2, X3) -> U101#(proper X1, proper X2, proper X3))
    (proper# U36 X -> proper# X, proper# U101(X1, X2, X3) -> proper# X1)
    (proper# U36 X -> proper# X, proper# U101(X1, X2, X3) -> proper# X2)
    (proper# U36 X -> proper# X, proper# U101(X1, X2, X3) -> proper# X3)
    (proper# U36 X -> proper# X, proper# U103(X1, X2, X3) -> U103#(proper X1, proper X2, proper X3))
    (proper# U36 X -> proper# X, proper# U103(X1, X2, X3) -> proper# X1)
    (proper# U36 X -> proper# X, proper# U103(X1, X2, X3) -> proper# X2)
    (proper# U36 X -> proper# X, proper# U103(X1, X2, X3) -> proper# X3)
    (proper# U36 X -> proper# X, proper# isNat X -> isNat# proper X)
    (proper# U36 X -> proper# X, proper# isNat X -> proper# X)
    (proper# U36 X -> proper# X, proper# U104(X1, X2, X3) -> U104#(proper X1, proper X2, proper X3))
    (proper# U36 X -> proper# X, proper# U104(X1, X2, X3) -> proper# X1)
    (proper# U36 X -> proper# X, proper# U104(X1, X2, X3) -> proper# X2)
    (proper# U36 X -> proper# X, proper# U104(X1, X2, X3) -> proper# X3)
    (proper# U36 X -> proper# X, proper# plus(X1, X2) -> plus#(proper X1, proper X2))
    (proper# U36 X -> proper# X, proper# plus(X1, X2) -> proper# X1)
    (proper# U36 X -> proper# X, proper# plus(X1, X2) -> proper# X2)
    (proper# U36 X -> proper# X, proper# x(X1, X2) -> x#(proper X1, proper X2))
    (proper# U36 X -> proper# X, proper# x(X1, X2) -> proper# X1)
    (proper# U36 X -> proper# X, proper# x(X1, X2) -> proper# X2)
    (proper# U36 X -> proper# X, proper# U12(X1, X2, X3) -> U12#(proper X1, proper X2, proper X3))
    (proper# U36 X -> proper# X, proper# U12(X1, X2, X3) -> proper# X1)
    (proper# U36 X -> proper# X, proper# U12(X1, X2, X3) -> proper# X2)
    (proper# U36 X -> proper# X, proper# U12(X1, X2, X3) -> proper# X3)
    (proper# U36 X -> proper# X, proper# U11(X1, X2, X3) -> U11#(proper X1, proper X2, proper X3))
    (proper# U36 X -> proper# X, proper# U11(X1, X2, X3) -> proper# X1)
    (proper# U36 X -> proper# X, proper# U11(X1, X2, X3) -> proper# X2)
    (proper# U36 X -> proper# X, proper# U11(X1, X2, X3) -> proper# X3)
    (proper# U36 X -> proper# X, proper# U13(X1, X2, X3) -> U13#(proper X1, proper X2, proper X3))
    (proper# U36 X -> proper# X, proper# U13(X1, X2, X3) -> proper# X1)
    (proper# U36 X -> proper# X, proper# U13(X1, X2, X3) -> proper# X2)
    (proper# U36 X -> proper# X, proper# U13(X1, X2, X3) -> proper# X3)
    (proper# U36 X -> proper# X, proper# U14(X1, X2, X3) -> U14#(proper X1, proper X2, proper X3))
    (proper# U36 X -> proper# X, proper# U14(X1, X2, X3) -> proper# X1)
    (proper# U36 X -> proper# X, proper# U14(X1, X2, X3) -> proper# X2)
    (proper# U36 X -> proper# X, proper# U14(X1, X2, X3) -> proper# X3)
    (proper# U36 X -> proper# X, proper# U15(X1, X2) -> U15#(proper X1, proper X2))
    (proper# U36 X -> proper# X, proper# U15(X1, X2) -> proper# X1)
    (proper# U36 X -> proper# X, proper# U15(X1, X2) -> proper# X2)
    (proper# U36 X -> proper# X, proper# U16 X -> U16# proper X)
    (proper# U36 X -> proper# X, proper# U16 X -> proper# X)
    (proper# U36 X -> proper# X, proper# U22(X1, X2) -> U22#(proper X1, proper X2))
    (proper# U36 X -> proper# X, proper# U22(X1, X2) -> proper# X1)
    (proper# U36 X -> proper# X, proper# U22(X1, X2) -> proper# X2)
    (proper# U36 X -> proper# X, proper# U21(X1, X2) -> U21#(proper X1, proper X2))
    (proper# U36 X -> proper# X, proper# U21(X1, X2) -> proper# X1)
    (proper# U36 X -> proper# X, proper# U21(X1, X2) -> proper# X2)
    (proper# U36 X -> proper# X, proper# U23 X -> U23# proper X)
    (proper# U36 X -> proper# X, proper# U23 X -> proper# X)
    (proper# U36 X -> proper# X, proper# U32(X1, X2, X3) -> U32#(proper X1, proper X2, proper X3))
    (proper# U36 X -> proper# X, proper# U32(X1, X2, X3) -> proper# X1)
    (proper# U36 X -> proper# X, proper# U32(X1, X2, X3) -> proper# X2)
    (proper# U36 X -> proper# X, proper# U32(X1, X2, X3) -> proper# X3)
    (proper# U36 X -> proper# X, proper# U31(X1, X2, X3) -> U31#(proper X1, proper X2, proper X3))
    (proper# U36 X -> proper# X, proper# U31(X1, X2, X3) -> proper# X1)
    (proper# U36 X -> proper# X, proper# U31(X1, X2, X3) -> proper# X2)
    (proper# U36 X -> proper# X, proper# U31(X1, X2, X3) -> proper# X3)
    (proper# U36 X -> proper# X, proper# U33(X1, X2, X3) -> U33#(proper X1, proper X2, proper X3))
    (proper# U36 X -> proper# X, proper# U33(X1, X2, X3) -> proper# X1)
    (proper# U36 X -> proper# X, proper# U33(X1, X2, X3) -> proper# X2)
    (proper# U36 X -> proper# X, proper# U33(X1, X2, X3) -> proper# X3)
    (proper# U36 X -> proper# X, proper# U34(X1, X2, X3) -> U34#(proper X1, proper X2, proper X3))
    (proper# U36 X -> proper# X, proper# U34(X1, X2, X3) -> proper# X1)
    (proper# U36 X -> proper# X, proper# U34(X1, X2, X3) -> proper# X2)
    (proper# U36 X -> proper# X, proper# U34(X1, X2, X3) -> proper# X3)
    (proper# U36 X -> proper# X, proper# U35(X1, X2) -> U35#(proper X1, proper X2))
    (proper# U36 X -> proper# X, proper# U35(X1, X2) -> proper# X1)
    (proper# U36 X -> proper# X, proper# U35(X1, X2) -> proper# X2)
    (proper# U36 X -> proper# X, proper# U36 X -> U36# proper X)
    (proper# U36 X -> proper# X, proper# U36 X -> proper# X)
    (proper# U36 X -> proper# X, proper# U42 X -> U42# proper X)
    (proper# U36 X -> proper# X, proper# U42 X -> proper# X)
    (proper# U36 X -> proper# X, proper# U41(X1, X2) -> U41#(proper X1, proper X2))
    (proper# U36 X -> proper# X, proper# U41(X1, X2) -> proper# X1)
    (proper# U36 X -> proper# X, proper# U41(X1, X2) -> proper# X2)
    (proper# U36 X -> proper# X, proper# U51 X -> U51# proper X)
    (proper# U36 X -> proper# X, proper# U51 X -> proper# X)
    (proper# U36 X -> proper# X, proper# U62 X -> U62# proper X)
    (proper# U36 X -> proper# X, proper# U62 X -> proper# X)
    (proper# U36 X -> proper# X, proper# U61(X1, X2) -> U61#(proper X1, proper X2))
    (proper# U36 X -> proper# X, proper# U61(X1, X2) -> proper# X1)
    (proper# U36 X -> proper# X, proper# U61(X1, X2) -> proper# X2)
    (proper# U36 X -> proper# X, proper# U72(X1, X2) -> U72#(proper X1, proper X2))
    (proper# U36 X -> proper# X, proper# U72(X1, X2) -> proper# X1)
    (proper# U36 X -> proper# X, proper# U72(X1, X2) -> proper# X2)
    (proper# U36 X -> proper# X, proper# U71(X1, X2) -> U71#(proper X1, proper X2))
    (proper# U36 X -> proper# X, proper# U71(X1, X2) -> proper# X1)
    (proper# U36 X -> proper# X, proper# U71(X1, X2) -> proper# X2)
    (proper# U36 X -> proper# X, proper# U82(X1, X2, X3) -> U82#(proper X1, proper X2, proper X3))
    (proper# U36 X -> proper# X, proper# U82(X1, X2, X3) -> proper# X1)
    (proper# U36 X -> proper# X, proper# U82(X1, X2, X3) -> proper# X2)
    (proper# U36 X -> proper# X, proper# U82(X1, X2, X3) -> proper# X3)
    (proper# U36 X -> proper# X, proper# U81(X1, X2, X3) -> U81#(proper X1, proper X2, proper X3))
    (proper# U36 X -> proper# X, proper# U81(X1, X2, X3) -> proper# X1)
    (proper# U36 X -> proper# X, proper# U81(X1, X2, X3) -> proper# X2)
    (proper# U36 X -> proper# X, proper# U81(X1, X2, X3) -> proper# X3)
    (proper# U36 X -> proper# X, proper# U83(X1, X2, X3) -> U83#(proper X1, proper X2, proper X3))
    (proper# U36 X -> proper# X, proper# U83(X1, X2, X3) -> proper# X1)
    (proper# U36 X -> proper# X, proper# U83(X1, X2, X3) -> proper# X2)
    (proper# U36 X -> proper# X, proper# U83(X1, X2, X3) -> proper# X3)
    (proper# U36 X -> proper# X, proper# U84(X1, X2, X3) -> U84#(proper X1, proper X2, proper X3))
    (proper# U36 X -> proper# X, proper# U84(X1, X2, X3) -> proper# X1)
    (proper# U36 X -> proper# X, proper# U84(X1, X2, X3) -> proper# X2)
    (proper# U36 X -> proper# X, proper# U84(X1, X2, X3) -> proper# X3)
    (proper# U36 X -> proper# X, proper# s X -> s# proper X)
    (proper# U36 X -> proper# X, proper# s X -> proper# X)
    (proper# U36 X -> proper# X, proper# U92 X -> U92# proper X)
    (proper# U36 X -> proper# X, proper# U92 X -> proper# X)
    (proper# U36 X -> proper# X, proper# U91(X1, X2) -> U91#(proper X1, proper X2))
    (proper# U36 X -> proper# X, proper# U91(X1, X2) -> proper# X1)
    (proper# U36 X -> proper# X, proper# U91(X1, X2) -> proper# X2)
    (proper# U16 X -> proper# X, proper# U102(X1, X2, X3) -> U102#(proper X1, proper X2, proper X3))
    (proper# U16 X -> proper# X, proper# U102(X1, X2, X3) -> proper# X1)
    (proper# U16 X -> proper# X, proper# U102(X1, X2, X3) -> proper# X2)
    (proper# U16 X -> proper# X, proper# U102(X1, X2, X3) -> proper# X3)
    (proper# U16 X -> proper# X, proper# isNatKind X -> isNatKind# proper X)
    (proper# U16 X -> proper# X, proper# isNatKind X -> proper# X)
    (proper# U16 X -> proper# X, proper# U101(X1, X2, X3) -> U101#(proper X1, proper X2, proper X3))
    (proper# U16 X -> proper# X, proper# U101(X1, X2, X3) -> proper# X1)
    (proper# U16 X -> proper# X, proper# U101(X1, X2, X3) -> proper# X2)
    (proper# U16 X -> proper# X, proper# U101(X1, X2, X3) -> proper# X3)
    (proper# U16 X -> proper# X, proper# U103(X1, X2, X3) -> U103#(proper X1, proper X2, proper X3))
    (proper# U16 X -> proper# X, proper# U103(X1, X2, X3) -> proper# X1)
    (proper# U16 X -> proper# X, proper# U103(X1, X2, X3) -> proper# X2)
    (proper# U16 X -> proper# X, proper# U103(X1, X2, X3) -> proper# X3)
    (proper# U16 X -> proper# X, proper# isNat X -> isNat# proper X)
    (proper# U16 X -> proper# X, proper# isNat X -> proper# X)
    (proper# U16 X -> proper# X, proper# U104(X1, X2, X3) -> U104#(proper X1, proper X2, proper X3))
    (proper# U16 X -> proper# X, proper# U104(X1, X2, X3) -> proper# X1)
    (proper# U16 X -> proper# X, proper# U104(X1, X2, X3) -> proper# X2)
    (proper# U16 X -> proper# X, proper# U104(X1, X2, X3) -> proper# X3)
    (proper# U16 X -> proper# X, proper# plus(X1, X2) -> plus#(proper X1, proper X2))
    (proper# U16 X -> proper# X, proper# plus(X1, X2) -> proper# X1)
    (proper# U16 X -> proper# X, proper# plus(X1, X2) -> proper# X2)
    (proper# U16 X -> proper# X, proper# x(X1, X2) -> x#(proper X1, proper X2))
    (proper# U16 X -> proper# X, proper# x(X1, X2) -> proper# X1)
    (proper# U16 X -> proper# X, proper# x(X1, X2) -> proper# X2)
    (proper# U16 X -> proper# X, proper# U12(X1, X2, X3) -> U12#(proper X1, proper X2, proper X3))
    (proper# U16 X -> proper# X, proper# U12(X1, X2, X3) -> proper# X1)
    (proper# U16 X -> proper# X, proper# U12(X1, X2, X3) -> proper# X2)
    (proper# U16 X -> proper# X, proper# U12(X1, X2, X3) -> proper# X3)
    (proper# U16 X -> proper# X, proper# U11(X1, X2, X3) -> U11#(proper X1, proper X2, proper X3))
    (proper# U16 X -> proper# X, proper# U11(X1, X2, X3) -> proper# X1)
    (proper# U16 X -> proper# X, proper# U11(X1, X2, X3) -> proper# X2)
    (proper# U16 X -> proper# X, proper# U11(X1, X2, X3) -> proper# X3)
    (proper# U16 X -> proper# X, proper# U13(X1, X2, X3) -> U13#(proper X1, proper X2, proper X3))
    (proper# U16 X -> proper# X, proper# U13(X1, X2, X3) -> proper# X1)
    (proper# U16 X -> proper# X, proper# U13(X1, X2, X3) -> proper# X2)
    (proper# U16 X -> proper# X, proper# U13(X1, X2, X3) -> proper# X3)
    (proper# U16 X -> proper# X, proper# U14(X1, X2, X3) -> U14#(proper X1, proper X2, proper X3))
    (proper# U16 X -> proper# X, proper# U14(X1, X2, X3) -> proper# X1)
    (proper# U16 X -> proper# X, proper# U14(X1, X2, X3) -> proper# X2)
    (proper# U16 X -> proper# X, proper# U14(X1, X2, X3) -> proper# X3)
    (proper# U16 X -> proper# X, proper# U15(X1, X2) -> U15#(proper X1, proper X2))
    (proper# U16 X -> proper# X, proper# U15(X1, X2) -> proper# X1)
    (proper# U16 X -> proper# X, proper# U15(X1, X2) -> proper# X2)
    (proper# U16 X -> proper# X, proper# U16 X -> U16# proper X)
    (proper# U16 X -> proper# X, proper# U16 X -> proper# X)
    (proper# U16 X -> proper# X, proper# U22(X1, X2) -> U22#(proper X1, proper X2))
    (proper# U16 X -> proper# X, proper# U22(X1, X2) -> proper# X1)
    (proper# U16 X -> proper# X, proper# U22(X1, X2) -> proper# X2)
    (proper# U16 X -> proper# X, proper# U21(X1, X2) -> U21#(proper X1, proper X2))
    (proper# U16 X -> proper# X, proper# U21(X1, X2) -> proper# X1)
    (proper# U16 X -> proper# X, proper# U21(X1, X2) -> proper# X2)
    (proper# U16 X -> proper# X, proper# U23 X -> U23# proper X)
    (proper# U16 X -> proper# X, proper# U23 X -> proper# X)
    (proper# U16 X -> proper# X, proper# U32(X1, X2, X3) -> U32#(proper X1, proper X2, proper X3))
    (proper# U16 X -> proper# X, proper# U32(X1, X2, X3) -> proper# X1)
    (proper# U16 X -> proper# X, proper# U32(X1, X2, X3) -> proper# X2)
    (proper# U16 X -> proper# X, proper# U32(X1, X2, X3) -> proper# X3)
    (proper# U16 X -> proper# X, proper# U31(X1, X2, X3) -> U31#(proper X1, proper X2, proper X3))
    (proper# U16 X -> proper# X, proper# U31(X1, X2, X3) -> proper# X1)
    (proper# U16 X -> proper# X, proper# U31(X1, X2, X3) -> proper# X2)
    (proper# U16 X -> proper# X, proper# U31(X1, X2, X3) -> proper# X3)
    (proper# U16 X -> proper# X, proper# U33(X1, X2, X3) -> U33#(proper X1, proper X2, proper X3))
    (proper# U16 X -> proper# X, proper# U33(X1, X2, X3) -> proper# X1)
    (proper# U16 X -> proper# X, proper# U33(X1, X2, X3) -> proper# X2)
    (proper# U16 X -> proper# X, proper# U33(X1, X2, X3) -> proper# X3)
    (proper# U16 X -> proper# X, proper# U34(X1, X2, X3) -> U34#(proper X1, proper X2, proper X3))
    (proper# U16 X -> proper# X, proper# U34(X1, X2, X3) -> proper# X1)
    (proper# U16 X -> proper# X, proper# U34(X1, X2, X3) -> proper# X2)
    (proper# U16 X -> proper# X, proper# U34(X1, X2, X3) -> proper# X3)
    (proper# U16 X -> proper# X, proper# U35(X1, X2) -> U35#(proper X1, proper X2))
    (proper# U16 X -> proper# X, proper# U35(X1, X2) -> proper# X1)
    (proper# U16 X -> proper# X, proper# U35(X1, X2) -> proper# X2)
    (proper# U16 X -> proper# X, proper# U36 X -> U36# proper X)
    (proper# U16 X -> proper# X, proper# U36 X -> proper# X)
    (proper# U16 X -> proper# X, proper# U42 X -> U42# proper X)
    (proper# U16 X -> proper# X, proper# U42 X -> proper# X)
    (proper# U16 X -> proper# X, proper# U41(X1, X2) -> U41#(proper X1, proper X2))
    (proper# U16 X -> proper# X, proper# U41(X1, X2) -> proper# X1)
    (proper# U16 X -> proper# X, proper# U41(X1, X2) -> proper# X2)
    (proper# U16 X -> proper# X, proper# U51 X -> U51# proper X)
    (proper# U16 X -> proper# X, proper# U51 X -> proper# X)
    (proper# U16 X -> proper# X, proper# U62 X -> U62# proper X)
    (proper# U16 X -> proper# X, proper# U62 X -> proper# X)
    (proper# U16 X -> proper# X, proper# U61(X1, X2) -> U61#(proper X1, proper X2))
    (proper# U16 X -> proper# X, proper# U61(X1, X2) -> proper# X1)
    (proper# U16 X -> proper# X, proper# U61(X1, X2) -> proper# X2)
    (proper# U16 X -> proper# X, proper# U72(X1, X2) -> U72#(proper X1, proper X2))
    (proper# U16 X -> proper# X, proper# U72(X1, X2) -> proper# X1)
    (proper# U16 X -> proper# X, proper# U72(X1, X2) -> proper# X2)
    (proper# U16 X -> proper# X, proper# U71(X1, X2) -> U71#(proper X1, proper X2))
    (proper# U16 X -> proper# X, proper# U71(X1, X2) -> proper# X1)
    (proper# U16 X -> proper# X, proper# U71(X1, X2) -> proper# X2)
    (proper# U16 X -> proper# X, proper# U82(X1, X2, X3) -> U82#(proper X1, proper X2, proper X3))
    (proper# U16 X -> proper# X, proper# U82(X1, X2, X3) -> proper# X1)
    (proper# U16 X -> proper# X, proper# U82(X1, X2, X3) -> proper# X2)
    (proper# U16 X -> proper# X, proper# U82(X1, X2, X3) -> proper# X3)
    (proper# U16 X -> proper# X, proper# U81(X1, X2, X3) -> U81#(proper X1, proper X2, proper X3))
    (proper# U16 X -> proper# X, proper# U81(X1, X2, X3) -> proper# X1)
    (proper# U16 X -> proper# X, proper# U81(X1, X2, X3) -> proper# X2)
    (proper# U16 X -> proper# X, proper# U81(X1, X2, X3) -> proper# X3)
    (proper# U16 X -> proper# X, proper# U83(X1, X2, X3) -> U83#(proper X1, proper X2, proper X3))
    (proper# U16 X -> proper# X, proper# U83(X1, X2, X3) -> proper# X1)
    (proper# U16 X -> proper# X, proper# U83(X1, X2, X3) -> proper# X2)
    (proper# U16 X -> proper# X, proper# U83(X1, X2, X3) -> proper# X3)
    (proper# U16 X -> proper# X, proper# U84(X1, X2, X3) -> U84#(proper X1, proper X2, proper X3))
    (proper# U16 X -> proper# X, proper# U84(X1, X2, X3) -> proper# X1)
    (proper# U16 X -> proper# X, proper# U84(X1, X2, X3) -> proper# X2)
    (proper# U16 X -> proper# X, proper# U84(X1, X2, X3) -> proper# X3)
    (proper# U16 X -> proper# X, proper# s X -> s# proper X)
    (proper# U16 X -> proper# X, proper# s X -> proper# X)
    (proper# U16 X -> proper# X, proper# U92 X -> U92# proper X)
    (proper# U16 X -> proper# X, proper# U92 X -> proper# X)
    (proper# U16 X -> proper# X, proper# U91(X1, X2) -> U91#(proper X1, proper X2))
    (proper# U16 X -> proper# X, proper# U91(X1, X2) -> proper# X1)
    (proper# U16 X -> proper# X, proper# U91(X1, X2) -> proper# X2)
    (proper# isNatKind X -> proper# X, proper# U102(X1, X2, X3) -> U102#(proper X1, proper X2, proper X3))
    (proper# isNatKind X -> proper# X, proper# U102(X1, X2, X3) -> proper# X1)
    (proper# isNatKind X -> proper# X, proper# U102(X1, X2, X3) -> proper# X2)
    (proper# isNatKind X -> proper# X, proper# U102(X1, X2, X3) -> proper# X3)
    (proper# isNatKind X -> proper# X, proper# isNatKind X -> isNatKind# proper X)
    (proper# isNatKind X -> proper# X, proper# isNatKind X -> proper# X)
    (proper# isNatKind X -> proper# X, proper# U101(X1, X2, X3) -> U101#(proper X1, proper X2, proper X3))
    (proper# isNatKind X -> proper# X, proper# U101(X1, X2, X3) -> proper# X1)
    (proper# isNatKind X -> proper# X, proper# U101(X1, X2, X3) -> proper# X2)
    (proper# isNatKind X -> proper# X, proper# U101(X1, X2, X3) -> proper# X3)
    (proper# isNatKind X -> proper# X, proper# U103(X1, X2, X3) -> U103#(proper X1, proper X2, proper X3))
    (proper# isNatKind X -> proper# X, proper# U103(X1, X2, X3) -> proper# X1)
    (proper# isNatKind X -> proper# X, proper# U103(X1, X2, X3) -> proper# X2)
    (proper# isNatKind X -> proper# X, proper# U103(X1, X2, X3) -> proper# X3)
    (proper# isNatKind X -> proper# X, proper# isNat X -> isNat# proper X)
    (proper# isNatKind X -> proper# X, proper# isNat X -> proper# X)
    (proper# isNatKind X -> proper# X, proper# U104(X1, X2, X3) -> U104#(proper X1, proper X2, proper X3))
    (proper# isNatKind X -> proper# X, proper# U104(X1, X2, X3) -> proper# X1)
    (proper# isNatKind X -> proper# X, proper# U104(X1, X2, X3) -> proper# X2)
    (proper# isNatKind X -> proper# X, proper# U104(X1, X2, X3) -> proper# X3)
    (proper# isNatKind X -> proper# X, proper# plus(X1, X2) -> plus#(proper X1, proper X2))
    (proper# isNatKind X -> proper# X, proper# plus(X1, X2) -> proper# X1)
    (proper# isNatKind X -> proper# X, proper# plus(X1, X2) -> proper# X2)
    (proper# isNatKind X -> proper# X, proper# x(X1, X2) -> x#(proper X1, proper X2))
    (proper# isNatKind X -> proper# X, proper# x(X1, X2) -> proper# X1)
    (proper# isNatKind X -> proper# X, proper# x(X1, X2) -> proper# X2)
    (proper# isNatKind X -> proper# X, proper# U12(X1, X2, X3) -> U12#(proper X1, proper X2, proper X3))
    (proper# isNatKind X -> proper# X, proper# U12(X1, X2, X3) -> proper# X1)
    (proper# isNatKind X -> proper# X, proper# U12(X1, X2, X3) -> proper# X2)
    (proper# isNatKind X -> proper# X, proper# U12(X1, X2, X3) -> proper# X3)
    (proper# isNatKind X -> proper# X, proper# U11(X1, X2, X3) -> U11#(proper X1, proper X2, proper X3))
    (proper# isNatKind X -> proper# X, proper# U11(X1, X2, X3) -> proper# X1)
    (proper# isNatKind X -> proper# X, proper# U11(X1, X2, X3) -> proper# X2)
    (proper# isNatKind X -> proper# X, proper# U11(X1, X2, X3) -> proper# X3)
    (proper# isNatKind X -> proper# X, proper# U13(X1, X2, X3) -> U13#(proper X1, proper X2, proper X3))
    (proper# isNatKind X -> proper# X, proper# U13(X1, X2, X3) -> proper# X1)
    (proper# isNatKind X -> proper# X, proper# U13(X1, X2, X3) -> proper# X2)
    (proper# isNatKind X -> proper# X, proper# U13(X1, X2, X3) -> proper# X3)
    (proper# isNatKind X -> proper# X, proper# U14(X1, X2, X3) -> U14#(proper X1, proper X2, proper X3))
    (proper# isNatKind X -> proper# X, proper# U14(X1, X2, X3) -> proper# X1)
    (proper# isNatKind X -> proper# X, proper# U14(X1, X2, X3) -> proper# X2)
    (proper# isNatKind X -> proper# X, proper# U14(X1, X2, X3) -> proper# X3)
    (proper# isNatKind X -> proper# X, proper# U15(X1, X2) -> U15#(proper X1, proper X2))
    (proper# isNatKind X -> proper# X, proper# U15(X1, X2) -> proper# X1)
    (proper# isNatKind X -> proper# X, proper# U15(X1, X2) -> proper# X2)
    (proper# isNatKind X -> proper# X, proper# U16 X -> U16# proper X)
    (proper# isNatKind X -> proper# X, proper# U16 X -> proper# X)
    (proper# isNatKind X -> proper# X, proper# U22(X1, X2) -> U22#(proper X1, proper X2))
    (proper# isNatKind X -> proper# X, proper# U22(X1, X2) -> proper# X1)
    (proper# isNatKind X -> proper# X, proper# U22(X1, X2) -> proper# X2)
    (proper# isNatKind X -> proper# X, proper# U21(X1, X2) -> U21#(proper X1, proper X2))
    (proper# isNatKind X -> proper# X, proper# U21(X1, X2) -> proper# X1)
    (proper# isNatKind X -> proper# X, proper# U21(X1, X2) -> proper# X2)
    (proper# isNatKind X -> proper# X, proper# U23 X -> U23# proper X)
    (proper# isNatKind X -> proper# X, proper# U23 X -> proper# X)
    (proper# isNatKind X -> proper# X, proper# U32(X1, X2, X3) -> U32#(proper X1, proper X2, proper X3))
    (proper# isNatKind X -> proper# X, proper# U32(X1, X2, X3) -> proper# X1)
    (proper# isNatKind X -> proper# X, proper# U32(X1, X2, X3) -> proper# X2)
    (proper# isNatKind X -> proper# X, proper# U32(X1, X2, X3) -> proper# X3)
    (proper# isNatKind X -> proper# X, proper# U31(X1, X2, X3) -> U31#(proper X1, proper X2, proper X3))
    (proper# isNatKind X -> proper# X, proper# U31(X1, X2, X3) -> proper# X1)
    (proper# isNatKind X -> proper# X, proper# U31(X1, X2, X3) -> proper# X2)
    (proper# isNatKind X -> proper# X, proper# U31(X1, X2, X3) -> proper# X3)
    (proper# isNatKind X -> proper# X, proper# U33(X1, X2, X3) -> U33#(proper X1, proper X2, proper X3))
    (proper# isNatKind X -> proper# X, proper# U33(X1, X2, X3) -> proper# X1)
    (proper# isNatKind X -> proper# X, proper# U33(X1, X2, X3) -> proper# X2)
    (proper# isNatKind X -> proper# X, proper# U33(X1, X2, X3) -> proper# X3)
    (proper# isNatKind X -> proper# X, proper# U34(X1, X2, X3) -> U34#(proper X1, proper X2, proper X3))
    (proper# isNatKind X -> proper# X, proper# U34(X1, X2, X3) -> proper# X1)
    (proper# isNatKind X -> proper# X, proper# U34(X1, X2, X3) -> proper# X2)
    (proper# isNatKind X -> proper# X, proper# U34(X1, X2, X3) -> proper# X3)
    (proper# isNatKind X -> proper# X, proper# U35(X1, X2) -> U35#(proper X1, proper X2))
    (proper# isNatKind X -> proper# X, proper# U35(X1, X2) -> proper# X1)
    (proper# isNatKind X -> proper# X, proper# U35(X1, X2) -> proper# X2)
    (proper# isNatKind X -> proper# X, proper# U36 X -> U36# proper X)
    (proper# isNatKind X -> proper# X, proper# U36 X -> proper# X)
    (proper# isNatKind X -> proper# X, proper# U42 X -> U42# proper X)
    (proper# isNatKind X -> proper# X, proper# U42 X -> proper# X)
    (proper# isNatKind X -> proper# X, proper# U41(X1, X2) -> U41#(proper X1, proper X2))
    (proper# isNatKind X -> proper# X, proper# U41(X1, X2) -> proper# X1)
    (proper# isNatKind X -> proper# X, proper# U41(X1, X2) -> proper# X2)
    (proper# isNatKind X -> proper# X, proper# U51 X -> U51# proper X)
    (proper# isNatKind X -> proper# X, proper# U51 X -> proper# X)
    (proper# isNatKind X -> proper# X, proper# U62 X -> U62# proper X)
    (proper# isNatKind X -> proper# X, proper# U62 X -> proper# X)
    (proper# isNatKind X -> proper# X, proper# U61(X1, X2) -> U61#(proper X1, proper X2))
    (proper# isNatKind X -> proper# X, proper# U61(X1, X2) -> proper# X1)
    (proper# isNatKind X -> proper# X, proper# U61(X1, X2) -> proper# X2)
    (proper# isNatKind X -> proper# X, proper# U72(X1, X2) -> U72#(proper X1, proper X2))
    (proper# isNatKind X -> proper# X, proper# U72(X1, X2) -> proper# X1)
    (proper# isNatKind X -> proper# X, proper# U72(X1, X2) -> proper# X2)
    (proper# isNatKind X -> proper# X, proper# U71(X1, X2) -> U71#(proper X1, proper X2))
    (proper# isNatKind X -> proper# X, proper# U71(X1, X2) -> proper# X1)
    (proper# isNatKind X -> proper# X, proper# U71(X1, X2) -> proper# X2)
    (proper# isNatKind X -> proper# X, proper# U82(X1, X2, X3) -> U82#(proper X1, proper X2, proper X3))
    (proper# isNatKind X -> proper# X, proper# U82(X1, X2, X3) -> proper# X1)
    (proper# isNatKind X -> proper# X, proper# U82(X1, X2, X3) -> proper# X2)
    (proper# isNatKind X -> proper# X, proper# U82(X1, X2, X3) -> proper# X3)
    (proper# isNatKind X -> proper# X, proper# U81(X1, X2, X3) -> U81#(proper X1, proper X2, proper X3))
    (proper# isNatKind X -> proper# X, proper# U81(X1, X2, X3) -> proper# X1)
    (proper# isNatKind X -> proper# X, proper# U81(X1, X2, X3) -> proper# X2)
    (proper# isNatKind X -> proper# X, proper# U81(X1, X2, X3) -> proper# X3)
    (proper# isNatKind X -> proper# X, proper# U83(X1, X2, X3) -> U83#(proper X1, proper X2, proper X3))
    (proper# isNatKind X -> proper# X, proper# U83(X1, X2, X3) -> proper# X1)
    (proper# isNatKind X -> proper# X, proper# U83(X1, X2, X3) -> proper# X2)
    (proper# isNatKind X -> proper# X, proper# U83(X1, X2, X3) -> proper# X3)
    (proper# isNatKind X -> proper# X, proper# U84(X1, X2, X3) -> U84#(proper X1, proper X2, proper X3))
    (proper# isNatKind X -> proper# X, proper# U84(X1, X2, X3) -> proper# X1)
    (proper# isNatKind X -> proper# X, proper# U84(X1, X2, X3) -> proper# X2)
    (proper# isNatKind X -> proper# X, proper# U84(X1, X2, X3) -> proper# X3)
    (proper# isNatKind X -> proper# X, proper# s X -> s# proper X)
    (proper# isNatKind X -> proper# X, proper# s X -> proper# X)
    (proper# isNatKind X -> proper# X, proper# U92 X -> U92# proper X)
    (proper# isNatKind X -> proper# X, proper# U92 X -> proper# X)
    (proper# isNatKind X -> proper# X, proper# U91(X1, X2) -> U91#(proper X1, proper X2))
    (proper# isNatKind X -> proper# X, proper# U91(X1, X2) -> proper# X1)
    (proper# isNatKind X -> proper# X, proper# U91(X1, X2) -> proper# X2)
    (U92# mark X -> U92# X, U92# mark X -> U92# X)
    (U92# mark X -> U92# X, U92# ok X -> U92# X)
    (s# mark X -> s# X, s# mark X -> s# X)
    (s# mark X -> s# X, s# ok X -> s# X)
    (U62# mark X -> U62# X, U62# mark X -> U62# X)
    (U62# mark X -> U62# X, U62# ok X -> U62# X)
    (U51# mark X -> U51# X, U51# mark X -> U51# X)
    (U51# mark X -> U51# X, U51# ok X -> U51# X)
    (U42# mark X -> U42# X, U42# mark X -> U42# X)
    (U42# mark X -> U42# X, U42# ok X -> U42# X)
    (U36# mark X -> U36# X, U36# mark X -> U36# X)
    (U36# mark X -> U36# X, U36# ok X -> U36# X)
    (U23# mark X -> U23# X, U23# mark X -> U23# X)
    (U23# mark X -> U23# X, U23# ok X -> U23# X)
    (U16# mark X -> U16# X, U16# mark X -> U16# X)
    (U16# mark X -> U16# X, U16# ok X -> U16# X)
    (active# U92 X -> active# X, active# U102(X1, X2, X3) -> U102#(active X1, X2, X3))
    (active# U92 X -> active# X, active# U102(X1, X2, X3) -> active# X1)
    (active# U92 X -> active# X, active# U102(tt(), M, N) -> U103#(isNat N, M, N))
    (active# U92 X -> active# X, active# U102(tt(), M, N) -> isNat# N)
    (active# U92 X -> active# X, active# isNatKind plus(V1, V2) -> isNatKind# V1)
    (active# U92 X -> active# X, active# isNatKind plus(V1, V2) -> U41#(isNatKind V1, V2))
    (active# U92 X -> active# X, active# isNatKind x(V1, V2) -> isNatKind# V1)
    (active# U92 X -> active# X, active# isNatKind x(V1, V2) -> U61#(isNatKind V1, V2))
    (active# U92 X -> active# X, active# isNatKind s V1 -> isNatKind# V1)
    (active# U92 X -> active# X, active# isNatKind s V1 -> U51# isNatKind V1)
    (active# U92 X -> active# X, active# U101(X1, X2, X3) -> active# X1)
    (active# U92 X -> active# X, active# U101(X1, X2, X3) -> U101#(active X1, X2, X3))
    (active# U92 X -> active# X, active# U101(tt(), M, N) -> U102#(isNatKind M, M, N))
    (active# U92 X -> active# X, active# U101(tt(), M, N) -> isNatKind# M)
    (active# U92 X -> active# X, active# U103(X1, X2, X3) -> active# X1)
    (active# U92 X -> active# X, active# U103(X1, X2, X3) -> U103#(active X1, X2, X3))
    (active# U92 X -> active# X, active# U103(tt(), M, N) -> isNatKind# N)
    (active# U92 X -> active# X, active# U103(tt(), M, N) -> U104#(isNatKind N, M, N))
    (active# U92 X -> active# X, active# isNat plus(V1, V2) -> isNatKind# V1)
    (active# U92 X -> active# X, active# isNat plus(V1, V2) -> U11#(isNatKind V1, V1, V2))
    (active# U92 X -> active# X, active# isNat x(V1, V2) -> isNatKind# V1)
    (active# U92 X -> active# X, active# isNat x(V1, V2) -> U31#(isNatKind V1, V1, V2))
    (active# U92 X -> active# X, active# isNat s V1 -> isNatKind# V1)
    (active# U92 X -> active# X, active# isNat s V1 -> U21#(isNatKind V1, V1))
    (active# U92 X -> active# X, active# U104(X1, X2, X3) -> active# X1)
    (active# U92 X -> active# X, active# U104(X1, X2, X3) -> U104#(active X1, X2, X3))
    (active# U92 X -> active# X, active# U104(tt(), M, N) -> plus#(x(N, M), N))
    (active# U92 X -> active# X, active# U104(tt(), M, N) -> x#(N, M))
    (active# U92 X -> active# X, active# plus(N, s M) -> isNat# M)
    (active# U92 X -> active# X, active# plus(N, s M) -> U81#(isNat M, M, N))
    (active# U92 X -> active# X, active# plus(N, 0()) -> isNat# N)
    (active# U92 X -> active# X, active# plus(N, 0()) -> U71#(isNat N, N))
    (active# U92 X -> active# X, active# plus(X1, X2) -> active# X1)
    (active# U92 X -> active# X, active# plus(X1, X2) -> active# X2)
    (active# U92 X -> active# X, active# plus(X1, X2) -> plus#(X1, active X2))
    (active# U92 X -> active# X, active# plus(X1, X2) -> plus#(active X1, X2))
    (active# U92 X -> active# X, active# x(N, s M) -> U101#(isNat M, M, N))
    (active# U92 X -> active# X, active# x(N, s M) -> isNat# M)
    (active# U92 X -> active# X, active# x(N, 0()) -> isNat# N)
    (active# U92 X -> active# X, active# x(N, 0()) -> U91#(isNat N, N))
    (active# U92 X -> active# X, active# x(X1, X2) -> active# X1)
    (active# U92 X -> active# X, active# x(X1, X2) -> active# X2)
    (active# U92 X -> active# X, active# x(X1, X2) -> x#(X1, active X2))
    (active# U92 X -> active# X, active# x(X1, X2) -> x#(active X1, X2))
    (active# U92 X -> active# X, active# U12(X1, X2, X3) -> active# X1)
    (active# U92 X -> active# X, active# U12(X1, X2, X3) -> U12#(active X1, X2, X3))
    (active# U92 X -> active# X, active# U12(tt(), V1, V2) -> isNatKind# V2)
    (active# U92 X -> active# X, active# U12(tt(), V1, V2) -> U13#(isNatKind V2, V1, V2))
    (active# U92 X -> active# X, active# U11(X1, X2, X3) -> active# X1)
    (active# U92 X -> active# X, active# U11(X1, X2, X3) -> U11#(active X1, X2, X3))
    (active# U92 X -> active# X, active# U11(tt(), V1, V2) -> isNatKind# V1)
    (active# U92 X -> active# X, active# U11(tt(), V1, V2) -> U12#(isNatKind V1, V1, V2))
    (active# U92 X -> active# X, active# U13(X1, X2, X3) -> active# X1)
    (active# U92 X -> active# X, active# U13(X1, X2, X3) -> U13#(active X1, X2, X3))
    (active# U92 X -> active# X, active# U13(tt(), V1, V2) -> isNatKind# V2)
    (active# U92 X -> active# X, active# U13(tt(), V1, V2) -> U14#(isNatKind V2, V1, V2))
    (active# U92 X -> active# X, active# U14(X1, X2, X3) -> active# X1)
    (active# U92 X -> active# X, active# U14(X1, X2, X3) -> U14#(active X1, X2, X3))
    (active# U92 X -> active# X, active# U14(tt(), V1, V2) -> isNat# V1)
    (active# U92 X -> active# X, active# U14(tt(), V1, V2) -> U15#(isNat V1, V2))
    (active# U92 X -> active# X, active# U15(X1, X2) -> active# X1)
    (active# U92 X -> active# X, active# U15(X1, X2) -> U15#(active X1, X2))
    (active# U92 X -> active# X, active# U15(tt(), V2) -> isNat# V2)
    (active# U92 X -> active# X, active# U15(tt(), V2) -> U16# isNat V2)
    (active# U92 X -> active# X, active# U16 X -> active# X)
    (active# U92 X -> active# X, active# U16 X -> U16# active X)
    (active# U92 X -> active# X, active# U22(X1, X2) -> active# X1)
    (active# U92 X -> active# X, active# U22(X1, X2) -> U22#(active X1, X2))
    (active# U92 X -> active# X, active# U22(tt(), V1) -> isNat# V1)
    (active# U92 X -> active# X, active# U22(tt(), V1) -> U23# isNat V1)
    (active# U92 X -> active# X, active# U21(X1, X2) -> active# X1)
    (active# U92 X -> active# X, active# U21(X1, X2) -> U21#(active X1, X2))
    (active# U92 X -> active# X, active# U21(tt(), V1) -> isNatKind# V1)
    (active# U92 X -> active# X, active# U21(tt(), V1) -> U22#(isNatKind V1, V1))
    (active# U92 X -> active# X, active# U23 X -> active# X)
    (active# U92 X -> active# X, active# U23 X -> U23# active X)
    (active# U92 X -> active# X, active# U32(X1, X2, X3) -> active# X1)
    (active# U92 X -> active# X, active# U32(X1, X2, X3) -> U32#(active X1, X2, X3))
    (active# U92 X -> active# X, active# U32(tt(), V1, V2) -> isNatKind# V2)
    (active# U92 X -> active# X, active# U32(tt(), V1, V2) -> U33#(isNatKind V2, V1, V2))
    (active# U92 X -> active# X, active# U31(X1, X2, X3) -> active# X1)
    (active# U92 X -> active# X, active# U31(X1, X2, X3) -> U31#(active X1, X2, X3))
    (active# U92 X -> active# X, active# U31(tt(), V1, V2) -> isNatKind# V1)
    (active# U92 X -> active# X, active# U31(tt(), V1, V2) -> U32#(isNatKind V1, V1, V2))
    (active# U92 X -> active# X, active# U33(X1, X2, X3) -> active# X1)
    (active# U92 X -> active# X, active# U33(X1, X2, X3) -> U33#(active X1, X2, X3))
    (active# U92 X -> active# X, active# U33(tt(), V1, V2) -> isNatKind# V2)
    (active# U92 X -> active# X, active# U33(tt(), V1, V2) -> U34#(isNatKind V2, V1, V2))
    (active# U92 X -> active# X, active# U34(X1, X2, X3) -> active# X1)
    (active# U92 X -> active# X, active# U34(X1, X2, X3) -> U34#(active X1, X2, X3))
    (active# U92 X -> active# X, active# U34(tt(), V1, V2) -> isNat# V1)
    (active# U92 X -> active# X, active# U34(tt(), V1, V2) -> U35#(isNat V1, V2))
    (active# U92 X -> active# X, active# U35(X1, X2) -> active# X1)
    (active# U92 X -> active# X, active# U35(X1, X2) -> U35#(active X1, X2))
    (active# U92 X -> active# X, active# U35(tt(), V2) -> isNat# V2)
    (active# U92 X -> active# X, active# U35(tt(), V2) -> U36# isNat V2)
    (active# U92 X -> active# X, active# U36 X -> active# X)
    (active# U92 X -> active# X, active# U36 X -> U36# active X)
    (active# U92 X -> active# X, active# U42 X -> active# X)
    (active# U92 X -> active# X, active# U42 X -> U42# active X)
    (active# U92 X -> active# X, active# U41(X1, X2) -> active# X1)
    (active# U92 X -> active# X, active# U41(X1, X2) -> U41#(active X1, X2))
    (active# U92 X -> active# X, active# U41(tt(), V2) -> isNatKind# V2)
    (active# U92 X -> active# X, active# U41(tt(), V2) -> U42# isNatKind V2)
    (active# U92 X -> active# X, active# U51 X -> active# X)
    (active# U92 X -> active# X, active# U51 X -> U51# active X)
    (active# U92 X -> active# X, active# U62 X -> active# X)
    (active# U92 X -> active# X, active# U62 X -> U62# active X)
    (active# U92 X -> active# X, active# U61(X1, X2) -> active# X1)
    (active# U92 X -> active# X, active# U61(X1, X2) -> U61#(active X1, X2))
    (active# U92 X -> active# X, active# U61(tt(), V2) -> isNatKind# V2)
    (active# U92 X -> active# X, active# U61(tt(), V2) -> U62# isNatKind V2)
    (active# U92 X -> active# X, active# U72(X1, X2) -> active# X1)
    (active# U92 X -> active# X, active# U72(X1, X2) -> U72#(active X1, X2))
    (active# U92 X -> active# X, active# U71(X1, X2) -> active# X1)
    (active# U92 X -> active# X, active# U71(X1, X2) -> U71#(active X1, X2))
    (active# U92 X -> active# X, active# U71(tt(), N) -> isNatKind# N)
    (active# U92 X -> active# X, active# U71(tt(), N) -> U72#(isNatKind N, N))
    (active# U92 X -> active# X, active# U82(X1, X2, X3) -> active# X1)
    (active# U92 X -> active# X, active# U82(X1, X2, X3) -> U82#(active X1, X2, X3))
    (active# U92 X -> active# X, active# U82(tt(), M, N) -> isNat# N)
    (active# U92 X -> active# X, active# U82(tt(), M, N) -> U83#(isNat N, M, N))
    (active# U92 X -> active# X, active# U81(X1, X2, X3) -> active# X1)
    (active# U92 X -> active# X, active# U81(X1, X2, X3) -> U81#(active X1, X2, X3))
    (active# U92 X -> active# X, active# U81(tt(), M, N) -> isNatKind# M)
    (active# U92 X -> active# X, active# U81(tt(), M, N) -> U82#(isNatKind M, M, N))
    (active# U92 X -> active# X, active# U83(X1, X2, X3) -> active# X1)
    (active# U92 X -> active# X, active# U83(X1, X2, X3) -> U83#(active X1, X2, X3))
    (active# U92 X -> active# X, active# U83(tt(), M, N) -> isNatKind# N)
    (active# U92 X -> active# X, active# U83(tt(), M, N) -> U84#(isNatKind N, M, N))
    (active# U92 X -> active# X, active# U84(X1, X2, X3) -> active# X1)
    (active# U92 X -> active# X, active# U84(X1, X2, X3) -> U84#(active X1, X2, X3))
    (active# U92 X -> active# X, active# U84(tt(), M, N) -> plus#(N, M))
    (active# U92 X -> active# X, active# U84(tt(), M, N) -> s# plus(N, M))
    (active# U92 X -> active# X, active# s X -> active# X)
    (active# U92 X -> active# X, active# s X -> s# active X)
    (active# U92 X -> active# X, active# U92 X -> active# X)
    (active# U92 X -> active# X, active# U92 X -> U92# active X)
    (active# U92 X -> active# X, active# U91(X1, X2) -> active# X1)
    (active# U92 X -> active# X, active# U91(X1, X2) -> U91#(active X1, X2))
    (active# U92 X -> active# X, active# U91(tt(), N) -> isNatKind# N)
    (active# U92 X -> active# X, active# U91(tt(), N) -> U92# isNatKind N)
    (active# U62 X -> active# X, active# U102(X1, X2, X3) -> U102#(active X1, X2, X3))
    (active# U62 X -> active# X, active# U102(X1, X2, X3) -> active# X1)
    (active# U62 X -> active# X, active# U102(tt(), M, N) -> U103#(isNat N, M, N))
    (active# U62 X -> active# X, active# U102(tt(), M, N) -> isNat# N)
    (active# U62 X -> active# X, active# isNatKind plus(V1, V2) -> isNatKind# V1)
    (active# U62 X -> active# X, active# isNatKind plus(V1, V2) -> U41#(isNatKind V1, V2))
    (active# U62 X -> active# X, active# isNatKind x(V1, V2) -> isNatKind# V1)
    (active# U62 X -> active# X, active# isNatKind x(V1, V2) -> U61#(isNatKind V1, V2))
    (active# U62 X -> active# X, active# isNatKind s V1 -> isNatKind# V1)
    (active# U62 X -> active# X, active# isNatKind s V1 -> U51# isNatKind V1)
    (active# U62 X -> active# X, active# U101(X1, X2, X3) -> active# X1)
    (active# U62 X -> active# X, active# U101(X1, X2, X3) -> U101#(active X1, X2, X3))
    (active# U62 X -> active# X, active# U101(tt(), M, N) -> U102#(isNatKind M, M, N))
    (active# U62 X -> active# X, active# U101(tt(), M, N) -> isNatKind# M)
    (active# U62 X -> active# X, active# U103(X1, X2, X3) -> active# X1)
    (active# U62 X -> active# X, active# U103(X1, X2, X3) -> U103#(active X1, X2, X3))
    (active# U62 X -> active# X, active# U103(tt(), M, N) -> isNatKind# N)
    (active# U62 X -> active# X, active# U103(tt(), M, N) -> U104#(isNatKind N, M, N))
    (active# U62 X -> active# X, active# isNat plus(V1, V2) -> isNatKind# V1)
    (active# U62 X -> active# X, active# isNat plus(V1, V2) -> U11#(isNatKind V1, V1, V2))
    (active# U62 X -> active# X, active# isNat x(V1, V2) -> isNatKind# V1)
    (active# U62 X -> active# X, active# isNat x(V1, V2) -> U31#(isNatKind V1, V1, V2))
    (active# U62 X -> active# X, active# isNat s V1 -> isNatKind# V1)
    (active# U62 X -> active# X, active# isNat s V1 -> U21#(isNatKind V1, V1))
    (active# U62 X -> active# X, active# U104(X1, X2, X3) -> active# X1)
    (active# U62 X -> active# X, active# U104(X1, X2, X3) -> U104#(active X1, X2, X3))
    (active# U62 X -> active# X, active# U104(tt(), M, N) -> plus#(x(N, M), N))
    (active# U62 X -> active# X, active# U104(tt(), M, N) -> x#(N, M))
    (active# U62 X -> active# X, active# plus(N, s M) -> isNat# M)
    (active# U62 X -> active# X, active# plus(N, s M) -> U81#(isNat M, M, N))
    (active# U62 X -> active# X, active# plus(N, 0()) -> isNat# N)
    (active# U62 X -> active# X, active# plus(N, 0()) -> U71#(isNat N, N))
    (active# U62 X -> active# X, active# plus(X1, X2) -> active# X1)
    (active# U62 X -> active# X, active# plus(X1, X2) -> active# X2)
    (active# U62 X -> active# X, active# plus(X1, X2) -> plus#(X1, active X2))
    (active# U62 X -> active# X, active# plus(X1, X2) -> plus#(active X1, X2))
    (active# U62 X -> active# X, active# x(N, s M) -> U101#(isNat M, M, N))
    (active# U62 X -> active# X, active# x(N, s M) -> isNat# M)
    (active# U62 X -> active# X, active# x(N, 0()) -> isNat# N)
    (active# U62 X -> active# X, active# x(N, 0()) -> U91#(isNat N, N))
    (active# U62 X -> active# X, active# x(X1, X2) -> active# X1)
    (active# U62 X -> active# X, active# x(X1, X2) -> active# X2)
    (active# U62 X -> active# X, active# x(X1, X2) -> x#(X1, active X2))
    (active# U62 X -> active# X, active# x(X1, X2) -> x#(active X1, X2))
    (active# U62 X -> active# X, active# U12(X1, X2, X3) -> active# X1)
    (active# U62 X -> active# X, active# U12(X1, X2, X3) -> U12#(active X1, X2, X3))
    (active# U62 X -> active# X, active# U12(tt(), V1, V2) -> isNatKind# V2)
    (active# U62 X -> active# X, active# U12(tt(), V1, V2) -> U13#(isNatKind V2, V1, V2))
    (active# U62 X -> active# X, active# U11(X1, X2, X3) -> active# X1)
    (active# U62 X -> active# X, active# U11(X1, X2, X3) -> U11#(active X1, X2, X3))
    (active# U62 X -> active# X, active# U11(tt(), V1, V2) -> isNatKind# V1)
    (active# U62 X -> active# X, active# U11(tt(), V1, V2) -> U12#(isNatKind V1, V1, V2))
    (active# U62 X -> active# X, active# U13(X1, X2, X3) -> active# X1)
    (active# U62 X -> active# X, active# U13(X1, X2, X3) -> U13#(active X1, X2, X3))
    (active# U62 X -> active# X, active# U13(tt(), V1, V2) -> isNatKind# V2)
    (active# U62 X -> active# X, active# U13(tt(), V1, V2) -> U14#(isNatKind V2, V1, V2))
    (active# U62 X -> active# X, active# U14(X1, X2, X3) -> active# X1)
    (active# U62 X -> active# X, active# U14(X1, X2, X3) -> U14#(active X1, X2, X3))
    (active# U62 X -> active# X, active# U14(tt(), V1, V2) -> isNat# V1)
    (active# U62 X -> active# X, active# U14(tt(), V1, V2) -> U15#(isNat V1, V2))
    (active# U62 X -> active# X, active# U15(X1, X2) -> active# X1)
    (active# U62 X -> active# X, active# U15(X1, X2) -> U15#(active X1, X2))
    (active# U62 X -> active# X, active# U15(tt(), V2) -> isNat# V2)
    (active# U62 X -> active# X, active# U15(tt(), V2) -> U16# isNat V2)
    (active# U62 X -> active# X, active# U16 X -> active# X)
    (active# U62 X -> active# X, active# U16 X -> U16# active X)
    (active# U62 X -> active# X, active# U22(X1, X2) -> active# X1)
    (active# U62 X -> active# X, active# U22(X1, X2) -> U22#(active X1, X2))
    (active# U62 X -> active# X, active# U22(tt(), V1) -> isNat# V1)
    (active# U62 X -> active# X, active# U22(tt(), V1) -> U23# isNat V1)
    (active# U62 X -> active# X, active# U21(X1, X2) -> active# X1)
    (active# U62 X -> active# X, active# U21(X1, X2) -> U21#(active X1, X2))
    (active# U62 X -> active# X, active# U21(tt(), V1) -> isNatKind# V1)
    (active# U62 X -> active# X, active# U21(tt(), V1) -> U22#(isNatKind V1, V1))
    (active# U62 X -> active# X, active# U23 X -> active# X)
    (active# U62 X -> active# X, active# U23 X -> U23# active X)
    (active# U62 X -> active# X, active# U32(X1, X2, X3) -> active# X1)
    (active# U62 X -> active# X, active# U32(X1, X2, X3) -> U32#(active X1, X2, X3))
    (active# U62 X -> active# X, active# U32(tt(), V1, V2) -> isNatKind# V2)
    (active# U62 X -> active# X, active# U32(tt(), V1, V2) -> U33#(isNatKind V2, V1, V2))
    (active# U62 X -> active# X, active# U31(X1, X2, X3) -> active# X1)
    (active# U62 X -> active# X, active# U31(X1, X2, X3) -> U31#(active X1, X2, X3))
    (active# U62 X -> active# X, active# U31(tt(), V1, V2) -> isNatKind# V1)
    (active# U62 X -> active# X, active# U31(tt(), V1, V2) -> U32#(isNatKind V1, V1, V2))
    (active# U62 X -> active# X, active# U33(X1, X2, X3) -> active# X1)
    (active# U62 X -> active# X, active# U33(X1, X2, X3) -> U33#(active X1, X2, X3))
    (active# U62 X -> active# X, active# U33(tt(), V1, V2) -> isNatKind# V2)
    (active# U62 X -> active# X, active# U33(tt(), V1, V2) -> U34#(isNatKind V2, V1, V2))
    (active# U62 X -> active# X, active# U34(X1, X2, X3) -> active# X1)
    (active# U62 X -> active# X, active# U34(X1, X2, X3) -> U34#(active X1, X2, X3))
    (active# U62 X -> active# X, active# U34(tt(), V1, V2) -> isNat# V1)
    (active# U62 X -> active# X, active# U34(tt(), V1, V2) -> U35#(isNat V1, V2))
    (active# U62 X -> active# X, active# U35(X1, X2) -> active# X1)
    (active# U62 X -> active# X, active# U35(X1, X2) -> U35#(active X1, X2))
    (active# U62 X -> active# X, active# U35(tt(), V2) -> isNat# V2)
    (active# U62 X -> active# X, active# U35(tt(), V2) -> U36# isNat V2)
    (active# U62 X -> active# X, active# U36 X -> active# X)
    (active# U62 X -> active# X, active# U36 X -> U36# active X)
    (active# U62 X -> active# X, active# U42 X -> active# X)
    (active# U62 X -> active# X, active# U42 X -> U42# active X)
    (active# U62 X -> active# X, active# U41(X1, X2) -> active# X1)
    (active# U62 X -> active# X, active# U41(X1, X2) -> U41#(active X1, X2))
    (active# U62 X -> active# X, active# U41(tt(), V2) -> isNatKind# V2)
    (active# U62 X -> active# X, active# U41(tt(), V2) -> U42# isNatKind V2)
    (active# U62 X -> active# X, active# U51 X -> active# X)
    (active# U62 X -> active# X, active# U51 X -> U51# active X)
    (active# U62 X -> active# X, active# U62 X -> active# X)
    (active# U62 X -> active# X, active# U62 X -> U62# active X)
    (active# U62 X -> active# X, active# U61(X1, X2) -> active# X1)
    (active# U62 X -> active# X, active# U61(X1, X2) -> U61#(active X1, X2))
    (active# U62 X -> active# X, active# U61(tt(), V2) -> isNatKind# V2)
    (active# U62 X -> active# X, active# U61(tt(), V2) -> U62# isNatKind V2)
    (active# U62 X -> active# X, active# U72(X1, X2) -> active# X1)
    (active# U62 X -> active# X, active# U72(X1, X2) -> U72#(active X1, X2))
    (active# U62 X -> active# X, active# U71(X1, X2) -> active# X1)
    (active# U62 X -> active# X, active# U71(X1, X2) -> U71#(active X1, X2))
    (active# U62 X -> active# X, active# U71(tt(), N) -> isNatKind# N)
    (active# U62 X -> active# X, active# U71(tt(), N) -> U72#(isNatKind N, N))
    (active# U62 X -> active# X, active# U82(X1, X2, X3) -> active# X1)
    (active# U62 X -> active# X, active# U82(X1, X2, X3) -> U82#(active X1, X2, X3))
    (active# U62 X -> active# X, active# U82(tt(), M, N) -> isNat# N)
    (active# U62 X -> active# X, active# U82(tt(), M, N) -> U83#(isNat N, M, N))
    (active# U62 X -> active# X, active# U81(X1, X2, X3) -> active# X1)
    (active# U62 X -> active# X, active# U81(X1, X2, X3) -> U81#(active X1, X2, X3))
    (active# U62 X -> active# X, active# U81(tt(), M, N) -> isNatKind# M)
    (active# U62 X -> active# X, active# U81(tt(), M, N) -> U82#(isNatKind M, M, N))
    (active# U62 X -> active# X, active# U83(X1, X2, X3) -> active# X1)
    (active# U62 X -> active# X, active# U83(X1, X2, X3) -> U83#(active X1, X2, X3))
    (active# U62 X -> active# X, active# U83(tt(), M, N) -> isNatKind# N)
    (active# U62 X -> active# X, active# U83(tt(), M, N) -> U84#(isNatKind N, M, N))
    (active# U62 X -> active# X, active# U84(X1, X2, X3) -> active# X1)
    (active# U62 X -> active# X, active# U84(X1, X2, X3) -> U84#(active X1, X2, X3))
    (active# U62 X -> active# X, active# U84(tt(), M, N) -> plus#(N, M))
    (active# U62 X -> active# X, active# U84(tt(), M, N) -> s# plus(N, M))
    (active# U62 X -> active# X, active# s X -> active# X)
    (active# U62 X -> active# X, active# s X -> s# active X)
    (active# U62 X -> active# X, active# U92 X -> active# X)
    (active# U62 X -> active# X, active# U92 X -> U92# active X)
    (active# U62 X -> active# X, active# U91(X1, X2) -> active# X1)
    (active# U62 X -> active# X, active# U91(X1, X2) -> U91#(active X1, X2))
    (active# U62 X -> active# X, active# U91(tt(), N) -> isNatKind# N)
    (active# U62 X -> active# X, active# U91(tt(), N) -> U92# isNatKind N)
    (active# U42 X -> active# X, active# U102(X1, X2, X3) -> U102#(active X1, X2, X3))
    (active# U42 X -> active# X, active# U102(X1, X2, X3) -> active# X1)
    (active# U42 X -> active# X, active# U102(tt(), M, N) -> U103#(isNat N, M, N))
    (active# U42 X -> active# X, active# U102(tt(), M, N) -> isNat# N)
    (active# U42 X -> active# X, active# isNatKind plus(V1, V2) -> isNatKind# V1)
    (active# U42 X -> active# X, active# isNatKind plus(V1, V2) -> U41#(isNatKind V1, V2))
    (active# U42 X -> active# X, active# isNatKind x(V1, V2) -> isNatKind# V1)
    (active# U42 X -> active# X, active# isNatKind x(V1, V2) -> U61#(isNatKind V1, V2))
    (active# U42 X -> active# X, active# isNatKind s V1 -> isNatKind# V1)
    (active# U42 X -> active# X, active# isNatKind s V1 -> U51# isNatKind V1)
    (active# U42 X -> active# X, active# U101(X1, X2, X3) -> active# X1)
    (active# U42 X -> active# X, active# U101(X1, X2, X3) -> U101#(active X1, X2, X3))
    (active# U42 X -> active# X, active# U101(tt(), M, N) -> U102#(isNatKind M, M, N))
    (active# U42 X -> active# X, active# U101(tt(), M, N) -> isNatKind# M)
    (active# U42 X -> active# X, active# U103(X1, X2, X3) -> active# X1)
    (active# U42 X -> active# X, active# U103(X1, X2, X3) -> U103#(active X1, X2, X3))
    (active# U42 X -> active# X, active# U103(tt(), M, N) -> isNatKind# N)
    (active# U42 X -> active# X, active# U103(tt(), M, N) -> U104#(isNatKind N, M, N))
    (active# U42 X -> active# X, active# isNat plus(V1, V2) -> isNatKind# V1)
    (active# U42 X -> active# X, active# isNat plus(V1, V2) -> U11#(isNatKind V1, V1, V2))
    (active# U42 X -> active# X, active# isNat x(V1, V2) -> isNatKind# V1)
    (active# U42 X -> active# X, active# isNat x(V1, V2) -> U31#(isNatKind V1, V1, V2))
    (active# U42 X -> active# X, active# isNat s V1 -> isNatKind# V1)
    (active# U42 X -> active# X, active# isNat s V1 -> U21#(isNatKind V1, V1))
    (active# U42 X -> active# X, active# U104(X1, X2, X3) -> active# X1)
    (active# U42 X -> active# X, active# U104(X1, X2, X3) -> U104#(active X1, X2, X3))
    (active# U42 X -> active# X, active# U104(tt(), M, N) -> plus#(x(N, M), N))
    (active# U42 X -> active# X, active# U104(tt(), M, N) -> x#(N, M))
    (active# U42 X -> active# X, active# plus(N, s M) -> isNat# M)
    (active# U42 X -> active# X, active# plus(N, s M) -> U81#(isNat M, M, N))
    (active# U42 X -> active# X, active# plus(N, 0()) -> isNat# N)
    (active# U42 X -> active# X, active# plus(N, 0()) -> U71#(isNat N, N))
    (active# U42 X -> active# X, active# plus(X1, X2) -> active# X1)
    (active# U42 X -> active# X, active# plus(X1, X2) -> active# X2)
    (active# U42 X -> active# X, active# plus(X1, X2) -> plus#(X1, active X2))
    (active# U42 X -> active# X, active# plus(X1, X2) -> plus#(active X1, X2))
    (active# U42 X -> active# X, active# x(N, s M) -> U101#(isNat M, M, N))
    (active# U42 X -> active# X, active# x(N, s M) -> isNat# M)
    (active# U42 X -> active# X, active# x(N, 0()) -> isNat# N)
    (active# U42 X -> active# X, active# x(N, 0()) -> U91#(isNat N, N))
    (active# U42 X -> active# X, active# x(X1, X2) -> active# X1)
    (active# U42 X -> active# X, active# x(X1, X2) -> active# X2)
    (active# U42 X -> active# X, active# x(X1, X2) -> x#(X1, active X2))
    (active# U42 X -> active# X, active# x(X1, X2) -> x#(active X1, X2))
    (active# U42 X -> active# X, active# U12(X1, X2, X3) -> active# X1)
    (active# U42 X -> active# X, active# U12(X1, X2, X3) -> U12#(active X1, X2, X3))
    (active# U42 X -> active# X, active# U12(tt(), V1, V2) -> isNatKind# V2)
    (active# U42 X -> active# X, active# U12(tt(), V1, V2) -> U13#(isNatKind V2, V1, V2))
    (active# U42 X -> active# X, active# U11(X1, X2, X3) -> active# X1)
    (active# U42 X -> active# X, active# U11(X1, X2, X3) -> U11#(active X1, X2, X3))
    (active# U42 X -> active# X, active# U11(tt(), V1, V2) -> isNatKind# V1)
    (active# U42 X -> active# X, active# U11(tt(), V1, V2) -> U12#(isNatKind V1, V1, V2))
    (active# U42 X -> active# X, active# U13(X1, X2, X3) -> active# X1)
    (active# U42 X -> active# X, active# U13(X1, X2, X3) -> U13#(active X1, X2, X3))
    (active# U42 X -> active# X, active# U13(tt(), V1, V2) -> isNatKind# V2)
    (active# U42 X -> active# X, active# U13(tt(), V1, V2) -> U14#(isNatKind V2, V1, V2))
    (active# U42 X -> active# X, active# U14(X1, X2, X3) -> active# X1)
    (active# U42 X -> active# X, active# U14(X1, X2, X3) -> U14#(active X1, X2, X3))
    (active# U42 X -> active# X, active# U14(tt(), V1, V2) -> isNat# V1)
    (active# U42 X -> active# X, active# U14(tt(), V1, V2) -> U15#(isNat V1, V2))
    (active# U42 X -> active# X, active# U15(X1, X2) -> active# X1)
    (active# U42 X -> active# X, active# U15(X1, X2) -> U15#(active X1, X2))
    (active# U42 X -> active# X, active# U15(tt(), V2) -> isNat# V2)
    (active# U42 X -> active# X, active# U15(tt(), V2) -> U16# isNat V2)
    (active# U42 X -> active# X, active# U16 X -> active# X)
    (active# U42 X -> active# X, active# U16 X -> U16# active X)
    (active# U42 X -> active# X, active# U22(X1, X2) -> active# X1)
    (active# U42 X -> active# X, active# U22(X1, X2) -> U22#(active X1, X2))
    (active# U42 X -> active# X, active# U22(tt(), V1) -> isNat# V1)
    (active# U42 X -> active# X, active# U22(tt(), V1) -> U23# isNat V1)
    (active# U42 X -> active# X, active# U21(X1, X2) -> active# X1)
    (active# U42 X -> active# X, active# U21(X1, X2) -> U21#(active X1, X2))
    (active# U42 X -> active# X, active# U21(tt(), V1) -> isNatKind# V1)
    (active# U42 X -> active# X, active# U21(tt(), V1) -> U22#(isNatKind V1, V1))
    (active# U42 X -> active# X, active# U23 X -> active# X)
    (active# U42 X -> active# X, active# U23 X -> U23# active X)
    (active# U42 X -> active# X, active# U32(X1, X2, X3) -> active# X1)
    (active# U42 X -> active# X, active# U32(X1, X2, X3) -> U32#(active X1, X2, X3))
    (active# U42 X -> active# X, active# U32(tt(), V1, V2) -> isNatKind# V2)
    (active# U42 X -> active# X, active# U32(tt(), V1, V2) -> U33#(isNatKind V2, V1, V2))
    (active# U42 X -> active# X, active# U31(X1, X2, X3) -> active# X1)
    (active# U42 X -> active# X, active# U31(X1, X2, X3) -> U31#(active X1, X2, X3))
    (active# U42 X -> active# X, active# U31(tt(), V1, V2) -> isNatKind# V1)
    (active# U42 X -> active# X, active# U31(tt(), V1, V2) -> U32#(isNatKind V1, V1, V2))
    (active# U42 X -> active# X, active# U33(X1, X2, X3) -> active# X1)
    (active# U42 X -> active# X, active# U33(X1, X2, X3) -> U33#(active X1, X2, X3))
    (active# U42 X -> active# X, active# U33(tt(), V1, V2) -> isNatKind# V2)
    (active# U42 X -> active# X, active# U33(tt(), V1, V2) -> U34#(isNatKind V2, V1, V2))
    (active# U42 X -> active# X, active# U34(X1, X2, X3) -> active# X1)
    (active# U42 X -> active# X, active# U34(X1, X2, X3) -> U34#(active X1, X2, X3))
    (active# U42 X -> active# X, active# U34(tt(), V1, V2) -> isNat# V1)
    (active# U42 X -> active# X, active# U34(tt(), V1, V2) -> U35#(isNat V1, V2))
    (active# U42 X -> active# X, active# U35(X1, X2) -> active# X1)
    (active# U42 X -> active# X, active# U35(X1, X2) -> U35#(active X1, X2))
    (active# U42 X -> active# X, active# U35(tt(), V2) -> isNat# V2)
    (active# U42 X -> active# X, active# U35(tt(), V2) -> U36# isNat V2)
    (active# U42 X -> active# X, active# U36 X -> active# X)
    (active# U42 X -> active# X, active# U36 X -> U36# active X)
    (active# U42 X -> active# X, active# U42 X -> active# X)
    (active# U42 X -> active# X, active# U42 X -> U42# active X)
    (active# U42 X -> active# X, active# U41(X1, X2) -> active# X1)
    (active# U42 X -> active# X, active# U41(X1, X2) -> U41#(active X1, X2))
    (active# U42 X -> active# X, active# U41(tt(), V2) -> isNatKind# V2)
    (active# U42 X -> active# X, active# U41(tt(), V2) -> U42# isNatKind V2)
    (active# U42 X -> active# X, active# U51 X -> active# X)
    (active# U42 X -> active# X, active# U51 X -> U51# active X)
    (active# U42 X -> active# X, active# U62 X -> active# X)
    (active# U42 X -> active# X, active# U62 X -> U62# active X)
    (active# U42 X -> active# X, active# U61(X1, X2) -> active# X1)
    (active# U42 X -> active# X, active# U61(X1, X2) -> U61#(active X1, X2))
    (active# U42 X -> active# X, active# U61(tt(), V2) -> isNatKind# V2)
    (active# U42 X -> active# X, active# U61(tt(), V2) -> U62# isNatKind V2)
    (active# U42 X -> active# X, active# U72(X1, X2) -> active# X1)
    (active# U42 X -> active# X, active# U72(X1, X2) -> U72#(active X1, X2))
    (active# U42 X -> active# X, active# U71(X1, X2) -> active# X1)
    (active# U42 X -> active# X, active# U71(X1, X2) -> U71#(active X1, X2))
    (active# U42 X -> active# X, active# U71(tt(), N) -> isNatKind# N)
    (active# U42 X -> active# X, active# U71(tt(), N) -> U72#(isNatKind N, N))
    (active# U42 X -> active# X, active# U82(X1, X2, X3) -> active# X1)
    (active# U42 X -> active# X, active# U82(X1, X2, X3) -> U82#(active X1, X2, X3))
    (active# U42 X -> active# X, active# U82(tt(), M, N) -> isNat# N)
    (active# U42 X -> active# X, active# U82(tt(), M, N) -> U83#(isNat N, M, N))
    (active# U42 X -> active# X, active# U81(X1, X2, X3) -> active# X1)
    (active# U42 X -> active# X, active# U81(X1, X2, X3) -> U81#(active X1, X2, X3))
    (active# U42 X -> active# X, active# U81(tt(), M, N) -> isNatKind# M)
    (active# U42 X -> active# X, active# U81(tt(), M, N) -> U82#(isNatKind M, M, N))
    (active# U42 X -> active# X, active# U83(X1, X2, X3) -> active# X1)
    (active# U42 X -> active# X, active# U83(X1, X2, X3) -> U83#(active X1, X2, X3))
    (active# U42 X -> active# X, active# U83(tt(), M, N) -> isNatKind# N)
    (active# U42 X -> active# X, active# U83(tt(), M, N) -> U84#(isNatKind N, M, N))
    (active# U42 X -> active# X, active# U84(X1, X2, X3) -> active# X1)
    (active# U42 X -> active# X, active# U84(X1, X2, X3) -> U84#(active X1, X2, X3))
    (active# U42 X -> active# X, active# U84(tt(), M, N) -> plus#(N, M))
    (active# U42 X -> active# X, active# U84(tt(), M, N) -> s# plus(N, M))
    (active# U42 X -> active# X, active# s X -> active# X)
    (active# U42 X -> active# X, active# s X -> s# active X)
    (active# U42 X -> active# X, active# U92 X -> active# X)
    (active# U42 X -> active# X, active# U92 X -> U92# active X)
    (active# U42 X -> active# X, active# U91(X1, X2) -> active# X1)
    (active# U42 X -> active# X, active# U91(X1, X2) -> U91#(active X1, X2))
    (active# U42 X -> active# X, active# U91(tt(), N) -> isNatKind# N)
    (active# U42 X -> active# X, active# U91(tt(), N) -> U92# isNatKind N)
    (active# U23 X -> active# X, active# U102(X1, X2, X3) -> U102#(active X1, X2, X3))
    (active# U23 X -> active# X, active# U102(X1, X2, X3) -> active# X1)
    (active# U23 X -> active# X, active# U102(tt(), M, N) -> U103#(isNat N, M, N))
    (active# U23 X -> active# X, active# U102(tt(), M, N) -> isNat# N)
    (active# U23 X -> active# X, active# isNatKind plus(V1, V2) -> isNatKind# V1)
    (active# U23 X -> active# X, active# isNatKind plus(V1, V2) -> U41#(isNatKind V1, V2))
    (active# U23 X -> active# X, active# isNatKind x(V1, V2) -> isNatKind# V1)
    (active# U23 X -> active# X, active# isNatKind x(V1, V2) -> U61#(isNatKind V1, V2))
    (active# U23 X -> active# X, active# isNatKind s V1 -> isNatKind# V1)
    (active# U23 X -> active# X, active# isNatKind s V1 -> U51# isNatKind V1)
    (active# U23 X -> active# X, active# U101(X1, X2, X3) -> active# X1)
    (active# U23 X -> active# X, active# U101(X1, X2, X3) -> U101#(active X1, X2, X3))
    (active# U23 X -> active# X, active# U101(tt(), M, N) -> U102#(isNatKind M, M, N))
    (active# U23 X -> active# X, active# U101(tt(), M, N) -> isNatKind# M)
    (active# U23 X -> active# X, active# U103(X1, X2, X3) -> active# X1)
    (active# U23 X -> active# X, active# U103(X1, X2, X3) -> U103#(active X1, X2, X3))
    (active# U23 X -> active# X, active# U103(tt(), M, N) -> isNatKind# N)
    (active# U23 X -> active# X, active# U103(tt(), M, N) -> U104#(isNatKind N, M, N))
    (active# U23 X -> active# X, active# isNat plus(V1, V2) -> isNatKind# V1)
    (active# U23 X -> active# X, active# isNat plus(V1, V2) -> U11#(isNatKind V1, V1, V2))
    (active# U23 X -> active# X, active# isNat x(V1, V2) -> isNatKind# V1)
    (active# U23 X -> active# X, active# isNat x(V1, V2) -> U31#(isNatKind V1, V1, V2))
    (active# U23 X -> active# X, active# isNat s V1 -> isNatKind# V1)
    (active# U23 X -> active# X, active# isNat s V1 -> U21#(isNatKind V1, V1))
    (active# U23 X -> active# X, active# U104(X1, X2, X3) -> active# X1)
    (active# U23 X -> active# X, active# U104(X1, X2, X3) -> U104#(active X1, X2, X3))
    (active# U23 X -> active# X, active# U104(tt(), M, N) -> plus#(x(N, M), N))
    (active# U23 X -> active# X, active# U104(tt(), M, N) -> x#(N, M))
    (active# U23 X -> active# X, active# plus(N, s M) -> isNat# M)
    (active# U23 X -> active# X, active# plus(N, s M) -> U81#(isNat M, M, N))
    (active# U23 X -> active# X, active# plus(N, 0()) -> isNat# N)
    (active# U23 X -> active# X, active# plus(N, 0()) -> U71#(isNat N, N))
    (active# U23 X -> active# X, active# plus(X1, X2) -> active# X1)
    (active# U23 X -> active# X, active# plus(X1, X2) -> active# X2)
    (active# U23 X -> active# X, active# plus(X1, X2) -> plus#(X1, active X2))
    (active# U23 X -> active# X, active# plus(X1, X2) -> plus#(active X1, X2))
    (active# U23 X -> active# X, active# x(N, s M) -> U101#(isNat M, M, N))
    (active# U23 X -> active# X, active# x(N, s M) -> isNat# M)
    (active# U23 X -> active# X, active# x(N, 0()) -> isNat# N)
    (active# U23 X -> active# X, active# x(N, 0()) -> U91#(isNat N, N))
    (active# U23 X -> active# X, active# x(X1, X2) -> active# X1)
    (active# U23 X -> active# X, active# x(X1, X2) -> active# X2)
    (active# U23 X -> active# X, active# x(X1, X2) -> x#(X1, active X2))
    (active# U23 X -> active# X, active# x(X1, X2) -> x#(active X1, X2))
    (active# U23 X -> active# X, active# U12(X1, X2, X3) -> active# X1)
    (active# U23 X -> active# X, active# U12(X1, X2, X3) -> U12#(active X1, X2, X3))
    (active# U23 X -> active# X, active# U12(tt(), V1, V2) -> isNatKind# V2)
    (active# U23 X -> active# X, active# U12(tt(), V1, V2) -> U13#(isNatKind V2, V1, V2))
    (active# U23 X -> active# X, active# U11(X1, X2, X3) -> active# X1)
    (active# U23 X -> active# X, active# U11(X1, X2, X3) -> U11#(active X1, X2, X3))
    (active# U23 X -> active# X, active# U11(tt(), V1, V2) -> isNatKind# V1)
    (active# U23 X -> active# X, active# U11(tt(), V1, V2) -> U12#(isNatKind V1, V1, V2))
    (active# U23 X -> active# X, active# U13(X1, X2, X3) -> active# X1)
    (active# U23 X -> active# X, active# U13(X1, X2, X3) -> U13#(active X1, X2, X3))
    (active# U23 X -> active# X, active# U13(tt(), V1, V2) -> isNatKind# V2)
    (active# U23 X -> active# X, active# U13(tt(), V1, V2) -> U14#(isNatKind V2, V1, V2))
    (active# U23 X -> active# X, active# U14(X1, X2, X3) -> active# X1)
    (active# U23 X -> active# X, active# U14(X1, X2, X3) -> U14#(active X1, X2, X3))
    (active# U23 X -> active# X, active# U14(tt(), V1, V2) -> isNat# V1)
    (active# U23 X -> active# X, active# U14(tt(), V1, V2) -> U15#(isNat V1, V2))
    (active# U23 X -> active# X, active# U15(X1, X2) -> active# X1)
    (active# U23 X -> active# X, active# U15(X1, X2) -> U15#(active X1, X2))
    (active# U23 X -> active# X, active# U15(tt(), V2) -> isNat# V2)
    (active# U23 X -> active# X, active# U15(tt(), V2) -> U16# isNat V2)
    (active# U23 X -> active# X, active# U16 X -> active# X)
    (active# U23 X -> active# X, active# U16 X -> U16# active X)
    (active# U23 X -> active# X, active# U22(X1, X2) -> active# X1)
    (active# U23 X -> active# X, active# U22(X1, X2) -> U22#(active X1, X2))
    (active# U23 X -> active# X, active# U22(tt(), V1) -> isNat# V1)
    (active# U23 X -> active# X, active# U22(tt(), V1) -> U23# isNat V1)
    (active# U23 X -> active# X, active# U21(X1, X2) -> active# X1)
    (active# U23 X -> active# X, active# U21(X1, X2) -> U21#(active X1, X2))
    (active# U23 X -> active# X, active# U21(tt(), V1) -> isNatKind# V1)
    (active# U23 X -> active# X, active# U21(tt(), V1) -> U22#(isNatKind V1, V1))
    (active# U23 X -> active# X, active# U23 X -> active# X)
    (active# U23 X -> active# X, active# U23 X -> U23# active X)
    (active# U23 X -> active# X, active# U32(X1, X2, X3) -> active# X1)
    (active# U23 X -> active# X, active# U32(X1, X2, X3) -> U32#(active X1, X2, X3))
    (active# U23 X -> active# X, active# U32(tt(), V1, V2) -> isNatKind# V2)
    (active# U23 X -> active# X, active# U32(tt(), V1, V2) -> U33#(isNatKind V2, V1, V2))
    (active# U23 X -> active# X, active# U31(X1, X2, X3) -> active# X1)
    (active# U23 X -> active# X, active# U31(X1, X2, X3) -> U31#(active X1, X2, X3))
    (active# U23 X -> active# X, active# U31(tt(), V1, V2) -> isNatKind# V1)
    (active# U23 X -> active# X, active# U31(tt(), V1, V2) -> U32#(isNatKind V1, V1, V2))
    (active# U23 X -> active# X, active# U33(X1, X2, X3) -> active# X1)
    (active# U23 X -> active# X, active# U33(X1, X2, X3) -> U33#(active X1, X2, X3))
    (active# U23 X -> active# X, active# U33(tt(), V1, V2) -> isNatKind# V2)
    (active# U23 X -> active# X, active# U33(tt(), V1, V2) -> U34#(isNatKind V2, V1, V2))
    (active# U23 X -> active# X, active# U34(X1, X2, X3) -> active# X1)
    (active# U23 X -> active# X, active# U34(X1, X2, X3) -> U34#(active X1, X2, X3))
    (active# U23 X -> active# X, active# U34(tt(), V1, V2) -> isNat# V1)
    (active# U23 X -> active# X, active# U34(tt(), V1, V2) -> U35#(isNat V1, V2))
    (active# U23 X -> active# X, active# U35(X1, X2) -> active# X1)
    (active# U23 X -> active# X, active# U35(X1, X2) -> U35#(active X1, X2))
    (active# U23 X -> active# X, active# U35(tt(), V2) -> isNat# V2)
    (active# U23 X -> active# X, active# U35(tt(), V2) -> U36# isNat V2)
    (active# U23 X -> active# X, active# U36 X -> active# X)
    (active# U23 X -> active# X, active# U36 X -> U36# active X)
    (active# U23 X -> active# X, active# U42 X -> active# X)
    (active# U23 X -> active# X, active# U42 X -> U42# active X)
    (active# U23 X -> active# X, active# U41(X1, X2) -> active# X1)
    (active# U23 X -> active# X, active# U41(X1, X2) -> U41#(active X1, X2))
    (active# U23 X -> active# X, active# U41(tt(), V2) -> isNatKind# V2)
    (active# U23 X -> active# X, active# U41(tt(), V2) -> U42# isNatKind V2)
    (active# U23 X -> active# X, active# U51 X -> active# X)
    (active# U23 X -> active# X, active# U51 X -> U51# active X)
    (active# U23 X -> active# X, active# U62 X -> active# X)
    (active# U23 X -> active# X, active# U62 X -> U62# active X)
    (active# U23 X -> active# X, active# U61(X1, X2) -> active# X1)
    (active# U23 X -> active# X, active# U61(X1, X2) -> U61#(active X1, X2))
    (active# U23 X -> active# X, active# U61(tt(), V2) -> isNatKind# V2)
    (active# U23 X -> active# X, active# U61(tt(), V2) -> U62# isNatKind V2)
    (active# U23 X -> active# X, active# U72(X1, X2) -> active# X1)
    (active# U23 X -> active# X, active# U72(X1, X2) -> U72#(active X1, X2))
    (active# U23 X -> active# X, active# U71(X1, X2) -> active# X1)
    (active# U23 X -> active# X, active# U71(X1, X2) -> U71#(active X1, X2))
    (active# U23 X -> active# X, active# U71(tt(), N) -> isNatKind# N)
    (active# U23 X -> active# X, active# U71(tt(), N) -> U72#(isNatKind N, N))
    (active# U23 X -> active# X, active# U82(X1, X2, X3) -> active# X1)
    (active# U23 X -> active# X, active# U82(X1, X2, X3) -> U82#(active X1, X2, X3))
    (active# U23 X -> active# X, active# U82(tt(), M, N) -> isNat# N)
    (active# U23 X -> active# X, active# U82(tt(), M, N) -> U83#(isNat N, M, N))
    (active# U23 X -> active# X, active# U81(X1, X2, X3) -> active# X1)
    (active# U23 X -> active# X, active# U81(X1, X2, X3) -> U81#(active X1, X2, X3))
    (active# U23 X -> active# X, active# U81(tt(), M, N) -> isNatKind# M)
    (active# U23 X -> active# X, active# U81(tt(), M, N) -> U82#(isNatKind M, M, N))
    (active# U23 X -> active# X, active# U83(X1, X2, X3) -> active# X1)
    (active# U23 X -> active# X, active# U83(X1, X2, X3) -> U83#(active X1, X2, X3))
    (active# U23 X -> active# X, active# U83(tt(), M, N) -> isNatKind# N)
    (active# U23 X -> active# X, active# U83(tt(), M, N) -> U84#(isNatKind N, M, N))
    (active# U23 X -> active# X, active# U84(X1, X2, X3) -> active# X1)
    (active# U23 X -> active# X, active# U84(X1, X2, X3) -> U84#(active X1, X2, X3))
    (active# U23 X -> active# X, active# U84(tt(), M, N) -> plus#(N, M))
    (active# U23 X -> active# X, active# U84(tt(), M, N) -> s# plus(N, M))
    (active# U23 X -> active# X, active# s X -> active# X)
    (active# U23 X -> active# X, active# s X -> s# active X)
    (active# U23 X -> active# X, active# U92 X -> active# X)
    (active# U23 X -> active# X, active# U92 X -> U92# active X)
    (active# U23 X -> active# X, active# U91(X1, X2) -> active# X1)
    (active# U23 X -> active# X, active# U91(X1, X2) -> U91#(active X1, X2))
    (active# U23 X -> active# X, active# U91(tt(), N) -> isNatKind# N)
    (active# U23 X -> active# X, active# U91(tt(), N) -> U92# isNatKind N)
    (isNatKind# ok X -> isNatKind# X, isNatKind# ok X -> isNatKind# X)
   }
   STATUS:
    arrows: 0.865632
    SCCS (40):
     Scc:
      {top# mark X -> top# proper X,
         top# ok X -> top# active X}
     Scc:
      {proper# U102(X1, X2, X3) -> proper# X1,
       proper# U102(X1, X2, X3) -> proper# X2,
       proper# U102(X1, X2, X3) -> proper# X3,
            proper# isNatKind X -> proper# X,
       proper# U101(X1, X2, X3) -> proper# X1,
       proper# U101(X1, X2, X3) -> proper# X2,
       proper# U101(X1, X2, X3) -> proper# X3,
       proper# U103(X1, X2, X3) -> proper# X1,
       proper# U103(X1, X2, X3) -> proper# X2,
       proper# U103(X1, X2, X3) -> proper# X3,
                proper# isNat X -> proper# X,
       proper# U104(X1, X2, X3) -> proper# X1,
       proper# U104(X1, X2, X3) -> proper# X2,
       proper# U104(X1, X2, X3) -> proper# X3,
           proper# plus(X1, X2) -> proper# X1,
           proper# plus(X1, X2) -> proper# X2,
              proper# x(X1, X2) -> proper# X1,
              proper# x(X1, X2) -> proper# X2,
        proper# U12(X1, X2, X3) -> proper# X1,
        proper# U12(X1, X2, X3) -> proper# X2,
        proper# U12(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# X3,
        proper# U13(X1, X2, X3) -> proper# X1,
        proper# U13(X1, X2, X3) -> proper# X2,
        proper# U13(X1, X2, X3) -> proper# X3,
        proper# U14(X1, X2, X3) -> proper# X1,
        proper# U14(X1, X2, X3) -> proper# X2,
        proper# U14(X1, X2, X3) -> proper# X3,
            proper# U15(X1, X2) -> proper# X1,
            proper# U15(X1, X2) -> proper# X2,
                  proper# U16 X -> proper# X,
            proper# U22(X1, X2) -> proper# X1,
            proper# U22(X1, X2) -> proper# X2,
            proper# U21(X1, X2) -> proper# X1,
            proper# U21(X1, X2) -> proper# X2,
                  proper# U23 X -> proper# X,
        proper# U32(X1, X2, X3) -> proper# X1,
        proper# U32(X1, X2, X3) -> proper# X2,
        proper# U32(X1, X2, X3) -> 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(X1, X2, X3) -> proper# X1,
        proper# U33(X1, X2, X3) -> proper# X2,
        proper# U33(X1, X2, X3) -> proper# X3,
        proper# U34(X1, X2, X3) -> proper# X1,
        proper# U34(X1, X2, X3) -> proper# X2,
        proper# U34(X1, X2, X3) -> proper# X3,
            proper# U35(X1, X2) -> proper# X1,
            proper# U35(X1, X2) -> proper# X2,
                  proper# U36 X -> proper# X,
                  proper# U42 X -> proper# X,
            proper# U41(X1, X2) -> proper# X1,
            proper# U41(X1, X2) -> proper# X2,
                  proper# U51 X -> proper# X,
                  proper# U62 X -> proper# X,
            proper# U61(X1, X2) -> proper# X1,
            proper# U61(X1, X2) -> proper# X2,
            proper# U72(X1, X2) -> proper# X1,
            proper# U72(X1, X2) -> proper# X2,
            proper# U71(X1, X2) -> proper# X1,
            proper# U71(X1, X2) -> proper# X2,
        proper# U82(X1, X2, X3) -> proper# X1,
        proper# U82(X1, X2, X3) -> proper# X2,
        proper# U82(X1, X2, X3) -> proper# X3,
        proper# U81(X1, X2, X3) -> proper# X1,
        proper# U81(X1, X2, X3) -> proper# X2,
        proper# U81(X1, X2, X3) -> proper# X3,
        proper# U83(X1, X2, X3) -> proper# X1,
        proper# U83(X1, X2, X3) -> proper# X2,
        proper# U83(X1, X2, X3) -> proper# X3,
        proper# U84(X1, X2, X3) -> proper# X1,
        proper# U84(X1, X2, X3) -> proper# X2,
        proper# U84(X1, X2, X3) -> proper# X3,
                    proper# s X -> proper# X,
                  proper# U92 X -> proper# X,
            proper# U91(X1, X2) -> proper# X1,
            proper# U91(X1, X2) -> proper# X2}
     Scc:
      {active# U102(X1, X2, X3) -> active# X1,
       active# U101(X1, X2, X3) -> active# X1,
       active# U103(X1, X2, X3) -> active# X1,
       active# U104(X1, X2, X3) -> active# X1,
           active# plus(X1, X2) -> active# X1,
           active# plus(X1, X2) -> active# X2,
              active# x(X1, X2) -> active# X1,
              active# x(X1, X2) -> active# X2,
        active# U12(X1, X2, X3) -> active# X1,
        active# U11(X1, X2, X3) -> active# X1,
        active# U13(X1, X2, X3) -> active# X1,
        active# U14(X1, X2, X3) -> active# X1,
            active# U15(X1, X2) -> active# X1,
                  active# U16 X -> active# X,
            active# U22(X1, X2) -> active# X1,
            active# U21(X1, X2) -> active# X1,
                  active# U23 X -> active# X,
        active# U32(X1, X2, X3) -> active# X1,
        active# U31(X1, X2, X3) -> active# X1,
        active# U33(X1, X2, X3) -> active# X1,
        active# U34(X1, X2, X3) -> active# X1,
            active# U35(X1, X2) -> active# X1,
                  active# U36 X -> active# X,
                  active# U42 X -> active# X,
            active# U41(X1, X2) -> active# X1,
                  active# U51 X -> active# X,
                  active# U62 X -> active# X,
            active# U61(X1, X2) -> active# X1,
            active# U72(X1, X2) -> active# X1,
            active# U71(X1, X2) -> active# X1,
        active# U82(X1, X2, X3) -> active# X1,
        active# U81(X1, X2, X3) -> active# X1,
        active# U83(X1, X2, X3) -> active# X1,
        active# U84(X1, X2, X3) -> active# X1,
                    active# s X -> active# X,
                  active# U92 X -> active# X,
            active# U91(X1, X2) -> active# X1}
     Scc:
      {U92# mark X -> U92# X,
         U92# ok X -> U92# X}
     Scc:
      {s# mark X -> s# X,
         s# ok X -> s# X}
     Scc:
      {    U84#(mark X1, X2, X3) -> U84#(X1, X2, X3),
       U84#(ok X1, ok X2, ok X3) -> U84#(X1, X2, X3)}
     Scc:
      {    U83#(mark X1, X2, X3) -> U83#(X1, X2, X3),
       U83#(ok X1, ok X2, ok X3) -> U83#(X1, X2, X3)}
     Scc:
      {    U82#(mark X1, X2, X3) -> U82#(X1, X2, X3),
       U82#(ok X1, ok X2, ok X3) -> U82#(X1, X2, X3)}
     Scc:
      { U72#(mark X1, X2) -> U72#(X1, X2),
       U72#(ok X1, ok X2) -> U72#(X1, X2)}
     Scc:
      {U62# mark X -> U62# X,
         U62# ok X -> U62# X}
     Scc:
      {U42# mark X -> U42# X,
         U42# ok X -> U42# X}
     Scc:
      {U36# mark X -> U36# X,
         U36# ok X -> U36# X}
     Scc:
      { U35#(mark X1, X2) -> U35#(X1, X2),
       U35#(ok X1, ok X2) -> U35#(X1, X2)}
     Scc:
      {    U34#(mark X1, X2, X3) -> U34#(X1, X2, X3),
       U34#(ok X1, ok X2, ok X3) -> U34#(X1, X2, X3)}
     Scc:
      {    U33#(mark X1, X2, X3) -> U33#(X1, X2, X3),
       U33#(ok X1, ok X2, ok X3) -> U33#(X1, X2, X3)}
     Scc:
      {    U32#(mark X1, X2, X3) -> U32#(X1, X2, X3),
       U32#(ok X1, ok X2, ok X3) -> U32#(X1, X2, X3)}
     Scc:
      {U23# mark X -> U23# X,
         U23# ok X -> U23# X}
     Scc:
      { U22#(mark X1, X2) -> U22#(X1, X2),
       U22#(ok X1, ok X2) -> U22#(X1, X2)}
     Scc:
      {U16# mark X -> U16# X,
         U16# ok X -> U16# X}
     Scc:
      { U15#(mark X1, X2) -> U15#(X1, X2),
       U15#(ok X1, ok X2) -> U15#(X1, X2)}
     Scc:
      {    U14#(mark X1, X2, X3) -> U14#(X1, X2, X3),
       U14#(ok X1, ok X2, ok X3) -> U14#(X1, X2, X3)}
     Scc:
      {    U13#(mark X1, X2, X3) -> U13#(X1, X2, X3),
       U13#(ok X1, ok X2, ok X3) -> U13#(X1, X2, X3)}
     Scc:
      {    U12#(mark X1, X2, X3) -> U12#(X1, X2, X3),
       U12#(ok X1, ok X2, ok X3) -> U12#(X1, X2, X3)}
     Scc:
      { U91#(mark X1, X2) -> U91#(X1, X2),
       U91#(ok X1, ok X2) -> U91#(X1, X2)}
     Scc:
      { U71#(mark X1, X2) -> U71#(X1, X2),
       U71#(ok X1, ok X2) -> U71#(X1, X2)}
     Scc:
      {    U81#(mark X1, X2, X3) -> U81#(X1, X2, X3),
       U81#(ok X1, ok X2, ok X3) -> U81#(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:
      { plus#(X1, mark X2) -> plus#(X1, X2),
        plus#(mark X1, X2) -> plus#(X1, X2),
       plus#(ok X1, ok X2) -> plus#(X1, X2)}
     Scc:
      { U21#(mark X1, X2) -> U21#(X1, X2),
       U21#(ok X1, ok X2) -> U21#(X1, X2)}
     Scc:
      {    U31#(mark X1, X2, X3) -> U31#(X1, X2, X3),
       U31#(ok X1, ok X2, ok X3) -> U31#(X1, X2, X3)}
     Scc:
      {    U11#(mark X1, X2, X3) -> U11#(X1, X2, X3),
       U11#(ok X1, ok X2, ok X3) -> U11#(X1, X2, X3)}
     Scc:
      {    U104#(mark X1, X2, X3) -> U104#(X1, X2, X3),
       U104#(ok X1, ok X2, ok X3) -> U104#(X1, X2, X3)}
     Scc:
      {    U101#(mark X1, X2, X3) -> U101#(X1, X2, X3),
       U101#(ok X1, ok X2, ok X3) -> U101#(X1, X2, X3)}
     Scc:
      {U51# mark X -> U51# X,
         U51# ok X -> U51# X}
     Scc:
      { U61#(mark X1, X2) -> U61#(X1, X2),
       U61#(ok X1, ok X2) -> U61#(X1, X2)}
     Scc:
      { U41#(mark X1, X2) -> U41#(X1, X2),
       U41#(ok X1, ok X2) -> U41#(X1, X2)}
     Scc:
      {isNat# ok X -> isNat# X}
     Scc:
      {    U103#(mark X1, X2, X3) -> U103#(X1, X2, X3),
       U103#(ok X1, ok X2, ok X3) -> U103#(X1, X2, X3)}
     Scc:
      {    U102#(mark X1, X2, X3) -> U102#(X1, X2, X3),
       U102#(ok X1, ok X2, ok X3) -> U102#(X1, X2, X3)}
     Scc:
      {isNatKind# ok X -> isNatKind# X}
     
     SCC (2):
      Strict:
       {top# mark X -> top# proper X,
          top# ok X -> top# active X}
      Weak:
      {
               U102(mark X1, X2, X3) -> mark U102(X1, X2, X3),
           U102(ok X1, ok X2, ok X3) -> ok U102(X1, X2, X3),
                      isNatKind ok X -> ok isNatKind X,
             active U102(X1, X2, X3) -> U102(active X1, X2, X3),
             active U102(tt(), M, N) -> mark U103(isNat N, M, N),
       active isNatKind plus(V1, V2) -> mark U41(isNatKind V1, V2),
          active isNatKind x(V1, V2) -> mark U61(isNatKind V1, V2),
               active isNatKind s V1 -> mark U51 isNatKind V1,
                active isNatKind 0() -> mark tt(),
             active U101(X1, X2, X3) -> U101(active X1, X2, X3),
             active U101(tt(), M, N) -> mark U102(isNatKind M, M, N),
             active U103(X1, X2, X3) -> U103(active X1, X2, X3),
             active U103(tt(), M, N) -> mark U104(isNatKind N, M, N),
           active isNat plus(V1, V2) -> mark U11(isNatKind V1, V1, V2),
              active isNat x(V1, V2) -> mark U31(isNatKind V1, V1, V2),
                   active isNat s V1 -> mark U21(isNatKind V1, V1),
                    active isNat 0() -> mark tt(),
             active U104(X1, X2, X3) -> U104(active X1, X2, X3),
             active U104(tt(), M, N) -> mark plus(x(N, M), N),
                 active plus(N, s M) -> mark U81(isNat M, M, N),
                 active plus(N, 0()) -> mark U71(isNat N, N),
                 active plus(X1, X2) -> plus(X1, active X2),
                 active plus(X1, X2) -> plus(active X1, X2),
                    active x(N, s M) -> mark U101(isNat M, M, N),
                    active x(N, 0()) -> mark U91(isNat N, N),
                    active x(X1, X2) -> x(X1, active X2),
                    active x(X1, X2) -> x(active X1, X2),
              active U12(X1, X2, X3) -> U12(active X1, X2, X3),
            active U12(tt(), V1, V2) -> mark U13(isNatKind V2, V1, V2),
              active U11(X1, X2, X3) -> U11(active X1, X2, X3),
            active U11(tt(), V1, V2) -> mark U12(isNatKind V1, V1, V2),
              active U13(X1, X2, X3) -> U13(active X1, X2, X3),
            active U13(tt(), V1, V2) -> mark U14(isNatKind V2, V1, V2),
              active U14(X1, X2, X3) -> U14(active X1, X2, X3),
            active U14(tt(), V1, V2) -> mark U15(isNat V1, V2),
                  active U15(X1, X2) -> U15(active X1, X2),
                active U15(tt(), V2) -> mark U16 isNat V2,
                        active U16 X -> U16 active X,
                     active U16 tt() -> mark tt(),
                  active U22(X1, X2) -> U22(active X1, X2),
                active U22(tt(), V1) -> mark U23 isNat V1,
                  active U21(X1, X2) -> U21(active X1, X2),
                active U21(tt(), V1) -> mark U22(isNatKind V1, V1),
                        active U23 X -> U23 active X,
                     active U23 tt() -> mark tt(),
              active U32(X1, X2, X3) -> U32(active X1, X2, X3),
            active U32(tt(), V1, V2) -> mark U33(isNatKind V2, V1, V2),
              active U31(X1, X2, X3) -> U31(active X1, X2, X3),
            active U31(tt(), V1, V2) -> mark U32(isNatKind V1, V1, V2),
              active U33(X1, X2, X3) -> U33(active X1, X2, X3),
            active U33(tt(), V1, V2) -> mark U34(isNatKind V2, V1, V2),
              active U34(X1, X2, X3) -> U34(active X1, X2, X3),
            active U34(tt(), V1, V2) -> mark U35(isNat V1, V2),
                  active U35(X1, X2) -> U35(active X1, X2),
                active U35(tt(), V2) -> mark U36 isNat V2,
                        active U36 X -> U36 active X,
                     active U36 tt() -> mark tt(),
                        active U42 X -> U42 active X,
                     active U42 tt() -> mark tt(),
                  active U41(X1, X2) -> U41(active X1, X2),
                active U41(tt(), V2) -> mark U42 isNatKind V2,
                        active U51 X -> U51 active X,
                     active U51 tt() -> mark tt(),
                        active U62 X -> U62 active X,
                     active U62 tt() -> mark tt(),
                  active U61(X1, X2) -> U61(active X1, X2),
                active U61(tt(), V2) -> mark U62 isNatKind V2,
                  active U72(X1, X2) -> U72(active X1, X2),
                 active U72(tt(), N) -> mark N,
                  active U71(X1, X2) -> U71(active X1, X2),
                 active U71(tt(), N) -> mark U72(isNatKind N, N),
              active U82(X1, X2, X3) -> U82(active X1, X2, X3),
              active U82(tt(), M, N) -> mark U83(isNat N, M, N),
              active U81(X1, X2, X3) -> U81(active X1, X2, X3),
              active U81(tt(), M, N) -> mark U82(isNatKind M, M, N),
              active U83(X1, X2, X3) -> U83(active X1, X2, X3),
              active U83(tt(), M, N) -> mark U84(isNatKind N, M, N),
              active U84(X1, X2, X3) -> U84(active X1, X2, X3),
              active U84(tt(), M, N) -> mark s plus(N, M),
                          active s X -> s active X,
                        active U92 X -> U92 active X,
                     active U92 tt() -> mark 0(),
                  active U91(X1, X2) -> U91(active X1, X2),
                 active U91(tt(), N) -> mark U92 isNatKind N,
               U101(mark X1, X2, X3) -> mark U101(X1, X2, X3),
           U101(ok X1, ok X2, ok X3) -> ok U101(X1, X2, X3),
               U103(mark X1, X2, X3) -> mark U103(X1, X2, X3),
           U103(ok X1, ok X2, ok X3) -> ok U103(X1, X2, X3),
                          isNat ok X -> ok isNat X,
               U104(mark X1, X2, X3) -> mark U104(X1, X2, X3),
           U104(ok X1, ok X2, ok X3) -> ok U104(X1, X2, X3),
                   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),
                      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),
                U12(mark X1, X2, X3) -> mark U12(X1, X2, X3),
            U12(ok X1, ok X2, ok X3) -> ok U12(X1, X2, X3),
                U11(mark X1, X2, X3) -> mark U11(X1, X2, X3),
            U11(ok X1, ok X2, ok X3) -> ok U11(X1, X2, X3),
                U13(mark X1, X2, X3) -> mark U13(X1, X2, X3),
            U13(ok X1, ok X2, ok X3) -> ok U13(X1, X2, X3),
                U14(mark X1, X2, X3) -> mark U14(X1, X2, X3),
            U14(ok X1, ok X2, ok X3) -> ok U14(X1, X2, X3),
                    U15(mark X1, X2) -> mark U15(X1, X2),
                   U15(ok X1, ok X2) -> ok U15(X1, X2),
                          U16 mark X -> mark U16 X,
                            U16 ok X -> ok U16 X,
                    U22(mark X1, X2) -> mark U22(X1, X2),
                   U22(ok X1, ok X2) -> ok U22(X1, X2),
                    U21(mark X1, X2) -> mark U21(X1, X2),
                   U21(ok X1, ok X2) -> ok U21(X1, X2),
                          U23 mark X -> mark U23 X,
                            U23 ok X -> ok U23 X,
                U32(mark X1, X2, X3) -> mark U32(X1, X2, X3),
            U32(ok X1, ok X2, ok X3) -> ok U32(X1, X2, X3),
                U31(mark X1, X2, X3) -> mark U31(X1, X2, X3),
            U31(ok X1, ok X2, ok X3) -> ok U31(X1, X2, X3),
                U33(mark X1, X2, X3) -> mark U33(X1, X2, X3),
            U33(ok X1, ok X2, ok X3) -> ok U33(X1, X2, X3),
                U34(mark X1, X2, X3) -> mark U34(X1, X2, X3),
            U34(ok X1, ok X2, ok X3) -> ok U34(X1, X2, X3),
                    U35(mark X1, X2) -> mark U35(X1, X2),
                   U35(ok X1, ok X2) -> ok U35(X1, X2),
                          U36 mark X -> mark U36 X,
                            U36 ok X -> ok U36 X,
                          U42 mark X -> mark U42 X,
                            U42 ok X -> ok U42 X,
                    U41(mark X1, X2) -> mark U41(X1, X2),
                   U41(ok X1, ok X2) -> ok U41(X1, X2),
                          U51 mark X -> mark U51 X,
                            U51 ok X -> ok U51 X,
                          U62 mark X -> mark U62 X,
                            U62 ok X -> ok U62 X,
                    U61(mark X1, X2) -> mark U61(X1, X2),
                   U61(ok X1, ok X2) -> ok U61(X1, X2),
                    U72(mark X1, X2) -> mark U72(X1, X2),
                   U72(ok X1, ok X2) -> ok U72(X1, X2),
                    U71(mark X1, X2) -> mark U71(X1, X2),
                   U71(ok X1, ok X2) -> ok U71(X1, X2),
                U82(mark X1, X2, X3) -> mark U82(X1, X2, X3),
            U82(ok X1, ok X2, ok X3) -> ok U82(X1, X2, X3),
                U81(mark X1, X2, X3) -> mark U81(X1, X2, X3),
            U81(ok X1, ok X2, ok X3) -> ok U81(X1, X2, X3),
                U83(mark X1, X2, X3) -> mark U83(X1, X2, X3),
            U83(ok X1, ok X2, ok X3) -> ok U83(X1, X2, X3),
                U84(mark X1, X2, X3) -> mark U84(X1, X2, X3),
            U84(ok X1, ok X2, ok X3) -> ok U84(X1, X2, X3),
                            s mark X -> mark s X,
                              s ok X -> ok s X,
                          U92 mark X -> mark U92 X,
                            U92 ok X -> ok U92 X,
                    U91(mark X1, X2) -> mark U91(X1, X2),
                   U91(ok X1, ok X2) -> ok U91(X1, X2),
             proper U102(X1, X2, X3) -> U102(proper X1, proper X2, proper X3),
                  proper isNatKind X -> isNatKind proper X,
             proper U101(X1, X2, X3) -> U101(proper X1, proper X2, proper X3),
                         proper tt() -> ok tt(),
             proper U103(X1, X2, X3) -> U103(proper X1, proper X2, proper X3),
                      proper isNat X -> isNat proper X,
             proper U104(X1, X2, X3) -> U104(proper X1, proper X2, proper X3),
                 proper plus(X1, X2) -> plus(proper X1, proper X2),
                    proper x(X1, X2) -> x(proper X1, proper X2),
              proper U12(X1, X2, X3) -> U12(proper X1, proper X2, proper X3),
              proper U11(X1, X2, X3) -> U11(proper X1, proper X2, proper X3),
              proper U13(X1, X2, X3) -> U13(proper X1, proper X2, proper X3),
              proper U14(X1, X2, X3) -> U14(proper X1, proper X2, proper X3),
                  proper U15(X1, X2) -> U15(proper X1, proper X2),
                        proper U16 X -> U16 proper X,
                  proper U22(X1, X2) -> U22(proper X1, proper X2),
                  proper U21(X1, X2) -> U21(proper X1, proper X2),
                        proper U23 X -> U23 proper X,
              proper U32(X1, X2, X3) -> U32(proper X1, proper X2, proper X3),
              proper U31(X1, X2, X3) -> U31(proper X1, proper X2, proper X3),
              proper U33(X1, X2, X3) -> U33(proper X1, proper X2, proper X3),
              proper U34(X1, X2, X3) -> U34(proper X1, proper X2, proper X3),
                  proper U35(X1, X2) -> U35(proper X1, proper X2),
                        proper U36 X -> U36 proper X,
                        proper U42 X -> U42 proper X,
                  proper U41(X1, X2) -> U41(proper X1, proper X2),
                        proper U51 X -> U51 proper X,
                        proper U62 X -> U62 proper X,
                  proper U61(X1, X2) -> U61(proper X1, proper X2),
                  proper U72(X1, X2) -> U72(proper X1, proper X2),
                  proper U71(X1, X2) -> U71(proper X1, proper X2),
              proper U82(X1, X2, X3) -> U82(proper X1, proper X2, proper X3),
              proper U81(X1, X2, X3) -> U81(proper X1, proper X2, proper X3),
              proper U83(X1, X2, X3) -> U83(proper X1, proper X2, proper X3),
              proper U84(X1, X2, X3) -> U84(proper X1, proper X2, proper X3),
                          proper s X -> s proper X,
                        proper U92 X -> U92 proper X,
                  proper U91(X1, X2) -> U91(proper X1, proper X2),
                          proper 0() -> ok 0(),
                          top mark X -> top proper X,
                            top ok X -> top active X
      }
      Open
     
     
     SCC (80):
      Strict:
       {proper# U102(X1, X2, X3) -> proper# X1,
        proper# U102(X1, X2, X3) -> proper# X2,
        proper# U102(X1, X2, X3) -> proper# X3,
             proper# isNatKind X -> proper# X,
        proper# U101(X1, X2, X3) -> proper# X1,
        proper# U101(X1, X2, X3) -> proper# X2,
        proper# U101(X1, X2, X3) -> proper# X3,
        proper# U103(X1, X2, X3) -> proper# X1,
        proper# U103(X1, X2, X3) -> proper# X2,
        proper# U103(X1, X2, X3) -> proper# X3,
                 proper# isNat X -> proper# X,
        proper# U104(X1, X2, X3) -> proper# X1,
        proper# U104(X1, X2, X3) -> proper# X2,
        proper# U104(X1, X2, X3) -> proper# X3,
            proper# plus(X1, X2) -> proper# X1,
            proper# plus(X1, X2) -> proper# X2,
               proper# x(X1, X2) -> proper# X1,
               proper# x(X1, X2) -> proper# X2,
         proper# U12(X1, X2, X3) -> proper# X1,
         proper# U12(X1, X2, X3) -> proper# X2,
         proper# U12(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# X3,
         proper# U13(X1, X2, X3) -> proper# X1,
         proper# U13(X1, X2, X3) -> proper# X2,
         proper# U13(X1, X2, X3) -> proper# X3,
         proper# U14(X1, X2, X3) -> proper# X1,
         proper# U14(X1, X2, X3) -> proper# X2,
         proper# U14(X1, X2, X3) -> proper# X3,
             proper# U15(X1, X2) -> proper# X1,
             proper# U15(X1, X2) -> proper# X2,
                   proper# U16 X -> proper# X,
             proper# U22(X1, X2) -> proper# X1,
             proper# U22(X1, X2) -> proper# X2,
             proper# U21(X1, X2) -> proper# X1,
             proper# U21(X1, X2) -> proper# X2,
                   proper# U23 X -> proper# X,
         proper# U32(X1, X2, X3) -> proper# X1,
         proper# U32(X1, X2, X3) -> proper# X2,
         proper# U32(X1, X2, X3) -> 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(X1, X2, X3) -> proper# X1,
         proper# U33(X1, X2, X3) -> proper# X2,
         proper# U33(X1, X2, X3) -> proper# X3,
         proper# U34(X1, X2, X3) -> proper# X1,
         proper# U34(X1, X2, X3) -> proper# X2,
         proper# U34(X1, X2, X3) -> proper# X3,
             proper# U35(X1, X2) -> proper# X1,
             proper# U35(X1, X2) -> proper# X2,
                   proper# U36 X -> proper# X,
                   proper# U42 X -> proper# X,
             proper# U41(X1, X2) -> proper# X1,
             proper# U41(X1, X2) -> proper# X2,
                   proper# U51 X -> proper# X,
                   proper# U62 X -> proper# X,
             proper# U61(X1, X2) -> proper# X1,
             proper# U61(X1, X2) -> proper# X2,
             proper# U72(X1, X2) -> proper# X1,
             proper# U72(X1, X2) -> proper# X2,
             proper# U71(X1, X2) -> proper# X1,
             proper# U71(X1, X2) -> proper# X2,
         proper# U82(X1, X2, X3) -> proper# X1,
         proper# U82(X1, X2, X3) -> proper# X2,
         proper# U82(X1, X2, X3) -> proper# X3,
         proper# U81(X1, X2, X3) -> proper# X1,
         proper# U81(X1, X2, X3) -> proper# X2,
         proper# U81(X1, X2, X3) -> proper# X3,
         proper# U83(X1, X2, X3) -> proper# X1,
         proper# U83(X1, X2, X3) -> proper# X2,
         proper# U83(X1, X2, X3) -> proper# X3,
         proper# U84(X1, X2, X3) -> proper# X1,
         proper# U84(X1, X2, X3) -> proper# X2,
         proper# U84(X1, X2, X3) -> proper# X3,
                     proper# s X -> proper# X,
                   proper# U92 X -> proper# X,
             proper# U91(X1, X2) -> proper# X1,
             proper# U91(X1, X2) -> proper# X2}
      Weak:
      {
               U102(mark X1, X2, X3) -> mark U102(X1, X2, X3),
           U102(ok X1, ok X2, ok X3) -> ok U102(X1, X2, X3),
                      isNatKind ok X -> ok isNatKind X,
             active U102(X1, X2, X3) -> U102(active X1, X2, X3),
             active U102(tt(), M, N) -> mark U103(isNat N, M, N),
       active isNatKind plus(V1, V2) -> mark U41(isNatKind V1, V2),
          active isNatKind x(V1, V2) -> mark U61(isNatKind V1, V2),
               active isNatKind s V1 -> mark U51 isNatKind V1,
                active isNatKind 0() -> mark tt(),
             active U101(X1, X2, X3) -> U101(active X1, X2, X3),
             active U101(tt(), M, N) -> mark U102(isNatKind M, M, N),
             active U103(X1, X2, X3) -> U103(active X1, X2, X3),
             active U103(tt(), M, N) -> mark U104(isNatKind N, M, N),
           active isNat plus(V1, V2) -> mark U11(isNatKind V1, V1, V2),
              active isNat x(V1, V2) -> mark U31(isNatKind V1, V1, V2),
                   active isNat s V1 -> mark U21(isNatKind V1, V1),
                    active isNat 0() -> mark tt(),
             active U104(X1, X2, X3) -> U104(active X1, X2, X3),
             active U104(tt(), M, N) -> mark plus(x(N, M), N),
                 active plus(N, s M) -> mark U81(isNat M, M, N),
                 active plus(N, 0()) -> mark U71(isNat N, N),
                 active plus(X1, X2) -> plus(X1, active X2),
                 active plus(X1, X2) -> plus(active X1, X2),
                    active x(N, s M) -> mark U101(isNat M, M, N),
                    active x(N, 0()) -> mark U91(isNat N, N),
                    active x(X1, X2) -> x(X1, active X2),
                    active x(X1, X2) -> x(active X1, X2),
              active U12(X1, X2, X3) -> U12(active X1, X2, X3),
            active U12(tt(), V1, V2) -> mark U13(isNatKind V2, V1, V2),
              active U11(X1, X2, X3) -> U11(active X1, X2, X3),
            active U11(tt(), V1, V2) -> mark U12(isNatKind V1, V1, V2),
              active U13(X1, X2, X3) -> U13(active X1, X2, X3),
            active U13(tt(), V1, V2) -> mark U14(isNatKind V2, V1, V2),
              active U14(X1, X2, X3) -> U14(active X1, X2, X3),
            active U14(tt(), V1, V2) -> mark U15(isNat V1, V2),
                  active U15(X1, X2) -> U15(active X1, X2),
                active U15(tt(), V2) -> mark U16 isNat V2,
                        active U16 X -> U16 active X,
                     active U16 tt() -> mark tt(),
                  active U22(X1, X2) -> U22(active X1, X2),
                active U22(tt(), V1) -> mark U23 isNat V1,
                  active U21(X1, X2) -> U21(active X1, X2),
                active U21(tt(), V1) -> mark U22(isNatKind V1, V1),
                        active U23 X -> U23 active X,
                     active U23 tt() -> mark tt(),
              active U32(X1, X2, X3) -> U32(active X1, X2, X3),
            active U32(tt(), V1, V2) -> mark U33(isNatKind V2, V1, V2),
              active U31(X1, X2, X3) -> U31(active X1, X2, X3),
            active U31(tt(), V1, V2) -> mark U32(isNatKind V1, V1, V2),
              active U33(X1, X2, X3) -> U33(active X1, X2, X3),
            active U33(tt(), V1, V2) -> mark U34(isNatKind V2, V1, V2),
              active U34(X1, X2, X3) -> U34(active X1, X2, X3),
            active U34(tt(), V1, V2) -> mark U35(isNat V1, V2),
                  active U35(X1, X2) -> U35(active X1, X2),
                active U35(tt(), V2) -> mark U36 isNat V2,
                        active U36 X -> U36 active X,
                     active U36 tt() -> mark tt(),
                        active U42 X -> U42 active X,
                     active U42 tt() -> mark tt(),
                  active U41(X1, X2) -> U41(active X1, X2),
                active U41(tt(), V2) -> mark U42 isNatKind V2,
                        active U51 X -> U51 active X,
                     active U51 tt() -> mark tt(),
                        active U62 X -> U62 active X,
                     active U62 tt() -> mark tt(),
                  active U61(X1, X2) -> U61(active X1, X2),
                active U61(tt(), V2) -> mark U62 isNatKind V2,
                  active U72(X1, X2) -> U72(active X1, X2),
                 active U72(tt(), N) -> mark N,
                  active U71(X1, X2) -> U71(active X1, X2),
                 active U71(tt(), N) -> mark U72(isNatKind N, N),
              active U82(X1, X2, X3) -> U82(active X1, X2, X3),
              active U82(tt(), M, N) -> mark U83(isNat N, M, N),
              active U81(X1, X2, X3) -> U81(active X1, X2, X3),
              active U81(tt(), M, N) -> mark U82(isNatKind M, M, N),
              active U83(X1, X2, X3) -> U83(active X1, X2, X3),
              active U83(tt(), M, N) -> mark U84(isNatKind N, M, N),
              active U84(X1, X2, X3) -> U84(active X1, X2, X3),
              active U84(tt(), M, N) -> mark s plus(N, M),
                          active s X -> s active X,
                        active U92 X -> U92 active X,
                     active U92 tt() -> mark 0(),
                  active U91(X1, X2) -> U91(active X1, X2),
                 active U91(tt(), N) -> mark U92 isNatKind N,
               U101(mark X1, X2, X3) -> mark U101(X1, X2, X3),
           U101(ok X1, ok X2, ok X3) -> ok U101(X1, X2, X3),
               U103(mark X1, X2, X3) -> mark U103(X1, X2, X3),
           U103(ok X1, ok X2, ok X3) -> ok U103(X1, X2, X3),
                          isNat ok X -> ok isNat X,
               U104(mark X1, X2, X3) -> mark U104(X1, X2, X3),
           U104(ok X1, ok X2, ok X3) -> ok U104(X1, X2, X3),
                   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),
                      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),
                U12(mark X1, X2, X3) -> mark U12(X1, X2, X3),
            U12(ok X1, ok X2, ok X3) -> ok U12(X1, X2, X3),
                U11(mark X1, X2, X3) -> mark U11(X1, X2, X3),
            U11(ok X1, ok X2, ok X3) -> ok U11(X1, X2, X3),
                U13(mark X1, X2, X3) -> mark U13(X1, X2, X3),
            U13(ok X1, ok X2, ok X3) -> ok U13(X1, X2, X3),
                U14(mark X1, X2, X3) -> mark U14(X1, X2, X3),
            U14(ok X1, ok X2, ok X3) -> ok U14(X1, X2, X3),
                    U15(mark X1, X2) -> mark U15(X1, X2),
                   U15(ok X1, ok X2) -> ok U15(X1, X2),
                          U16 mark X -> mark U16 X,
                            U16 ok X -> ok U16 X,
                    U22(mark X1, X2) -> mark U22(X1, X2),
                   U22(ok X1, ok X2) -> ok U22(X1, X2),
                    U21(mark X1, X2) -> mark U21(X1, X2),
                   U21(ok X1, ok X2) -> ok U21(X1, X2),
                          U23 mark X -> mark U23 X,
                            U23 ok X -> ok U23 X,
                U32(mark X1, X2, X3) -> mark U32(X1, X2, X3),
            U32(ok X1, ok X2, ok X3) -> ok U32(X1, X2, X3),
                U31(mark X1, X2, X3) -> mark U31(X1, X2, X3),
            U31(ok X1, ok X2, ok X3) -> ok U31(X1, X2, X3),
                U33(mark X1, X2, X3) -> mark U33(X1, X2, X3),
            U33(ok X1, ok X2, ok X3) -> ok U33(X1, X2, X3),
                U34(mark X1, X2, X3) -> mark U34(X1, X2, X3),
            U34(ok X1, ok X2, ok X3) -> ok U34(X1, X2, X3),
                    U35(mark X1, X2) -> mark U35(X1, X2),
                   U35(ok X1, ok X2) -> ok U35(X1, X2),
                          U36 mark X -> mark U36 X,
                            U36 ok X -> ok U36 X,
                          U42 mark X -> mark U42 X,
                            U42 ok X -> ok U42 X,
                    U41(mark X1, X2) -> mark U41(X1, X2),
                   U41(ok X1, ok X2) -> ok U41(X1, X2),
                          U51 mark X -> mark U51 X,
                            U51 ok X -> ok U51 X,
                          U62 mark X -> mark U62 X,
                            U62 ok X -> ok U62 X,
                    U61(mark X1, X2) -> mark U61(X1, X2),
                   U61(ok X1, ok X2) -> ok U61(X1, X2),
                    U72(mark X1, X2) -> mark U72(X1, X2),
                   U72(ok X1, ok X2) -> ok U72(X1, X2),
                    U71(mark X1, X2) -> mark U71(X1, X2),
                   U71(ok X1, ok X2) -> ok U71(X1, X2),
                U82(mark X1, X2, X3) -> mark U82(X1, X2, X3),
            U82(ok X1, ok X2, ok X3) -> ok U82(X1, X2, X3),
                U81(mark X1, X2, X3) -> mark U81(X1, X2, X3),
            U81(ok X1, ok X2, ok X3) -> ok U81(X1, X2, X3),
                U83(mark X1, X2, X3) -> mark U83(X1, X2, X3),
            U83(ok X1, ok X2, ok X3) -> ok U83(X1, X2, X3),
                U84(mark X1, X2, X3) -> mark U84(X1, X2, X3),
            U84(ok X1, ok X2, ok X3) -> ok U84(X1, X2, X3),
                            s mark X -> mark s X,
                              s ok X -> ok s X,
                          U92 mark X -> mark U92 X,
                            U92 ok X -> ok U92 X,
                    U91(mark X1, X2) -> mark U91(X1, X2),
                   U91(ok X1, ok X2) -> ok U91(X1, X2),
             proper U102(X1, X2, X3) -> U102(proper X1, proper X2, proper X3),
                  proper isNatKind X -> isNatKind proper X,
             proper U101(X1, X2, X3) -> U101(proper X1, proper X2, proper X3),
                         proper tt() -> ok tt(),
             proper U103(X1, X2, X3) -> U103(proper X1, proper X2, proper X3),
                      proper isNat X -> isNat proper X,
             proper U104(X1, X2, X3) -> U104(proper X1, proper X2, proper X3),
                 proper plus(X1, X2) -> plus(proper X1, proper X2),
                    proper x(X1, X2) -> x(proper X1, proper X2),
              proper U12(X1, X2, X3) -> U12(proper X1, proper X2, proper X3),
              proper U11(X1, X2, X3) -> U11(proper X1, proper X2, proper X3),
              proper U13(X1, X2, X3) -> U13(proper X1, proper X2, proper X3),
              proper U14(X1, X2, X3) -> U14(proper X1, proper X2, proper X3),
                  proper U15(X1, X2) -> U15(proper X1, proper X2),
                        proper U16 X -> U16 proper X,
                  proper U22(X1, X2) -> U22(proper X1, proper X2),
                  proper U21(X1, X2) -> U21(proper X1, proper X2),
                        proper U23 X -> U23 proper X,
              proper U32(X1, X2, X3) -> U32(proper X1, proper X2, proper X3),
              proper U31(X1, X2, X3) -> U31(proper X1, proper X2, proper X3),
              proper U33(X1, X2, X3) -> U33(proper X1, proper X2, proper X3),
              proper U34(X1, X2, X3) -> U34(proper X1, proper X2, proper X3),
                  proper U35(X1, X2) -> U35(proper X1, proper X2),
                        proper U36 X -> U36 proper X,
                        proper U42 X -> U42 proper X,
                  proper U41(X1, X2) -> U41(proper X1, proper X2),
                        proper U51 X -> U51 proper X,
                        proper U62 X -> U62 proper X,
                  proper U61(X1, X2) -> U61(proper X1, proper X2),
                  proper U72(X1, X2) -> U72(proper X1, proper X2),
                  proper U71(X1, X2) -> U71(proper X1, proper X2),
              proper U82(X1, X2, X3) -> U82(proper X1, proper X2, proper X3),
              proper U81(X1, X2, X3) -> U81(proper X1, proper X2, proper X3),
              proper U83(X1, X2, X3) -> U83(proper X1, proper X2, proper X3),
              proper U84(X1, X2, X3) -> U84(proper X1, proper X2, proper X3),
                          proper s X -> s proper X,
                        proper U92 X -> U92 proper X,
                  proper U91(X1, X2) -> U91(proper X1, proper X2),
                          proper 0() -> ok 0(),
                          top mark X -> top proper X,
                            top ok X -> top active X
      }
      Open
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     SCC (37):
      Strict:
       {active# U102(X1, X2, X3) -> active# X1,
        active# U101(X1, X2, X3) -> active# X1,
        active# U103(X1, X2, X3) -> active# X1,
        active# U104(X1, X2, X3) -> active# X1,
            active# plus(X1, X2) -> active# X1,
            active# plus(X1, X2) -> active# X2,
               active# x(X1, X2) -> active# X1,
               active# x(X1, X2) -> active# X2,
         active# U12(X1, X2, X3) -> active# X1,
         active# U11(X1, X2, X3) -> active# X1,
         active# U13(X1, X2, X3) -> active# X1,
         active# U14(X1, X2, X3) -> active# X1,
             active# U15(X1, X2) -> active# X1,
                   active# U16 X -> active# X,
             active# U22(X1, X2) -> active# X1,
             active# U21(X1, X2) -> active# X1,
                   active# U23 X -> active# X,
         active# U32(X1, X2, X3) -> active# X1,
         active# U31(X1, X2, X3) -> active# X1,
         active# U33(X1, X2, X3) -> active# X1,
         active# U34(X1, X2, X3) -> active# X1,
             active# U35(X1, X2) -> active# X1,
                   active# U36 X -> active# X,
                   active# U42 X -> active# X,
             active# U41(X1, X2) -> active# X1,
                   active# U51 X -> active# X,
                   active# U62 X -> active# X,
             active# U61(X1, X2) -> active# X1,
             active# U72(X1, X2) -> active# X1,
             active# U71(X1, X2) -> active# X1,
         active# U82(X1, X2, X3) -> active# X1,
         active# U81(X1, X2, X3) -> active# X1,
         active# U83(X1, X2, X3) -> active# X1,
         active# U84(X1, X2, X3) -> active# X1,
                     active# s X -> active# X,
                   active# U92 X -> active# X,
             active# U91(X1, X2) -> active# X1}
      Weak:
      {
               U102(mark X1, X2, X3) -> mark U102(X1, X2, X3),
           U102(ok X1, ok X2, ok X3) -> ok U102(X1, X2, X3),
                      isNatKind ok X -> ok isNatKind X,
             active U102(X1, X2, X3) -> U102(active X1, X2, X3),
             active U102(tt(), M, N) -> mark U103(isNat N, M, N),
       active isNatKind plus(V1, V2) -> mark U41(isNatKind V1, V2),
          active isNatKind x(V1, V2) -> mark U61(isNatKind V1, V2),
               active isNatKind s V1 -> mark U51 isNatKind V1,
                active isNatKind 0() -> mark tt(),
             active U101(X1, X2, X3) -> U101(active X1, X2, X3),
             active U101(tt(), M, N) -> mark U102(isNatKind M, M, N),
             active U103(X1, X2, X3) -> U103(active X1, X2, X3),
             active U103(tt(), M, N) -> mark U104(isNatKind N, M, N),
           active isNat plus(V1, V2) -> mark U11(isNatKind V1, V1, V2),
              active isNat x(V1, V2) -> mark U31(isNatKind V1, V1, V2),
                   active isNat s V1 -> mark U21(isNatKind V1, V1),
                    active isNat 0() -> mark tt(),
             active U104(X1, X2, X3) -> U104(active X1, X2, X3),
             active U104(tt(), M, N) -> mark plus(x(N, M), N),
                 active plus(N, s M) -> mark U81(isNat M, M, N),
                 active plus(N, 0()) -> mark U71(isNat N, N),
                 active plus(X1, X2) -> plus(X1, active X2),
                 active plus(X1, X2) -> plus(active X1, X2),
                    active x(N, s M) -> mark U101(isNat M, M, N),
                    active x(N, 0()) -> mark U91(isNat N, N),
                    active x(X1, X2) -> x(X1, active X2),
                    active x(X1, X2) -> x(active X1, X2),
              active U12(X1, X2, X3) -> U12(active X1, X2, X3),
            active U12(tt(), V1, V2) -> mark U13(isNatKind V2, V1, V2),
              active U11(X1, X2, X3) -> U11(active X1, X2, X3),
            active U11(tt(), V1, V2) -> mark U12(isNatKind V1, V1, V2),
              active U13(X1, X2, X3) -> U13(active X1, X2, X3),
            active U13(tt(), V1, V2) -> mark U14(isNatKind V2, V1, V2),
              active U14(X1, X2, X3) -> U14(active X1, X2, X3),
            active U14(tt(), V1, V2) -> mark U15(isNat V1, V2),
                  active U15(X1, X2) -> U15(active X1, X2),
                active U15(tt(), V2) -> mark U16 isNat V2,
                        active U16 X -> U16 active X,
                     active U16 tt() -> mark tt(),
                  active U22(X1, X2) -> U22(active X1, X2),
                active U22(tt(), V1) -> mark U23 isNat V1,
                  active U21(X1, X2) -> U21(active X1, X2),
                active U21(tt(), V1) -> mark U22(isNatKind V1, V1),
                        active U23 X -> U23 active X,
                     active U23 tt() -> mark tt(),
              active U32(X1, X2, X3) -> U32(active X1, X2, X3),
            active U32(tt(), V1, V2) -> mark U33(isNatKind V2, V1, V2),
              active U31(X1, X2, X3) -> U31(active X1, X2, X3),
            active U31(tt(), V1, V2) -> mark U32(isNatKind V1, V1, V2),
              active U33(X1, X2, X3) -> U33(active X1, X2, X3),
            active U33(tt(), V1, V2) -> mark U34(isNatKind V2, V1, V2),
              active U34(X1, X2, X3) -> U34(active X1, X2, X3),
            active U34(tt(), V1, V2) -> mark U35(isNat V1, V2),
                  active U35(X1, X2) -> U35(active X1, X2),
                active U35(tt(), V2) -> mark U36 isNat V2,
                        active U36 X -> U36 active X,
                     active U36 tt() -> mark tt(),
                        active U42 X -> U42 active X,
                     active U42 tt() -> mark tt(),
                  active U41(X1, X2) -> U41(active X1, X2),
                active U41(tt(), V2) -> mark U42 isNatKind V2,
                        active U51 X -> U51 active X,
                     active U51 tt() -> mark tt(),
                        active U62 X -> U62 active X,
                     active U62 tt() -> mark tt(),
                  active U61(X1, X2) -> U61(active X1, X2),
                active U61(tt(), V2) -> mark U62 isNatKind V2,
                  active U72(X1, X2) -> U72(active X1, X2),
                 active U72(tt(), N) -> mark N,
                  active U71(X1, X2) -> U71(active X1, X2),
                 active U71(tt(), N) -> mark U72(isNatKind N, N),
              active U82(X1, X2, X3) -> U82(active X1, X2, X3),
              active U82(tt(), M, N) -> mark U83(isNat N, M, N),
              active U81(X1, X2, X3) -> U81(active X1, X2, X3),
              active U81(tt(), M, N) -> mark U82(isNatKind M, M, N),
              active U83(X1, X2, X3) -> U83(active X1, X2, X3),
              active U83(tt(), M, N) -> mark U84(isNatKind N, M, N),
              active U84(X1, X2, X3) -> U84(active X1, X2, X3),
              active U84(tt(), M, N) -> mark s plus(N, M),
                          active s X -> s active X,
                        active U92 X -> U92 active X,
                     active U92 tt() -> mark 0(),
                  active U91(X1, X2) -> U91(active X1, X2),
                 active U91(tt(), N) -> mark U92 isNatKind N,
               U101(mark X1, X2, X3) -> mark U101(X1, X2, X3),
           U101(ok X1, ok X2, ok X3) -> ok U101(X1, X2, X3),
               U103(mark X1, X2, X3) -> mark U103(X1, X2, X3),
           U103(ok X1, ok X2, ok X3) -> ok U103(X1, X2, X3),
                          isNat ok X -> ok isNat X,
               U104(mark X1, X2, X3) -> mark U104(X1, X2, X3),
           U104(ok X1, ok X2, ok X3) -> ok U104(X1, X2, X3),
                   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),
                      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),
                U12(mark X1, X2, X3) -> mark U12(X1, X2, X3),
            U12(ok X1, ok X2, ok X3) -> ok U12(X1, X2, X3),
                U11(mark X1, X2, X3) -> mark U11(X1, X2, X3),
            U11(ok X1, ok X2, ok X3) -> ok U11(X1, X2, X3),
                U13(mark X1, X2, X3) -> mark U13(X1, X2, X3),
            U13(ok X1, ok X2, ok X3) -> ok U13(X1, X2, X3),
                U14(mark X1, X2, X3) -> mark U14(X1, X2, X3),
            U14(ok X1, ok X2, ok X3) -> ok U14(X1, X2, X3),
                    U15(mark X1, X2) -> mark U15(X1, X2),
                   U15(ok X1, ok X2) -> ok U15(X1, X2),
                          U16 mark X -> mark U16 X,
                            U16 ok X -> ok U16 X,
                    U22(mark X1, X2) -> mark U22(X1, X2),
                   U22(ok X1, ok X2) -> ok U22(X1, X2),
                    U21(mark X1, X2) -> mark U21(X1, X2),
                   U21(ok X1, ok X2) -> ok U21(X1, X2),
                          U23 mark X -> mark U23 X,
                            U23 ok X -> ok U23 X,
                U32(mark X1, X2, X3) -> mark U32(X1, X2, X3),
            U32(ok X1, ok X2, ok X3) -> ok U32(X1, X2, X3),
                U31(mark X1, X2, X3) -> mark U31(X1, X2, X3),
            U31(ok X1, ok X2, ok X3) -> ok U31(X1, X2, X3),
                U33(mark X1, X2, X3) -> mark U33(X1, X2, X3),
            U33(ok X1, ok X2, ok X3) -> ok U33(X1, X2, X3),
                U34(mark X1, X2, X3) -> mark U34(X1, X2, X3),
            U34(ok X1, ok X2, ok X3) -> ok U34(X1, X2, X3),
                    U35(mark X1, X2) -> mark U35(X1, X2),
                   U35(ok X1, ok X2) -> ok U35(X1, X2),
                          U36 mark X -> mark U36 X,
                            U36 ok X -> ok U36 X,
                          U42 mark X -> mark U42 X,
                            U42 ok X -> ok U42 X,
                    U41(mark X1, X2) -> mark U41(X1, X2),
                   U41(ok X1, ok X2) -> ok U41(X1, X2),
                          U51 mark X -> mark U51 X,
                            U51 ok X -> ok U51 X,
                          U62 mark X -> mark U62 X,
                            U62 ok X -> ok U62 X,
                    U61(mark X1, X2) -> mark U61(X1, X2),
                   U61(ok X1, ok X2) -> ok U61(X1, X2),
                    U72(mark X1, X2) -> mark U72(X1, X2),
                   U72(ok X1, ok X2) -> ok U72(X1, X2),
                    U71(mark X1, X2) -> mark U71(X1, X2),
                   U71(ok X1, ok X2) -> ok U71(X1, X2),
                U82(mark X1, X2, X3) -> mark U82(X1, X2, X3),
            U82(ok X1, ok X2, ok X3) -> ok U82(X1, X2, X3),
                U81(mark X1, X2, X3) -> mark U81(X1, X2, X3),
            U81(ok X1, ok X2, ok X3) -> ok U81(X1, X2, X3),
                U83(mark X1, X2, X3) -> mark U83(X1, X2, X3),
            U83(ok X1, ok X2, ok X3) -> ok U83(X1, X2, X3),
                U84(mark X1, X2, X3) -> mark U84(X1, X2, X3),
            U84(ok X1, ok X2, ok X3) -> ok U84(X1, X2, X3),
                            s mark X -> mark s X,
                              s ok X -> ok s X,
                          U92 mark X -> mark U92 X,
                            U92 ok X -> ok U92 X,
                    U91(mark X1, X2) -> mark U91(X1, X2),
                   U91(ok X1, ok X2) -> ok U91(X1, X2),
             proper U102(X1, X2, X3) -> U102(proper X1, proper X2, proper X3),
                  proper isNatKind X -> isNatKind proper X,
             proper U101(X1, X2, X3) -> U101(proper X1, proper X2, proper X3),
                         proper tt() -> ok tt(),
             proper U103(X1, X2, X3) -> U103(proper X1, proper X2, proper X3),
                      proper isNat X -> isNat proper X,
             proper U104(X1, X2, X3) -> U104(proper X1, proper X2, proper X3),
                 proper plus(X1, X2) -> plus(proper X1, proper X2),
                    proper x(X1, X2) -> x(proper X1, proper X2),
              proper U12(X1, X2, X3) -> U12(proper X1, proper X2, proper X3),
              proper U11(X1, X2, X3) -> U11(proper X1, proper X2, proper X3),
              proper U13(X1, X2, X3) -> U13(proper X1, proper X2, proper X3),
              proper U14(X1, X2, X3) -> U14(proper X1, proper X2, proper X3),
                  proper U15(X1, X2) -> U15(proper X1, proper X2),
                        proper U16 X -> U16 proper X,
                  proper U22(X1, X2) -> U22(proper X1, proper X2),
                  proper U21(X1, X2) -> U21(proper X1, proper X2),
                        proper U23 X -> U23 proper X,
              proper U32(X1, X2, X3) -> U32(proper X1, proper X2, proper X3),
              proper U31(X1, X2, X3) -> U31(proper X1, proper X2, proper X3),
              proper U33(X1, X2, X3) -> U33(proper X1, proper X2, proper X3),
              proper U34(X1, X2, X3) -> U34(proper X1, proper X2, proper X3),
                  proper U35(X1, X2) -> U35(proper X1, proper X2),
                        proper U36 X -> U36 proper X,
                        proper U42 X -> U42 proper X,
                  proper U41(X1, X2) -> U41(proper X1, proper X2),
                        proper U51 X -> U51 proper X,
                        proper U62 X -> U62 proper X,
                  proper U61(X1, X2) -> U61(proper X1, proper X2),
                  proper U72(X1, X2) -> U72(proper X1, proper X2),
                  proper U71(X1, X2) -> U71(proper X1, proper X2),
              proper U82(X1, X2, X3) -> U82(proper X1, proper X2, proper X3),
              proper U81(X1, X2, X3) -> U81(proper X1, proper X2, proper X3),
              proper U83(X1, X2, X3) -> U83(proper X1, proper X2, proper X3),
              proper U84(X1, X2, X3) -> U84(proper X1, proper X2, proper X3),
                          proper s X -> s proper X,
                        proper U92 X -> U92 proper X,
                  proper U91(X1, X2) -> U91(proper X1, proper X2),
                          proper 0() -> ok 0(),
                          top mark X -> top proper X,
                            top ok X -> top active X
      }
      Open
     
     
     
     
     SCC (2):
      Strict:
       {U92# mark X -> U92# X,
          U92# ok X -> U92# X}
      Weak:
      {
               U102(mark X1, X2, X3) -> mark U102(X1, X2, X3),
           U102(ok X1, ok X2, ok X3) -> ok U102(X1, X2, X3),
                      isNatKind ok X -> ok isNatKind X,
             active U102(X1, X2, X3) -> U102(active X1, X2, X3),
             active U102(tt(), M, N) -> mark U103(isNat N, M, N),
       active isNatKind plus(V1, V2) -> mark U41(isNatKind V1, V2),
          active isNatKind x(V1, V2) -> mark U61(isNatKind V1, V2),
               active isNatKind s V1 -> mark U51 isNatKind V1,
                active isNatKind 0() -> mark tt(),
             active U101(X1, X2, X3) -> U101(active X1, X2, X3),
             active U101(tt(), M, N) -> mark U102(isNatKind M, M, N),
             active U103(X1, X2, X3) -> U103(active X1, X2, X3),
             active U103(tt(), M, N) -> mark U104(isNatKind N, M, N),
           active isNat plus(V1, V2) -> mark U11(isNatKind V1, V1, V2),
              active isNat x(V1, V2) -> mark U31(isNatKind V1, V1, V2),
                   active isNat s V1 -> mark U21(isNatKind V1, V1),
                    active isNat 0() -> mark tt(),
             active U104(X1, X2, X3) -> U104(active X1, X2, X3),
             active U104(tt(), M, N) -> mark plus(x(N, M), N),
                 active plus(N, s M) -> mark U81(isNat M, M, N),
                 active plus(N, 0()) -> mark U71(isNat N, N),
                 active plus(X1, X2) -> plus(X1, active X2),
                 active plus(X1, X2) -> plus(active X1, X2),
                    active x(N, s M) -> mark U101(isNat M, M, N),
                    active x(N, 0()) -> mark U91(isNat N, N),
                    active x(X1, X2) -> x(X1, active X2),
                    active x(X1, X2) -> x(active X1, X2),
              active U12(X1, X2, X3) -> U12(active X1, X2, X3),
            active U12(tt(), V1, V2) -> mark U13(isNatKind V2, V1, V2),
              active U11(X1, X2, X3) -> U11(active X1, X2, X3),
            active U11(tt(), V1, V2) -> mark U12(isNatKind V1, V1, V2),
              active U13(X1, X2, X3) -> U13(active X1, X2, X3),
            active U13(tt(), V1, V2) -> mark U14(isNatKind V2, V1, V2),
              active U14(X1, X2, X3) -> U14(active X1, X2, X3),
            active U14(tt(), V1, V2) -> mark U15(isNat V1, V2),
                  active U15(X1, X2) -> U15(active X1, X2),
                active U15(tt(), V2) -> mark U16 isNat V2,
                        active U16 X -> U16 active X,
                     active U16 tt() -> mark tt(),
                  active U22(X1, X2) -> U22(active X1, X2),
                active U22(tt(), V1) -> mark U23 isNat V1,
                  active U21(X1, X2) -> U21(active X1, X2),
                active U21(tt(), V1) -> mark U22(isNatKind V1, V1),
                        active U23 X -> U23 active X,
                     active U23 tt() -> mark tt(),
              active U32(X1, X2, X3) -> U32(active X1, X2, X3),
            active U32(tt(), V1, V2) -> mark U33(isNatKind V2, V1, V2),
              active U31(X1, X2, X3) -> U31(active X1, X2, X3),
            active U31(tt(), V1, V2) -> mark U32(isNatKind V1, V1, V2),
              active U33(X1, X2, X3) -> U33(active X1, X2, X3),
            active U33(tt(), V1, V2) -> mark U34(isNatKind V2, V1, V2),
              active U34(X1, X2, X3) -> U34(active X1, X2, X3),
            active U34(tt(), V1, V2) -> mark U35(isNat V1, V2),
                  active U35(X1, X2) -> U35(active X1, X2),
                active U35(tt(), V2) -> mark U36 isNat V2,
                        active U36 X -> U36 active X,
                     active U36 tt() -> mark tt(),
                        active U42 X -> U42 active X,
                     active U42 tt() -> mark tt(),
                  active U41(X1, X2) -> U41(active X1, X2),
                active U41(tt(), V2) -> mark U42 isNatKind V2,
                        active U51 X -> U51 active X,
                     active U51 tt() -> mark tt(),
                        active U62 X -> U62 active X,
                     active U62 tt() -> mark tt(),
                  active U61(X1, X2) -> U61(active X1, X2),
                active U61(tt(), V2) -> mark U62 isNatKind V2,
                  active U72(X1, X2) -> U72(active X1, X2),
                 active U72(tt(), N) -> mark N,
                  active U71(X1, X2) -> U71(active X1, X2),
                 active U71(tt(), N) -> mark U72(isNatKind N, N),
              active U82(X1, X2, X3) -> U82(active X1, X2, X3),
              active U82(tt(), M, N) -> mark U83(isNat N, M, N),
              active U81(X1, X2, X3) -> U81(active X1, X2, X3),
              active U81(tt(), M, N) -> mark U82(isNatKind M, M, N),
              active U83(X1, X2, X3) -> U83(active X1, X2, X3),
              active U83(tt(), M, N) -> mark U84(isNatKind N, M, N),
              active U84(X1, X2, X3) -> U84(active X1, X2, X3),
              active U84(tt(), M, N) -> mark s plus(N, M),
                          active s X -> s active X,
                        active U92 X -> U92 active X,
                     active U92 tt() -> mark 0(),
                  active U91(X1, X2) -> U91(active X1, X2),
                 active U91(tt(), N) -> mark U92 isNatKind N,
               U101(mark X1, X2, X3) -> mark U101(X1, X2, X3),
           U101(ok X1, ok X2, ok X3) -> ok U101(X1, X2, X3),
               U103(mark X1, X2, X3) -> mark U103(X1, X2, X3),
           U103(ok X1, ok X2, ok X3) -> ok U103(X1, X2, X3),
                          isNat ok X -> ok isNat X,
               U104(mark X1, X2, X3) -> mark U104(X1, X2, X3),
           U104(ok X1, ok X2, ok X3) -> ok U104(X1, X2, X3),
                   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),
                      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),
                U12(mark X1, X2, X3) -> mark U12(X1, X2, X3),
            U12(ok X1, ok X2, ok X3) -> ok U12(X1, X2, X3),
                U11(mark X1, X2, X3) -> mark U11(X1, X2, X3),
            U11(ok X1, ok X2, ok X3) -> ok U11(X1, X2, X3),
                U13(mark X1, X2, X3) -> mark U13(X1, X2, X3),
            U13(ok X1, ok X2, ok X3) -> ok U13(X1, X2, X3),
                U14(mark X1, X2, X3) -> mark U14(X1, X2, X3),
            U14(ok X1, ok X2, ok X3) -> ok U14(X1, X2, X3),
                    U15(mark X1, X2) -> mark U15(X1, X2),
                   U15(ok X1, ok X2) -> ok U15(X1, X2),
                          U16 mark X -> mark U16 X,
                            U16 ok X -> ok U16 X,
                    U22(mark X1, X2) -> mark U22(X1, X2),
                   U22(ok X1, ok X2) -> ok U22(X1, X2),
                    U21(mark X1, X2) -> mark U21(X1, X2),
                   U21(ok X1, ok X2) -> ok U21(X1, X2),
                          U23 mark X -> mark U23 X,
                            U23 ok X -> ok U23 X,
                U32(mark X1, X2, X3) -> mark U32(X1, X2, X3),
            U32(ok X1, ok X2, ok X3) -> ok U32(X1, X2, X3),
                U31(mark X1, X2, X3) -> mark U31(X1, X2, X3),
            U31(ok X1, ok X2, ok X3) -> ok U31(X1, X2, X3),
                U33(mark X1, X2, X3) -> mark U33(X1, X2, X3),
            U33(ok X1, ok X2, ok X3) -> ok U33(X1, X2, X3),
                U34(mark X1, X2, X3) -> mark U34(X1, X2, X3),
            U34(ok X1, ok X2, ok X3) -> ok U34(X1, X2, X3),
                    U35(mark X1, X2) -> mark U35(X1, X2),
                   U35(ok X1, ok X2) -> ok U35(X1, X2),
                          U36 mark X -> mark U36 X,
                            U36 ok X -> ok U36 X,
                          U42 mark X -> mark U42 X,
                            U42 ok X -> ok U42 X,
                    U41(mark X1, X2) -> mark U41(X1, X2),
                   U41(ok X1, ok X2) -> ok U41(X1, X2),
                          U51 mark X -> mark U51 X,
                            U51 ok X -> ok U51 X,
                          U62 mark X -> mark U62 X,
                            U62 ok X -> ok U62 X,
                    U61(mark X1, X2) -> mark U61(X1, X2),
                   U61(ok X1, ok X2) -> ok U61(X1, X2),
                    U72(mark X1, X2) -> mark U72(X1, X2),
                   U72(ok X1, ok X2) -> ok U72(X1, X2),
                    U71(mark X1, X2) -> mark U71(X1, X2),
                   U71(ok X1, ok X2) -> ok U71(X1, X2),
                U82(mark X1, X2, X3) -> mark U82(X1, X2, X3),
            U82(ok X1, ok X2, ok X3) -> ok U82(X1, X2, X3),
                U81(mark X1, X2, X3) -> mark U81(X1, X2, X3),
            U81(ok X1, ok X2, ok X3) -> ok U81(X1, X2, X3),
                U83(mark X1, X2, X3) -> mark U83(X1, X2, X3),
            U83(ok X1, ok X2, ok X3) -> ok U83(X1, X2, X3),
                U84(mark X1, X2, X3) -> mark U84(X1, X2, X3),
            U84(ok X1, ok X2, ok X3) -> ok U84(X1, X2, X3),
                            s mark X -> mark s X,
                              s ok X -> ok s X,
                          U92 mark X -> mark U92 X,
                            U92 ok X -> ok U92 X,
                    U91(mark X1, X2) -> mark U91(X1, X2),
                   U91(ok X1, ok X2) -> ok U91(X1, X2),
             proper U102(X1, X2, X3) -> U102(proper X1, proper X2, proper X3),
                  proper isNatKind X -> isNatKind proper X,
             proper U101(X1, X2, X3) -> U101(proper X1, proper X2, proper X3),
                         proper tt() -> ok tt(),
             proper U103(X1, X2, X3) -> U103(proper X1, proper X2, proper X3),
                      proper isNat X -> isNat proper X,
             proper U104(X1, X2, X3) -> U104(proper X1, proper X2, proper X3),
                 proper plus(X1, X2) -> plus(proper X1, proper X2),
                    proper x(X1, X2) -> x(proper X1, proper X2),
              proper U12(X1, X2, X3) -> U12(proper X1, proper X2, proper X3),
              proper U11(X1, X2, X3) -> U11(proper X1, proper X2, proper X3),
              proper U13(X1, X2, X3) -> U13(proper X1, proper X2, proper X3),
              proper U14(X1, X2, X3) -> U14(proper X1, proper X2, proper X3),
                  proper U15(X1, X2) -> U15(proper X1, proper X2),
                        proper U16 X -> U16 proper X,
                  proper U22(X1, X2) -> U22(proper X1, proper X2),
                  proper U21(X1, X2) -> U21(proper X1, proper X2),
                        proper U23 X -> U23 proper X,
              proper U32(X1, X2, X3) -> U32(proper X1, proper X2, proper X3),
              proper U31(X1, X2, X3) -> U31(proper X1, proper X2, proper X3),
              proper U33(X1, X2, X3) -> U33(proper X1, proper X2, proper X3),
              proper U34(X1, X2, X3) -> U34(proper X1, proper X2, proper X3),
                  proper U35(X1, X2) -> U35(proper X1, proper X2),
                        proper U36 X -> U36 proper X,
                        proper U42 X -> U42 proper X,
                  proper U41(X1, X2) -> U41(proper X1, proper X2),
                        proper U51 X -> U51 proper X,
                        proper U62 X -> U62 proper X,
                  proper U61(X1, X2) -> U61(proper X1, proper X2),
                  proper U72(X1, X2) -> U72(proper X1, proper X2),
                  proper U71(X1, X2) -> U71(proper X1, proper X2),
              proper U82(X1, X2, X3) -> U82(proper X1, proper X2, proper X3),
              proper U81(X1, X2, X3) -> U81(proper X1, proper X2, proper X3),
              proper U83(X1, X2, X3) -> U83(proper X1, proper X2, proper X3),
              proper U84(X1, X2, X3) -> U84(proper X1, proper X2, proper X3),
                          proper s X -> s proper X,
                        proper U92 X -> U92 proper X,
                  proper U91(X1, X2) -> U91(proper X1, proper X2),
                          proper 0() -> ok 0(),
                          top mark X -> top proper X,
                            top ok X -> top active X
      }
      Open
     
     
     SCC (2):
      Strict:
       {s# mark X -> s# X,
          s# ok X -> s# X}
      Weak:
      {
               U102(mark X1, X2, X3) -> mark U102(X1, X2, X3),
           U102(ok X1, ok X2, ok X3) -> ok U102(X1, X2, X3),
                      isNatKind ok X -> ok isNatKind X,
             active U102(X1, X2, X3) -> U102(active X1, X2, X3),
             active U102(tt(), M, N) -> mark U103(isNat N, M, N),
       active isNatKind plus(V1, V2) -> mark U41(isNatKind V1, V2),
          active isNatKind x(V1, V2) -> mark U61(isNatKind V1, V2),
               active isNatKind s V1 -> mark U51 isNatKind V1,
                active isNatKind 0() -> mark tt(),
             active U101(X1, X2, X3) -> U101(active X1, X2, X3),
             active U101(tt(), M, N) -> mark U102(isNatKind M, M, N),
             active U103(X1, X2, X3) -> U103(active X1, X2, X3),
             active U103(tt(), M, N) -> mark U104(isNatKind N, M, N),
           active isNat plus(V1, V2) -> mark U11(isNatKind V1, V1, V2),
              active isNat x(V1, V2) -> mark U31(isNatKind V1, V1, V2),
                   active isNat s V1 -> mark U21(isNatKind V1, V1),
                    active isNat 0() -> mark tt(),
             active U104(X1, X2, X3) -> U104(active X1, X2, X3),
             active U104(tt(), M, N) -> mark plus(x(N, M), N),
                 active plus(N, s M) -> mark U81(isNat M, M, N),
                 active plus(N, 0()) -> mark U71(isNat N, N),
                 active plus(X1, X2) -> plus(X1, active X2),
                 active plus(X1, X2) -> plus(active X1, X2),
                    active x(N, s M) -> mark U101(isNat M, M, N),
                    active x(N, 0()) -> mark U91(isNat N, N),
                    active x(X1, X2) -> x(X1, active X2),
                    active x(X1, X2) -> x(active X1, X2),
              active U12(X1, X2, X3) -> U12(active X1, X2, X3),
            active U12(tt(), V1, V2) -> mark U13(isNatKind V2, V1, V2),
              active U11(X1, X2, X3) -> U11(active X1, X2, X3),
            active U11(tt(), V1, V2) -> mark U12(isNatKind V1, V1, V2),
              active U13(X1, X2, X3) -> U13(active X1, X2, X3),
            active U13(tt(), V1, V2) -> mark U14(isNatKind V2, V1, V2),
              active U14(X1, X2, X3) -> U14(active X1, X2, X3),
            active U14(tt(), V1, V2) -> mark U15(isNat V1, V2),
                  active U15(X1, X2) -> U15(active X1, X2),
                active U15(tt(), V2) -> mark U16 isNat V2,
                        active U16 X -> U16 active X,
                     active U16 tt() -> mark tt(),
                  active U22(X1, X2) -> U22(active X1, X2),
                active U22(tt(), V1) -> mark U23 isNat V1,
                  active U21(X1, X2) -> U21(active X1, X2),
                active U21(tt(), V1) -> mark U22(isNatKind V1, V1),
                        active U23 X -> U23 active X,
                     active U23 tt() -> mark tt(),
              active U32(X1, X2, X3) -> U32(active X1, X2, X3),
            active U32(tt(), V1, V2) -> mark U33(isNatKind V2, V1, V2),
              active U31(X1, X2, X3) -> U31(active X1, X2, X3),
            active U31(tt(), V1, V2) -> mark U32(isNatKind V1, V1, V2),
              active U33(X1, X2, X3) -> U33(active X1, X2, X3),
            active U33(tt(), V1, V2) -> mark U34(isNatKind V2, V1, V2),
              active U34(X1, X2, X3) -> U34(active X1, X2, X3),
            active U34(tt(), V1, V2) -> mark U35(isNat V1, V2),
                  active U35(X1, X2) -> U35(active X1, X2),
                active U35(tt(), V2) -> mark U36 isNat V2,
                        active U36 X -> U36 active X,
                     active U36 tt() -> mark tt(),
                        active U42 X -> U42 active X,
                     active U42 tt() -> mark tt(),
                  active U41(X1, X2) -> U41(active X1, X2),
                active U41(tt(), V2) -> mark U42 isNatKind V2,
                        active U51 X -> U51 active X,
                     active U51 tt() -> mark tt(),
                        active U62 X -> U62 active X,
                     active U62 tt() -> mark tt(),
                  active U61(X1, X2) -> U61(active X1, X2),
                active U61(tt(), V2) -> mark U62 isNatKind V2,
                  active U72(X1, X2) -> U72(active X1, X2),
                 active U72(tt(), N) -> mark N,
                  active U71(X1, X2) -> U71(active X1, X2),
                 active U71(tt(), N) -> mark U72(isNatKind N, N),
              active U82(X1, X2, X3) -> U82(active X1, X2, X3),
              active U82(tt(), M, N) -> mark U83(isNat N, M, N),
              active U81(X1, X2, X3) -> U81(active X1, X2, X3),
              active U81(tt(), M, N) -> mark U82(isNatKind M, M, N),
              active U83(X1, X2, X3) -> U83(active X1, X2, X3),
              active U83(tt(), M, N) -> mark U84(isNatKind N, M, N),
              active U84(X1, X2, X3) -> U84(active X1, X2, X3),
              active U84(tt(), M, N) -> mark s plus(N, M),
                          active s X -> s active X,
                        active U92 X -> U92 active X,
                     active U92 tt() -> mark 0(),
                  active U91(X1, X2) -> U91(active X1, X2),
                 active U91(tt(), N) -> mark U92 isNatKind N,
               U101(mark X1, X2, X3) -> mark U101(X1, X2, X3),
           U101(ok X1, ok X2, ok X3) -> ok U101(X1, X2, X3),
               U103(mark X1, X2, X3) -> mark U103(X1, X2, X3),
           U103(ok X1, ok X2, ok X3) -> ok U103(X1, X2, X3),
                          isNat ok X -> ok isNat X,
               U104(mark X1, X2, X3) -> mark U104(X1, X2, X3),
           U104(ok X1, ok X2, ok X3) -> ok U104(X1, X2, X3),
                   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),
                      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),
                U12(mark X1, X2, X3) -> mark U12(X1, X2, X3),
            U12(ok X1, ok X2, ok X3) -> ok U12(X1, X2, X3),
                U11(mark X1, X2, X3) -> mark U11(X1, X2, X3),
            U11(ok X1, ok X2, ok X3) -> ok U11(X1, X2, X3),
                U13(mark X1, X2, X3) -> mark U13(X1, X2, X3),
            U13(ok X1, ok X2, ok X3) -> ok U13(X1, X2, X3),
                U14(mark X1, X2, X3) -> mark U14(X1, X2, X3),
            U14(ok X1, ok X2, ok X3) -> ok U14(X1, X2, X3),
                    U15(mark X1, X2) -> mark U15(X1, X2),
                   U15(ok X1, ok X2) -> ok U15(X1, X2),
                          U16 mark X -> mark U16 X,
                            U16 ok X -> ok U16 X,
                    U22(mark X1, X2) -> mark U22(X1, X2),
                   U22(ok X1, ok X2) -> ok U22(X1, X2),
                    U21(mark X1, X2) -> mark U21(X1, X2),
                   U21(ok X1, ok X2) -> ok U21(X1, X2),
                          U23 mark X -> mark U23 X,
                            U23 ok X -> ok U23 X,
                U32(mark X1, X2, X3) -> mark U32(X1, X2, X3),
            U32(ok X1, ok X2, ok X3) -> ok U32(X1, X2, X3),
                U31(mark X1, X2, X3) -> mark U31(X1, X2, X3),
            U31(ok X1, ok X2, ok X3) -> ok U31(X1, X2, X3),
                U33(mark X1, X2, X3) -> mark U33(X1, X2, X3),
            U33(ok X1, ok X2, ok X3) -> ok U33(X1, X2, X3),
                U34(mark X1, X2, X3) -> mark U34(X1, X2, X3),
            U34(ok X1, ok X2, ok X3) -> ok U34(X1, X2, X3),
                    U35(mark X1, X2) -> mark U35(X1, X2),
                   U35(ok X1, ok X2) -> ok U35(X1, X2),
                          U36 mark X -> mark U36 X,
                            U36 ok X -> ok U36 X,
                          U42 mark X -> mark U42 X,
                            U42 ok X -> ok U42 X,
                    U41(mark X1, X2) -> mark U41(X1, X2),
                   U41(ok X1, ok X2) -> ok U41(X1, X2),
                          U51 mark X -> mark U51 X,
                            U51 ok X -> ok U51 X,
                          U62 mark X -> mark U62 X,
                            U62 ok X -> ok U62 X,
                    U61(mark X1, X2) -> mark U61(X1, X2),
                   U61(ok X1, ok X2) -> ok U61(X1, X2),
                    U72(mark X1, X2) -> mark U72(X1, X2),
                   U72(ok X1, ok X2) -> ok U72(X1, X2),
                    U71(mark X1, X2) -> mark U71(X1, X2),
                   U71(ok X1, ok X2) -> ok U71(X1, X2),
                U82(mark X1, X2, X3) -> mark U82(X1, X2, X3),
            U82(ok X1, ok X2, ok X3) -> ok U82(X1, X2, X3),
                U81(mark X1, X2, X3) -> mark U81(X1, X2, X3),
            U81(ok X1, ok X2, ok X3) -> ok U81(X1, X2, X3),
                U83(mark X1, X2, X3) -> mark U83(X1, X2, X3),
            U83(ok X1, ok X2, ok X3) -> ok U83(X1, X2, X3),
                U84(mark X1, X2, X3) -> mark U84(X1, X2, X3),
            U84(ok X1, ok X2, ok X3) -> ok U84(X1, X2, X3),
                            s mark X -> mark s X,
                              s ok X -> ok s X,
                          U92 mark X -> mark U92 X,
                            U92 ok X -> ok U92 X,
                    U91(mark X1, X2) -> mark U91(X1, X2),
                   U91(ok X1, ok X2) -> ok U91(X1, X2),
             proper U102(X1, X2, X3) -> U102(proper X1, proper X2, proper X3),
                  proper isNatKind X -> isNatKind proper X,
             proper U101(X1, X2, X3) -> U101(proper X1, proper X2, proper X3),
                         proper tt() -> ok tt(),
             proper U103(X1, X2, X3) -> U103(proper X1, proper X2, proper X3),
                      proper isNat X -> isNat proper X,
             proper U104(X1, X2, X3) -> U104(proper X1, proper X2, proper X3),
                 proper plus(X1, X2) -> plus(proper X1, proper X2),
                    proper x(X1, X2) -> x(proper X1, proper X2),
              proper U12(X1, X2, X3) -> U12(proper X1, proper X2, proper X3),
              proper U11(X1, X2, X3) -> U11(proper X1, proper X2, proper X3),
              proper U13(X1, X2, X3) -> U13(proper X1, proper X2, proper X3),
              proper U14(X1, X2, X3) -> U14(proper X1, proper X2, proper X3),
                  proper U15(X1, X2) -> U15(proper X1, proper X2),
                        proper U16 X -> U16 proper X,
                  proper U22(X1, X2) -> U22(proper X1, proper X2),
                  proper U21(X1, X2) -> U21(proper X1, proper X2),
                        proper U23 X -> U23 proper X,
              proper U32(X1, X2, X3) -> U32(proper X1, proper X2, proper X3),
              proper U31(X1, X2, X3) -> U31(proper X1, proper X2, proper X3),
              proper U33(X1, X2, X3) -> U33(proper X1, proper X2, proper X3),
              proper U34(X1, X2, X3) -> U34(proper X1, proper X2, proper X3),
                  proper U35(X1, X2) -> U35(proper X1, proper X2),
                        proper U36 X -> U36 proper X,
                        proper U42 X -> U42 proper X,
                  proper U41(X1, X2) -> U41(proper X1, proper X2),
                        proper U51 X -> U51 proper X,
                        proper U62 X -> U62 proper X,
                  proper U61(X1, X2) -> U61(proper X1, proper X2),
                  proper U72(X1, X2) -> U72(proper X1, proper X2),
                  proper U71(X1, X2) -> U71(proper X1, proper X2),
              proper U82(X1, X2, X3) -> U82(proper X1, proper X2, proper X3),
              proper U81(X1, X2, X3) -> U81(proper X1, proper X2, proper X3),
              proper U83(X1, X2, X3) -> U83(proper X1, proper X2, proper X3),
              proper U84(X1, X2, X3) -> U84(proper X1, proper X2, proper X3),
                          proper s X -> s proper X,
                        proper U92 X -> U92 proper X,
                  proper U91(X1, X2) -> U91(proper X1, proper X2),
                          proper 0() -> ok 0(),
                          top mark X -> top proper X,
                            top ok X -> top active X
      }
      Open
     
     
     
     SCC (2):
      Strict:
       {    U84#(mark X1, X2, X3) -> U84#(X1, X2, X3),
        U84#(ok X1, ok X2, ok X3) -> U84#(X1, X2, X3)}
      Weak:
      {
               U102(mark X1, X2, X3) -> mark U102(X1, X2, X3),
           U102(ok X1, ok X2, ok X3) -> ok U102(X1, X2, X3),
                      isNatKind ok X -> ok isNatKind X,
             active U102(X1, X2, X3) -> U102(active X1, X2, X3),
             active U102(tt(), M, N) -> mark U103(isNat N, M, N),
       active isNatKind plus(V1, V2) -> mark U41(isNatKind V1, V2),
          active isNatKind x(V1, V2) -> mark U61(isNatKind V1, V2),
               active isNatKind s V1 -> mark U51 isNatKind V1,
                active isNatKind 0() -> mark tt(),
             active U101(X1, X2, X3) -> U101(active X1, X2, X3),
             active U101(tt(), M, N) -> mark U102(isNatKind M, M, N),
             active U103(X1, X2, X3) -> U103(active X1, X2, X3),
             active U103(tt(), M, N) -> mark U104(isNatKind N, M, N),
           active isNat plus(V1, V2) -> mark U11(isNatKind V1, V1, V2),
              active isNat x(V1, V2) -> mark U31(isNatKind V1, V1, V2),
                   active isNat s V1 -> mark U21(isNatKind V1, V1),
                    active isNat 0() -> mark tt(),
             active U104(X1, X2, X3) -> U104(active X1, X2, X3),
             active U104(tt(), M, N) -> mark plus(x(N, M), N),
                 active plus(N, s M) -> mark U81(isNat M, M, N),
                 active plus(N, 0()) -> mark U71(isNat N, N),
                 active plus(X1, X2) -> plus(X1, active X2),
                 active plus(X1, X2) -> plus(active X1, X2),
                    active x(N, s M) -> mark U101(isNat M, M, N),
                    active x(N, 0()) -> mark U91(isNat N, N),
                    active x(X1, X2) -> x(X1, active X2),
                    active x(X1, X2) -> x(active X1, X2),
              active U12(X1, X2, X3) -> U12(active X1, X2, X3),
            active U12(tt(), V1, V2) -> mark U13(isNatKind V2, V1, V2),
              active U11(X1, X2, X3) -> U11(active X1, X2, X3),
            active U11(tt(), V1, V2) -> mark U12(isNatKind V1, V1, V2),
              active U13(X1, X2, X3) -> U13(active X1, X2, X3),
            active U13(tt(), V1, V2) -> mark U14(isNatKind V2, V1, V2),
              active U14(X1, X2, X3) -> U14(active X1, X2, X3),
            active U14(tt(), V1, V2) -> mark U15(isNat V1, V2),
                  active U15(X1, X2) -> U15(active X1, X2),
                active U15(tt(), V2) -> mark U16 isNat V2,
                        active U16 X -> U16 active X,
                     active U16 tt() -> mark tt(),
                  active U22(X1, X2) -> U22(active X1, X2),
                active U22(tt(), V1) -> mark U23 isNat V1,
                  active U21(X1, X2) -> U21(active X1, X2),
                active U21(tt(), V1) -> mark U22(isNatKind V1, V1),
                        active U23 X -> U23 active X,
                     active U23 tt() -> mark tt(),
              active U32(X1, X2, X3) -> U32(active X1, X2, X3),
            active U32(tt(), V1, V2) -> mark U33(isNatKind V2, V1, V2),
              active U31(X1, X2, X3) -> U31(active X1, X2, X3),
            active U31(tt(), V1, V2) -> mark U32(isNatKind V1, V1, V2),
              active U33(X1, X2, X3) -> U33(active X1, X2, X3),
            active U33(tt(), V1, V2) -> mark U34(isNatKind V2, V1, V2),
              active U34(X1, X2, X3) -> U34(active X1, X2, X3),
            active U34(tt(), V1, V2) -> mark U35(isNat V1, V2),
                  active U35(X1, X2) -> U35(active X1, X2),
                active U35(tt(), V2) -> mark U36 isNat V2,
                        active U36 X -> U36 active X,
                     active U36 tt() -> mark tt(),
                        active U42 X -> U42 active X,
                     active U42 tt() -> mark tt(),
                  active U41(X1, X2) -> U41(active X1, X2),
                active U41(tt(), V2) -> mark U42 isNatKind V2,
                        active U51 X -> U51 active X,
                     active U51 tt() -> mark tt(),
                        active U62 X -> U62 active X,
                     active U62 tt() -> mark tt(),
                  active U61(X1, X2) -> U61(active X1, X2),
                active U61(tt(), V2) -> mark U62 isNatKind V2,
                  active U72(X1, X2) -> U72(active X1, X2),
                 active U72(tt(), N) -> mark N,
                  active U71(X1, X2) -> U71(active X1, X2),
                 active U71(tt(), N) -> mark U72(isNatKind N, N),
              active U82(X1, X2, X3) -> U82(active X1, X2, X3),
              active U82(tt(), M, N) -> mark U83(isNat N, M, N),
              active U81(X1, X2, X3) -> U81(active X1, X2, X3),
              active U81(tt(), M, N) -> mark U82(isNatKind M, M, N),
              active U83(X1, X2, X3) -> U83(active X1, X2, X3),
              active U83(tt(), M, N) -> mark U84(isNatKind N, M, N),
              active U84(X1, X2, X3) -> U84(active X1, X2, X3),
              active U84(tt(), M, N) -> mark s plus(N, M),
                          active s X -> s active X,
                        active U92 X -> U92 active X,
                     active U92 tt() -> mark 0(),
                  active U91(X1, X2) -> U91(active X1, X2),
                 active U91(tt(), N) -> mark U92 isNatKind N,
               U101(mark X1, X2, X3) -> mark U101(X1, X2, X3),
           U101(ok X1, ok X2, ok X3) -> ok U101(X1, X2, X3),
               U103(mark X1, X2, X3) -> mark U103(X1, X2, X3),
           U103(ok X1, ok X2, ok X3) -> ok U103(X1, X2, X3),
                          isNat ok X -> ok isNat X,
               U104(mark X1, X2, X3) -> mark U104(X1, X2, X3),
           U104(ok X1, ok X2, ok X3) -> ok U104(X1, X2, X3),
                   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),
                      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),
                U12(mark X1, X2, X3) -> mark U12(X1, X2, X3),
            U12(ok X1, ok X2, ok X3) -> ok U12(X1, X2, X3),
                U11(mark X1, X2, X3) -> mark U11(X1, X2, X3),
            U11(ok X1, ok X2, ok X3) -> ok U11(X1, X2, X3),
                U13(mark X1, X2, X3) -> mark U13(X1, X2, X3),
            U13(ok X1, ok X2, ok X3) -> ok U13(X1, X2, X3),
                U14(mark X1, X2, X3) -> mark U14(X1, X2, X3),
            U14(ok X1, ok X2, ok X3) -> ok U14(X1, X2, X3),
                    U15(mark X1, X2) -> mark U15(X1, X2),
                   U15(ok X1, ok X2) -> ok U15(X1, X2),
                          U16 mark X -> mark U16 X,
                            U16 ok X -> ok U16 X,
                    U22(mark X1, X2) -> mark U22(X1, X2),
                   U22(ok X1, ok X2) -> ok U22(X1, X2),
                    U21(mark X1, X2) -> mark U21(X1, X2),
                   U21(ok X1, ok X2) -> ok U21(X1, X2),
                          U23 mark X -> mark U23 X,
                            U23 ok X -> ok U23 X,
                U32(mark X1, X2, X3) -> mark U32(X1, X2, X3),
            U32(ok X1, ok X2, ok X3) -> ok U32(X1, X2, X3),
                U31(mark X1, X2, X3) -> mark U31(X1, X2, X3),
            U31(ok X1, ok X2, ok X3) -> ok U31(X1, X2, X3),
                U33(mark X1, X2, X3) -> mark U33(X1, X2, X3),
            U33(ok X1, ok X2, ok X3) -> ok U33(X1, X2, X3),
                U34(mark X1, X2, X3) -> mark U34(X1, X2, X3),
            U34(ok X1, ok X2, ok X3) -> ok U34(X1, X2, X3),
                    U35(mark X1, X2) -> mark U35(X1, X2),
                   U35(ok X1, ok X2) -> ok U35(X1, X2),
                          U36 mark X -> mark U36 X,
                            U36 ok X -> ok U36 X,
                          U42 mark X -> mark U42 X,
                            U42 ok X -> ok U42 X,
                    U41(mark X1, X2) -> mark U41(X1, X2),
                   U41(ok X1, ok X2) -> ok U41(X1, X2),
                          U51 mark X -> mark U51 X,
                            U51 ok X -> ok U51 X,
                          U62 mark X -> mark U62 X,
                            U62 ok X -> ok U62 X,
                    U61(mark X1, X2) -> mark U61(X1, X2),
                   U61(ok X1, ok X2) -> ok U61(X1, X2),
                    U72(mark X1, X2) -> mark U72(X1, X2),
                   U72(ok X1, ok X2) -> ok U72(X1, X2),
                    U71(mark X1, X2) -> mark U71(X1, X2),
                   U71(ok X1, ok X2) -> ok U71(X1, X2),
                U82(mark X1, X2, X3) -> mark U82(X1, X2, X3),
            U82(ok X1, ok X2, ok X3) -> ok U82(X1, X2, X3),
                U81(mark X1, X2, X3) -> mark U81(X1, X2, X3),
            U81(ok X1, ok X2, ok X3) -> ok U81(X1, X2, X3),
                U83(mark X1, X2, X3) -> mark U83(X1, X2, X3),
            U83(ok X1, ok X2, ok X3) -> ok U83(X1, X2, X3),
                U84(mark X1, X2, X3) -> mark U84(X1, X2, X3),
            U84(ok X1, ok X2, ok X3) -> ok U84(X1, X2, X3),
                            s mark X -> mark s X,
                              s ok X -> ok s X,
                          U92 mark X -> mark U92 X,
                            U92 ok X -> ok U92 X,
                    U91(mark X1, X2) -> mark U91(X1, X2),
                   U91(ok X1, ok X2) -> ok U91(X1, X2),
             proper U102(X1, X2, X3) -> U102(proper X1, proper X2, proper X3),
                  proper isNatKind X -> isNatKind proper X,
             proper U101(X1, X2, X3) -> U101(proper X1, proper X2, proper X3),
                         proper tt() -> ok tt(),
             proper U103(X1, X2, X3) -> U103(proper X1, proper X2, proper X3),
                      proper isNat X -> isNat proper X,
             proper U104(X1, X2, X3) -> U104(proper X1, proper X2, proper X3),
                 proper plus(X1, X2) -> plus(proper X1, proper X2),
                    proper x(X1, X2) -> x(proper X1, proper X2),
              proper U12(X1, X2, X3) -> U12(proper X1, proper X2, proper X3),
              proper U11(X1, X2, X3) -> U11(proper X1, proper X2, proper X3),
              proper U13(X1, X2, X3) -> U13(proper X1, proper X2, proper X3),
              proper U14(X1, X2, X3) -> U14(proper X1, proper X2, proper X3),
                  proper U15(X1, X2) -> U15(proper X1, proper X2),
                        proper U16 X -> U16 proper X,
                  proper U22(X1, X2) -> U22(proper X1, proper X2),
                  proper U21(X1, X2) -> U21(proper X1, proper X2),
                        proper U23 X -> U23 proper X,
              proper U32(X1, X2, X3) -> U32(proper X1, proper X2, proper X3),
              proper U31(X1, X2, X3) -> U31(proper X1, proper X2, proper X3),
              proper U33(X1, X2, X3) -> U33(proper X1, proper X2, proper X3),
              proper U34(X1, X2, X3) -> U34(proper X1, proper X2, proper X3),
                  proper U35(X1, X2) -> U35(proper X1, proper X2),
                        proper U36 X -> U36 proper X,
                        proper U42 X -> U42 proper X,
                  proper U41(X1, X2) -> U41(proper X1, proper X2),
                        proper U51 X -> U51 proper X,
                        proper U62 X -> U62 proper X,
                  proper U61(X1, X2) -> U61(proper X1, proper X2),
                  proper U72(X1, X2) -> U72(proper X1, proper X2),
                  proper U71(X1, X2) -> U71(proper X1, proper X2),
              proper U82(X1, X2, X3) -> U82(proper X1, proper X2, proper X3),
              proper U81(X1, X2, X3) -> U81(proper X1, proper X2, proper X3),
              proper U83(X1, X2, X3) -> U83(proper X1, proper X2, proper X3),
              proper U84(X1, X2, X3) -> U84(proper X1, proper X2, proper X3),
                          proper s X -> s proper X,
                        proper U92 X -> U92 proper X,
                  proper U91(X1, X2) -> U91(proper X1, proper X2),
                          proper 0() -> ok 0(),
                          top mark X -> top proper X,
                            top ok X -> top active X
      }
      Open
     
     
     
     
     
     
     SCC (2):
      Strict:
       {    U83#(mark X1, X2, X3) -> U83#(X1, X2, X3),
        U83#(ok X1, ok X2, ok X3) -> U83#(X1, X2, X3)}
      Weak:
      {
               U102(mark X1, X2, X3) -> mark U102(X1, X2, X3),
           U102(ok X1, ok X2, ok X3) -> ok U102(X1, X2, X3),
                      isNatKind ok X -> ok isNatKind X,
             active U102(X1, X2, X3) -> U102(active X1, X2, X3),
             active U102(tt(), M, N) -> mark U103(isNat N, M, N),
       active isNatKind plus(V1, V2) -> mark U41(isNatKind V1, V2),
          active isNatKind x(V1, V2) -> mark U61(isNatKind V1, V2),
               active isNatKind s V1 -> mark U51 isNatKind V1,
                active isNatKind 0() -> mark tt(),
             active U101(X1, X2, X3) -> U101(active X1, X2, X3),
             active U101(tt(), M, N) -> mark U102(isNatKind M, M, N),
             active U103(X1, X2, X3) -> U103(active X1, X2, X3),
             active U103(tt(), M, N) -> mark U104(isNatKind N, M, N),
           active isNat plus(V1, V2) -> mark U11(isNatKind V1, V1, V2),
              active isNat x(V1, V2) -> mark U31(isNatKind V1, V1, V2),
                   active isNat s V1 -> mark U21(isNatKind V1, V1),
                    active isNat 0() -> mark tt(),
             active U104(X1, X2, X3) -> U104(active X1, X2, X3),
             active U104(tt(), M, N) -> mark plus(x(N, M), N),
                 active plus(N, s M) -> mark U81(isNat M, M, N),
                 active plus(N, 0()) -> mark U71(isNat N, N),
                 active plus(X1, X2) -> plus(X1, active X2),
                 active plus(X1, X2) -> plus(active X1, X2),
                    active x(N, s M) -> mark U101(isNat M, M, N),
                    active x(N, 0()) -> mark U91(isNat N, N),
                    active x(X1, X2) -> x(X1, active X2),
                    active x(X1, X2) -> x(active X1, X2),
              active U12(X1, X2, X3) -> U12(active X1, X2, X3),
            active U12(tt(), V1, V2) -> mark U13(isNatKind V2, V1, V2),
              active U11(X1, X2, X3) -> U11(active X1, X2, X3),
            active U11(tt(), V1, V2) -> mark U12(isNatKind V1, V1, V2),
              active U13(X1, X2, X3) -> U13(active X1, X2, X3),
            active U13(tt(), V1, V2) -> mark U14(isNatKind V2, V1, V2),
              active U14(X1, X2, X3) -> U14(active X1, X2, X3),
            active U14(tt(), V1, V2) -> mark U15(isNat V1, V2),
                  active U15(X1, X2) -> U15(active X1, X2),
                active U15(tt(), V2) -> mark U16 isNat V2,
                        active U16 X -> U16 active X,
                     active U16 tt() -> mark tt(),
                  active U22(X1, X2) -> U22(active X1, X2),
                active U22(tt(), V1) -> mark U23 isNat V1,
                  active U21(X1, X2) -> U21(active X1, X2),
                active U21(tt(), V1) -> mark U22(isNatKind V1, V1),
                        active U23 X -> U23 active X,
                     active U23 tt() -> mark tt(),
              active U32(X1, X2, X3) -> U32(active X1, X2, X3),
            active U32(tt(), V1, V2) -> mark U33(isNatKind V2, V1, V2),
              active U31(X1, X2, X3) -> U31(active X1, X2, X3),
            active U31(tt(), V1, V2) -> mark U32(isNatKind V1, V1, V2),
              active U33(X1, X2, X3) -> U33(active X1, X2, X3),
            active U33(tt(), V1, V2) -> mark U34(isNatKind V2, V1, V2),
              active U34(X1, X2, X3) -> U34(active X1, X2, X3),
            active U34(tt(), V1, V2) -> mark U35(isNat V1, V2),
                  active U35(X1, X2) -> U35(active X1, X2),
                active U35(tt(), V2) -> mark U36 isNat V2,
                        active U36 X -> U36 active X,
                     active U36 tt() -> mark tt(),
                        active U42 X -> U42 active X,
                     active U42 tt() -> mark tt(),
                  active U41(X1, X2) -> U41(active X1, X2),
                active U41(tt(), V2) -> mark U42 isNatKind V2,
                        active U51 X -> U51 active X,
                     active U51 tt() -> mark tt(),
                        active U62 X -> U62 active X,
                     active U62 tt() -> mark tt(),
                  active U61(X1, X2) -> U61(active X1, X2),
                active U61(tt(), V2) -> mark U62 isNatKind V2,
                  active U72(X1, X2) -> U72(active X1, X2),
                 active U72(tt(), N) -> mark N,
                  active U71(X1, X2) -> U71(active X1, X2),
                 active U71(tt(), N) -> mark U72(isNatKind N, N),
              active U82(X1, X2, X3) -> U82(active X1, X2, X3),
              active U82(tt(), M, N) -> mark U83(isNat N, M, N),
              active U81(X1, X2, X3) -> U81(active X1, X2, X3),
              active U81(tt(), M, N) -> mark U82(isNatKind M, M, N),
              active U83(X1, X2, X3) -> U83(active X1, X2, X3),
              active U83(tt(), M, N) -> mark U84(isNatKind N, M, N),
              active U84(X1, X2, X3) -> U84(active X1, X2, X3),
              active U84(tt(), M, N) -> mark s plus(N, M),
                          active s X -> s active X,
                        active U92 X -> U92 active X,
                     active U92 tt() -> mark 0(),
                  active U91(X1, X2) -> U91(active X1, X2),
                 active U91(tt(), N) -> mark U92 isNatKind N,
               U101(mark X1, X2, X3) -> mark U101(X1, X2, X3),
           U101(ok X1, ok X2, ok X3) -> ok U101(X1, X2, X3),
               U103(mark X1, X2, X3) -> mark U103(X1, X2, X3),
           U103(ok X1, ok X2, ok X3) -> ok U103(X1, X2, X3),
                          isNat ok X -> ok isNat X,
               U104(mark X1, X2, X3) -> mark U104(X1, X2, X3),
           U104(ok X1, ok X2, ok X3) -> ok U104(X1, X2, X3),
                   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),
                      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),
                U12(mark X1, X2, X3) -> mark U12(X1, X2, X3),
            U12(ok X1, ok X2, ok X3) -> ok U12(X1, X2, X3),
                U11(mark X1, X2, X3) -> mark U11(X1, X2, X3),
            U11(ok X1, ok X2, ok X3) -> ok U11(X1, X2, X3),
                U13(mark X1, X2, X3) -> mark U13(X1, X2, X3),
            U13(ok X1, ok X2, ok X3) -> ok U13(X1, X2, X3),
                U14(mark X1, X2, X3) -> mark U14(X1, X2, X3),
            U14(ok X1, ok X2, ok X3) -> ok U14(X1, X2, X3),
                    U15(mark X1, X2) -> mark U15(X1, X2),
                   U15(ok X1, ok X2) -> ok U15(X1, X2),
                          U16 mark X -> mark U16 X,
                            U16 ok X -> ok U16 X,
                    U22(mark X1, X2) -> mark U22(X1, X2),
                   U22(ok X1, ok X2) -> ok U22(X1, X2),
                    U21(mark X1, X2) -> mark U21(X1, X2),
                   U21(ok X1, ok X2) -> ok U21(X1, X2),
                          U23 mark X -> mark U23 X,
                            U23 ok X -> ok U23 X,
                U32(mark X1, X2, X3) -> mark U32(X1, X2, X3),
            U32(ok X1, ok X2, ok X3) -> ok U32(X1, X2, X3),
                U31(mark X1, X2, X3) -> mark U31(X1, X2, X3),
            U31(ok X1, ok X2, ok X3) -> ok U31(X1, X2, X3),
                U33(mark X1, X2, X3) -> mark U33(X1, X2, X3),
            U33(ok X1, ok X2, ok X3) -> ok U33(X1, X2, X3),
                U34(mark X1, X2, X3) -> mark U34(X1, X2, X3),
            U34(ok X1, ok X2, ok X3) -> ok U34(X1, X2, X3),
                    U35(mark X1, X2) -> mark U35(X1, X2),
                   U35(ok X1, ok X2) -> ok U35(X1, X2),
                          U36 mark X -> mark U36 X,
                            U36 ok X -> ok U36 X,
                          U42 mark X -> mark U42 X,
                            U42 ok X -> ok U42 X,
                    U41(mark X1, X2) -> mark U41(X1, X2),
                   U41(ok X1, ok X2) -> ok U41(X1, X2),
                          U51 mark X -> mark U51 X,
                            U51 ok X -> ok U51 X,
                          U62 mark X -> mark U62 X,
                            U62 ok X -> ok U62 X,
                    U61(mark X1, X2) -> mark U61(X1, X2),
                   U61(ok X1, ok X2) -> ok U61(X1, X2),
                    U72(mark X1, X2) -> mark U72(X1, X2),
                   U72(ok X1, ok X2) -> ok U72(X1, X2),
                    U71(mark X1, X2) -> mark U71(X1, X2),
                   U71(ok X1, ok X2) -> ok U71(X1, X2),
                U82(mark X1, X2, X3) -> mark U82(X1, X2, X3),
            U82(ok X1, ok X2, ok X3) -> ok U82(X1, X2, X3),
                U81(mark X1, X2, X3) -> mark U81(X1, X2, X3),
            U81(ok X1, ok X2, ok X3) -> ok U81(X1, X2, X3),
                U83(mark X1, X2, X3) -> mark U83(X1, X2, X3),
            U83(ok X1, ok X2, ok X3) -> ok U83(X1, X2, X3),
                U84(mark X1, X2, X3) -> mark U84(X1, X2, X3),
            U84(ok X1, ok X2, ok X3) -> ok U84(X1, X2, X3),
                            s mark X -> mark s X,
                              s ok X -> ok s X,
                          U92 mark X -> mark U92 X,
                            U92 ok X -> ok U92 X,
                    U91(mark X1, X2) -> mark U91(X1, X2),
                   U91(ok X1, ok X2) -> ok U91(X1, X2),
             proper U102(X1, X2, X3) -> U102(proper X1, proper X2, proper X3),
                  proper isNatKind X -> isNatKind proper X,
             proper U101(X1, X2, X3) -> U101(proper X1, proper X2, proper X3),
                         proper tt() -> ok tt(),
             proper U103(X1, X2, X3) -> U103(proper X1, proper X2, proper X3),
                      proper isNat X -> isNat proper X,
             proper U104(X1, X2, X3) -> U104(proper X1, proper X2, proper X3),
                 proper plus(X1, X2) -> plus(proper X1, proper X2),
                    proper x(X1, X2) -> x(proper X1, proper X2),
              proper U12(X1, X2, X3) -> U12(proper X1, proper X2, proper X3),
              proper U11(X1, X2, X3) -> U11(proper X1, proper X2, proper X3),
              proper U13(X1, X2, X3) -> U13(proper X1, proper X2, proper X3),
              proper U14(X1, X2, X3) -> U14(proper X1, proper X2, proper X3),
                  proper U15(X1, X2) -> U15(proper X1, proper X2),
                        proper U16 X -> U16 proper X,
                  proper U22(X1, X2) -> U22(proper X1, proper X2),
                  proper U21(X1, X2) -> U21(proper X1, proper X2),
                        proper U23 X -> U23 proper X,
              proper U32(X1, X2, X3) -> U32(proper X1, proper X2, proper X3),
              proper U31(X1, X2, X3) -> U31(proper X1, proper X2, proper X3),
              proper U33(X1, X2, X3) -> U33(proper X1, proper X2, proper X3),
              proper U34(X1, X2, X3) -> U34(proper X1, proper X2, proper X3),
                  proper U35(X1, X2) -> U35(proper X1, proper X2),
                        proper U36 X -> U36 proper X,
                        proper U42 X -> U42 proper X,
                  proper U41(X1, X2) -> U41(proper X1, proper X2),
                        proper U51 X -> U51 proper X,
                        proper U62 X -> U62 proper X,
                  proper U61(X1, X2) -> U61(proper X1, proper X2),
                  proper U72(X1, X2) -> U72(proper X1, proper X2),
                  proper U71(X1, X2) -> U71(proper X1, proper X2),
              proper U82(X1, X2, X3) -> U82(proper X1, proper X2, proper X3),
              proper U81(X1, X2, X3) -> U81(proper X1, proper X2, proper X3),
              proper U83(X1, X2, X3) -> U83(proper X1, proper X2, proper X3),
              proper U84(X1, X2, X3) -> U84(proper X1, proper X2, proper X3),
                          proper s X -> s proper X,
                        proper U92 X -> U92 proper X,
                  proper U91(X1, X2) -> U91(proper X1, proper X2),
                          proper 0() -> ok 0(),
                          top mark X -> top proper X,
                            top ok X -> top active X
      }
      Open
     
     
     SCC (2):
      Strict:
       {    U82#(mark X1, X2, X3) -> U82#(X1, X2, X3),
        U82#(ok X1, ok X2, ok X3) -> U82#(X1, X2, X3)}
      Weak:
      {
               U102(mark X1, X2, X3) -> mark U102(X1, X2, X3),
           U102(ok X1, ok X2, ok X3) -> ok U102(X1, X2, X3),
                      isNatKind ok X -> ok isNatKind X,
             active U102(X1, X2, X3) -> U102(active X1, X2, X3),
             active U102(tt(), M, N) -> mark U103(isNat N, M, N),
       active isNatKind plus(V1, V2) -> mark U41(isNatKind V1, V2),
          active isNatKind x(V1, V2) -> mark U61(isNatKind V1, V2),
               active isNatKind s V1 -> mark U51 isNatKind V1,
                active isNatKind 0() -> mark tt(),
             active U101(X1, X2, X3) -> U101(active X1, X2, X3),
             active U101(tt(), M, N) -> mark U102(isNatKind M, M, N),
             active U103(X1, X2, X3) -> U103(active X1, X2, X3),
             active U103(tt(), M, N) -> mark U104(isNatKind N, M, N),
           active isNat plus(V1, V2) -> mark U11(isNatKind V1, V1, V2),
              active isNat x(V1, V2) -> mark U31(isNatKind V1, V1, V2),
                   active isNat s V1 -> mark U21(isNatKind V1, V1),
                    active isNat 0() -> mark tt(),
             active U104(X1, X2, X3) -> U104(active X1, X2, X3),
             active U104(tt(), M, N) -> mark plus(x(N, M), N),
                 active plus(N, s M) -> mark U81(isNat M, M, N),
                 active plus(N, 0()) -> mark U71(isNat N, N),
                 active plus(X1, X2) -> plus(X1, active X2),
                 active plus(X1, X2) -> plus(active X1, X2),
                    active x(N, s M) -> mark U101(isNat M, M, N),
                    active x(N, 0()) -> mark U91(isNat N, N),
                    active x(X1, X2) -> x(X1, active X2),
                    active x(X1, X2) -> x(active X1, X2),
              active U12(X1, X2, X3) -> U12(active X1, X2, X3),
            active U12(tt(), V1, V2) -> mark U13(isNatKind V2, V1, V2),
              active U11(X1, X2, X3) -> U11(active X1, X2, X3),
            active U11(tt(), V1, V2) -> mark U12(isNatKind V1, V1, V2),
              active U13(X1, X2, X3) -> U13(active X1, X2, X3),
            active U13(tt(), V1, V2) -> mark U14(isNatKind V2, V1, V2),
              active U14(X1, X2, X3) -> U14(active X1, X2, X3),
            active U14(tt(), V1, V2) -> mark U15(isNat V1, V2),
                  active U15(X1, X2) -> U15(active X1, X2),
                active U15(tt(), V2) -> mark U16 isNat V2,
                        active U16 X -> U16 active X,
                     active U16 tt() -> mark tt(),
                  active U22(X1, X2) -> U22(active X1, X2),
                active U22(tt(), V1) -> mark U23 isNat V1,
                  active U21(X1, X2) -> U21(active X1, X2),
                active U21(tt(), V1) -> mark U22(isNatKind V1, V1),
                        active U23 X -> U23 active X,
                     active U23 tt() -> mark tt(),
              active U32(X1, X2, X3) -> U32(active X1, X2, X3),
            active U32(tt(), V1, V2) -> mark U33(isNatKind V2, V1, V2),
              active U31(X1, X2, X3) -> U31(active X1, X2, X3),
            active U31(tt(), V1, V2) -> mark U32(isNatKind V1, V1, V2),
              active U33(X1, X2, X3) -> U33(active X1, X2, X3),
            active U33(tt(), V1, V2) -> mark U34(isNatKind V2, V1, V2),
              active U34(X1, X2, X3) -> U34(active X1, X2, X3),
            active U34(tt(), V1, V2) -> mark U35(isNat V1, V2),
                  active U35(X1, X2) -> U35(active X1, X2),
                active U35(tt(), V2) -> mark U36 isNat V2,
                        active U36 X -> U36 active X,
                     active U36 tt() -> mark tt(),
                        active U42 X -> U42 active X,
                     active U42 tt() -> mark tt(),
                  active U41(X1, X2) -> U41(active X1, X2),
                active U41(tt(), V2) -> mark U42 isNatKind V2,
                        active U51 X -> U51 active X,
                     active U51 tt() -> mark tt(),
                        active U62 X -> U62 active X,
                     active U62 tt() -> mark tt(),
                  active U61(X1, X2) -> U61(active X1, X2),
                active U61(tt(), V2) -> mark U62 isNatKind V2,
                  active U72(X1, X2) -> U72(active X1, X2),
                 active U72(tt(), N) -> mark N,
                  active U71(X1, X2) -> U71(active X1, X2),
                 active U71(tt(), N) -> mark U72(isNatKind N, N),
              active U82(X1, X2, X3) -> U82(active X1, X2, X3),
              active U82(tt(), M, N) -> mark U83(isNat N, M, N),
              active U81(X1, X2, X3) -> U81(active X1, X2, X3),
              active U81(tt(), M, N) -> mark U82(isNatKind M, M, N),
              active U83(X1, X2, X3) -> U83(active X1, X2, X3),
              active U83(tt(), M, N) -> mark U84(isNatKind N, M, N),
              active U84(X1, X2, X3) -> U84(active X1, X2, X3),
              active U84(tt(), M, N) -> mark s plus(N, M),
                          active s X -> s active X,
                        active U92 X -> U92 active X,
                     active U92 tt() -> mark 0(),
                  active U91(X1, X2) -> U91(active X1, X2),
                 active U91(tt(), N) -> mark U92 isNatKind N,
               U101(mark X1, X2, X3) -> mark U101(X1, X2, X3),
           U101(ok X1, ok X2, ok X3) -> ok U101(X1, X2, X3),
               U103(mark X1, X2, X3) -> mark U103(X1, X2, X3),
           U103(ok X1, ok X2, ok X3) -> ok U103(X1, X2, X3),
                          isNat ok X -> ok isNat X,
               U104(mark X1, X2, X3) -> mark U104(X1, X2, X3),
           U104(ok X1, ok X2, ok X3) -> ok U104(X1, X2, X3),
                   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),
                      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),
                U12(mark X1, X2, X3) -> mark U12(X1, X2, X3),
            U12(ok X1, ok X2, ok X3) -> ok U12(X1, X2, X3),
                U11(mark X1, X2, X3) -> mark U11(X1, X2, X3),
            U11(ok X1, ok X2, ok X3) -> ok U11(X1, X2, X3),
                U13(mark X1, X2, X3) -> mark U13(X1, X2, X3),
            U13(ok X1, ok X2, ok X3) -> ok U13(X1, X2, X3),
                U14(mark X1, X2, X3) -> mark U14(X1, X2, X3),
            U14(ok X1, ok X2, ok X3) -> ok U14(X1, X2, X3),
                    U15(mark X1, X2) -> mark U15(X1, X2),
                   U15(ok X1, ok X2) -> ok U15(X1, X2),
                          U16 mark X -> mark U16 X,
                            U16 ok X -> ok U16 X,
                    U22(mark X1, X2) -> mark U22(X1, X2),
                   U22(ok X1, ok X2) -> ok U22(X1, X2),
                    U21(mark X1, X2) -> mark U21(X1, X2),
                   U21(ok X1, ok X2) -> ok U21(X1, X2),
                          U23 mark X -> mark U23 X,
                            U23 ok X -> ok U23 X,
                U32(mark X1, X2, X3) -> mark U32(X1, X2, X3),
            U32(ok X1, ok X2, ok X3) -> ok U32(X1, X2, X3),
                U31(mark X1, X2, X3) -> mark U31(X1, X2, X3),
            U31(ok X1, ok X2, ok X3) -> ok U31(X1, X2, X3),
                U33(mark X1, X2, X3) -> mark U33(X1, X2, X3),
            U33(ok X1, ok X2, ok X3) -> ok U33(X1, X2, X3),
                U34(mark X1, X2, X3) -> mark U34(X1, X2, X3),
            U34(ok X1, ok X2, ok X3) -> ok U34(X1, X2, X3),
                    U35(mark X1, X2) -> mark U35(X1, X2),
                   U35(ok X1, ok X2) -> ok U35(X1, X2),
                          U36 mark X -> mark U36 X,
                            U36 ok X -> ok U36 X,
                          U42 mark X -> mark U42 X,
                            U42 ok X -> ok U42 X,
                    U41(mark X1, X2) -> mark U41(X1, X2),
                   U41(ok X1, ok X2) -> ok U41(X1, X2),
                          U51 mark X -> mark U51 X,
                            U51 ok X -> ok U51 X,
                          U62 mark X -> mark U62 X,
                            U62 ok X -> ok U62 X,
                    U61(mark X1, X2) -> mark U61(X1, X2),
                   U61(ok X1, ok X2) -> ok U61(X1, X2),
                    U72(mark X1, X2) -> mark U72(X1, X2),
                   U72(ok X1, ok X2) -> ok U72(X1, X2),
                    U71(mark X1, X2) -> mark U71(X1, X2),
                   U71(ok X1, ok X2) -> ok U71(X1, X2),
                U82(mark X1, X2, X3) -> mark U82(X1, X2, X3),
            U82(ok X1, ok X2, ok X3) -> ok U82(X1, X2, X3),
                U81(mark X1, X2, X3) -> mark U81(X1, X2, X3),
            U81(ok X1, ok X2, ok X3) -> ok U81(X1, X2, X3),
                U83(mark X1, X2, X3) -> mark U83(X1, X2, X3),
            U83(ok X1, ok X2, ok X3) -> ok U83(X1, X2, X3),
                U84(mark X1, X2, X3) -> mark U84(X1, X2, X3),
            U84(ok X1, ok X2, ok X3) -> ok U84(X1, X2, X3),
                            s mark X -> mark s X,
                              s ok X -> ok s X,
                          U92 mark X -> mark U92 X,
                            U92 ok X -> ok U92 X,
                    U91(mark X1, X2) -> mark U91(X1, X2),
                   U91(ok X1, ok X2) -> ok U91(X1, X2),
             proper U102(X1, X2, X3) -> U102(proper X1, proper X2, proper X3),
                  proper isNatKind X -> isNatKind proper X,
             proper U101(X1, X2, X3) -> U101(proper X1, proper X2, proper X3),
                         proper tt() -> ok tt(),
             proper U103(X1, X2, X3) -> U103(proper X1, proper X2, proper X3),
                      proper isNat X -> isNat proper X,
             proper U104(X1, X2, X3) -> U104(proper X1, proper X2, proper X3),
                 proper plus(X1, X2) -> plus(proper X1, proper X2),
                    proper x(X1, X2) -> x(proper X1, proper X2),
              proper U12(X1, X2, X3) -> U12(proper X1, proper X2, proper X3),
              proper U11(X1, X2, X3) -> U11(proper X1, proper X2, proper X3),
              proper U13(X1, X2, X3) -> U13(proper X1, proper X2, proper X3),
              proper U14(X1, X2, X3) -> U14(proper X1, proper X2, proper X3),
                  proper U15(X1, X2) -> U15(proper X1, proper X2),
                        proper U16 X -> U16 proper X,
                  proper U22(X1, X2) -> U22(proper X1, proper X2),
                  proper U21(X1, X2) -> U21(proper X1, proper X2),
                        proper U23 X -> U23 proper X,
              proper U32(X1, X2, X3) -> U32(proper X1, proper X2, proper X3),
              proper U31(X1, X2, X3) -> U31(proper X1, proper X2, proper X3),
              proper U33(X1, X2, X3) -> U33(proper X1, proper X2, proper X3),
              proper U34(X1, X2, X3) -> U34(proper X1, proper X2, proper X3),
                  proper U35(X1, X2) -> U35(proper X1, proper X2),
                        proper U36 X -> U36 proper X,
                        proper U42 X -> U42 proper X,
                  proper U41(X1, X2) -> U41(proper X1, proper X2),
                        proper U51 X -> U51 proper X,
                        proper U62 X -> U62 proper X,
                  proper U61(X1, X2) -> U61(proper X1, proper X2),
                  proper U72(X1, X2) -> U72(proper X1, proper X2),
                  proper U71(X1, X2) -> U71(proper X1, proper X2),
              proper U82(X1, X2, X3) -> U82(proper X1, proper X2, proper X3),
              proper U81(X1, X2, X3) -> U81(proper X1, proper X2, proper X3),
              proper U83(X1, X2, X3) -> U83(proper X1, proper X2, proper X3),
              proper U84(X1, X2, X3) -> U84(proper X1, proper X2, proper X3),
                          proper s X -> s proper X,
                        proper U92 X -> U92 proper X,
                  proper U91(X1, X2) -> U91(proper X1, proper X2),
                          proper 0() -> ok 0(),
                          top mark X -> top proper X,
                            top ok X -> top active X
      }
      Open
     
     
     
     
     SCC (2):
      Strict:
       { U72#(mark X1, X2) -> U72#(X1, X2),
        U72#(ok X1, ok X2) -> U72#(X1, X2)}
      Weak:
      {
               U102(mark X1, X2, X3) -> mark U102(X1, X2, X3),
           U102(ok X1, ok X2, ok X3) -> ok U102(X1, X2, X3),
                      isNatKind ok X -> ok isNatKind X,
             active U102(X1, X2, X3) -> U102(active X1, X2, X3),
             active U102(tt(), M, N) -> mark U103(isNat N, M, N),
       active isNatKind plus(V1, V2) -> mark U41(isNatKind V1, V2),
          active isNatKind x(V1, V2) -> mark U61(isNatKind V1, V2),
               active isNatKind s V1 -> mark U51 isNatKind V1,
                active isNatKind 0() -> mark tt(),
             active U101(X1, X2, X3) -> U101(active X1, X2, X3),
             active U101(tt(), M, N) -> mark U102(isNatKind M, M, N),
             active U103(X1, X2, X3) -> U103(active X1, X2, X3),
             active U103(tt(), M, N) -> mark U104(isNatKind N, M, N),
           active isNat plus(V1, V2) -> mark U11(isNatKind V1, V1, V2),
              active isNat x(V1, V2) -> mark U31(isNatKind V1, V1, V2),
                   active isNat s V1 -> mark U21(isNatKind V1, V1),
                    active isNat 0() -> mark tt(),
             active U104(X1, X2, X3) -> U104(active X1, X2, X3),
             active U104(tt(), M, N) -> mark plus(x(N, M), N),
                 active plus(N, s M) -> mark U81(isNat M, M, N),
                 active plus(N, 0()) -> mark U71(isNat N, N),
                 active plus(X1, X2) -> plus(X1, active X2),
                 active plus(X1, X2) -> plus(active X1, X2),
                    active x(N, s M) -> mark U101(isNat M, M, N),
                    active x(N, 0()) -> mark U91(isNat N, N),
                    active x(X1, X2) -> x(X1, active X2),
                    active x(X1, X2) -> x(active X1, X2),
              active U12(X1, X2, X3) -> U12(active X1, X2, X3),
            active U12(tt(), V1, V2) -> mark U13(isNatKind V2, V1, V2),
              active U11(X1, X2, X3) -> U11(active X1, X2, X3),
            active U11(tt(), V1, V2) -> mark U12(isNatKind V1, V1, V2),
              active U13(X1, X2, X3) -> U13(active X1, X2, X3),
            active U13(tt(), V1, V2) -> mark U14(isNatKind V2, V1, V2),
              active U14(X1, X2, X3) -> U14(active X1, X2, X3),
            active U14(tt(), V1, V2) -> mark U15(isNat V1, V2),
                  active U15(X1, X2) -> U15(active X1, X2),
                active U15(tt(), V2) -> mark U16 isNat V2,
                        active U16 X -> U16 active X,
                     active U16 tt() -> mark tt(),
                  active U22(X1, X2) -> U22(active X1, X2),
                active U22(tt(), V1) -> mark U23 isNat V1,
                  active U21(X1, X2) -> U21(active X1, X2),
                active U21(tt(), V1) -> mark U22(isNatKind V1, V1),
                        active U23 X -> U23 active X,
                     active U23 tt() -> mark tt(),
              active U32(X1, X2, X3) -> U32(active X1, X2, X3),
            active U32(tt(), V1, V2) -> mark U33(isNatKind V2, V1, V2),
              active U31(X1, X2, X3) -> U31(active X1, X2, X3),
            active U31(tt(), V1, V2) -> mark U32(isNatKind V1, V1, V2),
              active U33(X1, X2, X3) -> U33(active X1, X2, X3),
            active U33(tt(), V1, V2) -> mark U34(isNatKind V2, V1, V2),
              active U34(X1, X2, X3) -> U34(active X1, X2, X3),
            active U34(tt(), V1, V2) -> mark U35(isNat V1, V2),
                  active U35(X1, X2) -> U35(active X1, X2),
                active U35(tt(), V2) -> mark U36 isNat V2,
                        active U36 X -> U36 active X,
                     active U36 tt() -> mark tt(),
                        active U42 X -> U42 active X,
                     active U42 tt() -> mark tt(),
                  active U41(X1, X2) -> U41(active X1, X2),
                active U41(tt(), V2) -> mark U42 isNatKind V2,
                        active U51 X -> U51 active X,
                     active U51 tt() -> mark tt(),
                        active U62 X -> U62 active X,
                     active U62 tt() -> mark tt(),
                  active U61(X1, X2) -> U61(active X1, X2),
                active U61(tt(), V2) -> mark U62 isNatKind V2,
                  active U72(X1, X2) -> U72(active X1, X2),
                 active U72(tt(), N) -> mark N,
                  active U71(X1, X2) -> U71(active X1, X2),
                 active U71(tt(), N) -> mark U72(isNatKind N, N),
              active U82(X1, X2, X3) -> U82(active X1, X2, X3),
              active U82(tt(), M, N) -> mark U83(isNat N, M, N),
              active U81(X1, X2, X3) -> U81(active X1, X2, X3),
              active U81(tt(), M, N) -> mark U82(isNatKind M, M, N),
              active U83(X1, X2, X3) -> U83(active X1, X2, X3),
              active U83(tt(), M, N) -> mark U84(isNatKind N, M, N),
              active U84(X1, X2, X3) -> U84(active X1, X2, X3),
              active U84(tt(), M, N) -> mark s plus(N, M),
                          active s X -> s active X,
                        active U92 X -> U92 active X,
                     active U92 tt() -> mark 0(),
                  active U91(X1, X2) -> U91(active X1, X2),
                 active U91(tt(), N) -> mark U92 isNatKind N,
               U101(mark X1, X2, X3) -> mark U101(X1, X2, X3),
           U101(ok X1, ok X2, ok X3) -> ok U101(X1, X2, X3),
               U103(mark X1, X2, X3) -> mark U103(X1, X2, X3),
           U103(ok X1, ok X2, ok X3) -> ok U103(X1, X2, X3),
                          isNat ok X -> ok isNat X,
               U104(mark X1, X2, X3) -> mark U104(X1, X2, X3),
           U104(ok X1, ok X2, ok X3) -> ok U104(X1, X2, X3),
                   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),
                      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),
                U12(mark X1, X2, X3) -> mark U12(X1, X2, X3),
            U12(ok X1, ok X2, ok X3) -> ok U12(X1, X2, X3),
                U11(mark X1, X2, X3) -> mark U11(X1, X2, X3),
            U11(ok X1, ok X2, ok X3) -> ok U11(X1, X2, X3),
                U13(mark X1, X2, X3) -> mark U13(X1, X2, X3),
            U13(ok X1, ok X2, ok X3) -> ok U13(X1, X2, X3),
                U14(mark X1, X2, X3) -> mark U14(X1, X2, X3),
            U14(ok X1, ok X2, ok X3) -> ok U14(X1, X2, X3),
                    U15(mark X1, X2) -> mark U15(X1, X2),
                   U15(ok X1, ok X2) -> ok U15(X1, X2),
                          U16 mark X -> mark U16 X,
                            U16 ok X -> ok U16 X,
                    U22(mark X1, X2) -> mark U22(X1, X2),
                   U22(ok X1, ok X2) -> ok U22(X1, X2),
                    U21(mark X1, X2) -> mark U21(X1, X2),
                   U21(ok X1, ok X2) -> ok U21(X1, X2),
                          U23 mark X -> mark U23 X,
                            U23 ok X -> ok U23 X,
                U32(mark X1, X2, X3) -> mark U32(X1, X2, X3),
            U32(ok X1, ok X2, ok X3) -> ok U32(X1, X2, X3),
                U31(mark X1, X2, X3) -> mark U31(X1, X2, X3),
            U31(ok X1, ok X2, ok X3) -> ok U31(X1, X2, X3),
                U33(mark X1, X2, X3) -> mark U33(X1, X2, X3),
            U33(ok X1, ok X2, ok X3) -> ok U33(X1, X2, X3),
                U34(mark X1, X2, X3) -> mark U34(X1, X2, X3),
            U34(ok X1, ok X2, ok X3) -> ok U34(X1, X2, X3),
                    U35(mark X1, X2) -> mark U35(X1, X2),
                   U35(ok X1, ok X2) -> ok U35(X1, X2),
                          U36 mark X -> mark U36 X,
                            U36 ok X -> ok U36 X,
                          U42 mark X -> mark U42 X,
                            U42 ok X -> ok U42 X,
                    U41(mark X1, X2) -> mark U41(X1, X2),
                   U41(ok X1, ok X2) -> ok U41(X1, X2),
                          U51 mark X -> mark U51 X,
                            U51 ok X -> ok U51 X,
                          U62 mark X -> mark U62 X,
                            U62 ok X -> ok U62 X,
                    U61(mark X1, X2) -> mark U61(X1, X2),
                   U61(ok X1, ok X2) -> ok U61(X1, X2),
                    U72(mark X1, X2) -> mark U72(X1, X2),
                   U72(ok X1, ok X2) -> ok U72(X1, X2),
                    U71(mark X1, X2) -> mark U71(X1, X2),
                   U71(ok X1, ok X2) -> ok U71(X1, X2),
                U82(mark X1, X2, X3) -> mark U82(X1, X2, X3),
            U82(ok X1, ok X2, ok X3) -> ok U82(X1, X2, X3),
                U81(mark X1, X2, X3) -> mark U81(X1, X2, X3),
            U81(ok X1, ok X2, ok X3) -> ok U81(X1, X2, X3),
                U83(mark X1, X2, X3) -> mark U83(X1, X2, X3),
            U83(ok X1, ok X2, ok X3) -> ok U83(X1, X2, X3),
                U84(mark X1, X2, X3) -> mark U84(X1, X2, X3),
            U84(ok X1, ok X2, ok X3) -> ok U84(X1, X2, X3),
                            s mark X -> mark s X,
                              s ok X -> ok s X,
                          U92 mark X -> mark U92 X,
                            U92 ok X -> ok U92 X,
                    U91(mark X1, X2) -> mark U91(X1, X2),
                   U91(ok X1, ok X2) -> ok U91(X1, X2),
             proper U102(X1, X2, X3) -> U102(proper X1, proper X2, proper X3),
                  proper isNatKind X -> isNatKind proper X,
             proper U101(X1, X2, X3) -> U101(proper X1, proper X2, proper X3),
                         proper tt() -> ok tt(),
             proper U103(X1, X2, X3) -> U103(proper X1, proper X2, proper X3),
                      proper isNat X -> isNat proper X,
             proper U104(X1, X2, X3) -> U104(proper X1, proper X2, proper X3),
                 proper plus(X1, X2) -> plus(proper X1, proper X2),
                    proper x(X1, X2) -> x(proper X1, proper X2),
              proper U12(X1, X2, X3) -> U12(proper X1, proper X2, proper X3),
              proper U11(X1, X2, X3) -> U11(proper X1, proper X2, proper X3),
              proper U13(X1, X2, X3) -> U13(proper X1, proper X2, proper X3),
              proper U14(X1, X2, X3) -> U14(proper X1, proper X2, proper X3),
                  proper U15(X1, X2) -> U15(proper X1, proper X2),
                        proper U16 X -> U16 proper X,
                  proper U22(X1, X2) -> U22(proper X1, proper X2),
                  proper U21(X1, X2) -> U21(proper X1, proper X2),
                        proper U23 X -> U23 proper X,
              proper U32(X1, X2, X3) -> U32(proper X1, proper X2, proper X3),
              proper U31(X1, X2, X3) -> U31(proper X1, proper X2, proper X3),
              proper U33(X1, X2, X3) -> U33(proper X1, proper X2, proper X3),
              proper U34(X1, X2, X3) -> U34(proper X1, proper X2, proper X3),
                  proper U35(X1, X2) -> U35(proper X1, proper X2),
                        proper U36 X -> U36 proper X,
                        proper U42 X -> U42 proper X,
                  proper U41(X1, X2) -> U41(proper X1, proper X2),
                        proper U51 X -> U51 proper X,
                        proper U62 X -> U62 proper X,
                  proper U61(X1, X2) -> U61(proper X1, proper X2),
                  proper U72(X1, X2) -> U72(proper X1, proper X2),
                  proper U71(X1, X2) -> U71(proper X1, proper X2),
              proper U82(X1, X2, X3) -> U82(proper X1, proper X2, proper X3),
              proper U81(X1, X2, X3) -> U81(proper X1, proper X2, proper X3),
              proper U83(X1, X2, X3) -> U83(proper X1, proper X2, proper X3),
              proper U84(X1, X2, X3) -> U84(proper X1, proper X2, proper X3),
                          proper s X -> s proper X,
                        proper U92 X -> U92 proper X,
                  proper U91(X1, X2) -> U91(proper X1, proper X2),
                          proper 0() -> ok 0(),
                          top mark X -> top proper X,
                            top ok X -> top active X
      }
      Open
     
     
     
     
     SCC (2):
      Strict:
       {U62# mark X -> U62# X,
          U62# ok X -> U62# X}
      Weak:
      {
               U102(mark X1, X2, X3) -> mark U102(X1, X2, X3),
           U102(ok X1, ok X2, ok X3) -> ok U102(X1, X2, X3),
                      isNatKind ok X -> ok isNatKind X,
             active U102(X1, X2, X3) -> U102(active X1, X2, X3),
             active U102(tt(), M, N) -> mark U103(isNat N, M, N),
       active isNatKind plus(V1, V2) -> mark U41(isNatKind V1, V2),
          active isNatKind x(V1, V2) -> mark U61(isNatKind V1, V2),
               active isNatKind s V1 -> mark U51 isNatKind V1,
                active isNatKind 0() -> mark tt(),
             active U101(X1, X2, X3) -> U101(active X1, X2, X3),
             active U101(tt(), M, N) -> mark U102(isNatKind M, M, N),
             active U103(X1, X2, X3) -> U103(active X1, X2, X3),
             active U103(tt(), M, N) -> mark U104(isNatKind N, M, N),
           active isNat plus(V1, V2) -> mark U11(isNatKind V1, V1, V2),
              active isNat x(V1, V2) -> mark U31(isNatKind V1, V1, V2),
                   active isNat s V1 -> mark U21(isNatKind V1, V1),
                    active isNat 0() -> mark tt(),
             active U104(X1, X2, X3) -> U104(active X1, X2, X3),
             active U104(tt(), M, N) -> mark plus(x(N, M), N),
                 active plus(N, s M) -> mark U81(isNat M, M, N),
                 active plus(N, 0()) -> mark U71(isNat N, N),
                 active plus(X1, X2) -> plus(X1, active X2),
                 active plus(X1, X2) -> plus(active X1, X2),
                    active x(N, s M) -> mark U101(isNat M, M, N),
                    active x(N, 0()) -> mark U91(isNat N, N),
                    active x(X1, X2) -> x(X1, active X2),
                    active x(X1, X2) -> x(active X1, X2),
              active U12(X1, X2, X3) -> U12(active X1, X2, X3),
            active U12(tt(), V1, V2) -> mark U13(isNatKind V2, V1, V2),
              active U11(X1, X2, X3) -> U11(active X1, X2, X3),
            active U11(tt(), V1, V2) -> mark U12(isNatKind V1, V1, V2),
              active U13(X1, X2, X3) -> U13(active X1, X2, X3),
            active U13(tt(), V1, V2) -> mark U14(isNatKind V2, V1, V2),
              active U14(X1, X2, X3) -> U14(active X1, X2, X3),
            active U14(tt(), V1, V2) -> mark U15(isNat V1, V2),
                  active U15(X1, X2) -> U15(active X1, X2),
                active U15(tt(), V2) -> mark U16 isNat V2,
                        active U16 X -> U16 active X,
                     active U16 tt() -> mark tt(),
                  active U22(X1, X2) -> U22(active X1, X2),
                active U22(tt(), V1) -> mark U23 isNat V1,
                  active U21(X1, X2) -> U21(active X1, X2),
                active U21(tt(), V1) -> mark U22(isNatKind V1, V1),
                        active U23 X -> U23 active X,
                     active U23 tt() -> mark tt(),
              active U32(X1, X2, X3) -> U32(active X1, X2, X3),
            active U32(tt(), V1, V2) -> mark U33(isNatKind V2, V1, V2),
              active U31(X1, X2, X3) -> U31(active X1, X2, X3),
            active U31(tt(), V1, V2) -> mark U32(isNatKind V1, V1, V2),
              active U33(X1, X2, X3) -> U33(active X1, X2, X3),
            active U33(tt(), V1, V2) -> mark U34(isNatKind V2, V1, V2),
              active U34(X1, X2, X3) -> U34(active X1, X2, X3),
            active U34(tt(), V1, V2) -> mark U35(isNat V1, V2),
                  active U35(X1, X2) -> U35(active X1, X2),
                active U35(tt(), V2) -> mark U36 isNat V2,
                        active U36 X -> U36 active X,
                     active U36 tt() -> mark tt(),
                        active U42 X -> U42 active X,
                     active U42 tt() -> mark tt(),
                  active U41(X1, X2) -> U41(active X1, X2),
                active U41(tt(), V2) -> mark U42 isNatKind V2,
                        active U51 X -> U51 active X,
                     active U51 tt() -> mark tt(),
                        active U62 X -> U62 active X,
                     active U62 tt() -> mark tt(),
                  active U61(X1, X2) -> U61(active X1, X2),
                active U61(tt(), V2) -> mark U62 isNatKind V2,
                  active U72(X1, X2) -> U72(active X1, X2),
                 active U72(tt(), N) -> mark N,
                  active U71(X1, X2) -> U71(active X1, X2),
                 active U71(tt(), N) -> mark U72(isNatKind N, N),
              active U82(X1, X2, X3) -> U82(active X1, X2, X3),
              active U82(tt(), M, N) -> mark U83(isNat N, M, N),
              active U81(X1, X2, X3) -> U81(active X1, X2, X3),
              active U81(tt(), M, N) -> mark U82(isNatKind M, M, N),
              active U83(X1, X2, X3) -> U83(active X1, X2, X3),
              active U83(tt(), M, N) -> mark U84(isNatKind N, M, N),
              active U84(X1, X2, X3) -> U84(active X1, X2, X3),
              active U84(tt(), M, N) -> mark s plus(N, M),
                          active s X -> s active X,
                        active U92 X -> U92 active X,
                     active U92 tt() -> mark 0(),
                  active U91(X1, X2) -> U91(active X1, X2),
                 active U91(tt(), N) -> mark U92 isNatKind N,
               U101(mark X1, X2, X3) -> mark U101(X1, X2, X3),
           U101(ok X1, ok X2, ok X3) -> ok U101(X1, X2, X3),
               U103(mark X1, X2, X3) -> mark U103(X1, X2, X3),
           U103(ok X1, ok X2, ok X3) -> ok U103(X1, X2, X3),
                          isNat ok X -> ok isNat X,
               U104(mark X1, X2, X3) -> mark U104(X1, X2, X3),
           U104(ok X1, ok X2, ok X3) -> ok U104(X1, X2, X3),
                   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),
                      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),
                U12(mark X1, X2, X3) -> mark U12(X1, X2, X3),
            U12(ok X1, ok X2, ok X3) -> ok U12(X1, X2, X3),
                U11(mark X1, X2, X3) -> mark U11(X1, X2, X3),
            U11(ok X1, ok X2, ok X3) -> ok U11(X1, X2, X3),
                U13(mark X1, X2, X3) -> mark U13(X1, X2, X3),
            U13(ok X1, ok X2, ok X3) -> ok U13(X1, X2, X3),
                U14(mark X1, X2, X3) -> mark U14(X1, X2, X3),
            U14(ok X1, ok X2, ok X3) -> ok U14(X1, X2, X3),
                    U15(mark X1, X2) -> mark U15(X1, X2),
                   U15(ok X1, ok X2) -> ok U15(X1, X2),
                          U16 mark X -> mark U16 X,
                            U16 ok X -> ok U16 X,
                    U22(mark X1, X2) -> mark U22(X1, X2),
                   U22(ok X1, ok X2) -> ok U22(X1, X2),
                    U21(mark X1, X2) -> mark U21(X1, X2),
                   U21(ok X1, ok X2) -> ok U21(X1, X2),
                          U23 mark X -> mark U23 X,
                            U23 ok X -> ok U23 X,
                U32(mark X1, X2, X3) -> mark U32(X1, X2, X3),
            U32(ok X1, ok X2, ok X3) -> ok U32(X1, X2, X3),
                U31(mark X1, X2, X3) -> mark U31(X1, X2, X3),
            U31(ok X1, ok X2, ok X3) -> ok U31(X1, X2, X3),
                U33(mark X1, X2, X3) -> mark U33(X1, X2, X3),
            U33(ok X1, ok X2, ok X3) -> ok U33(X1, X2, X3),
                U34(mark X1, X2, X3) -> mark U34(X1, X2, X3),
            U34(ok X1, ok X2, ok X3) -> ok U34(X1, X2, X3),
                    U35(mark X1, X2) -> mark U35(X1, X2),
                   U35(ok X1, ok X2) -> ok U35(X1, X2),
                          U36 mark X -> mark U36 X,
                            U36 ok X -> ok U36 X,
                          U42 mark X -> mark U42 X,
                            U42 ok X -> ok U42 X,
                    U41(mark X1, X2) -> mark U41(X1, X2),
                   U41(ok X1, ok X2) -> ok U41(X1, X2),
                          U51 mark X -> mark U51 X,
                            U51 ok X -> ok U51 X,
                          U62 mark X -> mark U62 X,
                            U62 ok X -> ok U62 X,
                    U61(mark X1, X2) -> mark U61(X1, X2),
                   U61(ok X1, ok X2) -> ok U61(X1, X2),
                    U72(mark X1, X2) -> mark U72(X1, X2),
                   U72(ok X1, ok X2) -> ok U72(X1, X2),
                    U71(mark X1, X2) -> mark U71(X1, X2),
                   U71(ok X1, ok X2) -> ok U71(X1, X2),
                U82(mark X1, X2, X3) -> mark U82(X1, X2, X3),
            U82(ok X1, ok X2, ok X3) -> ok U82(X1, X2, X3),
                U81(mark X1, X2, X3) -> mark U81(X1, X2, X3),
            U81(ok X1, ok X2, ok X3) -> ok U81(X1, X2, X3),
                U83(mark X1, X2, X3) -> mark U83(X1, X2, X3),
            U83(ok X1, ok X2, ok X3) -> ok U83(X1, X2, X3),
                U84(mark X1, X2, X3) -> mark U84(X1, X2, X3),
            U84(ok X1, ok X2, ok X3) -> ok U84(X1, X2, X3),
                            s mark X -> mark s X,
                              s ok X -> ok s X,
                          U92 mark X -> mark U92 X,
                            U92 ok X -> ok U92 X,
                    U91(mark X1, X2) -> mark U91(X1, X2),
                   U91(ok X1, ok X2) -> ok U91(X1, X2),
             proper U102(X1, X2, X3) -> U102(proper X1, proper X2, proper X3),
                  proper isNatKind X -> isNatKind proper X,
             proper U101(X1, X2, X3) -> U101(proper X1, proper X2, proper X3),
                         proper tt() -> ok tt(),
             proper U103(X1, X2, X3) -> U103(proper X1, proper X2, proper X3),
                      proper isNat X -> isNat proper X,
             proper U104(X1, X2, X3) -> U104(proper X1, proper X2, proper X3),
                 proper plus(X1, X2) -> plus(proper X1, proper X2),
                    proper x(X1, X2) -> x(proper X1, proper X2),
              proper U12(X1, X2, X3) -> U12(proper X1, proper X2, proper X3),
              proper U11(X1, X2, X3) -> U11(proper X1, proper X2, proper X3),
              proper U13(X1, X2, X3) -> U13(proper X1, proper X2, proper X3),
              proper U14(X1, X2, X3) -> U14(proper X1, proper X2, proper X3),
                  proper U15(X1, X2) -> U15(proper X1, proper X2),
                        proper U16 X -> U16 proper X,
                  proper U22(X1, X2) -> U22(proper X1, proper X2),
                  proper U21(X1, X2) -> U21(proper X1, proper X2),
                        proper U23 X -> U23 proper X,
              proper U32(X1, X2, X3) -> U32(proper X1, proper X2, proper X3),
              proper U31(X1, X2, X3) -> U31(proper X1, proper X2, proper X3),
              proper U33(X1, X2, X3) -> U33(proper X1, proper X2, proper X3),
              proper U34(X1, X2, X3) -> U34(proper X1, proper X2, proper X3),
                  proper U35(X1, X2) -> U35(proper X1, proper X2),
                        proper U36 X -> U36 proper X,
                        proper U42 X -> U42 proper X,
                  proper U41(X1, X2) -> U41(proper X1, proper X2),
                        proper U51 X -> U51 proper X,
                        proper U62 X -> U62 proper X,
                  proper U61(X1, X2) -> U61(proper X1, proper X2),
                  proper U72(X1, X2) -> U72(proper X1, proper X2),
                  proper U71(X1, X2) -> U71(proper X1, proper X2),
              proper U82(X1, X2, X3) -> U82(proper X1, proper X2, proper X3),
              proper U81(X1, X2, X3) -> U81(proper X1, proper X2, proper X3),
              proper U83(X1, X2, X3) -> U83(proper X1, proper X2, proper X3),
              proper U84(X1, X2, X3) -> U84(proper X1, proper X2, proper X3),
                          proper s X -> s proper X,
                        proper U92 X -> U92 proper X,
                  proper U91(X1, X2) -> U91(proper X1, proper X2),
                          proper 0() -> ok 0(),
                          top mark X -> top proper X,
                            top ok X -> top active X
      }
      Open
     
     
     
     
     
     SCC (2):
      Strict:
       {U42# mark X -> U42# X,
          U42# ok X -> U42# X}
      Weak:
      {
               U102(mark X1, X2, X3) -> mark U102(X1, X2, X3),
           U102(ok X1, ok X2, ok X3) -> ok U102(X1, X2, X3),
                      isNatKind ok X -> ok isNatKind X,
             active U102(X1, X2, X3) -> U102(active X1, X2, X3),
             active U102(tt(), M, N) -> mark U103(isNat N, M, N),
       active isNatKind plus(V1, V2) -> mark U41(isNatKind V1, V2),
          active isNatKind x(V1, V2) -> mark U61(isNatKind V1, V2),
               active isNatKind s V1 -> mark U51 isNatKind V1,
                active isNatKind 0() -> mark tt(),
             active U101(X1, X2, X3) -> U101(active X1, X2, X3),
             active U101(tt(), M, N) -> mark U102(isNatKind M, M, N),
             active U103(X1, X2, X3) -> U103(active X1, X2, X3),
             active U103(tt(), M, N) -> mark U104(isNatKind N, M, N),
           active isNat plus(V1, V2) -> mark U11(isNatKind V1, V1, V2),
              active isNat x(V1, V2) -> mark U31(isNatKind V1, V1, V2),
                   active isNat s V1 -> mark U21(isNatKind V1, V1),
                    active isNat 0() -> mark tt(),
             active U104(X1, X2, X3) -> U104(active X1, X2, X3),
             active U104(tt(), M, N) -> mark plus(x(N, M), N),
                 active plus(N, s M) -> mark U81(isNat M, M, N),
                 active plus(N, 0()) -> mark U71(isNat N, N),
                 active plus(X1, X2) -> plus(X1, active X2),
                 active plus(X1, X2) -> plus(active X1, X2),
                    active x(N, s M) -> mark U101(isNat M, M, N),
                    active x(N, 0()) -> mark U91(isNat N, N),
                    active x(X1, X2) -> x(X1, active X2),
                    active x(X1, X2) -> x(active X1, X2),
              active U12(X1, X2, X3) -> U12(active X1, X2, X3),
            active U12(tt(), V1, V2) -> mark U13(isNatKind V2, V1, V2),
              active U11(X1, X2, X3) -> U11(active X1, X2, X3),
            active U11(tt(), V1, V2) -> mark U12(isNatKind V1, V1, V2),
              active U13(X1, X2, X3) -> U13(active X1, X2, X3),
            active U13(tt(), V1, V2) -> mark U14(isNatKind V2, V1, V2),
              active U14(X1, X2, X3) -> U14(active X1, X2, X3),
            active U14(tt(), V1, V2) -> mark U15(isNat V1, V2),
                  active U15(X1, X2) -> U15(active X1, X2),
                active U15(tt(), V2) -> mark U16 isNat V2,
                        active U16 X -> U16 active X,
                     active U16 tt() -> mark tt(),
                  active U22(X1, X2) -> U22(active X1, X2),
                active U22(tt(), V1) -> mark U23 isNat V1,
                  active U21(X1, X2) -> U21(active X1, X2),
                active U21(tt(), V1) -> mark U22(isNatKind V1, V1),
                        active U23 X -> U23 active X,
                     active U23 tt() -> mark tt(),
              active U32(X1, X2, X3) -> U32(active X1, X2, X3),
            active U32(tt(), V1, V2) -> mark U33(isNatKind V2, V1, V2),
              active U31(X1, X2, X3) -> U31(active X1, X2, X3),
            active U31(tt(), V1, V2) -> mark U32(isNatKind V1, V1, V2),
              active U33(X1, X2, X3) -> U33(active X1, X2, X3),
            active U33(tt(), V1, V2) -> mark U34(isNatKind V2, V1, V2),
              active U34(X1, X2, X3) -> U34(active X1, X2, X3),
            active U34(tt(), V1, V2) -> mark U35(isNat V1, V2),
                  active U35(X1, X2) -> U35(active X1, X2),
                active U35(tt(), V2) -> mark U36 isNat V2,
                        active U36 X -> U36 active X,
                     active U36 tt() -> mark tt(),
                        active U42 X -> U42 active X,
                     active U42 tt() -> mark tt(),
                  active U41(X1, X2) -> U41(active X1, X2),
                active U41(tt(), V2) -> mark U42 isNatKind V2,
                        active U51 X -> U51 active X,
                     active U51 tt() -> mark tt(),
                        active U62 X -> U62 active X,
                     active U62 tt() -> mark tt(),
                  active U61(X1, X2) -> U61(active X1, X2),
                active U61(tt(), V2) -> mark U62 isNatKind V2,
                  active U72(X1, X2) -> U72(active X1, X2),
                 active U72(tt(), N) -> mark N,
                  active U71(X1, X2) -> U71(active X1, X2),
                 active U71(tt(), N) -> mark U72(isNatKind N, N),
              active U82(X1, X2, X3) -> U82(active X1, X2, X3),
              active U82(tt(), M, N) -> mark U83(isNat N, M, N),
              active U81(X1, X2, X3) -> U81(active X1, X2, X3),
              active U81(tt(), M, N) -> mark U82(isNatKind M, M, N),
              active U83(X1, X2, X3) -> U83(active X1, X2, X3),
              active U83(tt(), M, N) -> mark U84(isNatKind N, M, N),
              active U84(X1, X2, X3) -> U84(active X1, X2, X3),
              active U84(tt(), M, N) -> mark s plus(N, M),
                          active s X -> s active X,
                        active U92 X -> U92 active X,
                     active U92 tt() -> mark 0(),
                  active U91(X1, X2) -> U91(active X1, X2),
                 active U91(tt(), N) -> mark U92 isNatKind N,
               U101(mark X1, X2, X3) -> mark U101(X1, X2, X3),
           U101(ok X1, ok X2, ok X3) -> ok U101(X1, X2, X3),
               U103(mark X1, X2, X3) -> mark U103(X1, X2, X3),
           U103(ok X1, ok X2, ok X3) -> ok U103(X1, X2, X3),
                          isNat ok X -> ok isNat X,
               U104(mark X1, X2, X3) -> mark U104(X1, X2, X3),
           U104(ok X1, ok X2, ok X3) -> ok U104(X1, X2, X3),
                   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),
                      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),
                U12(mark X1, X2, X3) -> mark U12(X1, X2, X3),
            U12(ok X1, ok X2, ok X3) -> ok U12(X1, X2, X3),
                U11(mark X1, X2, X3) -> mark U11(X1, X2, X3),
            U11(ok X1, ok X2, ok X3) -> ok U11(X1, X2, X3),
                U13(mark X1, X2, X3) -> mark U13(X1, X2, X3),
            U13(ok X1, ok X2, ok X3) -> ok U13(X1, X2, X3),
                U14(mark X1, X2, X3) -> mark U14(X1, X2, X3),
            U14(ok X1, ok X2, ok X3) -> ok U14(X1, X2, X3),
                    U15(mark X1, X2) -> mark U15(X1, X2),
                   U15(ok X1, ok X2) -> ok U15(X1, X2),
                          U16 mark X -> mark U16 X,
                            U16 ok X -> ok U16 X,
                    U22(mark X1, X2) -> mark U22(X1, X2),
                   U22(ok X1, ok X2) -> ok U22(X1, X2),
                    U21(mark X1, X2) -> mark U21(X1, X2),
                   U21(ok X1, ok X2) -> ok U21(X1, X2),
                          U23 mark X -> mark U23 X,
                            U23 ok X -> ok U23 X,
                U32(mark X1, X2, X3) -> mark U32(X1, X2, X3),
            U32(ok X1, ok X2, ok X3) -> ok U32(X1, X2, X3),
                U31(mark X1, X2, X3) -> mark U31(X1, X2, X3),
            U31(ok X1, ok X2, ok X3) -> ok U31(X1, X2, X3),
                U33(mark X1, X2, X3) -> mark U33(X1, X2, X3),
            U33(ok X1, ok X2, ok X3) -> ok U33(X1, X2, X3),
                U34(mark X1, X2, X3) -> mark U34(X1, X2, X3),
            U34(ok X1, ok X2, ok X3) -> ok U34(X1, X2, X3),
                    U35(mark X1, X2) -> mark U35(X1, X2),
                   U35(ok X1, ok X2) -> ok U35(X1, X2),
                          U36 mark X -> mark U36 X,
                            U36 ok X -> ok U36 X,
                          U42 mark X -> mark U42 X,
                            U42 ok X -> ok U42 X,
                    U41(mark X1, X2) -> mark U41(X1, X2),
                   U41(ok X1, ok X2) -> ok U41(X1, X2),
                          U51 mark X -> mark U51 X,
                            U51 ok X -> ok U51 X,
                          U62 mark X -> mark U62 X,
                            U62 ok X -> ok U62 X,
                    U61(mark X1, X2) -> mark U61(X1, X2),
                   U61(ok X1, ok X2) -> ok U61(X1, X2),
                    U72(mark X1, X2) -> mark U72(X1, X2),
                   U72(ok X1, ok X2) -> ok U72(X1, X2),
                    U71(mark X1, X2) -> mark U71(X1, X2),
                   U71(ok X1, ok X2) -> ok U71(X1, X2),
                U82(mark X1, X2, X3) -> mark U82(X1, X2, X3),
            U82(ok X1, ok X2, ok X3) -> ok U82(X1, X2, X3),
                U81(mark X1, X2, X3) -> mark U81(X1, X2, X3),
            U81(ok X1, ok X2, ok X3) -> ok U81(X1, X2, X3),
                U83(mark X1, X2, X3) -> mark U83(X1, X2, X3),
            U83(ok X1, ok X2, ok X3) -> ok U83(X1, X2, X3),
                U84(mark X1, X2, X3) -> mark U84(X1, X2, X3),
            U84(ok X1, ok X2, ok X3) -> ok U84(X1, X2, X3),
                            s mark X -> mark s X,
                              s ok X -> ok s X,
                          U92 mark X -> mark U92 X,
                            U92 ok X -> ok U92 X,
                    U91(mark X1, X2) -> mark U91(X1, X2),
                   U91(ok X1, ok X2) -> ok U91(X1, X2),
             proper U102(X1, X2, X3) -> U102(proper X1, proper X2, proper X3),
                  proper isNatKind X -> isNatKind proper X,
             proper U101(X1, X2, X3) -> U101(proper X1, proper X2, proper X3),
                         proper tt() -> ok tt(),
             proper U103(X1, X2, X3) -> U103(proper X1, proper X2, proper X3),
                      proper isNat X -> isNat proper X,
             proper U104(X1, X2, X3) -> U104(proper X1, proper X2, proper X3),
                 proper plus(X1, X2) -> plus(proper X1, proper X2),
                    proper x(X1, X2) -> x(proper X1, proper X2),
              proper U12(X1, X2, X3) -> U12(proper X1, proper X2, proper X3),
              proper U11(X1, X2, X3) -> U11(proper X1, proper X2, proper X3),
              proper U13(X1, X2, X3) -> U13(proper X1, proper X2, proper X3),
              proper U14(X1, X2, X3) -> U14(proper X1, proper X2, proper X3),
                  proper U15(X1, X2) -> U15(proper X1, proper X2),
                        proper U16 X -> U16 proper X,
                  proper U22(X1, X2) -> U22(proper X1, proper X2),
                  proper U21(X1, X2) -> U21(proper X1, proper X2),
                        proper U23 X -> U23 proper X,
              proper U32(X1, X2, X3) -> U32(proper X1, proper X2, proper X3),
              proper U31(X1, X2, X3) -> U31(proper X1, proper X2, proper X3),
              proper U33(X1, X2, X3) -> U33(proper X1, proper X2, proper X3),
              proper U34(X1, X2, X3) -> U34(proper X1, proper X2, proper X3),
                  proper U35(X1, X2) -> U35(proper X1, proper X2),
                        proper U36 X -> U36 proper X,
                        proper U42 X -> U42 proper X,
                  proper U41(X1, X2) -> U41(proper X1, proper X2),
                        proper U51 X -> U51 proper X,
                        proper U62 X -> U62 proper X,
                  proper U61(X1, X2) -> U61(proper X1, proper X2),
                  proper U72(X1, X2) -> U72(proper X1, proper X2),
                  proper U71(X1, X2) -> U71(proper X1, proper X2),
              proper U82(X1, X2, X3) -> U82(proper X1, proper X2, proper X3),
              proper U81(X1, X2, X3) -> U81(proper X1, proper X2, proper X3),
              proper U83(X1, X2, X3) -> U83(proper X1, proper X2, proper X3),
              proper U84(X1, X2, X3) -> U84(proper X1, proper X2, proper X3),
                          proper s X -> s proper X,
                        proper U92 X -> U92 proper X,
                  proper U91(X1, X2) -> U91(proper X1, proper X2),
                          proper 0() -> ok 0(),
                          top mark X -> top proper X,
                            top ok X -> top active X
      }
      Open
     
     
     SCC (2):
      Strict:
       {U36# mark X -> U36# X,
          U36# ok X -> U36# X}
      Weak:
      {
               U102(mark X1, X2, X3) -> mark U102(X1, X2, X3),
           U102(ok X1, ok X2, ok X3) -> ok U102(X1, X2, X3),
                      isNatKind ok X -> ok isNatKind X,
             active U102(X1, X2, X3) -> U102(active X1, X2, X3),
             active U102(tt(), M, N) -> mark U103(isNat N, M, N),
       active isNatKind plus(V1, V2) -> mark U41(isNatKind V1, V2),
          active isNatKind x(V1, V2) -> mark U61(isNatKind V1, V2),
               active isNatKind s V1 -> mark U51 isNatKind V1,
                active isNatKind 0() -> mark tt(),
             active U101(X1, X2, X3) -> U101(active X1, X2, X3),
             active U101(tt(), M, N) -> mark U102(isNatKind M, M, N),
             active U103(X1, X2, X3) -> U103(active X1, X2, X3),
             active U103(tt(), M, N) -> mark U104(isNatKind N, M, N),
           active isNat plus(V1, V2) -> mark U11(isNatKind V1, V1, V2),
              active isNat x(V1, V2) -> mark U31(isNatKind V1, V1, V2),
                   active isNat s V1 -> mark U21(isNatKind V1, V1),
                    active isNat 0() -> mark tt(),
             active U104(X1, X2, X3) -> U104(active X1, X2, X3),
             active U104(tt(), M, N) -> mark plus(x(N, M), N),
                 active plus(N, s M) -> mark U81(isNat M, M, N),
                 active plus(N, 0()) -> mark U71(isNat N, N),
                 active plus(X1, X2) -> plus(X1, active X2),
                 active plus(X1, X2) -> plus(active X1, X2),
                    active x(N, s M) -> mark U101(isNat M, M, N),
                    active x(N, 0()) -> mark U91(isNat N, N),
                    active x(X1, X2) -> x(X1, active X2),
                    active x(X1, X2) -> x(active X1, X2),
              active U12(X1, X2, X3) -> U12(active X1, X2, X3),
            active U12(tt(), V1, V2) -> mark U13(isNatKind V2, V1, V2),
              active U11(X1, X2, X3) -> U11(active X1, X2, X3),
            active U11(tt(), V1, V2) -> mark U12(isNatKind V1, V1, V2),
              active U13(X1, X2, X3) -> U13(active X1, X2, X3),
            active U13(tt(), V1, V2) -> mark U14(isNatKind V2, V1, V2),
              active U14(X1, X2, X3) -> U14(active X1, X2, X3),
            active U14(tt(), V1, V2) -> mark U15(isNat V1, V2),
                  active U15(X1, X2) -> U15(active X1, X2),
                active U15(tt(), V2) -> mark U16 isNat V2,
                        active U16 X -> U16 active X,
                     active U16 tt() -> mark tt(),
                  active U22(X1, X2) -> U22(active X1, X2),
                active U22(tt(), V1) -> mark U23 isNat V1,
                  active U21(X1, X2) -> U21(active X1, X2),
                active U21(tt(), V1) -> mark U22(isNatKind V1, V1),
                        active U23 X -> U23 active X,
                     active U23 tt() -> mark tt(),
              active U32(X1, X2, X3) -> U32(active X1, X2, X3),
            active U32(tt(), V1, V2) -> mark U33(isNatKind V2, V1, V2),
              active U31(X1, X2, X3) -> U31(active X1, X2, X3),
            active U31(tt(), V1, V2) -> mark U32(isNatKind V1, V1, V2),
              active U33(X1, X2, X3) -> U33(active X1, X2, X3),
            active U33(tt(), V1, V2) -> mark U34(isNatKind V2, V1, V2),
              active U34(X1, X2, X3) -> U34(active X1, X2, X3),
            active U34(tt(), V1, V2) -> mark U35(isNat V1, V2),
                  active U35(X1, X2) -> U35(active X1, X2),
                active U35(tt(), V2) -> mark U36 isNat V2,
                        active U36 X -> U36 active X,
                     active U36 tt() -> mark tt(),
                        active U42 X -> U42 active X,
                     active U42 tt() -> mark tt(),
                  active U41(X1, X2) -> U41(active X1, X2),
                active U41(tt(), V2) -> mark U42 isNatKind V2,
                        active U51 X -> U51 active X,
                     active U51 tt() -> mark tt(),
                        active U62 X -> U62 active X,
                     active U62 tt() -> mark tt(),
                  active U61(X1, X2) -> U61(active X1, X2),
                active U61(tt(), V2) -> mark U62 isNatKind V2,
                  active U72(X1, X2) -> U72(active X1, X2),
                 active U72(tt(), N) -> mark N,
                  active U71(X1, X2) -> U71(active X1, X2),
                 active U71(tt(), N) -> mark U72(isNatKind N, N),
              active U82(X1, X2, X3) -> U82(active X1, X2, X3),
              active U82(tt(), M, N) -> mark U83(isNat N, M, N),
              active U81(X1, X2, X3) -> U81(active X1, X2, X3),
              active U81(tt(), M, N) -> mark U82(isNatKind M, M, N),
              active U83(X1, X2, X3) -> U83(active X1, X2, X3),
              active U83(tt(), M, N) -> mark U84(isNatKind N, M, N),
              active U84(X1, X2, X3) -> U84(active X1, X2, X3),
              active U84(tt(), M, N) -> mark s plus(N, M),
                          active s X -> s active X,
                        active U92 X -> U92 active X,
                     active U92 tt() -> mark 0(),
                  active U91(X1, X2) -> U91(active X1, X2),
                 active U91(tt(), N) -> mark U92 isNatKind N,
               U101(mark X1, X2, X3) -> mark U101(X1, X2, X3),
           U101(ok X1, ok X2, ok X3) -> ok U101(X1, X2, X3),
               U103(mark X1, X2, X3) -> mark U103(X1, X2, X3),
           U103(ok X1, ok X2, ok X3) -> ok U103(X1, X2, X3),
                          isNat ok X -> ok isNat X,
               U104(mark X1, X2, X3) -> mark U104(X1, X2, X3),
           U104(ok X1, ok X2, ok X3) -> ok U104(X1, X2, X3),
                   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),
                      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),
                U12(mark X1, X2, X3) -> mark U12(X1, X2, X3),
            U12(ok X1, ok X2, ok X3) -> ok U12(X1, X2, X3),
                U11(mark X1, X2, X3) -> mark U11(X1, X2, X3),
            U11(ok X1, ok X2, ok X3) -> ok U11(X1, X2, X3),
                U13(mark X1, X2, X3) -> mark U13(X1, X2, X3),
            U13(ok X1, ok X2, ok X3) -> ok U13(X1, X2, X3),
                U14(mark X1, X2, X3) -> mark U14(X1, X2, X3),
            U14(ok X1, ok X2, ok X3) -> ok U14(X1, X2, X3),
                    U15(mark X1, X2) -> mark U15(X1, X2),
                   U15(ok X1, ok X2) -> ok U15(X1, X2),
                          U16 mark X -> mark U16 X,
                            U16 ok X -> ok U16 X,
                    U22(mark X1, X2) -> mark U22(X1, X2),
                   U22(ok X1, ok X2) -> ok U22(X1, X2),
                    U21(mark X1, X2) -> mark U21(X1, X2),
                   U21(ok X1, ok X2) -> ok U21(X1, X2),
                          U23 mark X -> mark U23 X,
                            U23 ok X -> ok U23 X,
                U32(mark X1, X2, X3) -> mark U32(X1, X2, X3),
            U32(ok X1, ok X2, ok X3) -> ok U32(X1, X2, X3),
                U31(mark X1, X2, X3) -> mark U31(X1, X2, X3),
            U31(ok X1, ok X2, ok X3) -> ok U31(X1, X2, X3),
                U33(mark X1, X2, X3) -> mark U33(X1, X2, X3),
            U33(ok X1, ok X2, ok X3) -> ok U33(X1, X2, X3),
                U34(mark X1, X2, X3) -> mark U34(X1, X2, X3),
            U34(ok X1, ok X2, ok X3) -> ok U34(X1, X2, X3),
                    U35(mark X1, X2) -> mark U35(X1, X2),
                   U35(ok X1, ok X2) -> ok U35(X1, X2),
                          U36 mark X -> mark U36 X,
                            U36 ok X -> ok U36 X,
                          U42 mark X -> mark U42 X,
                            U42 ok X -> ok U42 X,
                    U41(mark X1, X2) -> mark U41(X1, X2),
                   U41(ok X1, ok X2) -> ok U41(X1, X2),
                          U51 mark X -> mark U51 X,
                            U51 ok X -> ok U51 X,
                          U62 mark X -> mark U62 X,
                            U62 ok X -> ok U62 X,
                    U61(mark X1, X2) -> mark U61(X1, X2),
                   U61(ok X1, ok X2) -> ok U61(X1, X2),
                    U72(mark X1, X2) -> mark U72(X1, X2),
                   U72(ok X1, ok X2) -> ok U72(X1, X2),
                    U71(mark X1, X2) -> mark U71(X1, X2),
                   U71(ok X1, ok X2) -> ok U71(X1, X2),
                U82(mark X1, X2, X3) -> mark U82(X1, X2, X3),
            U82(ok X1, ok X2, ok X3) -> ok U82(X1, X2, X3),
                U81(mark X1, X2, X3) -> mark U81(X1, X2, X3),
            U81(ok X1, ok X2, ok X3) -> ok U81(X1, X2, X3),
                U83(mark X1, X2, X3) -> mark U83(X1, X2, X3),
            U83(ok X1, ok X2, ok X3) -> ok U83(X1, X2, X3),
                U84(mark X1, X2, X3) -> mark U84(X1, X2, X3),
            U84(ok X1, ok X2, ok X3) -> ok U84(X1, X2, X3),
                            s mark X -> mark s X,
                              s ok X -> ok s X,
                          U92 mark X -> mark U92 X,
                            U92 ok X -> ok U92 X,
                    U91(mark X1, X2) -> mark U91(X1, X2),
                   U91(ok X1, ok X2) -> ok U91(X1, X2),
             proper U102(X1, X2, X3) -> U102(proper X1, proper X2, proper X3),
                  proper isNatKind X -> isNatKind proper X,
             proper U101(X1, X2, X3) -> U101(proper X1, proper X2, proper X3),
                         proper tt() -> ok tt(),
             proper U103(X1, X2, X3) -> U103(proper X1, proper X2, proper X3),
                      proper isNat X -> isNat proper X,
             proper U104(X1, X2, X3) -> U104(proper X1, proper X2, proper X3),
                 proper plus(X1, X2) -> plus(proper X1, proper X2),
                    proper x(X1, X2) -> x(proper X1, proper X2),
              proper U12(X1, X2, X3) -> U12(proper X1, proper X2, proper X3),
              proper U11(X1, X2, X3) -> U11(proper X1, proper X2, proper X3),
              proper U13(X1, X2, X3) -> U13(proper X1, proper X2, proper X3),
              proper U14(X1, X2, X3) -> U14(proper X1, proper X2, proper X3),
                  proper U15(X1, X2) -> U15(proper X1, proper X2),
                        proper U16 X -> U16 proper X,
                  proper U22(X1, X2) -> U22(proper X1, proper X2),
                  proper U21(X1, X2) -> U21(proper X1, proper X2),
                        proper U23 X -> U23 proper X,
              proper U32(X1, X2, X3) -> U32(proper X1, proper X2, proper X3),
              proper U31(X1, X2, X3) -> U31(proper X1, proper X2, proper X3),
              proper U33(X1, X2, X3) -> U33(proper X1, proper X2, proper X3),
              proper U34(X1, X2, X3) -> U34(proper X1, proper X2, proper X3),
                  proper U35(X1, X2) -> U35(proper X1, proper X2),
                        proper U36 X -> U36 proper X,
                        proper U42 X -> U42 proper X,
                  proper U41(X1, X2) -> U41(proper X1, proper X2),
                        proper U51 X -> U51 proper X,
                        proper U62 X -> U62 proper X,
                  proper U61(X1, X2) -> U61(proper X1, proper X2),
                  proper U72(X1, X2) -> U72(proper X1, proper X2),
                  proper U71(X1, X2) -> U71(proper X1, proper X2),
              proper U82(X1, X2, X3) -> U82(proper X1, proper X2, proper X3),
              proper U81(X1, X2, X3) -> U81(proper X1, proper X2, proper X3),
              proper U83(X1, X2, X3) -> U83(proper X1, proper X2, proper X3),
              proper U84(X1, X2, X3) -> U84(proper X1, proper X2, proper X3),
                          proper s X -> s proper X,
                        proper U92 X -> U92 proper X,
                  proper U91(X1, X2) -> U91(proper X1, proper X2),
                          proper 0() -> ok 0(),
                          top mark X -> top proper X,
                            top ok X -> top active X
      }
      Open
     
     
     
     SCC (2):
      Strict:
       { U35#(mark X1, X2) -> U35#(X1, X2),
        U35#(ok X1, ok X2) -> U35#(X1, X2)}
      Weak:
      {
               U102(mark X1, X2, X3) -> mark U102(X1, X2, X3),
           U102(ok X1, ok X2, ok X3) -> ok U102(X1, X2, X3),
                      isNatKind ok X -> ok isNatKind X,
             active U102(X1, X2, X3) -> U102(active X1, X2, X3),
             active U102(tt(), M, N) -> mark U103(isNat N, M, N),
       active isNatKind plus(V1, V2) -> mark U41(isNatKind V1, V2),
          active isNatKind x(V1, V2) -> mark U61(isNatKind V1, V2),
               active isNatKind s V1 -> mark U51 isNatKind V1,
                active isNatKind 0() -> mark tt(),
             active U101(X1, X2, X3) -> U101(active X1, X2, X3),
             active U101(tt(), M, N) -> mark U102(isNatKind M, M, N),
             active U103(X1, X2, X3) -> U103(active X1, X2, X3),
             active U103(tt(), M, N) -> mark U104(isNatKind N, M, N),
           active isNat plus(V1, V2) -> mark U11(isNatKind V1, V1, V2),
              active isNat x(V1, V2) -> mark U31(isNatKind V1, V1, V2),
                   active isNat s V1 -> mark U21(isNatKind V1, V1),
                    active isNat 0() -> mark tt(),
             active U104(X1, X2, X3) -> U104(active X1, X2, X3),
             active U104(tt(), M, N) -> mark plus(x(N, M), N),
                 active plus(N, s M) -> mark U81(isNat M, M, N),
                 active plus(N, 0()) -> mark U71(isNat N, N),
                 active plus(X1, X2) -> plus(X1, active X2),
                 active plus(X1, X2) -> plus(active X1, X2),
                    active x(N, s M) -> mark U101(isNat M, M, N),
                    active x(N, 0()) -> mark U91(isNat N, N),
                    active x(X1, X2) -> x(X1, active X2),
                    active x(X1, X2) -> x(active X1, X2),
              active U12(X1, X2, X3) -> U12(active X1, X2, X3),
            active U12(tt(), V1, V2) -> mark U13(isNatKind V2, V1, V2),
              active U11(X1, X2, X3) -> U11(active X1, X2, X3),
            active U11(tt(), V1, V2) -> mark U12(isNatKind V1, V1, V2),
              active U13(X1, X2, X3) -> U13(active X1, X2, X3),
            active U13(tt(), V1, V2) -> mark U14(isNatKind V2, V1, V2),
              active U14(X1, X2, X3) -> U14(active X1, X2, X3),
            active U14(tt(), V1, V2) -> mark U15(isNat V1, V2),
                  active U15(X1, X2) -> U15(active X1, X2),
                active U15(tt(), V2) -> mark U16 isNat V2,
                        active U16 X -> U16 active X,
                     active U16 tt() -> mark tt(),
                  active U22(X1, X2) -> U22(active X1, X2),
                active U22(tt(), V1) -> mark U23 isNat V1,
                  active U21(X1, X2) -> U21(active X1, X2),
                active U21(tt(), V1) -> mark U22(isNatKind V1, V1),
                        active U23 X -> U23 active X,
                     active U23 tt() -> mark tt(),
              active U32(X1, X2, X3) -> U32(active X1, X2, X3),
            active U32(tt(), V1, V2) -> mark U33(isNatKind V2, V1, V2),
              active U31(X1, X2, X3) -> U31(active X1, X2, X3),
            active U31(tt(), V1, V2) -> mark U32(isNatKind V1, V1, V2),
              active U33(X1, X2, X3) -> U33(active X1, X2, X3),
            active U33(tt(), V1, V2) -> mark U34(isNatKind V2, V1, V2),
              active U34(X1, X2, X3) -> U34(active X1, X2, X3),
            active U34(tt(), V1, V2) -> mark U35(isNat V1, V2),
                  active U35(X1, X2) -> U35(active X1, X2),
                active U35(tt(), V2) -> mark U36 isNat V2,
                        active U36 X -> U36 active X,
                     active U36 tt() -> mark tt(),
                        active U42 X -> U42 active X,
                     active U42 tt() -> mark tt(),
                  active U41(X1, X2) -> U41(active X1, X2),
                active U41(tt(), V2) -> mark U42 isNatKind V2,
                        active U51 X -> U51 active X,
                     active U51 tt() -> mark tt(),
                        active U62 X -> U62 active X,
                     active U62 tt() -> mark tt(),
                  active U61(X1, X2) -> U61(active X1, X2),
                active U61(tt(), V2) -> mark U62 isNatKind V2,
                  active U72(X1, X2) -> U72(active X1, X2),
                 active U72(tt(), N) -> mark N,
                  active U71(X1, X2) -> U71(active X1, X2),
                 active U71(tt(), N) -> mark U72(isNatKind N, N),
              active U82(X1, X2, X3) -> U82(active X1, X2, X3),
              active U82(tt(), M, N) -> mark U83(isNat N, M, N),
              active U81(X1, X2, X3) -> U81(active X1, X2, X3),
              active U81(tt(), M, N) -> mark U82(isNatKind M, M, N),
              active U83(X1, X2, X3) -> U83(active X1, X2, X3),
              active U83(tt(), M, N) -> mark U84(isNatKind N, M, N),
              active U84(X1, X2, X3) -> U84(active X1, X2, X3),
              active U84(tt(), M, N) -> mark s plus(N, M),
                          active s X -> s active X,
                        active U92 X -> U92 active X,
                     active U92 tt() -> mark 0(),
                  active U91(X1, X2) -> U91(active X1, X2),
                 active U91(tt(), N) -> mark U92 isNatKind N,
               U101(mark X1, X2, X3) -> mark U101(X1, X2, X3),
           U101(ok X1, ok X2, ok X3) -> ok U101(X1, X2, X3),
               U103(mark X1, X2, X3) -> mark U103(X1, X2, X3),
           U103(ok X1, ok X2, ok X3) -> ok U103(X1, X2, X3),
                          isNat ok X -> ok isNat X,
               U104(mark X1, X2, X3) -> mark U104(X1, X2, X3),
           U104(ok X1, ok X2, ok X3) -> ok U104(X1, X2, X3),
                   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),
                      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),
                U12(mark X1, X2, X3) -> mark U12(X1, X2, X3),
            U12(ok X1, ok X2, ok X3) -> ok U12(X1, X2, X3),
                U11(mark X1, X2, X3) -> mark U11(X1, X2, X3),
            U11(ok X1, ok X2, ok X3) -> ok U11(X1, X2, X3),
                U13(mark X1, X2, X3) -> mark U13(X1, X2, X3),
            U13(ok X1, ok X2, ok X3) -> ok U13(X1, X2, X3),
                U14(mark X1, X2, X3) -> mark U14(X1, X2, X3),
            U14(ok X1, ok X2, ok X3) -> ok U14(X1, X2, X3),
                    U15(mark X1, X2) -> mark U15(X1, X2),
                   U15(ok X1, ok X2) -> ok U15(X1, X2),
                          U16 mark X -> mark U16 X,
                            U16 ok X -> ok U16 X,
                    U22(mark X1, X2) -> mark U22(X1, X2),
                   U22(ok X1, ok X2) -> ok U22(X1, X2),
                    U21(mark X1, X2) -> mark U21(X1, X2),
                   U21(ok X1, ok X2) -> ok U21(X1, X2),
                          U23 mark X -> mark U23 X,
                            U23 ok X -> ok U23 X,
                U32(mark X1, X2, X3) -> mark U32(X1, X2, X3),
            U32(ok X1, ok X2, ok X3) -> ok U32(X1, X2, X3),
                U31(mark X1, X2, X3) -> mark U31(X1, X2, X3),
            U31(ok X1, ok X2, ok X3) -> ok U31(X1, X2, X3),
                U33(mark X1, X2, X3) -> mark U33(X1, X2, X3),
            U33(ok X1, ok X2, ok X3) -> ok U33(X1, X2, X3),
                U34(mark X1, X2, X3) -> mark U34(X1, X2, X3),
            U34(ok X1, ok X2, ok X3) -> ok U34(X1, X2, X3),
                    U35(mark X1, X2) -> mark U35(X1, X2),
                   U35(ok X1, ok X2) -> ok U35(X1, X2),
                          U36 mark X -> mark U36 X,
                            U36 ok X -> ok U36 X,
                          U42 mark X -> mark U42 X,
                            U42 ok X -> ok U42 X,
                    U41(mark X1, X2) -> mark U41(X1, X2),
                   U41(ok X1, ok X2) -> ok U41(X1, X2),
                          U51 mark X -> mark U51 X,
                            U51 ok X -> ok U51 X,
                          U62 mark X -> mark U62 X,
                            U62 ok X -> ok U62 X,
                    U61(mark X1, X2) -> mark U61(X1, X2),
                   U61(ok X1, ok X2) -> ok U61(X1, X2),
                    U72(mark X1, X2) -> mark U72(X1, X2),
                   U72(ok X1, ok X2) -> ok U72(X1, X2),
                    U71(mark X1, X2) -> mark U71(X1, X2),
                   U71(ok X1, ok X2) -> ok U71(X1, X2),
                U82(mark X1, X2, X3) -> mark U82(X1, X2, X3),
            U82(ok X1, ok X2, ok X3) -> ok U82(X1, X2, X3),
                U81(mark X1, X2, X3) -> mark U81(X1, X2, X3),
            U81(ok X1, ok X2, ok X3) -> ok U81(X1, X2, X3),
                U83(mark X1, X2, X3) -> mark U83(X1, X2, X3),
            U83(ok X1, ok X2, ok X3) -> ok U83(X1, X2, X3),
                U84(mark X1, X2, X3) -> mark U84(X1, X2, X3),
            U84(ok X1, ok X2, ok X3) -> ok U84(X1, X2, X3),
                            s mark X -> mark s X,
                              s ok X -> ok s X,
                          U92 mark X -> mark U92 X,
                            U92 ok X -> ok U92 X,
                    U91(mark X1, X2) -> mark U91(X1, X2),
                   U91(ok X1, ok X2) -> ok U91(X1, X2),
             proper U102(X1, X2, X3) -> U102(proper X1, proper X2, proper X3),
                  proper isNatKind X -> isNatKind proper X,
             proper U101(X1, X2, X3) -> U101(proper X1, proper X2, proper X3),
                         proper tt() -> ok tt(),
             proper U103(X1, X2, X3) -> U103(proper X1, proper X2, proper X3),
                      proper isNat X -> isNat proper X,
             proper U104(X1, X2, X3) -> U104(proper X1, proper X2, proper X3),
                 proper plus(X1, X2) -> plus(proper X1, proper X2),
                    proper x(X1, X2) -> x(proper X1, proper X2),
              proper U12(X1, X2, X3) -> U12(proper X1, proper X2, proper X3),
              proper U11(X1, X2, X3) -> U11(proper X1, proper X2, proper X3),
              proper U13(X1, X2, X3) -> U13(proper X1, proper X2, proper X3),
              proper U14(X1, X2, X3) -> U14(proper X1, proper X2, proper X3),
                  proper U15(X1, X2) -> U15(proper X1, proper X2),
                        proper U16 X -> U16 proper X,
                  proper U22(X1, X2) -> U22(proper X1, proper X2),
                  proper U21(X1, X2) -> U21(proper X1, proper X2),
                        proper U23 X -> U23 proper X,
              proper U32(X1, X2, X3) -> U32(proper X1, proper X2, proper X3),
              proper U31(X1, X2, X3) -> U31(proper X1, proper X2, proper X3),
              proper U33(X1, X2, X3) -> U33(proper X1, proper X2, proper X3),
              proper U34(X1, X2, X3) -> U34(proper X1, proper X2, proper X3),
                  proper U35(X1, X2) -> U35(proper X1, proper X2),
                        proper U36 X -> U36 proper X,
                        proper U42 X -> U42 proper X,
                  proper U41(X1, X2) -> U41(proper X1, proper X2),
                        proper U51 X -> U51 proper X,
                        proper U62 X -> U62 proper X,
                  proper U61(X1, X2) -> U61(proper X1, proper X2),
                  proper U72(X1, X2) -> U72(proper X1, proper X2),
                  proper U71(X1, X2) -> U71(proper X1, proper X2),
              proper U82(X1, X2, X3) -> U82(proper X1, proper X2, proper X3),
              proper U81(X1, X2, X3) -> U81(proper X1, proper X2, proper X3),
              proper U83(X1, X2, X3) -> U83(proper X1, proper X2, proper X3),
              proper U84(X1, X2, X3) -> U84(proper X1, proper X2, proper X3),
                          proper s X -> s proper X,
                        proper U92 X -> U92 proper X,
                  proper U91(X1, X2) -> U91(proper X1, proper X2),
                          proper 0() -> ok 0(),
                          top mark X -> top proper X,
                            top ok X -> top active X
      }
      Open
     
     
     
     SCC (2):
      Strict:
       {    U34#(mark X1, X2, X3) -> U34#(X1, X2, X3),
        U34#(ok X1, ok X2, ok X3) -> U34#(X1, X2, X3)}
      Weak:
      {
               U102(mark X1, X2, X3) -> mark U102(X1, X2, X3),
           U102(ok X1, ok X2, ok X3) -> ok U102(X1, X2, X3),
                      isNatKind ok X -> ok isNatKind X,
             active U102(X1, X2, X3) -> U102(active X1, X2, X3),
             active U102(tt(), M, N) -> mark U103(isNat N, M, N),
       active isNatKind plus(V1, V2) -> mark U41(isNatKind V1, V2),
          active isNatKind x(V1, V2) -> mark U61(isNatKind V1, V2),
               active isNatKind s V1 -> mark U51 isNatKind V1,
                active isNatKind 0() -> mark tt(),
             active U101(X1, X2, X3) -> U101(active X1, X2, X3),
             active U101(tt(), M, N) -> mark U102(isNatKind M, M, N),
             active U103(X1, X2, X3) -> U103(active X1, X2, X3),
             active U103(tt(), M, N) -> mark U104(isNatKind N, M, N),
           active isNat plus(V1, V2) -> mark U11(isNatKind V1, V1, V2),
              active isNat x(V1, V2) -> mark U31(isNatKind V1, V1, V2),
                   active isNat s V1 -> mark U21(isNatKind V1, V1),
                    active isNat 0() -> mark tt(),
             active U104(X1, X2, X3) -> U104(active X1, X2, X3),
             active U104(tt(), M, N) -> mark plus(x(N, M), N),
                 active plus(N, s M) -> mark U81(isNat M, M, N),
                 active plus(N, 0()) -> mark U71(isNat N, N),
                 active plus(X1, X2) -> plus(X1, active X2),
                 active plus(X1, X2) -> plus(active X1, X2),
                    active x(N, s M) -> mark U101(isNat M, M, N),
                    active x(N, 0()) -> mark U91(isNat N, N),
                    active x(X1, X2) -> x(X1, active X2),
                    active x(X1, X2) -> x(active X1, X2),
              active U12(X1, X2, X3) -> U12(active X1, X2, X3),
            active U12(tt(), V1, V2) -> mark U13(isNatKind V2, V1, V2),
              active U11(X1, X2, X3) -> U11(active X1, X2, X3),
            active U11(tt(), V1, V2) -> mark U12(isNatKind V1, V1, V2),
              active U13(X1, X2, X3) -> U13(active X1, X2, X3),
            active U13(tt(), V1, V2) -> mark U14(isNatKind V2, V1, V2),
              active U14(X1, X2, X3) -> U14(active X1, X2, X3),
            active U14(tt(), V1, V2) -> mark U15(isNat V1, V2),
                  active U15(X1, X2) -> U15(active X1, X2),
                active U15(tt(), V2) -> mark U16 isNat V2,
                        active U16 X -> U16 active X,
                     active U16 tt() -> mark tt(),
                  active U22(X1, X2) -> U22(active X1, X2),
                active U22(tt(), V1) -> mark U23 isNat V1,
                  active U21(X1, X2) -> U21(active X1, X2),
                active U21(tt(), V1) -> mark U22(isNatKind V1, V1),
                        active U23 X -> U23 active X,
                     active U23 tt() -> mark tt(),
              active U32(X1, X2, X3) -> U32(active X1, X2, X3),
            active U32(tt(), V1, V2) -> mark U33(isNatKind V2, V1, V2),
              active U31(X1, X2, X3) -> U31(active X1, X2, X3),
            active U31(tt(), V1, V2) -> mark U32(isNatKind V1, V1, V2),
              active U33(X1, X2, X3) -> U33(active X1, X2, X3),
            active U33(tt(), V1, V2) -> mark U34(isNatKind V2, V1, V2),
              active U34(X1, X2, X3) -> U34(active X1, X2, X3),
            active U34(tt(), V1, V2) -> mark U35(isNat V1, V2),
                  active U35(X1, X2) -> U35(active X1, X2),
                active U35(tt(), V2) -> mark U36 isNat V2,
                        active U36 X -> U36 active X,
                     active U36 tt() -> mark tt(),
                        active U42 X -> U42 active X,
                     active U42 tt() -> mark tt(),
                  active U41(X1, X2) -> U41(active X1, X2),
                active U41(tt(), V2) -> mark U42 isNatKind V2,
                        active U51 X -> U51 active X,
                     active U51 tt() -> mark tt(),
                        active U62 X -> U62 active X,
                     active U62 tt() -> mark tt(),
                  active U61(X1, X2) -> U61(active X1, X2),
                active U61(tt(), V2) -> mark U62 isNatKind V2,
                  active U72(X1, X2) -> U72(active X1, X2),
                 active U72(tt(), N) -> mark N,
                  active U71(X1, X2) -> U71(active X1, X2),
                 active U71(tt(), N) -> mark U72(isNatKind N, N),
              active U82(X1, X2, X3) -> U82(active X1, X2, X3),
              active U82(tt(), M, N) -> mark U83(isNat N, M, N),
              active U81(X1, X2, X3) -> U81(active X1, X2, X3),
              active U81(tt(), M, N) -> mark U82(isNatKind M, M, N),
              active U83(X1, X2, X3) -> U83(active X1, X2, X3),
              active U83(tt(), M, N) -> mark U84(isNatKind N, M, N),
              active U84(X1, X2, X3) -> U84(active X1, X2, X3),
              active U84(tt(), M, N) -> mark s plus(N, M),
                          active s X -> s active X,
                        active U92 X -> U92 active X,
                     active U92 tt() -> mark 0(),
                  active U91(X1, X2) -> U91(active X1, X2),
                 active U91(tt(), N) -> mark U92 isNatKind N,
               U101(mark X1, X2, X3) -> mark U101(X1, X2, X3),
           U101(ok X1, ok X2, ok X3) -> ok U101(X1, X2, X3),
               U103(mark X1, X2, X3) -> mark U103(X1, X2, X3),
           U103(ok X1, ok X2, ok X3) -> ok U103(X1, X2, X3),
                          isNat ok X -> ok isNat X,
               U104(mark X1, X2, X3) -> mark U104(X1, X2, X3),
           U104(ok X1, ok X2, ok X3) -> ok U104(X1, X2, X3),
                   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),
                      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),
                U12(mark X1, X2, X3) -> mark U12(X1, X2, X3),
            U12(ok X1, ok X2, ok X3) -> ok U12(X1, X2, X3),
                U11(mark X1, X2, X3) -> mark U11(X1, X2, X3),
            U11(ok X1, ok X2, ok X3) -> ok U11(X1, X2, X3),
                U13(mark X1, X2, X3) -> mark U13(X1, X2, X3),
            U13(ok X1, ok X2, ok X3) -> ok U13(X1, X2, X3),
                U14(mark X1, X2, X3) -> mark U14(X1, X2, X3),
            U14(ok X1, ok X2, ok X3) -> ok U14(X1, X2, X3),
                    U15(mark X1, X2) -> mark U15(X1, X2),
                   U15(ok X1, ok X2) -> ok U15(X1, X2),
                          U16 mark X -> mark U16 X,
                            U16 ok X -> ok U16 X,
                    U22(mark X1, X2) -> mark U22(X1, X2),
                   U22(ok X1, ok X2) -> ok U22(X1, X2),
                    U21(mark X1, X2) -> mark U21(X1, X2),
                   U21(ok X1, ok X2) -> ok U21(X1, X2),
                          U23 mark X -> mark U23 X,
                            U23 ok X -> ok U23 X,
                U32(mark X1, X2, X3) -> mark U32(X1, X2, X3),
            U32(ok X1, ok X2, ok X3) -> ok U32(X1, X2, X3),
                U31(mark X1, X2, X3) -> mark U31(X1, X2, X3),
            U31(ok X1, ok X2, ok X3) -> ok U31(X1, X2, X3),
                U33(mark X1, X2, X3) -> mark U33(X1, X2, X3),
            U33(ok X1, ok X2, ok X3) -> ok U33(X1, X2, X3),
                U34(mark X1, X2, X3) -> mark U34(X1, X2, X3),
            U34(ok X1, ok X2, ok X3) -> ok U34(X1, X2, X3),
                    U35(mark X1, X2) -> mark U35(X1, X2),
                   U35(ok X1, ok X2) -> ok U35(X1, X2),
                          U36 mark X -> mark U36 X,
                            U36 ok X -> ok U36 X,
                          U42 mark X -> mark U42 X,
                            U42 ok X -> ok U42 X,
                    U41(mark X1, X2) -> mark U41(X1, X2),
                   U41(ok X1, ok X2) -> ok U41(X1, X2),
                          U51 mark X -> mark U51 X,
                            U51 ok X -> ok U51 X,
                          U62 mark X -> mark U62 X,
                            U62 ok X -> ok U62 X,
                    U61(mark X1, X2) -> mark U61(X1, X2),
                   U61(ok X1, ok X2) -> ok U61(X1, X2),
                    U72(mark X1, X2) -> mark U72(X1, X2),
                   U72(ok X1, ok X2) -> ok U72(X1, X2),
                    U71(mark X1, X2) -> mark U71(X1, X2),
                   U71(ok X1, ok X2) -> ok U71(X1, X2),
                U82(mark X1, X2, X3) -> mark U82(X1, X2, X3),
            U82(ok X1, ok X2, ok X3) -> ok U82(X1, X2, X3),
                U81(mark X1, X2, X3) -> mark U81(X1, X2, X3),
            U81(ok X1, ok X2, ok X3) -> ok U81(X1, X2, X3),
                U83(mark X1, X2, X3) -> mark U83(X1, X2, X3),
            U83(ok X1, ok X2, ok X3) -> ok U83(X1, X2, X3),
                U84(mark X1, X2, X3) -> mark U84(X1, X2, X3),
            U84(ok X1, ok X2, ok X3) -> ok U84(X1, X2, X3),
                            s mark X -> mark s X,
                              s ok X -> ok s X,
                          U92 mark X -> mark U92 X,
                            U92 ok X -> ok U92 X,
                    U91(mark X1, X2) -> mark U91(X1, X2),
                   U91(ok X1, ok X2) -> ok U91(X1, X2),
             proper U102(X1, X2, X3) -> U102(proper X1, proper X2, proper X3),
                  proper isNatKind X -> isNatKind proper X,
             proper U101(X1, X2, X3) -> U101(proper X1, proper X2, proper X3),
                         proper tt() -> ok tt(),
             proper U103(X1, X2, X3) -> U103(proper X1, proper X2, proper X3),
                      proper isNat X -> isNat proper X,
             proper U104(X1, X2, X3) -> U104(proper X1, proper X2, proper X3),
                 proper plus(X1, X2) -> plus(proper X1, proper X2),
                    proper x(X1, X2) -> x(proper X1, proper X2),
              proper U12(X1, X2, X3) -> U12(proper X1, proper X2, proper X3),
              proper U11(X1, X2, X3) -> U11(proper X1, proper X2, proper X3),
              proper U13(X1, X2, X3) -> U13(proper X1, proper X2, proper X3),
              proper U14(X1, X2, X3) -> U14(proper X1, proper X2, proper X3),
                  proper U15(X1, X2) -> U15(proper X1, proper X2),
                        proper U16 X -> U16 proper X,
                  proper U22(X1, X2) -> U22(proper X1, proper X2),
                  proper U21(X1, X2) -> U21(proper X1, proper X2),
                        proper U23 X -> U23 proper X,
              proper U32(X1, X2, X3) -> U32(proper X1, proper X2, proper X3),
              proper U31(X1, X2, X3) -> U31(proper X1, proper X2, proper X3),
              proper U33(X1, X2, X3) -> U33(proper X1, proper X2, proper X3),
              proper U34(X1, X2, X3) -> U34(proper X1, proper X2, proper X3),
                  proper U35(X1, X2) -> U35(proper X1, proper X2),
                        proper U36 X -> U36 proper X,
                        proper U42 X -> U42 proper X,
                  proper U41(X1, X2) -> U41(proper X1, proper X2),
                        proper U51 X -> U51 proper X,
                        proper U62 X -> U62 proper X,
                  proper U61(X1, X2) -> U61(proper X1, proper X2),
                  proper U72(X1, X2) -> U72(proper X1, proper X2),
                  proper U71(X1, X2) -> U71(proper X1, proper X2),
              proper U82(X1, X2, X3) -> U82(proper X1, proper X2, proper X3),
              proper U81(X1, X2, X3) -> U81(proper X1, proper X2, proper X3),
              proper U83(X1, X2, X3) -> U83(proper X1, proper X2, proper X3),
              proper U84(X1, X2, X3) -> U84(proper X1, proper X2, proper X3),
                          proper s X -> s proper X,
                        proper U92 X -> U92 proper X,
                  proper U91(X1, X2) -> U91(proper X1, proper X2),
                          proper 0() -> ok 0(),
                          top mark X -> top proper X,
                            top ok X -> top active X
      }
      Open
     
     
     
     
     
     
     SCC (2):
      Strict:
       {    U33#(mark X1, X2, X3) -> U33#(X1, X2, X3),
        U33#(ok X1, ok X2, ok X3) -> U33#(X1, X2, X3)}
      Weak:
      {
               U102(mark X1, X2, X3) -> mark U102(X1, X2, X3),
           U102(ok X1, ok X2, ok X3) -> ok U102(X1, X2, X3),
                      isNatKind ok X -> ok isNatKind X,
             active U102(X1, X2, X3) -> U102(active X1, X2, X3),
             active U102(tt(), M, N) -> mark U103(isNat N, M, N),
       active isNatKind plus(V1, V2) -> mark U41(isNatKind V1, V2),
          active isNatKind x(V1, V2) -> mark U61(isNatKind V1, V2),
               active isNatKind s V1 -> mark U51 isNatKind V1,
                active isNatKind 0() -> mark tt(),
             active U101(X1, X2, X3) -> U101(active X1, X2, X3),
             active U101(tt(), M, N) -> mark U102(isNatKind M, M, N),
             active U103(X1, X2, X3) -> U103(active X1, X2, X3),
             active U103(tt(), M, N) -> mark U104(isNatKind N, M, N),
           active isNat plus(V1, V2) -> mark U11(isNatKind V1, V1, V2),
              active isNat x(V1, V2) -> mark U31(isNatKind V1, V1, V2),
                   active isNat s V1 -> mark U21(isNatKind V1, V1),
                    active isNat 0() -> mark tt(),
             active U104(X1, X2, X3) -> U104(active X1, X2, X3),
             active U104(tt(), M, N) -> mark plus(x(N, M), N),
                 active plus(N, s M) -> mark U81(isNat M, M, N),
                 active plus(N, 0()) -> mark U71(isNat N, N),
                 active plus(X1, X2) -> plus(X1, active X2),
                 active plus(X1, X2) -> plus(active X1, X2),
                    active x(N, s M) -> mark U101(isNat M, M, N),
                    active x(N, 0()) -> mark U91(isNat N, N),
                    active x(X1, X2) -> x(X1, active X2),
                    active x(X1, X2) -> x(active X1, X2),
              active U12(X1, X2, X3) -> U12(active X1, X2, X3),
            active U12(tt(), V1, V2) -> mark U13(isNatKind V2, V1, V2),
              active U11(X1, X2, X3) -> U11(active X1, X2, X3),
            active U11(tt(), V1, V2) -> mark U12(isNatKind V1, V1, V2),
              active U13(X1, X2, X3) -> U13(active X1, X2, X3),
            active U13(tt(), V1, V2) -> mark U14(isNatKind V2, V1, V2),
              active U14(X1, X2, X3) -> U14(active X1, X2, X3),
            active U14(tt(), V1, V2) -> mark U15(isNat V1, V2),
                  active U15(X1, X2) -> U15(active X1, X2),
                active U15(tt(), V2) -> mark U16 isNat V2,
                        active U16 X -> U16 active X,
                     active U16 tt() -> mark tt(),
                  active U22(X1, X2) -> U22(active X1, X2),
                active U22(tt(), V1) -> mark U23 isNat V1,
                  active U21(X1, X2) -> U21(active X1, X2),
                active U21(tt(), V1) -> mark U22(isNatKind V1, V1),
                        active U23 X -> U23 active X,
                     active U23 tt() -> mark tt(),
              active U32(X1, X2, X3) -> U32(active X1, X2, X3),
            active U32(tt(), V1, V2) -> mark U33(isNatKind V2, V1, V2),
              active U31(X1, X2, X3) -> U31(active X1, X2, X3),
            active U31(tt(), V1, V2) -> mark U32(isNatKind V1, V1, V2),
              active U33(X1, X2, X3) -> U33(active X1, X2, X3),
            active U33(tt(), V1, V2) -> mark U34(isNatKind V2, V1, V2),
              active U34(X1, X2, X3) -> U34(active X1, X2, X3),
            active U34(tt(), V1, V2) -> mark U35(isNat V1, V2),
                  active U35(X1, X2) -> U35(active X1, X2),
                active U35(tt(), V2) -> mark U36 isNat V2,
                        active U36 X -> U36 active X,
                     active U36 tt() -> mark tt(),
                        active U42 X -> U42 active X,
                     active U42 tt() -> mark tt(),
                  active U41(X1, X2) -> U41(active X1, X2),
                active U41(tt(), V2) -> mark U42 isNatKind V2,
                        active U51 X -> U51 active X,
                     active U51 tt() -> mark tt(),
                        active U62 X -> U62 active X,
                     active U62 tt() -> mark tt(),
                  active U61(X1, X2) -> U61(active X1, X2),
                active U61(tt(), V2) -> mark U62 isNatKind V2,
                  active U72(X1, X2) -> U72(active X1, X2),
                 active U72(tt(), N) -> mark N,
                  active U71(X1, X2) -> U71(active X1, X2),
                 active U71(tt(), N) -> mark U72(isNatKind N, N),
              active U82(X1, X2, X3) -> U82(active X1, X2, X3),
              active U82(tt(), M, N) -> mark U83(isNat N, M, N),
              active U81(X1, X2, X3) -> U81(active X1, X2, X3),
              active U81(tt(), M, N) -> mark U82(isNatKind M, M, N),
              active U83(X1, X2, X3) -> U83(active X1, X2, X3),
              active U83(tt(), M, N) -> mark U84(isNatKind N, M, N),
              active U84(X1, X2, X3) -> U84(active X1, X2, X3),
              active U84(tt(), M, N) -> mark s plus(N, M),
                          active s X -> s active X,
                        active U92 X -> U92 active X,
                     active U92 tt() -> mark 0(),
                  active U91(X1, X2) -> U91(active X1, X2),
                 active U91(tt(), N) -> mark U92 isNatKind N,
               U101(mark X1, X2, X3) -> mark U101(X1, X2, X3),
           U101(ok X1, ok X2, ok X3) -> ok U101(X1, X2, X3),
               U103(mark X1, X2, X3) -> mark U103(X1, X2, X3),
           U103(ok X1, ok X2, ok X3) -> ok U103(X1, X2, X3),
                          isNat ok X -> ok isNat X,
               U104(mark X1, X2, X3) -> mark U104(X1, X2, X3),
           U104(ok X1, ok X2, ok X3) -> ok U104(X1, X2, X3),
                   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),
                      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),
                U12(mark X1, X2, X3) -> mark U12(X1, X2, X3),
            U12(ok X1, ok X2, ok X3) -> ok U12(X1, X2, X3),
                U11(mark X1, X2, X3) -> mark U11(X1, X2, X3),
            U11(ok X1, ok X2, ok X3) -> ok U11(X1, X2, X3),
                U13(mark X1, X2, X3) -> mark U13(X1, X2, X3),
            U13(ok X1, ok X2, ok X3) -> ok U13(X1, X2, X3),
                U14(mark X1, X2, X3) -> mark U14(X1, X2, X3),
            U14(ok X1, ok X2, ok X3) -> ok U14(X1, X2, X3),
                    U15(mark X1, X2) -> mark U15(X1, X2),
                   U15(ok X1, ok X2) -> ok U15(X1, X2),
                          U16 mark X -> mark U16 X,
                            U16 ok X -> ok U16 X,
                    U22(mark X1, X2) -> mark U22(X1, X2),
                   U22(ok X1, ok X2) -> ok U22(X1, X2),
                    U21(mark X1, X2) -> mark U21(X1, X2),
                   U21(ok X1, ok X2) -> ok U21(X1, X2),
                          U23 mark X -> mark U23 X,
                            U23 ok X -> ok U23 X,
                U32(mark X1, X2, X3) -> mark U32(X1, X2, X3),
            U32(ok X1, ok X2, ok X3) -> ok U32(X1, X2, X3),
                U31(mark X1, X2, X3) -> mark U31(X1, X2, X3),
            U31(ok X1, ok X2, ok X3) -> ok U31(X1, X2, X3),
                U33(mark X1, X2, X3) -> mark U33(X1, X2, X3),
            U33(ok X1, ok X2, ok X3) -> ok U33(X1, X2, X3),
                U34(mark X1, X2, X3) -> mark U34(X1, X2, X3),
            U34(ok X1, ok X2, ok X3) -> ok U34(X1, X2, X3),
                    U35(mark X1, X2) -> mark U35(X1, X2),
                   U35(ok X1, ok X2) -> ok U35(X1, X2),
                          U36 mark X -> mark U36 X,
                            U36 ok X -> ok U36 X,
                          U42 mark X -> mark U42 X,
                            U42 ok X -> ok U42 X,
                    U41(mark X1, X2) -> mark U41(X1, X2),
                   U41(ok X1, ok X2) -> ok U41(X1, X2),
                          U51 mark X -> mark U51 X,
                            U51 ok X -> ok U51 X,
                          U62 mark X -> mark U62 X,
                            U62 ok X -> ok U62 X,
                    U61(mark X1, X2) -> mark U61(X1, X2),
                   U61(ok X1, ok X2) -> ok U61(X1, X2),
                    U72(mark X1, X2) -> mark U72(X1, X2),
                   U72(ok X1, ok X2) -> ok U72(X1, X2),
                    U71(mark X1, X2) -> mark U71(X1, X2),
                   U71(ok X1, ok X2) -> ok U71(X1, X2),
                U82(mark X1, X2, X3) -> mark U82(X1, X2, X3),
            U82(ok X1, ok X2, ok X3) -> ok U82(X1, X2, X3),
                U81(mark X1, X2, X3) -> mark U81(X1, X2, X3),
            U81(ok X1, ok X2, ok X3) -> ok U81(X1, X2, X3),
                U83(mark X1, X2, X3) -> mark U83(X1, X2, X3),
            U83(ok X1, ok X2, ok X3) -> ok U83(X1, X2, X3),
                U84(mark X1, X2, X3) -> mark U84(X1, X2, X3),
            U84(ok X1, ok X2, ok X3) -> ok U84(X1, X2, X3),
                            s mark X -> mark s X,
                              s ok X -> ok s X,
                          U92 mark X -> mark U92 X,
                            U92 ok X -> ok U92 X,
                    U91(mark X1, X2) -> mark U91(X1, X2),
                   U91(ok X1, ok X2) -> ok U91(X1, X2),
             proper U102(X1, X2, X3) -> U102(proper X1, proper X2, proper X3),
                  proper isNatKind X -> isNatKind proper X,
             proper U101(X1, X2, X3) -> U101(proper X1, proper X2, proper X3),
                         proper tt() -> ok tt(),
             proper U103(X1, X2, X3) -> U103(proper X1, proper X2, proper X3),
                      proper isNat X -> isNat proper X,
             proper U104(X1, X2, X3) -> U104(proper X1, proper X2, proper X3),
                 proper plus(X1, X2) -> plus(proper X1, proper X2),
                    proper x(X1, X2) -> x(proper X1, proper X2),
              proper U12(X1, X2, X3) -> U12(proper X1, proper X2, proper X3),
              proper U11(X1, X2, X3) -> U11(proper X1, proper X2, proper X3),
              proper U13(X1, X2, X3) -> U13(proper X1, proper X2, proper X3),
              proper U14(X1, X2, X3) -> U14(proper X1, proper X2, proper X3),
                  proper U15(X1, X2) -> U15(proper X1, proper X2),
                        proper U16 X -> U16 proper X,
                  proper U22(X1, X2) -> U22(proper X1, proper X2),
                  proper U21(X1, X2) -> U21(proper X1, proper X2),
                        proper U23 X -> U23 proper X,
              proper U32(X1, X2, X3) -> U32(proper X1, proper X2, proper X3),
              proper U31(X1, X2, X3) -> U31(proper X1, proper X2, proper X3),
              proper U33(X1, X2, X3) -> U33(proper X1, proper X2, proper X3),
              proper U34(X1, X2, X3) -> U34(proper X1, proper X2, proper X3),
                  proper U35(X1, X2) -> U35(proper X1, proper X2),
                        proper U36 X -> U36 proper X,
                        proper U42 X -> U42 proper X,
                  proper U41(X1, X2) -> U41(proper X1, proper X2),
                        proper U51 X -> U51 proper X,
                        proper U62 X -> U62 proper X,
                  proper U61(X1, X2) -> U61(proper X1, proper X2),
                  proper U72(X1, X2) -> U72(proper X1, proper X2),
                  proper U71(X1, X2) -> U71(proper X1, proper X2),
              proper U82(X1, X2, X3) -> U82(proper X1, proper X2, proper X3),
              proper U81(X1, X2, X3) -> U81(proper X1, proper X2, proper X3),
              proper U83(X1, X2, X3) -> U83(proper X1, proper X2, proper X3),
              proper U84(X1, X2, X3) -> U84(proper X1, proper X2, proper X3),
                          proper s X -> s proper X,
                        proper U92 X -> U92 proper X,
                  proper U91(X1, X2) -> U91(proper X1, proper X2),
                          proper 0() -> ok 0(),
                          top mark X -> top proper X,
                            top ok X -> top active X
      }
      Open
     
     
     SCC (2):
      Strict:
       {    U32#(mark X1, X2, X3) -> U32#(X1, X2, X3),
        U32#(ok X1, ok X2, ok X3) -> U32#(X1, X2, X3)}
      Weak:
      {
               U102(mark X1, X2, X3) -> mark U102(X1, X2, X3),
           U102(ok X1, ok X2, ok X3) -> ok U102(X1, X2, X3),
                      isNatKind ok X -> ok isNatKind X,
             active U102(X1, X2, X3) -> U102(active X1, X2, X3),
             active U102(tt(), M, N) -> mark U103(isNat N, M, N),
       active isNatKind plus(V1, V2) -> mark U41(isNatKind V1, V2),
          active isNatKind x(V1, V2) -> mark U61(isNatKind V1, V2),
               active isNatKind s V1 -> mark U51 isNatKind V1,
                active isNatKind 0() -> mark tt(),
             active U101(X1, X2, X3) -> U101(active X1, X2, X3),
             active U101(tt(), M, N) -> mark U102(isNatKind M, M, N),
             active U103(X1, X2, X3) -> U103(active X1, X2, X3),
             active U103(tt(), M, N) -> mark U104(isNatKind N, M, N),
           active isNat plus(V1, V2) -> mark U11(isNatKind V1, V1, V2),
              active isNat x(V1, V2) -> mark U31(isNatKind V1, V1, V2),
                   active isNat s V1 -> mark U21(isNatKind V1, V1),
                    active isNat 0() -> mark tt(),
             active U104(X1, X2, X3) -> U104(active X1, X2, X3),
             active U104(tt(), M, N) -> mark plus(x(N, M), N),
                 active plus(N, s M) -> mark U81(isNat M, M, N),
                 active plus(N, 0()) -> mark U71(isNat N, N),
                 active plus(X1, X2) -> plus(X1, active X2),
                 active plus(X1, X2) -> plus(active X1, X2),
                    active x(N, s M) -> mark U101(isNat M, M, N),
                    active x(N, 0()) -> mark U91(isNat N, N),
                    active x(X1, X2) -> x(X1, active X2),
                    active x(X1, X2) -> x(active X1, X2),
              active U12(X1, X2, X3) -> U12(active X1, X2, X3),
            active U12(tt(), V1, V2) -> mark U13(isNatKind V2, V1, V2),
              active U11(X1, X2, X3) -> U11(active X1, X2, X3),
            active U11(tt(), V1, V2) -> mark U12(isNatKind V1, V1, V2),
              active U13(X1, X2, X3) -> U13(active X1, X2, X3),
            active U13(tt(), V1, V2) -> mark U14(isNatKind V2, V1, V2),
              active U14(X1, X2, X3) -> U14(active X1, X2, X3),
            active U14(tt(), V1, V2) -> mark U15(isNat V1, V2),
                  active U15(X1, X2) -> U15(active X1, X2),
                active U15(tt(), V2) -> mark U16 isNat V2,
                        active U16 X -> U16 active X,
                     active U16 tt() -> mark tt(),
                  active U22(X1, X2) -> U22(active X1, X2),
                active U22(tt(), V1) -> mark U23 isNat V1,
                  active U21(X1, X2) -> U21(active X1, X2),
                active U21(tt(), V1) -> mark U22(isNatKind V1, V1),
                        active U23 X -> U23 active X,
                     active U23 tt() -> mark tt(),
              active U32(X1, X2, X3) -> U32(active X1, X2, X3),
            active U32(tt(), V1, V2) -> mark U33(isNatKind V2, V1, V2),
              active U31(X1, X2, X3) -> U31(active X1, X2, X3),
            active U31(tt(), V1, V2) -> mark U32(isNatKind V1, V1, V2),
              active U33(X1, X2, X3) -> U33(active X1, X2, X3),
            active U33(tt(), V1, V2) -> mark U34(isNatKind V2, V1, V2),
              active U34(X1, X2, X3) -> U34(active X1, X2, X3),
            active U34(tt(), V1, V2) -> mark U35(isNat V1, V2),
                  active U35(X1, X2) -> U35(active X1, X2),
                active U35(tt(), V2) -> mark U36 isNat V2,
                        active U36 X -> U36 active X,
                     active U36 tt() -> mark tt(),
                        active U42 X -> U42 active X,
                     active U42 tt() -> mark tt(),
                  active U41(X1, X2) -> U41(active X1, X2),
                active U41(tt(), V2) -> mark U42 isNatKind V2,
                        active U51 X -> U51 active X,
                     active U51 tt() -> mark tt(),
                        active U62 X -> U62 active X,
                     active U62 tt() -> mark tt(),
                  active U61(X1, X2) -> U61(active X1, X2),
                active U61(tt(), V2) -> mark U62 isNatKind V2,
                  active U72(X1, X2) -> U72(active X1, X2),
                 active U72(tt(), N) -> mark N,
                  active U71(X1, X2) -> U71(active X1, X2),
                 active U71(tt(), N) -> mark U72(isNatKind N, N),
              active U82(X1, X2, X3) -> U82(active X1, X2, X3),
              active U82(tt(), M, N) -> mark U83(isNat N, M, N),
              active U81(X1, X2, X3) -> U81(active X1, X2, X3),
              active U81(tt(), M, N) -> mark U82(isNatKind M, M, N),
              active U83(X1, X2, X3) -> U83(active X1, X2, X3),
              active U83(tt(), M, N) -> mark U84(isNatKind N, M, N),
              active U84(X1, X2, X3) -> U84(active X1, X2, X3),
              active U84(tt(), M, N) -> mark s plus(N, M),
                          active s X -> s active X,
                        active U92 X -> U92 active X,
                     active U92 tt() -> mark 0(),
                  active U91(X1, X2) -> U91(active X1, X2),
                 active U91(tt(), N) -> mark U92 isNatKind N,
               U101(mark X1, X2, X3) -> mark U101(X1, X2, X3),
           U101(ok X1, ok X2, ok X3) -> ok U101(X1, X2, X3),
               U103(mark X1, X2, X3) -> mark U103(X1, X2, X3),
           U103(ok X1, ok X2, ok X3) -> ok U103(X1, X2, X3),
                          isNat ok X -> ok isNat X,
               U104(mark X1, X2, X3) -> mark U104(X1, X2, X3),
           U104(ok X1, ok X2, ok X3) -> ok U104(X1, X2, X3),
                   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),
                      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),
                U12(mark X1, X2, X3) -> mark U12(X1, X2, X3),
            U12(ok X1, ok X2, ok X3) -> ok U12(X1, X2, X3),
                U11(mark X1, X2, X3) -> mark U11(X1, X2, X3),
            U11(ok X1, ok X2, ok X3) -> ok U11(X1, X2, X3),
                U13(mark X1, X2, X3) -> mark U13(X1, X2, X3),
            U13(ok X1, ok X2, ok X3) -> ok U13(X1, X2, X3),
                U14(mark X1, X2, X3) -> mark U14(X1, X2, X3),
            U14(ok X1, ok X2, ok X3) -> ok U14(X1, X2, X3),
                    U15(mark X1, X2) -> mark U15(X1, X2),
                   U15(ok X1, ok X2) -> ok U15(X1, X2),
                          U16 mark X -> mark U16 X,
                            U16 ok X -> ok U16 X,
                    U22(mark X1, X2) -> mark U22(X1, X2),
                   U22(ok X1, ok X2) -> ok U22(X1, X2),
                    U21(mark X1, X2) -> mark U21(X1, X2),
                   U21(ok X1, ok X2) -> ok U21(X1, X2),
                          U23 mark X -> mark U23 X,
                            U23 ok X -> ok U23 X,
                U32(mark X1, X2, X3) -> mark U32(X1, X2, X3),
            U32(ok X1, ok X2, ok X3) -> ok U32(X1, X2, X3),
                U31(mark X1, X2, X3) -> mark U31(X1, X2, X3),
            U31(ok X1, ok X2, ok X3) -> ok U31(X1, X2, X3),
                U33(mark X1, X2, X3) -> mark U33(X1, X2, X3),
            U33(ok X1, ok X2, ok X3) -> ok U33(X1, X2, X3),
                U34(mark X1, X2, X3) -> mark U34(X1, X2, X3),
            U34(ok X1, ok X2, ok X3) -> ok U34(X1, X2, X3),
                    U35(mark X1, X2) -> mark U35(X1, X2),
                   U35(ok X1, ok X2) -> ok U35(X1, X2),
                          U36 mark X -> mark U36 X,
                            U36 ok X -> ok U36 X,
                          U42 mark X -> mark U42 X,
                            U42 ok X -> ok U42 X,
                    U41(mark X1, X2) -> mark U41(X1, X2),
                   U41(ok X1, ok X2) -> ok U41(X1, X2),
                          U51 mark X -> mark U51 X,
                            U51 ok X -> ok U51 X,
                          U62 mark X -> mark U62 X,
                            U62 ok X -> ok U62 X,
                    U61(mark X1, X2) -> mark U61(X1, X2),
                   U61(ok X1, ok X2) -> ok U61(X1, X2),
                    U72(mark X1, X2) -> mark U72(X1, X2),
                   U72(ok X1, ok X2) -> ok U72(X1, X2),
                    U71(mark X1, X2) -> mark U71(X1, X2),
                   U71(ok X1, ok X2) -> ok U71(X1, X2),
                U82(mark X1, X2, X3) -> mark U82(X1, X2, X3),
            U82(ok X1, ok X2, ok X3) -> ok U82(X1, X2, X3),
                U81(mark X1, X2, X3) -> mark U81(X1, X2, X3),
            U81(ok X1, ok X2, ok X3) -> ok U81(X1, X2, X3),
                U83(mark X1, X2, X3) -> mark U83(X1, X2, X3),
            U83(ok X1, ok X2, ok X3) -> ok U83(X1, X2, X3),
                U84(mark X1, X2, X3) -> mark U84(X1, X2, X3),
            U84(ok X1, ok X2, ok X3) -> ok U84(X1, X2, X3),
                            s mark X -> mark s X,
                              s ok X -> ok s X,
                          U92 mark X -> mark U92 X,
                            U92 ok X -> ok U92 X,
                    U91(mark X1, X2) -> mark U91(X1, X2),
                   U91(ok X1, ok X2) -> ok U91(X1, X2),
             proper U102(X1, X2, X3) -> U102(proper X1, proper X2, proper X3),
                  proper isNatKind X -> isNatKind proper X,
             proper U101(X1, X2, X3) -> U101(proper X1, proper X2, proper X3),
                         proper tt() -> ok tt(),
             proper U103(X1, X2, X3) -> U103(proper X1, proper X2, proper X3),
                      proper isNat X -> isNat proper X,
             proper U104(X1, X2, X3) -> U104(proper X1, proper X2, proper X3),
                 proper plus(X1, X2) -> plus(proper X1, proper X2),
                    proper x(X1, X2) -> x(proper X1, proper X2),
              proper U12(X1, X2, X3) -> U12(proper X1, proper X2, proper X3),
              proper U11(X1, X2, X3) -> U11(proper X1, proper X2, proper X3),
              proper U13(X1, X2, X3) -> U13(proper X1, proper X2, proper X3),
              proper U14(X1, X2, X3) -> U14(proper X1, proper X2, proper X3),
                  proper U15(X1, X2) -> U15(proper X1, proper X2),
                        proper U16 X -> U16 proper X,
                  proper U22(X1, X2) -> U22(proper X1, proper X2),
                  proper U21(X1, X2) -> U21(proper X1, proper X2),
                        proper U23 X -> U23 proper X,
              proper U32(X1, X2, X3) -> U32(proper X1, proper X2, proper X3),
              proper U31(X1, X2, X3) -> U31(proper X1, proper X2, proper X3),
              proper U33(X1, X2, X3) -> U33(proper X1, proper X2, proper X3),
              proper U34(X1, X2, X3) -> U34(proper X1, proper X2, proper X3),
                  proper U35(X1, X2) -> U35(proper X1, proper X2),
                        proper U36 X -> U36 proper X,
                        proper U42 X -> U42 proper X,
                  proper U41(X1, X2) -> U41(proper X1, proper X2),
                        proper U51 X -> U51 proper X,
                        proper U62 X -> U62 proper X,
                  proper U61(X1, X2) -> U61(proper X1, proper X2),
                  proper U72(X1, X2) -> U72(proper X1, proper X2),
                  proper U71(X1, X2) -> U71(proper X1, proper X2),
              proper U82(X1, X2, X3) -> U82(proper X1, proper X2, proper X3),
              proper U81(X1, X2, X3) -> U81(proper X1, proper X2, proper X3),
              proper U83(X1, X2, X3) -> U83(proper X1, proper X2, proper X3),
              proper U84(X1, X2, X3) -> U84(proper X1, proper X2, proper X3),
                          proper s X -> s proper X,
                        proper U92 X -> U92 proper X,
                  proper U91(X1, X2) -> U91(proper X1, proper X2),
                          proper 0() -> ok 0(),
                          top mark X -> top proper X,
                            top ok X -> top active X
      }
      Open
     
     
     
     
     
     SCC (2):
      Strict:
       {U23# mark X -> U23# X,
          U23# ok X -> U23# X}
      Weak:
      {
               U102(mark X1, X2, X3) -> mark U102(X1, X2, X3),
           U102(ok X1, ok X2, ok X3) -> ok U102(X1, X2, X3),
                      isNatKind ok X -> ok isNatKind X,
             active U102(X1, X2, X3) -> U102(active X1, X2, X3),
             active U102(tt(), M, N) -> mark U103(isNat N, M, N),
       active isNatKind plus(V1, V2) -> mark U41(isNatKind V1, V2),
          active isNatKind x(V1, V2) -> mark U61(isNatKind V1, V2),
               active isNatKind s V1 -> mark U51 isNatKind V1,
                active isNatKind 0() -> mark tt(),
             active U101(X1, X2, X3) -> U101(active X1, X2, X3),
             active U101(tt(), M, N) -> mark U102(isNatKind M, M, N),
             active U103(X1, X2, X3) -> U103(active X1, X2, X3),
             active U103(tt(), M, N) -> mark U104(isNatKind N, M, N),
           active isNat plus(V1, V2) -> mark U11(isNatKind V1, V1, V2),
              active isNat x(V1, V2) -> mark U31(isNatKind V1, V1, V2),
                   active isNat s V1 -> mark U21(isNatKind V1, V1),
                    active isNat 0() -> mark tt(),
             active U104(X1, X2, X3) -> U104(active X1, X2, X3),
             active U104(tt(), M, N) -> mark plus(x(N, M), N),
                 active plus(N, s M) -> mark U81(isNat M, M, N),
                 active plus(N, 0()) -> mark U71(isNat N, N),
                 active plus(X1, X2) -> plus(X1, active X2),
                 active plus(X1, X2) -> plus(active X1, X2),
                    active x(N, s M) -> mark U101(isNat M, M, N),
                    active x(N, 0()) -> mark U91(isNat N, N),
                    active x(X1, X2) -> x(X1, active X2),
                    active x(X1, X2) -> x(active X1, X2),
              active U12(X1, X2, X3) -> U12(active X1, X2, X3),
            active U12(tt(), V1, V2) -> mark U13(isNatKind V2, V1, V2),
              active U11(X1, X2, X3) -> U11(active X1, X2, X3),
            active U11(tt(), V1, V2) -> mark U12(isNatKind V1, V1, V2),
              active U13(X1, X2, X3) -> U13(active X1, X2, X3),
            active U13(tt(), V1, V2) -> mark U14(isNatKind V2, V1, V2),
              active U14(X1, X2, X3) -> U14(active X1, X2, X3),
            active U14(tt(), V1, V2) -> mark U15(isNat V1, V2),
                  active U15(X1, X2) -> U15(active X1, X2),
                active U15(tt(), V2) -> mark U16 isNat V2,
                        active U16 X -> U16 active X,
                     active U16 tt() -> mark tt(),
                  active U22(X1, X2) -> U22(active X1, X2),
                active U22(tt(), V1) -> mark U23 isNat V1,
                  active U21(X1, X2) -> U21(active X1, X2),
                active U21(tt(), V1) -> mark U22(isNatKind V1, V1),
                        active U23 X -> U23 active X,
                     active U23 tt() -> mark tt(),
              active U32(X1, X2, X3) -> U32(active X1, X2, X3),
            active U32(tt(), V1, V2) -> mark U33(isNatKind V2, V1, V2),
              active U31(X1, X2, X3) -> U31(active X1, X2, X3),
            active U31(tt(), V1, V2) -> mark U32(isNatKind V1, V1, V2),
              active U33(X1, X2, X3) -> U33(active X1, X2, X3),
            active U33(tt(), V1, V2) -> mark U34(isNatKind V2, V1, V2),
              active U34(X1, X2, X3) -> U34(active X1, X2, X3),
            active U34(tt(), V1, V2) -> mark U35(isNat V1, V2),
                  active U35(X1, X2) -> U35(active X1, X2),
                active U35(tt(), V2) -> mark U36 isNat V2,
                        active U36 X -> U36 active X,
                     active U36 tt() -> mark tt(),
                        active U42 X -> U42 active X,
                     active U42 tt() -> mark tt(),
                  active U41(X1, X2) -> U41(active X1, X2),
                active U41(tt(), V2) -> mark U42 isNatKind V2,
                        active U51 X -> U51 active X,
                     active U51 tt() -> mark tt(),
                        active U62 X -> U62 active X,
                     active U62 tt() -> mark tt(),
                  active U61(X1, X2) -> U61(active X1, X2),
                active U61(tt(), V2) -> mark U62 isNatKind V2,
                  active U72(X1, X2) -> U72(active X1, X2),
                 active U72(tt(), N) -> mark N,
                  active U71(X1, X2) -> U71(active X1, X2),
                 active U71(tt(), N) -> mark U72(isNatKind N, N),
              active U82(X1, X2, X3) -> U82(active X1, X2, X3),
              active U82(tt(), M, N) -> mark U83(isNat N, M, N),
              active U81(X1, X2, X3) -> U81(active X1, X2, X3),
              active U81(tt(), M, N) -> mark U82(isNatKind M, M, N),
              active U83(X1, X2, X3) -> U83(active X1, X2, X3),
              active U83(tt(), M, N) -> mark U84(isNatKind N, M, N),
              active U84(X1, X2, X3) -> U84(active X1, X2, X3),
              active U84(tt(), M, N) -> mark s plus(N, M),
                          active s X -> s active X,
                        active U92 X -> U92 active X,
                     active U92 tt() -> mark 0(),
                  active U91(X1, X2) -> U91(active X1, X2),
                 active U91(tt(), N) -> mark U92 isNatKind N,
               U101(mark X1, X2, X3) -> mark U101(X1, X2, X3),
           U101(ok X1, ok X2, ok X3) -> ok U101(X1, X2, X3),
               U103(mark X1, X2, X3) -> mark U103(X1, X2, X3),
           U103(ok X1, ok X2, ok X3) -> ok U103(X1, X2, X3),
                          isNat ok X -> ok isNat X,
               U104(mark X1, X2, X3) -> mark U104(X1, X2, X3),
           U104(ok X1, ok X2, ok X3) -> ok U104(X1, X2, X3),
                   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),
                      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),
                U12(mark X1, X2, X3) -> mark U12(X1, X2, X3),
            U12(ok X1, ok X2, ok X3) -> ok U12(X1, X2, X3),
                U11(mark X1, X2, X3) -> mark U11(X1, X2, X3),
            U11(ok X1, ok X2, ok X3) -> ok U11(X1, X2, X3),
                U13(mark X1, X2, X3) -> mark U13(X1, X2, X3),
            U13(ok X1, ok X2, ok X3) -> ok U13(X1, X2, X3),
                U14(mark X1, X2, X3) -> mark U14(X1, X2, X3),
            U14(ok X1, ok X2, ok X3) -> ok U14(X1, X2, X3),
                    U15(mark X1, X2) -> mark U15(X1, X2),
                   U15(ok X1, ok X2) -> ok U15(X1, X2),
                          U16 mark X -> mark U16 X,
                            U16 ok X -> ok U16 X,
                    U22(mark X1, X2) -> mark U22(X1, X2),
                   U22(ok X1, ok X2) -> ok U22(X1, X2),
                    U21(mark X1, X2) -> mark U21(X1, X2),
                   U21(ok X1, ok X2) -> ok U21(X1, X2),
                          U23 mark X -> mark U23 X,
                            U23 ok X -> ok U23 X,
                U32(mark X1, X2, X3) -> mark U32(X1, X2, X3),
            U32(ok X1, ok X2, ok X3) -> ok U32(X1, X2, X3),
                U31(mark X1, X2, X3) -> mark U31(X1, X2, X3),
            U31(ok X1, ok X2, ok X3) -> ok U31(X1, X2, X3),
                U33(mark X1, X2, X3) -> mark U33(X1, X2, X3),
            U33(ok X1, ok X2, ok X3) -> ok U33(X1, X2, X3),
                U34(mark X1, X2, X3) -> mark U34(X1, X2, X3),
            U34(ok X1, ok X2, ok X3) -> ok U34(X1, X2, X3),
                    U35(mark X1, X2) -> mark U35(X1, X2),
                   U35(ok X1, ok X2) -> ok U35(X1, X2),
                          U36 mark X -> mark U36 X,
                            U36 ok X -> ok U36 X,
                          U42 mark X -> mark U42 X,
                            U42 ok X -> ok U42 X,
                    U41(mark X1, X2) -> mark U41(X1, X2),
                   U41(ok X1, ok X2) -> ok U41(X1, X2),
                          U51 mark X -> mark U51 X,
                            U51 ok X -> ok U51 X,
                          U62 mark X -> mark U62 X,
                            U62 ok X -> ok U62 X,
                    U61(mark X1, X2) -> mark U61(X1, X2),
                   U61(ok X1, ok X2) -> ok U61(X1, X2),
                    U72(mark X1, X2) -> mark U72(X1, X2),
                   U72(ok X1, ok X2) -> ok U72(X1, X2),
                    U71(mark X1, X2) -> mark U71(X1, X2),
                   U71(ok X1, ok X2) -> ok U71(X1, X2),
                U82(mark X1, X2, X3) -> mark U82(X1, X2, X3),
            U82(ok X1, ok X2, ok X3) -> ok U82(X1, X2, X3),
                U81(mark X1, X2, X3) -> mark U81(X1, X2, X3),
            U81(ok X1, ok X2, ok X3) -> ok U81(X1, X2, X3),
                U83(mark X1, X2, X3) -> mark U83(X1, X2, X3),
            U83(ok X1, ok X2, ok X3) -> ok U83(X1, X2, X3),
                U84(mark X1, X2, X3) -> mark U84(X1, X2, X3),
            U84(ok X1, ok X2, ok X3) -> ok U84(X1, X2, X3),
                            s mark X -> mark s X,
                              s ok X -> ok s X,
                          U92 mark X -> mark U92 X,
                            U92 ok X -> ok U92 X,
                    U91(mark X1, X2) -> mark U91(X1, X2),
                   U91(ok X1, ok X2) -> ok U91(X1, X2),
             proper U102(X1, X2, X3) -> U102(proper X1, proper X2, proper X3),
                  proper isNatKind X -> isNatKind proper X,
             proper U101(X1, X2, X3) -> U101(proper X1, proper X2, proper X3),
                         proper tt() -> ok tt(),
             proper U103(X1, X2, X3) -> U103(proper X1, proper X2, proper X3),
                      proper isNat X -> isNat proper X,
             proper U104(X1, X2, X3) -> U104(proper X1, proper X2, proper X3),
                 proper plus(X1, X2) -> plus(proper X1, proper X2),
                    proper x(X1, X2) -> x(proper X1, proper X2),
              proper U12(X1, X2, X3) -> U12(proper X1, proper X2, proper X3),
              proper U11(X1, X2, X3) -> U11(proper X1, proper X2, proper X3),
              proper U13(X1, X2, X3) -> U13(proper X1, proper X2, proper X3),
              proper U14(X1, X2, X3) -> U14(proper X1, proper X2, proper X3),
                  proper U15(X1, X2) -> U15(proper X1, proper X2),
                        proper U16 X -> U16 proper X,
                  proper U22(X1, X2) -> U22(proper X1, proper X2),
                  proper U21(X1, X2) -> U21(proper X1, proper X2),
                        proper U23 X -> U23 proper X,
              proper U32(X1, X2, X3) -> U32(proper X1, proper X2, proper X3),
              proper U31(X1, X2, X3) -> U31(proper X1, proper X2, proper X3),
              proper U33(X1, X2, X3) -> U33(proper X1, proper X2, proper X3),
              proper U34(X1, X2, X3) -> U34(proper X1, proper X2, proper X3),
                  proper U35(X1, X2) -> U35(proper X1, proper X2),
                        proper U36 X -> U36 proper X,
                        proper U42 X -> U42 proper X,
                  proper U41(X1, X2) -> U41(proper X1, proper X2),
                        proper U51 X -> U51 proper X,
                        proper U62 X -> U62 proper X,
                  proper U61(X1, X2) -> U61(proper X1, proper X2),
                  proper U72(X1, X2) -> U72(proper X1, proper X2),
                  proper U71(X1, X2) -> U71(proper X1, proper X2),
              proper U82(X1, X2, X3) -> U82(proper X1, proper X2, proper X3),
              proper U81(X1, X2, X3) -> U81(proper X1, proper X2, proper X3),
              proper U83(X1, X2, X3) -> U83(proper X1, proper X2, proper X3),
              proper U84(X1, X2, X3) -> U84(proper X1, proper X2, proper X3),
                          proper s X -> s proper X,
                        proper U92 X -> U92 proper X,
                  proper U91(X1, X2) -> U91(proper X1, proper X2),
                          proper 0() -> ok 0(),
                          top mark X -> top proper X,
                            top ok X -> top active X
      }
      Open
     
     
     SCC (2):
      Strict:
       { U22#(mark X1, X2) -> U22#(X1, X2),
        U22#(ok X1, ok X2) -> U22#(X1, X2)}
      Weak:
      {
               U102(mark X1, X2, X3) -> mark U102(X1, X2, X3),
           U102(ok X1, ok X2, ok X3) -> ok U102(X1, X2, X3),
                      isNatKind ok X -> ok isNatKind X,
             active U102(X1, X2, X3) -> U102(active X1, X2, X3),
             active U102(tt(), M, N) -> mark U103(isNat N, M, N),
       active isNatKind plus(V1, V2) -> mark U41(isNatKind V1, V2),
          active isNatKind x(V1, V2) -> mark U61(isNatKind V1, V2),
               active isNatKind s V1 -> mark U51 isNatKind V1,
                active isNatKind 0() -> mark tt(),
             active U101(X1, X2, X3) -> U101(active X1, X2, X3),
             active U101(tt(), M, N) -> mark U102(isNatKind M, M, N),
             active U103(X1, X2, X3) -> U103(active X1, X2, X3),
             active U103(tt(), M, N) -> mark U104(isNatKind N, M, N),
           active isNat plus(V1, V2) -> mark U11(isNatKind V1, V1, V2),
              active isNat x(V1, V2) -> mark U31(isNatKind V1, V1, V2),
                   active isNat s V1 -> mark U21(isNatKind V1, V1),
                    active isNat 0() -> mark tt(),
             active U104(X1, X2, X3) -> U104(active X1, X2, X3),
             active U104(tt(), M, N) -> mark plus(x(N, M), N),
                 active plus(N, s M) -> mark U81(isNat M, M, N),
                 active plus(N, 0()) -> mark U71(isNat N, N),
                 active plus(X1, X2) -> plus(X1, active X2),
                 active plus(X1, X2) -> plus(active X1, X2),
                    active x(N, s M) -> mark U101(isNat M, M, N),
                    active x(N, 0()) -> mark U91(isNat N, N),
                    active x(X1, X2) -> x(X1, active X2),
                    active x(X1, X2) -> x(active X1, X2),
              active U12(X1, X2, X3) -> U12(active X1, X2, X3),
            active U12(tt(), V1, V2) -> mark U13(isNatKind V2, V1, V2),
              active U11(X1, X2, X3) -> U11(active X1, X2, X3),
            active U11(tt(), V1, V2) -> mark U12(isNatKind V1, V1, V2),
              active U13(X1, X2, X3) -> U13(active X1, X2, X3),
            active U13(tt(), V1, V2) -> mark U14(isNatKind V2, V1, V2),
              active U14(X1, X2, X3) -> U14(active X1, X2, X3),
            active U14(tt(), V1, V2) -> mark U15(isNat V1, V2),
                  active U15(X1, X2) -> U15(active X1, X2),
                active U15(tt(), V2) -> mark U16 isNat V2,
                        active U16 X -> U16 active X,
                     active U16 tt() -> mark tt(),
                  active U22(X1, X2) -> U22(active X1, X2),
                active U22(tt(), V1) -> mark U23 isNat V1,
                  active U21(X1, X2) -> U21(active X1, X2),
                active U21(tt(), V1) -> mark U22(isNatKind V1, V1),
                        active U23 X -> U23 active X,
                     active U23 tt() -> mark tt(),
              active U32(X1, X2, X3) -> U32(active X1, X2, X3),
            active U32(tt(), V1, V2) -> mark U33(isNatKind V2, V1, V2),
              active U31(X1, X2, X3) -> U31(active X1, X2, X3),
            active U31(tt(), V1, V2) -> mark U32(isNatKind V1, V1, V2),
              active U33(X1, X2, X3) -> U33(active X1, X2, X3),
            active U33(tt(), V1, V2) -> mark U34(isNatKind V2, V1, V2),
              active U34(X1, X2, X3) -> U34(active X1, X2, X3),
            active U34(tt(), V1, V2) -> mark U35(isNat V1, V2),
                  active U35(X1, X2) -> U35(active X1, X2),
                active U35(tt(), V2) -> mark U36 isNat V2,
                        active U36 X -> U36 active X,
                     active U36 tt() -> mark tt(),
                        active U42 X -> U42 active X,
                     active U42 tt() -> mark tt(),
                  active U41(X1, X2) -> U41(active X1, X2),
                active U41(tt(), V2) -> mark U42 isNatKind V2,
                        active U51 X -> U51 active X,
                     active U51 tt() -> mark tt(),
                        active U62 X -> U62 active X,
                     active U62 tt() -> mark tt(),
                  active U61(X1, X2) -> U61(active X1, X2),
                active U61(tt(), V2) -> mark U62 isNatKind V2,
                  active U72(X1, X2) -> U72(active X1, X2),
                 active U72(tt(), N) -> mark N,
                  active U71(X1, X2) -> U71(active X1, X2),
                 active U71(tt(), N) -> mark U72(isNatKind N, N),
              active U82(X1, X2, X3) -> U82(active X1, X2, X3),
              active U82(tt(), M, N) -> mark U83(isNat N, M, N),
              active U81(X1, X2, X3) -> U81(active X1, X2, X3),
              active U81(tt(), M, N) -> mark U82(isNatKind M, M, N),
              active U83(X1, X2, X3) -> U83(active X1, X2, X3),
              active U83(tt(), M, N) -> mark U84(isNatKind N, M, N),
              active U84(X1, X2, X3) -> U84(active X1, X2, X3),
              active U84(tt(), M, N) -> mark s plus(N, M),
                          active s X -> s active X,
                        active U92 X -> U92 active X,
                     active U92 tt() -> mark 0(),
                  active U91(X1, X2) -> U91(active X1, X2),
                 active U91(tt(), N) -> mark U92 isNatKind N,
               U101(mark X1, X2, X3) -> mark U101(X1, X2, X3),
           U101(ok X1, ok X2, ok X3) -> ok U101(X1, X2, X3),
               U103(mark X1, X2, X3) -> mark U103(X1, X2, X3),
           U103(ok X1, ok X2, ok X3) -> ok U103(X1, X2, X3),
                          isNat ok X -> ok isNat X,
               U104(mark X1, X2, X3) -> mark U104(X1, X2, X3),
           U104(ok X1, ok X2, ok X3) -> ok U104(X1, X2, X3),
                   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),
                      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),
                U12(mark X1, X2, X3) -> mark U12(X1, X2, X3),
            U12(ok X1, ok X2, ok X3) -> ok U12(X1, X2, X3),
                U11(mark X1, X2, X3) -> mark U11(X1, X2, X3),
            U11(ok X1, ok X2, ok X3) -> ok U11(X1, X2, X3),
                U13(mark X1, X2, X3) -> mark U13(X1, X2, X3),
            U13(ok X1, ok X2, ok X3) -> ok U13(X1, X2, X3),
                U14(mark X1, X2, X3) -> mark U14(X1, X2, X3),
            U14(ok X1, ok X2, ok X3) -> ok U14(X1, X2, X3),
                    U15(mark X1, X2) -> mark U15(X1, X2),
                   U15(ok X1, ok X2) -> ok U15(X1, X2),
                          U16 mark X -> mark U16 X,
                            U16 ok X -> ok U16 X,
                    U22(mark X1, X2) -> mark U22(X1, X2),
                   U22(ok X1, ok X2) -> ok U22(X1, X2),
                    U21(mark X1, X2) -> mark U21(X1, X2),
                   U21(ok X1, ok X2) -> ok U21(X1, X2),
                          U23 mark X -> mark U23 X,
                            U23 ok X -> ok U23 X,
                U32(mark X1, X2, X3) -> mark U32(X1, X2, X3),
            U32(ok X1, ok X2, ok X3) -> ok U32(X1, X2, X3),
                U31(mark X1, X2, X3) -> mark U31(X1, X2, X3),
            U31(ok X1, ok X2, ok X3) -> ok U31(X1, X2, X3),
                U33(mark X1, X2, X3) -> mark U33(X1, X2, X3),
            U33(ok X1, ok X2, ok X3) -> ok U33(X1, X2, X3),
                U34(mark X1, X2, X3) -> mark U34(X1, X2, X3),
            U34(ok X1, ok X2, ok X3) -> ok U34(X1, X2, X3),
                    U35(mark X1, X2) -> mark U35(X1, X2),
                   U35(ok X1, ok X2) -> ok U35(X1, X2),
                          U36 mark X -> mark U36 X,
                            U36 ok X -> ok U36 X,
                          U42 mark X -> mark U42 X,
                            U42 ok X -> ok U42 X,
                    U41(mark X1, X2) -> mark U41(X1, X2),
                   U41(ok X1, ok X2) -> ok U41(X1, X2),
                          U51 mark X -> mark U51 X,
                            U51 ok X -> ok U51 X,
                          U62 mark X -> mark U62 X,
                            U62 ok X -> ok U62 X,
                    U61(mark X1, X2) -> mark U61(X1, X2),
                   U61(ok X1, ok X2) -> ok U61(X1, X2),
                    U72(mark X1, X2) -> mark U72(X1, X2),
                   U72(ok X1, ok X2) -> ok U72(X1, X2),
                    U71(mark X1, X2) -> mark U71(X1, X2),
                   U71(ok X1, ok X2) -> ok U71(X1, X2),
                U82(mark X1, X2, X3) -> mark U82(X1, X2, X3),
            U82(ok X1, ok X2, ok X3) -> ok U82(X1, X2, X3),
                U81(mark X1, X2, X3) -> mark U81(X1, X2, X3),
            U81(ok X1, ok X2, ok X3) -> ok U81(X1, X2, X3),
                U83(mark X1, X2, X3) -> mark U83(X1, X2, X3),
            U83(ok X1, ok X2, ok X3) -> ok U83(X1, X2, X3),
                U84(mark X1, X2, X3) -> mark U84(X1, X2, X3),
            U84(ok X1, ok X2, ok X3) -> ok U84(X1, X2, X3),
                            s mark X -> mark s X,
                              s ok X -> ok s X,
                          U92 mark X -> mark U92 X,
                            U92 ok X -> ok U92 X,
                    U91(mark X1, X2) -> mark U91(X1, X2),
                   U91(ok X1, ok X2) -> ok U91(X1, X2),
             proper U102(X1, X2, X3) -> U102(proper X1, proper X2, proper X3),
                  proper isNatKind X -> isNatKind proper X,
             proper U101(X1, X2, X3) -> U101(proper X1, proper X2, proper X3),
                         proper tt() -> ok tt(),
             proper U103(X1, X2, X3) -> U103(proper X1, proper X2, proper X3),
                      proper isNat X -> isNat proper X,
             proper U104(X1, X2, X3) -> U104(proper X1, proper X2, proper X3),
                 proper plus(X1, X2) -> plus(proper X1, proper X2),
                    proper x(X1, X2) -> x(proper X1, proper X2),
              proper U12(X1, X2, X3) -> U12(proper X1, proper X2, proper X3),
              proper U11(X1, X2, X3) -> U11(proper X1, proper X2, proper X3),
              proper U13(X1, X2, X3) -> U13(proper X1, proper X2, proper X3),
              proper U14(X1, X2, X3) -> U14(proper X1, proper X2, proper X3),
                  proper U15(X1, X2) -> U15(proper X1, proper X2),
                        proper U16 X -> U16 proper X,
                  proper U22(X1, X2) -> U22(proper X1, proper X2),
                  proper U21(X1, X2) -> U21(proper X1, proper X2),
                        proper U23 X -> U23 proper X,
              proper U32(X1, X2, X3) -> U32(proper X1, proper X2, proper X3),
              proper U31(X1, X2, X3) -> U31(proper X1, proper X2, proper X3),
              proper U33(X1, X2, X3) -> U33(proper X1, proper X2, proper X3),
              proper U34(X1, X2, X3) -> U34(proper X1, proper X2, proper X3),
                  proper U35(X1, X2) -> U35(proper X1, proper X2),
                        proper U36 X -> U36 proper X,
                        proper U42 X -> U42 proper X,
                  proper U41(X1, X2) -> U41(proper X1, proper X2),
                        proper U51 X -> U51 proper X,
                        proper U62 X -> U62 proper X,
                  proper U61(X1, X2) -> U61(proper X1, proper X2),
                  proper U72(X1, X2) -> U72(proper X1, proper X2),
                  proper U71(X1, X2) -> U71(proper X1, proper X2),
              proper U82(X1, X2, X3) -> U82(proper X1, proper X2, proper X3),
              proper U81(X1, X2, X3) -> U81(proper X1, proper X2, proper X3),
              proper U83(X1, X2, X3) -> U83(proper X1, proper X2, proper X3),
              proper U84(X1, X2, X3) -> U84(proper X1, proper X2, proper X3),
                          proper s X -> s proper X,
                        proper U92 X -> U92 proper X,
                  proper U91(X1, X2) -> U91(proper X1, proper X2),
                          proper 0() -> ok 0(),
                          top mark X -> top proper X,
                            top ok X -> top active X
      }
      Open
     
     
     SCC (2):
      Strict:
       {U16# mark X -> U16# X,
          U16# ok X -> U16# X}
      Weak:
      {
               U102(mark X1, X2, X3) -> mark U102(X1, X2, X3),
           U102(ok X1, ok X2, ok X3) -> ok U102(X1, X2, X3),
                      isNatKind ok X -> ok isNatKind X,
             active U102(X1, X2, X3) -> U102(active X1, X2, X3),
             active U102(tt(), M, N) -> mark U103(isNat N, M, N),
       active isNatKind plus(V1, V2) -> mark U41(isNatKind V1, V2),
          active isNatKind x(V1, V2) -> mark U61(isNatKind V1, V2),
               active isNatKind s V1 -> mark U51 isNatKind V1,
                active isNatKind 0() -> mark tt(),
             active U101(X1, X2, X3) -> U101(active X1, X2, X3),
             active U101(tt(), M, N) -> mark U102(isNatKind M, M, N),
             active U103(X1, X2, X3) -> U103(active X1, X2, X3),
             active U103(tt(), M, N) -> mark U104(isNatKind N, M, N),
           active isNat plus(V1, V2) -> mark U11(isNatKind V1, V1, V2),
              active isNat x(V1, V2) -> mark U31(isNatKind V1, V1, V2),
                   active isNat s V1 -> mark U21(isNatKind V1, V1),
                    active isNat 0() -> mark tt(),
             active U104(X1, X2, X3) -> U104(active X1, X2, X3),
             active U104(tt(), M, N) -> mark plus(x(N, M), N),
                 active plus(N, s M) -> mark U81(isNat M, M, N),
                 active plus(N, 0()) -> mark U71(isNat N, N),
                 active plus(X1, X2) -> plus(X1, active X2),
                 active plus(X1, X2) -> plus(active X1, X2),
                    active x(N, s M) -> mark U101(isNat M, M, N),
                    active x(N, 0()) -> mark U91(isNat N, N),
                    active x(X1, X2) -> x(X1, active X2),
                    active x(X1, X2) -> x(active X1, X2),
              active U12(X1, X2, X3) -> U12(active X1, X2, X3),
            active U12(tt(), V1, V2) -> mark U13(isNatKind V2, V1, V2),
              active U11(X1, X2, X3) -> U11(active X1, X2, X3),
            active U11(tt(), V1, V2) -> mark U12(isNatKind V1, V1, V2),
              active U13(X1, X2, X3) -> U13(active X1, X2, X3),
            active U13(tt(), V1, V2) -> mark U14(isNatKind V2, V1, V2),
              active U14(X1, X2, X3) -> U14(active X1, X2, X3),
            active U14(tt(), V1, V2) -> mark U15(isNat V1, V2),
                  active U15(X1, X2) -> U15(active X1, X2),
                active U15(tt(), V2) -> mark U16 isNat V2,
                        active U16 X -> U16 active X,
                     active U16 tt() -> mark tt(),
                  active U22(X1, X2) -> U22(active X1, X2),
                active U22(tt(), V1) -> mark U23 isNat V1,
                  active U21(X1, X2) -> U21(active X1, X2),
                active U21(tt(), V1) -> mark U22(isNatKind V1, V1),
                        active U23 X -> U23 active X,
                     active U23 tt() -> mark tt(),
              active U32(X1, X2, X3) -> U32(active X1, X2, X3),
            active U32(tt(), V1, V2) -> mark U33(isNatKind V2, V1, V2),
              active U31(X1, X2, X3) -> U31(active X1, X2, X3),
            active U31(tt(), V1, V2) -> mark U32(isNatKind V1, V1, V2),
              active U33(X1, X2, X3) -> U33(active X1, X2, X3),
            active U33(tt(), V1, V2) -> mark U34(isNatKind V2, V1, V2),
              active U34(X1, X2, X3) -> U34(active X1, X2, X3),
            active U34(tt(), V1, V2) -> mark U35(isNat V1, V2),
                  active U35(X1, X2) -> U35(active X1, X2),
                active U35(tt(), V2) -> mark U36 isNat V2,
                        active U36 X -> U36 active X,
                     active U36 tt() -> mark tt(),
                        active U42 X -> U42 active X,
                     active U42 tt() -> mark tt(),
                  active U41(X1, X2) -> U41(active X1, X2),
                active U41(tt(), V2) -> mark U42 isNatKind V2,
                        active U51 X -> U51 active X,
                     active U51 tt() -> mark tt(),
                        active U62 X -> U62 active X,
                     active U62 tt() -> mark tt(),
                  active U61(X1, X2) -> U61(active X1, X2),
                active U61(tt(), V2) -> mark U62 isNatKind V2,
                  active U72(X1, X2) -> U72(active X1, X2),
                 active U72(tt(), N) -> mark N,
                  active U71(X1, X2) -> U71(active X1, X2),
                 active U71(tt(), N) -> mark U72(isNatKind N, N),
              active U82(X1, X2, X3) -> U82(active X1, X2, X3),
              active U82(tt(), M, N) -> mark U83(isNat N, M, N),
              active U81(X1, X2, X3) -> U81(active X1, X2, X3),
              active U81(tt(), M, N) -> mark U82(isNatKind M, M, N),
              active U83(X1, X2, X3) -> U83(active X1, X2, X3),
              active U83(tt(), M, N) -> mark U84(isNatKind N, M, N),
              active U84(X1, X2, X3) -> U84(active X1, X2, X3),
              active U84(tt(), M, N) -> mark s plus(N, M),
                          active s X -> s active X,
                        active U92 X -> U92 active X,
                     active U92 tt() -> mark 0(),
                  active U91(X1, X2) -> U91(active X1, X2),
                 active U91(tt(), N) -> mark U92 isNatKind N,
               U101(mark X1, X2, X3) -> mark U101(X1, X2, X3),
           U101(ok X1, ok X2, ok X3) -> ok U101(X1, X2, X3),
               U103(mark X1, X2, X3) -> mark U103(X1, X2, X3),
           U103(ok X1, ok X2, ok X3) -> ok U103(X1, X2, X3),
                          isNat ok X -> ok isNat X,
               U104(mark X1, X2, X3) -> mark U104(X1, X2, X3),
           U104(ok X1, ok X2, ok X3) -> ok U104(X1, X2, X3),
                   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),
                      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),
                U12(mark X1, X2, X3) -> mark U12(X1, X2, X3),
            U12(ok X1, ok X2, ok X3) -> ok U12(X1, X2, X3),
                U11(mark X1, X2, X3) -> mark U11(X1, X2, X3),
            U11(ok X1, ok X2, ok X3) -> ok U11(X1, X2, X3),
                U13(mark X1, X2, X3) -> mark U13(X1, X2, X3),
            U13(ok X1, ok X2, ok X3) -> ok U13(X1, X2, X3),
                U14(mark X1, X2, X3) -> mark U14(X1, X2, X3),
            U14(ok X1, ok X2, ok X3) -> ok U14(X1, X2, X3),
                    U15(mark X1, X2) -> mark U15(X1, X2),
                   U15(ok X1, ok X2) -> ok U15(X1, X2),
                          U16 mark X -> mark U16 X,
                            U16 ok X -> ok U16 X,
                    U22(mark X1, X2) -> mark U22(X1, X2),
                   U22(ok X1, ok X2) -> ok U22(X1, X2),
                    U21(mark X1, X2) -> mark U21(X1, X2),
                   U21(ok X1, ok X2) -> ok U21(X1, X2),
                          U23 mark X -> mark U23 X,
                            U23 ok X -> ok U23 X,
                U32(mark X1, X2, X3) -> mark U32(X1, X2, X3),
            U32(ok X1, ok X2, ok X3) -> ok U32(X1, X2, X3),
                U31(mark X1, X2, X3) -> mark U31(X1, X2, X3),
            U31(ok X1, ok X2, ok X3) -> ok U31(X1, X2, X3),
                U33(mark X1, X2, X3) -> mark U33(X1, X2, X3),
            U33(ok X1, ok X2, ok X3) -> ok U33(X1, X2, X3),
                U34(mark X1, X2, X3) -> mark U34(X1, X2, X3),
            U34(ok X1, ok X2, ok X3) -> ok U34(X1, X2, X3),
                    U35(mark X1, X2) -> mark U35(X1, X2),
                   U35(ok X1, ok X2) -> ok U35(X1, X2),
                          U36 mark X -> mark U36 X,
                            U36 ok X -> ok U36 X,
                          U42 mark X -> mark U42 X,
                            U42 ok X -> ok U42 X,
                    U41(mark X1, X2) -> mark U41(X1, X2),
                   U41(ok X1, ok X2) -> ok U41(X1, X2),
                          U51 mark X -> mark U51 X,
                            U51 ok X -> ok U51 X,
                          U62 mark X -> mark U62 X,
                            U62 ok X -> ok U62 X,
                    U61(mark X1, X2) -> mark U61(X1, X2),
                   U61(ok X1, ok X2) -> ok U61(X1, X2),
                    U72(mark X1, X2) -> mark U72(X1, X2),
                   U72(ok X1, ok X2) -> ok U72(X1, X2),
                    U71(mark X1, X2) -> mark U71(X1, X2),
                   U71(ok X1, ok X2) -> ok U71(X1, X2),
                U82(mark X1, X2, X3) -> mark U82(X1, X2, X3),
            U82(ok X1, ok X2, ok X3) -> ok U82(X1, X2, X3),
                U81(mark X1, X2, X3) -> mark U81(X1, X2, X3),
            U81(ok X1, ok X2, ok X3) -> ok U81(X1, X2, X3),
                U83(mark X1, X2, X3) -> mark U83(X1, X2, X3),
            U83(ok X1, ok X2, ok X3) -> ok U83(X1, X2, X3),
                U84(mark X1, X2, X3) -> mark U84(X1, X2, X3),
            U84(ok X1, ok X2, ok X3) -> ok U84(X1, X2, X3),
                            s mark X -> mark s X,
                              s ok X -> ok s X,
                          U92 mark X -> mark U92 X,
                            U92 ok X -> ok U92 X,
                    U91(mark X1, X2) -> mark U91(X1, X2),
                   U91(ok X1, ok X2) -> ok U91(X1, X2),
             proper U102(X1, X2, X3) -> U102(proper X1, proper X2, proper X3),
                  proper isNatKind X -> isNatKind proper X,
             proper U101(X1, X2, X3) -> U101(proper X1, proper X2, proper X3),
                         proper tt() -> ok tt(),
             proper U103(X1, X2, X3) -> U103(proper X1, proper X2, proper X3),
                      proper isNat X -> isNat proper X,
             proper U104(X1, X2, X3) -> U104(proper X1, proper X2, proper X3),
                 proper plus(X1, X2) -> plus(proper X1, proper X2),
                    proper x(X1, X2) -> x(proper X1, proper X2),
              proper U12(X1, X2, X3) -> U12(proper X1, proper X2, proper X3),
              proper U11(X1, X2, X3) -> U11(proper X1, proper X2, proper X3),
              proper U13(X1, X2, X3) -> U13(proper X1, proper X2, proper X3),
              proper U14(X1, X2, X3) -> U14(proper X1, proper X2, proper X3),
                  proper U15(X1, X2) -> U15(proper X1, proper X2),
                        proper U16 X -> U16 proper X,
                  proper U22(X1, X2) -> U22(proper X1, proper X2),
                  proper U21(X1, X2) -> U21(proper X1, proper X2),
                        proper U23 X -> U23 proper X,
              proper U32(X1, X2, X3) -> U32(proper X1, proper X2, proper X3),
              proper U31(X1, X2, X3) -> U31(proper X1, proper X2, proper X3),
              proper U33(X1, X2, X3) -> U33(proper X1, proper X2, proper X3),
              proper U34(X1, X2, X3) -> U34(proper X1, proper X2, proper X3),
                  proper U35(X1, X2) -> U35(proper X1, proper X2),
                        proper U36 X -> U36 proper X,
                        proper U42 X -> U42 proper X,
                  proper U41(X1, X2) -> U41(proper X1, proper X2),
                        proper U51 X -> U51 proper X,
                        proper U62 X -> U62 proper X,
                  proper U61(X1, X2) -> U61(proper X1, proper X2),
                  proper U72(X1, X2) -> U72(proper X1, proper X2),
                  proper U71(X1, X2) -> U71(proper X1, proper X2),
              proper U82(X1, X2, X3) -> U82(proper X1, proper X2, proper X3),
              proper U81(X1, X2, X3) -> U81(proper X1, proper X2, proper X3),
              proper U83(X1, X2, X3) -> U83(proper X1, proper X2, proper X3),
              proper U84(X1, X2, X3) -> U84(proper X1, proper X2, proper X3),
                          proper s X -> s proper X,
                        proper U92 X -> U92 proper X,
                  proper U91(X1, X2) -> U91(proper X1, proper X2),
                          proper 0() -> ok 0(),
                          top mark X -> top proper X,
                            top ok X -> top active X
      }
      Open
     
     
     
     SCC (2):
      Strict:
       { U15#(mark X1, X2) -> U15#(X1, X2),
        U15#(ok X1, ok X2) -> U15#(X1, X2)}
      Weak:
      {
               U102(mark X1, X2, X3) -> mark U102(X1, X2, X3),
           U102(ok X1, ok X2, ok X3) -> ok U102(X1, X2, X3),
                      isNatKind ok X -> ok isNatKind X,
             active U102(X1, X2, X3) -> U102(active X1, X2, X3),
             active U102(tt(), M, N) -> mark U103(isNat N, M, N),
       active isNatKind plus(V1, V2) -> mark U41(isNatKind V1, V2),
          active isNatKind x(V1, V2) -> mark U61(isNatKind V1, V2),
               active isNatKind s V1 -> mark U51 isNatKind V1,
                active isNatKind 0() -> mark tt(),
             active U101(X1, X2, X3) -> U101(active X1, X2, X3),
             active U101(tt(), M, N) -> mark U102(isNatKind M, M, N),
             active U103(X1, X2, X3) -> U103(active X1, X2, X3),
             active U103(tt(), M, N) -> mark U104(isNatKind N, M, N),
           active isNat plus(V1, V2) -> mark U11(isNatKind V1, V1, V2),
              active isNat x(V1, V2) -> mark U31(isNatKind V1, V1, V2),
                   active isNat s V1 -> mark U21(isNatKind V1, V1),
                    active isNat 0() -> mark tt(),
             active U104(X1, X2, X3) -> U104(active X1, X2, X3),
             active U104(tt(), M, N) -> mark plus(x(N, M), N),
                 active plus(N, s M) -> mark U81(isNat M, M, N),
                 active plus(N, 0()) -> mark U71(isNat N, N),
                 active plus(X1, X2) -> plus(X1, active X2),
                 active plus(X1, X2) -> plus(active X1, X2),
                    active x(N, s M) -> mark U101(isNat M, M, N),
                    active x(N, 0()) -> mark U91(isNat N, N),
                    active x(X1, X2) -> x(X1, active X2),
                    active x(X1, X2) -> x(active X1, X2),
              active U12(X1, X2, X3) -> U12(active X1, X2, X3),
            active U12(tt(), V1, V2) -> mark U13(isNatKind V2, V1, V2),
              active U11(X1, X2, X3) -> U11(active X1, X2, X3),
            active U11(tt(), V1, V2) -> mark U12(isNatKind V1, V1, V2),
              active U13(X1, X2, X3) -> U13(active X1, X2, X3),
            active U13(tt(), V1, V2) -> mark U14(isNatKind V2, V1, V2),
              active U14(X1, X2, X3) -> U14(active X1, X2, X3),
            active U14(tt(), V1, V2) -> mark U15(isNat V1, V2),
                  active U15(X1, X2) -> U15(active X1, X2),
                active U15(tt(), V2) -> mark U16 isNat V2,
                        active U16 X -> U16 active X,
                     active U16 tt() -> mark tt(),
                  active U22(X1, X2) -> U22(active X1, X2),
                active U22(tt(), V1) -> mark U23 isNat V1,
                  active U21(X1, X2) -> U21(active X1, X2),
                active U21(tt(), V1) -> mark U22(isNatKind V1, V1),
                        active U23 X -> U23 active X,
                     active U23 tt() -> mark tt(),
              active U32(X1, X2, X3) -> U32(active X1, X2, X3),
            active U32(tt(), V1, V2) -> mark U33(isNatKind V2, V1, V2),
              active U31(X1, X2, X3) -> U31(active X1, X2, X3),
            active U31(tt(), V1, V2) -> mark U32(isNatKind V1, V1, V2),
              active U33(X1, X2, X3) -> U33(active X1, X2, X3),
            active U33(tt(), V1, V2) -> mark U34(isNatKind V2, V1, V2),
              active U34(X1, X2, X3) -> U34(active X1, X2, X3),
            active U34(tt(), V1, V2) -> mark U35(isNat V1, V2),
                  active U35(X1, X2) -> U35(active X1, X2),
                active U35(tt(), V2) -> mark U36 isNat V2,
                        active U36 X -> U36 active X,
                     active U36 tt() -> mark tt(),
                        active U42 X -> U42 active X,
                     active U42 tt() -> mark tt(),
                  active U41(X1, X2) -> U41(active X1, X2),
                active U41(tt(), V2) -> mark U42 isNatKind V2,
                        active U51 X -> U51 active X,
                     active U51 tt() -> mark tt(),
                        active U62 X -> U62 active X,
                     active U62 tt() -> mark tt(),
                  active U61(X1, X2) -> U61(active X1, X2),
                active U61(tt(), V2) -> mark U62 isNatKind V2,
                  active U72(X1, X2) -> U72(active X1, X2),
                 active U72(tt(), N) -> mark N,
                  active U71(X1, X2) -> U71(active X1, X2),
                 active U71(tt(), N) -> mark U72(isNatKind N, N),
              active U82(X1, X2, X3) -> U82(active X1, X2, X3),
              active U82(tt(), M, N) -> mark U83(isNat N, M, N),
              active U81(X1, X2, X3) -> U81(active X1, X2, X3),
              active U81(tt(), M, N) -> mark U82(isNatKind M, M, N),
              active U83(X1, X2, X3) -> U83(active X1, X2, X3),
              active U83(tt(), M, N) -> mark U84(isNatKind N, M, N),
              active U84(X1, X2, X3) -> U84(active X1, X2, X3),
              active U84(tt(), M, N) -> mark s plus(N, M),
                          active s X -> s active X,
                        active U92 X -> U92 active X,
                     active U92 tt() -> mark 0(),
                  active U91(X1, X2) -> U91(active X1, X2),
                 active U91(tt(), N) -> mark U92 isNatKind N,
               U101(mark X1, X2, X3) -> mark U101(X1, X2, X3),
           U101(ok X1, ok X2, ok X3) -> ok U101(X1, X2, X3),
               U103(mark X1, X2, X3) -> mark U103(X1, X2, X3),
           U103(ok X1, ok X2, ok X3) -> ok U103(X1, X2, X3),
                          isNat ok X -> ok isNat X,
               U104(mark X1, X2, X3) -> mark U104(X1, X2, X3),
           U104(ok X1, ok X2, ok X3) -> ok U104(X1, X2, X3),
                   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),
                      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),
                U12(mark X1, X2, X3) -> mark U12(X1, X2, X3),
            U12(ok X1, ok X2, ok X3) -> ok U12(X1, X2, X3),
                U11(mark X1, X2, X3) -> mark U11(X1, X2, X3),
            U11(ok X1, ok X2, ok X3) -> ok U11(X1, X2, X3),
                U13(mark X1, X2, X3) -> mark U13(X1, X2, X3),
            U13(ok X1, ok X2, ok X3) -> ok U13(X1, X2, X3),
                U14(mark X1, X2, X3) -> mark U14(X1, X2, X3),
            U14(ok X1, ok X2, ok X3) -> ok U14(X1, X2, X3),
                    U15(mark X1, X2) -> mark U15(X1, X2),
                   U15(ok X1, ok X2) -> ok U15(X1, X2),
                          U16 mark X -> mark U16 X,
                            U16 ok X -> ok U16 X,
                    U22(mark X1, X2) -> mark U22(X1, X2),
                   U22(ok X1, ok X2) -> ok U22(X1, X2),
                    U21(mark X1, X2) -> mark U21(X1, X2),
                   U21(ok X1, ok X2) -> ok U21(X1, X2),
                          U23 mark X -> mark U23 X,
                            U23 ok X -> ok U23 X,
                U32(mark X1, X2, X3) -> mark U32(X1, X2, X3),
            U32(ok X1, ok X2, ok X3) -> ok U32(X1, X2, X3),
                U31(mark X1, X2, X3) -> mark U31(X1, X2, X3),
            U31(ok X1, ok X2, ok X3) -> ok U31(X1, X2, X3),
                U33(mark X1, X2, X3) -> mark U33(X1, X2, X3),
            U33(ok X1, ok X2, ok X3) -> ok U33(X1, X2, X3),
                U34(mark X1, X2, X3) -> mark U34(X1, X2, X3),
            U34(ok X1, ok X2, ok X3) -> ok U34(X1, X2, X3),
                    U35(mark X1, X2) -> mark U35(X1, X2),
                   U35(ok X1, ok X2) -> ok U35(X1, X2),
                          U36 mark X -> mark U36 X,
                            U36 ok X -> ok U36 X,
                          U42 mark X -> mark U42 X,
                            U42 ok X -> ok U42 X,
                    U41(mark X1, X2) -> mark U41(X1, X2),
                   U41(ok X1, ok X2) -> ok U41(X1, X2),
                          U51 mark X -> mark U51 X,
                            U51 ok X -> ok U51 X,
                          U62 mark X -> mark U62 X,
                            U62 ok X -> ok U62 X,
                    U61(mark X1, X2) -> mark U61(X1, X2),
                   U61(ok X1, ok X2) -> ok U61(X1, X2),
                    U72(mark X1, X2) -> mark U72(X1, X2),
                   U72(ok X1, ok X2) -> ok U72(X1, X2),
                    U71(mark X1, X2) -> mark U71(X1, X2),
                   U71(ok X1, ok X2) -> ok U71(X1, X2),
                U82(mark X1, X2, X3) -> mark U82(X1, X2, X3),
            U82(ok X1, ok X2, ok X3) -> ok U82(X1, X2, X3),
                U81(mark X1, X2, X3) -> mark U81(X1, X2, X3),
            U81(ok X1, ok X2, ok X3) -> ok U81(X1, X2, X3),
                U83(mark X1, X2, X3) -> mark U83(X1, X2, X3),
            U83(ok X1, ok X2, ok X3) -> ok U83(X1, X2, X3),
                U84(mark X1, X2, X3) -> mark U84(X1, X2, X3),
            U84(ok X1, ok X2, ok X3) -> ok U84(X1, X2, X3),
                            s mark X -> mark s X,
                              s ok X -> ok s X,
                          U92 mark X -> mark U92 X,
                            U92 ok X -> ok U92 X,
                    U91(mark X1, X2) -> mark U91(X1, X2),
                   U91(ok X1, ok X2) -> ok U91(X1, X2),
             proper U102(X1, X2, X3) -> U102(proper X1, proper X2, proper X3),
                  proper isNatKind X -> isNatKind proper X,
             proper U101(X1, X2, X3) -> U101(proper X1, proper X2, proper X3),
                         proper tt() -> ok tt(),
             proper U103(X1, X2, X3) -> U103(proper X1, proper X2, proper X3),
                      proper isNat X -> isNat proper X,
             proper U104(X1, X2, X3) -> U104(proper X1, proper X2, proper X3),
                 proper plus(X1, X2) -> plus(proper X1, proper X2),
                    proper x(X1, X2) -> x(proper X1, proper X2),
              proper U12(X1, X2, X3) -> U12(proper X1, proper X2, proper X3),
              proper U11(X1, X2, X3) -> U11(proper X1, proper X2, proper X3),
              proper U13(X1, X2, X3) -> U13(proper X1, proper X2, proper X3),
              proper U14(X1, X2, X3) -> U14(proper X1, proper X2, proper X3),
                  proper U15(X1, X2) -> U15(proper X1, proper X2),
                        proper U16 X -> U16 proper X,
                  proper U22(X1, X2) -> U22(proper X1, proper X2),
                  proper U21(X1, X2) -> U21(proper X1, proper X2),
                        proper U23 X -> U23 proper X,
              proper U32(X1, X2, X3) -> U32(proper X1, proper X2, proper X3),
              proper U31(X1, X2, X3) -> U31(proper X1, proper X2, proper X3),
              proper U33(X1, X2, X3) -> U33(proper X1, proper X2, proper X3),
              proper U34(X1, X2, X3) -> U34(proper X1, proper X2, proper X3),
                  proper U35(X1, X2) -> U35(proper X1, proper X2),
                        proper U36 X -> U36 proper X,
                        proper U42 X -> U42 proper X,
                  proper U41(X1, X2) -> U41(proper X1, proper X2),
                        proper U51 X -> U51 proper X,
                        proper U62 X -> U62 proper X,
                  proper U61(X1, X2) -> U61(proper X1, proper X2),
                  proper U72(X1, X2) -> U72(proper X1, proper X2),
                  proper U71(X1, X2) -> U71(proper X1, proper X2),
              proper U82(X1, X2, X3) -> U82(proper X1, proper X2, proper X3),
              proper U81(X1, X2, X3) -> U81(proper X1, proper X2, proper X3),
              proper U83(X1, X2, X3) -> U83(proper X1, proper X2, proper X3),
              proper U84(X1, X2, X3) -> U84(proper X1, proper X2, proper X3),
                          proper s X -> s proper X,
                        proper U92 X -> U92 proper X,
                  proper U91(X1, X2) -> U91(proper X1, proper X2),
                          proper 0() -> ok 0(),
                          top mark X -> top proper X,
                            top ok X -> top active X
      }
      Open
     
     
     
     SCC (2):
      Strict:
       {    U14#(mark X1, X2, X3) -> U14#(X1, X2, X3),
        U14#(ok X1, ok X2, ok X3) -> U14#(X1, X2, X3)}
      Weak:
      {
               U102(mark X1, X2, X3) -> mark U102(X1, X2, X3),
           U102(ok X1, ok X2, ok X3) -> ok U102(X1, X2, X3),
                      isNatKind ok X -> ok isNatKind X,
             active U102(X1, X2, X3) -> U102(active X1, X2, X3),
             active U102(tt(), M, N) -> mark U103(isNat N, M, N),
       active isNatKind plus(V1, V2) -> mark U41(isNatKind V1, V2),
          active isNatKind x(V1, V2) -> mark U61(isNatKind V1, V2),
               active isNatKind s V1 -> mark U51 isNatKind V1,
                active isNatKind 0() -> mark tt(),
             active U101(X1, X2, X3) -> U101(active X1, X2, X3),
             active U101(tt(), M, N) -> mark U102(isNatKind M, M, N),
             active U103(X1, X2, X3) -> U103(active X1, X2, X3),
             active U103(tt(), M, N) -> mark U104(isNatKind N, M, N),
           active isNat plus(V1, V2) -> mark U11(isNatKind V1, V1, V2),
              active isNat x(V1, V2) -> mark U31(isNatKind V1, V1, V2),
                   active isNat s V1 -> mark U21(isNatKind V1, V1),
                    active isNat 0() -> mark tt(),
             active U104(X1, X2, X3) -> U104(active X1, X2, X3),
             active U104(tt(), M, N) -> mark plus(x(N, M), N),
                 active plus(N, s M) -> mark U81(isNat M, M, N),
                 active plus(N, 0()) -> mark U71(isNat N, N),
                 active plus(X1, X2) -> plus(X1, active X2),
                 active plus(X1, X2) -> plus(active X1, X2),
                    active x(N, s M) -> mark U101(isNat M, M, N),
                    active x(N, 0()) -> mark U91(isNat N, N),
                    active x(X1, X2) -> x(X1, active X2),
                    active x(X1, X2) -> x(active X1, X2),
              active U12(X1, X2, X3) -> U12(active X1, X2, X3),
            active U12(tt(), V1, V2) -> mark U13(isNatKind V2, V1, V2),
              active U11(X1, X2, X3) -> U11(active X1, X2, X3),
            active U11(tt(), V1, V2) -> mark U12(isNatKind V1, V1, V2),
              active U13(X1, X2, X3) -> U13(active X1, X2, X3),
            active U13(tt(), V1, V2) -> mark U14(isNatKind V2, V1, V2),
              active U14(X1, X2, X3) -> U14(active X1, X2, X3),
            active U14(tt(), V1, V2) -> mark U15(isNat V1, V2),
                  active U15(X1, X2) -> U15(active X1, X2),
                active U15(tt(), V2) -> mark U16 isNat V2,
                        active U16 X -> U16 active X,
                     active U16 tt() -> mark tt(),
                  active U22(X1, X2) -> U22(active X1, X2),
                active U22(tt(), V1) -> mark U23 isNat V1,
                  active U21(X1, X2) -> U21(active X1, X2),
                active U21(tt(), V1) -> mark U22(isNatKind V1, V1),
                        active U23 X -> U23 active X,
                     active U23 tt() -> mark tt(),
              active U32(X1, X2, X3) -> U32(active X1, X2, X3),
            active U32(tt(), V1, V2) -> mark U33(isNatKind V2, V1, V2),
              active U31(X1, X2, X3) -> U31(active X1, X2, X3),
            active U31(tt(), V1, V2) -> mark U32(isNatKind V1, V1, V2),
              active U33(X1, X2, X3) -> U33(active X1, X2, X3),
            active U33(tt(), V1, V2) -> mark U34(isNatKind V2, V1, V2),
              active U34(X1, X2, X3) -> U34(active X1, X2, X3),
            active U34(tt(), V1, V2) -> mark U35(isNat V1, V2),
                  active U35(X1, X2) -> U35(active X1, X2),
                active U35(tt(), V2) -> mark U36 isNat V2,
                        active U36 X -> U36 active X,
                     active U36 tt() -> mark tt(),
                        active U42 X -> U42 active X,
                     active U42 tt() -> mark tt(),
                  active U41(X1, X2) -> U41(active X1, X2),
                active U41(tt(), V2) -> mark U42 isNatKind V2,
                        active U51 X -> U51 active X,
                     active U51 tt() -> mark tt(),
                        active U62 X -> U62 active X,
                     active U62 tt() -> mark tt(),
                  active U61(X1, X2) -> U61(active X1, X2),
                active U61(tt(), V2) -> mark U62 isNatKind V2,
                  active U72(X1, X2) -> U72(active X1, X2),
                 active U72(tt(), N) -> mark N,
                  active U71(X1, X2) -> U71(active X1, X2),
                 active U71(tt(), N) -> mark U72(isNatKind N, N),
              active U82(X1, X2, X3) -> U82(active X1, X2, X3),
              active U82(tt(), M, N) -> mark U83(isNat N, M, N),
              active U81(X1, X2, X3) -> U81(active X1, X2, X3),
              active U81(tt(), M, N) -> mark U82(isNatKind M, M, N),
              active U83(X1, X2, X3) -> U83(active X1, X2, X3),
              active U83(tt(), M, N) -> mark U84(isNatKind N, M, N),
              active U84(X1, X2, X3) -> U84(active X1, X2, X3),
              active U84(tt(), M, N) -> mark s plus(N, M),
                          active s X -> s active X,
                        active U92 X -> U92 active X,
                     active U92 tt() -> mark 0(),
                  active U91(X1, X2) -> U91(active X1, X2),
                 active U91(tt(), N) -> mark U92 isNatKind N,
               U101(mark X1, X2, X3) -> mark U101(X1, X2, X3),
           U101(ok X1, ok X2, ok X3) -> ok U101(X1, X2, X3),
               U103(mark X1, X2, X3) -> mark U103(X1, X2, X3),
           U103(ok X1, ok X2, ok X3) -> ok U103(X1, X2, X3),
                          isNat ok X -> ok isNat X,
               U104(mark X1, X2, X3) -> mark U104(X1, X2, X3),
           U104(ok X1, ok X2, ok X3) -> ok U104(X1, X2, X3),
                   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),
                      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),
                U12(mark X1, X2, X3) -> mark U12(X1, X2, X3),
            U12(ok X1, ok X2, ok X3) -> ok U12(X1, X2, X3),
                U11(mark X1, X2, X3) -> mark U11(X1, X2, X3),
            U11(ok X1, ok X2, ok X3) -> ok U11(X1, X2, X3),
                U13(mark X1, X2, X3) -> mark U13(X1, X2, X3),
            U13(ok X1, ok X2, ok X3) -> ok U13(X1, X2, X3),
                U14(mark X1, X2, X3) -> mark U14(X1, X2, X3),
            U14(ok X1, ok X2, ok X3) -> ok U14(X1, X2, X3),
                    U15(mark X1, X2) -> mark U15(X1, X2),
                   U15(ok X1, ok X2) -> ok U15(X1, X2),
                          U16 mark X -> mark U16 X,
                            U16 ok X -> ok U16 X,
                    U22(mark X1, X2) -> mark U22(X1, X2),
                   U22(ok X1, ok X2) -> ok U22(X1, X2),
                    U21(mark X1, X2) -> mark U21(X1, X2),
                   U21(ok X1, ok X2) -> ok U21(X1, X2),
                          U23 mark X -> mark U23 X,
                            U23 ok X -> ok U23 X,
                U32(mark X1, X2, X3) -> mark U32(X1, X2, X3),
            U32(ok X1, ok X2, ok X3) -> ok U32(X1, X2, X3),
                U31(mark X1, X2, X3) -> mark U31(X1, X2, X3),
            U31(ok X1, ok X2, ok X3) -> ok U31(X1, X2, X3),
                U33(mark X1, X2, X3) -> mark U33(X1, X2, X3),
            U33(ok X1, ok X2, ok X3) -> ok U33(X1, X2, X3),
                U34(mark X1, X2, X3) -> mark U34(X1, X2, X3),
            U34(ok X1, ok X2, ok X3) -> ok U34(X1, X2, X3),
                    U35(mark X1, X2) -> mark U35(X1, X2),
                   U35(ok X1, ok X2) -> ok U35(X1, X2),
                          U36 mark X -> mark U36 X,
                            U36 ok X -> ok U36 X,
                          U42 mark X -> mark U42 X,
                            U42 ok X -> ok U42 X,
                    U41(mark X1, X2) -> mark U41(X1, X2),
                   U41(ok X1, ok X2) -> ok U41(X1, X2),
                          U51 mark X -> mark U51 X,
                            U51 ok X -> ok U51 X,
                          U62 mark X -> mark U62 X,
                            U62 ok X -> ok U62 X,
                    U61(mark X1, X2) -> mark U61(X1, X2),
                   U61(ok X1, ok X2) -> ok U61(X1, X2),
                    U72(mark X1, X2) -> mark U72(X1, X2),
                   U72(ok X1, ok X2) -> ok U72(X1, X2),
                    U71(mark X1, X2) -> mark U71(X1, X2),
                   U71(ok X1, ok X2) -> ok U71(X1, X2),
                U82(mark X1, X2, X3) -> mark U82(X1, X2, X3),
            U82(ok X1, ok X2, ok X3) -> ok U82(X1, X2, X3),
                U81(mark X1, X2, X3) -> mark U81(X1, X2, X3),
            U81(ok X1, ok X2, ok X3) -> ok U81(X1, X2, X3),
                U83(mark X1, X2, X3) -> mark U83(X1, X2, X3),
            U83(ok X1, ok X2, ok X3) -> ok U83(X1, X2, X3),
                U84(mark X1, X2, X3) -> mark U84(X1, X2, X3),
            U84(ok X1, ok X2, ok X3) -> ok U84(X1, X2, X3),
                            s mark X -> mark s X,
                              s ok X -> ok s X,
                          U92 mark X -> mark U92 X,
                            U92 ok X -> ok U92 X,
                    U91(mark X1, X2) -> mark U91(X1, X2),
                   U91(ok X1, ok X2) -> ok U91(X1, X2),
             proper U102(X1, X2, X3) -> U102(proper X1, proper X2, proper X3),
                  proper isNatKind X -> isNatKind proper X,
             proper U101(X1, X2, X3) -> U101(proper X1, proper X2, proper X3),
                         proper tt() -> ok tt(),
             proper U103(X1, X2, X3) -> U103(proper X1, proper X2, proper X3),
                      proper isNat X -> isNat proper X,
             proper U104(X1, X2, X3) -> U104(proper X1, proper X2, proper X3),
                 proper plus(X1, X2) -> plus(proper X1, proper X2),
                    proper x(X1, X2) -> x(proper X1, proper X2),
              proper U12(X1, X2, X3) -> U12(proper X1, proper X2, proper X3),
              proper U11(X1, X2, X3) -> U11(proper X1, proper X2, proper X3),
              proper U13(X1, X2, X3) -> U13(proper X1, proper X2, proper X3),
              proper U14(X1, X2, X3) -> U14(proper X1, proper X2, proper X3),
                  proper U15(X1, X2) -> U15(proper X1, proper X2),
                        proper U16 X -> U16 proper X,
                  proper U22(X1, X2) -> U22(proper X1, proper X2),
                  proper U21(X1, X2) -> U21(proper X1, proper X2),
                        proper U23 X -> U23 proper X,
              proper U32(X1, X2, X3) -> U32(proper X1, proper X2, proper X3),
              proper U31(X1, X2, X3) -> U31(proper X1, proper X2, proper X3),
              proper U33(X1, X2, X3) -> U33(proper X1, proper X2, proper X3),
              proper U34(X1, X2, X3) -> U34(proper X1, proper X2, proper X3),
                  proper U35(X1, X2) -> U35(proper X1, proper X2),
                        proper U36 X -> U36 proper X,
                        proper U42 X -> U42 proper X,
                  proper U41(X1, X2) -> U41(proper X1, proper X2),
                        proper U51 X -> U51 proper X,
                        proper U62 X -> U62 proper X,
                  proper U61(X1, X2) -> U61(proper X1, proper X2),
                  proper U72(X1, X2) -> U72(proper X1, proper X2),
                  proper U71(X1, X2) -> U71(proper X1, proper X2),
              proper U82(X1, X2, X3) -> U82(proper X1, proper X2, proper X3),
              proper U81(X1, X2, X3) -> U81(proper X1, proper X2, proper X3),
              proper U83(X1, X2, X3) -> U83(proper X1, proper X2, proper X3),
              proper U84(X1, X2, X3) -> U84(proper X1, proper X2, proper X3),
                          proper s X -> s proper X,
                        proper U92 X -> U92 proper X,
                  proper U91(X1, X2) -> U91(proper X1, proper X2),
                          proper 0() -> ok 0(),
                          top mark X -> top proper X,
                            top ok X -> top active X
      }
      Open
     
     
     
     
     
     
     SCC (2):
      Strict:
       {    U13#(mark X1, X2, X3) -> U13#(X1, X2, X3),
        U13#(ok X1, ok X2, ok X3) -> U13#(X1, X2, X3)}
      Weak:
      {
               U102(mark X1, X2, X3) -> mark U102(X1, X2, X3),
           U102(ok X1, ok X2, ok X3) -> ok U102(X1, X2, X3),
                      isNatKind ok X -> ok isNatKind X,
             active U102(X1, X2, X3) -> U102(active X1, X2, X3),
             active U102(tt(), M, N) -> mark U103(isNat N, M, N),
       active isNatKind plus(V1, V2) -> mark U41(isNatKind V1, V2),
          active isNatKind x(V1, V2) -> mark U61(isNatKind V1, V2),
               active isNatKind s V1 -> mark U51 isNatKind V1,
                active isNatKind 0() -> mark tt(),
             active U101(X1, X2, X3) -> U101(active X1, X2, X3),
             active U101(tt(), M, N) -> mark U102(isNatKind M, M, N),
             active U103(X1, X2, X3) -> U103(active X1, X2, X3),
             active U103(tt(), M, N) -> mark U104(isNatKind N, M, N),
           active isNat plus(V1, V2) -> mark U11(isNatKind V1, V1, V2),
              active isNat x(V1, V2) -> mark U31(isNatKind V1, V1, V2),
                   active isNat s V1 -> mark U21(isNatKind V1, V1),
                    active isNat 0() -> mark tt(),
             active U104(X1, X2, X3) -> U104(active X1, X2, X3),
             active U104(tt(), M, N) -> mark plus(x(N, M), N),
                 active plus(N, s M) -> mark U81(isNat M, M, N),
                 active plus(N, 0()) -> mark U71(isNat N, N),
                 active plus(X1, X2) -> plus(X1, active X2),
                 active plus(X1, X2) -> plus(active X1, X2),
                    active x(N, s M) -> mark U101(isNat M, M, N),
                    active x(N, 0()) -> mark U91(isNat N, N),
                    active x(X1, X2) -> x(X1, active X2),
                    active x(X1, X2) -> x(active X1, X2),
              active U12(X1, X2, X3) -> U12(active X1, X2, X3),
            active U12(tt(), V1, V2) -> mark U13(isNatKind V2, V1, V2),
              active U11(X1, X2, X3) -> U11(active X1, X2, X3),
            active U11(tt(), V1, V2) -> mark U12(isNatKind V1, V1, V2),
              active U13(X1, X2, X3) -> U13(active X1, X2, X3),
            active U13(tt(), V1, V2) -> mark U14(isNatKind V2, V1, V2),
              active U14(X1, X2, X3) -> U14(active X1, X2, X3),
            active U14(tt(), V1, V2) -> mark U15(isNat V1, V2),
                  active U15(X1, X2) -> U15(active X1, X2),
                active U15(tt(), V2) -> mark U16 isNat V2,
                        active U16 X -> U16 active X,
                     active U16 tt() -> mark tt(),
                  active U22(X1, X2) -> U22(active X1, X2),
                active U22(tt(), V1) -> mark U23 isNat V1,
                  active U21(X1, X2) -> U21(active X1, X2),
                active U21(tt(), V1) -> mark U22(isNatKind V1, V1),
                        active U23 X -> U23 active X,
                     active U23 tt() -> mark tt(),
              active U32(X1, X2, X3) -> U32(active X1, X2, X3),
            active U32(tt(), V1, V2) -> mark U33(isNatKind V2, V1, V2),
              active U31(X1, X2, X3) -> U31(active X1, X2, X3),
            active U31(tt(), V1, V2) -> mark U32(isNatKind V1, V1, V2),
              active U33(X1, X2, X3) -> U33(active X1, X2, X3),
            active U33(tt(), V1, V2) -> mark U34(isNatKind V2, V1, V2),
              active U34(X1, X2, X3) -> U34(active X1, X2, X3),
            active U34(tt(), V1, V2) -> mark U35(isNat V1, V2),
                  active U35(X1, X2) -> U35(active X1, X2),
                active U35(tt(), V2) -> mark U36 isNat V2,
                        active U36 X -> U36 active X,
                     active U36 tt() -> mark tt(),
                        active U42 X -> U42 active X,
                     active U42 tt() -> mark tt(),
                  active U41(X1, X2) -> U41(active X1, X2),
                active U41(tt(), V2) -> mark U42 isNatKind V2,
                        active U51 X -> U51 active X,
                     active U51 tt() -> mark tt(),
                        active U62 X -> U62 active X,
                     active U62 tt() -> mark tt(),
                  active U61(X1, X2) -> U61(active X1, X2),
                active U61(tt(), V2) -> mark U62 isNatKind V2,
                  active U72(X1, X2) -> U72(active X1, X2),
                 active U72(tt(), N) -> mark N,
                  active U71(X1, X2) -> U71(active X1, X2),
                 active U71(tt(), N) -> mark U72(isNatKind N, N),
              active U82(X1, X2, X3) -> U82(active X1, X2, X3),
              active U82(tt(), M, N) -> mark U83(isNat N, M, N),
              active U81(X1, X2, X3) -> U81(active X1, X2, X3),
              active U81(tt(), M, N) -> mark U82(isNatKind M, M, N),
              active U83(X1, X2, X3) -> U83(active X1, X2, X3),
              active U83(tt(), M, N) -> mark U84(isNatKind N, M, N),
              active U84(X1, X2, X3) -> U84(active X1, X2, X3),
              active U84(tt(), M, N) -> mark s plus(N, M),
                          active s X -> s active X,
                        active U92 X -> U92 active X,
                     active U92 tt() -> mark 0(),
                  active U91(X1, X2) -> U91(active X1, X2),
                 active U91(tt(), N) -> mark U92 isNatKind N,
               U101(mark X1, X2, X3) -> mark U101(X1, X2, X3),
           U101(ok X1, ok X2, ok X3) -> ok U101(X1, X2, X3),
               U103(mark X1, X2, X3) -> mark U103(X1, X2, X3),
           U103(ok X1, ok X2, ok X3) -> ok U103(X1, X2, X3),
                          isNat ok X -> ok isNat X,
               U104(mark X1, X2, X3) -> mark U104(X1, X2, X3),
           U104(ok X1, ok X2, ok X3) -> ok U104(X1, X2, X3),
                   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),
                      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),
                U12(mark X1, X2, X3) -> mark U12(X1, X2, X3),
            U12(ok X1, ok X2, ok X3) -> ok U12(X1, X2, X3),
                U11(mark X1, X2, X3) -> mark U11(X1, X2, X3),
            U11(ok X1, ok X2, ok X3) -> ok U11(X1, X2, X3),
                U13(mark X1, X2, X3) -> mark U13(X1, X2, X3),
            U13(ok X1, ok X2, ok X3) -> ok U13(X1, X2, X3),
                U14(mark X1, X2, X3) -> mark U14(X1, X2, X3),
            U14(ok X1, ok X2, ok X3) -> ok U14(X1, X2, X3),
                    U15(mark X1, X2) -> mark U15(X1, X2),
                   U15(ok X1, ok X2) -> ok U15(X1, X2),
                          U16 mark X -> mark U16 X,
                            U16 ok X -> ok U16 X,
                    U22(mark X1, X2) -> mark U22(X1, X2),
                   U22(ok X1, ok X2) -> ok U22(X1, X2),
                    U21(mark X1, X2) -> mark U21(X1, X2),
                   U21(ok X1, ok X2) -> ok U21(X1, X2),
                          U23 mark X -> mark U23 X,
                            U23 ok X -> ok U23 X,
                U32(mark X1, X2, X3) -> mark U32(X1, X2, X3),
            U32(ok X1, ok X2, ok X3) -> ok U32(X1, X2, X3),
                U31(mark X1, X2, X3) -> mark U31(X1, X2, X3),
            U31(ok X1, ok X2, ok X3) -> ok U31(X1, X2, X3),
                U33(mark X1, X2, X3) -> mark U33(X1, X2, X3),
            U33(ok X1, ok X2, ok X3) -> ok U33(X1, X2, X3),
                U34(mark X1, X2, X3) -> mark U34(X1, X2, X3),
            U34(ok X1, ok X2, ok X3) -> ok U34(X1, X2, X3),
                    U35(mark X1, X2) -> mark U35(X1, X2),
                   U35(ok X1, ok X2) -> ok U35(X1, X2),
                          U36 mark X -> mark U36 X,
                            U36 ok X -> ok U36 X,
                          U42 mark X -> mark U42 X,
                            U42 ok X -> ok U42 X,
                    U41(mark X1, X2) -> mark U41(X1, X2),
                   U41(ok X1, ok X2) -> ok U41(X1, X2),
                          U51 mark X -> mark U51 X,
                            U51 ok X -> ok U51 X,
                          U62 mark X -> mark U62 X,
                            U62 ok X -> ok U62 X,
                    U61(mark X1, X2) -> mark U61(X1, X2),
                   U61(ok X1, ok X2) -> ok U61(X1, X2),
                    U72(mark X1, X2) -> mark U72(X1, X2),
                   U72(ok X1, ok X2) -> ok U72(X1, X2),
                    U71(mark X1, X2) -> mark U71(X1, X2),
                   U71(ok X1, ok X2) -> ok U71(X1, X2),
                U82(mark X1, X2, X3) -> mark U82(X1, X2, X3),
            U82(ok X1, ok X2, ok X3) -> ok U82(X1, X2, X3),
                U81(mark X1, X2, X3) -> mark U81(X1, X2, X3),
            U81(ok X1, ok X2, ok X3) -> ok U81(X1, X2, X3),
                U83(mark X1, X2, X3) -> mark U83(X1, X2, X3),
            U83(ok X1, ok X2, ok X3) -> ok U83(X1, X2, X3),
                U84(mark X1, X2, X3) -> mark U84(X1, X2, X3),
            U84(ok X1, ok X2, ok X3) -> ok U84(X1, X2, X3),
                            s mark X -> mark s X,
                              s ok X -> ok s X,
                          U92 mark X -> mark U92 X,
                            U92 ok X -> ok U92 X,
                    U91(mark X1, X2) -> mark U91(X1, X2),
                   U91(ok X1, ok X2) -> ok U91(X1, X2),
             proper U102(X1, X2, X3) -> U102(proper X1, proper X2, proper X3),
                  proper isNatKind X -> isNatKind proper X,
             proper U101(X1, X2, X3) -> U101(proper X1, proper X2, proper X3),
                         proper tt() -> ok tt(),
             proper U103(X1, X2, X3) -> U103(proper X1, proper X2, proper X3),
                      proper isNat X -> isNat proper X,
             proper U104(X1, X2, X3) -> U104(proper X1, proper X2, proper X3),
                 proper plus(X1, X2) -> plus(proper X1, proper X2),
                    proper x(X1, X2) -> x(proper X1, proper X2),
              proper U12(X1, X2, X3) -> U12(proper X1, proper X2, proper X3),
              proper U11(X1, X2, X3) -> U11(proper X1, proper X2, proper X3),
              proper U13(X1, X2, X3) -> U13(proper X1, proper X2, proper X3),
              proper U14(X1, X2, X3) -> U14(proper X1, proper X2, proper X3),
                  proper U15(X1, X2) -> U15(proper X1, proper X2),
                        proper U16 X -> U16 proper X,
                  proper U22(X1, X2) -> U22(proper X1, proper X2),
                  proper U21(X1, X2) -> U21(proper X1, proper X2),
                        proper U23 X -> U23 proper X,
              proper U32(X1, X2, X3) -> U32(proper X1, proper X2, proper X3),
              proper U31(X1, X2, X3) -> U31(proper X1, proper X2, proper X3),
              proper U33(X1, X2, X3) -> U33(proper X1, proper X2, proper X3),
              proper U34(X1, X2, X3) -> U34(proper X1, proper X2, proper X3),
                  proper U35(X1, X2) -> U35(proper X1, proper X2),
                        proper U36 X -> U36 proper X,
                        proper U42 X -> U42 proper X,
                  proper U41(X1, X2) -> U41(proper X1, proper X2),
                        proper U51 X -> U51 proper X,
                        proper U62 X -> U62 proper X,
                  proper U61(X1, X2) -> U61(proper X1, proper X2),
                  proper U72(X1, X2) -> U72(proper X1, proper X2),
                  proper U71(X1, X2) -> U71(proper X1, proper X2),
              proper U82(X1, X2, X3) -> U82(proper X1, proper X2, proper X3),
              proper U81(X1, X2, X3) -> U81(proper X1, proper X2, proper X3),
              proper U83(X1, X2, X3) -> U83(proper X1, proper X2, proper X3),
              proper U84(X1, X2, X3) -> U84(proper X1, proper X2, proper X3),
                          proper s X -> s proper X,
                        proper U92 X -> U92 proper X,
                  proper U91(X1, X2) -> U91(proper X1, proper X2),
                          proper 0() -> ok 0(),
                          top mark X -> top proper X,
                            top ok X -> top active X
      }
      Open
     
     
     SCC (2):
      Strict:
       {    U12#(mark X1, X2, X3) -> U12#(X1, X2, X3),
        U12#(ok X1, ok X2, ok X3) -> U12#(X1, X2, X3)}
      Weak:
      {
               U102(mark X1, X2, X3) -> mark U102(X1, X2, X3),
           U102(ok X1, ok X2, ok X3) -> ok U102(X1, X2, X3),
                      isNatKind ok X -> ok isNatKind X,
             active U102(X1, X2, X3) -> U102(active X1, X2, X3),
             active U102(tt(), M, N) -> mark U103(isNat N, M, N),
       active isNatKind plus(V1, V2) -> mark U41(isNatKind V1, V2),
          active isNatKind x(V1, V2) -> mark U61(isNatKind V1, V2),
               active isNatKind s V1 -> mark U51 isNatKind V1,
                active isNatKind 0() -> mark tt(),
             active U101(X1, X2, X3) -> U101(active X1, X2, X3),
             active U101(tt(), M, N) -> mark U102(isNatKind M, M, N),
             active U103(X1, X2, X3) -> U103(active X1, X2, X3),
             active U103(tt(), M, N) -> mark U104(isNatKind N, M, N),
           active isNat plus(V1, V2) -> mark U11(isNatKind V1, V1, V2),
              active isNat x(V1, V2) -> mark U31(isNatKind V1, V1, V2),
                   active isNat s V1 -> mark U21(isNatKind V1, V1),
                    active isNat 0() -> mark tt(),
             active U104(X1, X2, X3) -> U104(active X1, X2, X3),
             active U104(tt(), M, N) -> mark plus(x(N, M), N),
                 active plus(N, s M) -> mark U81(isNat M, M, N),
                 active plus(N, 0()) -> mark U71(isNat N, N),
                 active plus(X1, X2) -> plus(X1, active X2),
                 active plus(X1, X2) -> plus(active X1, X2),
                    active x(N, s M) -> mark U101(isNat M, M, N),
                    active x(N, 0()) -> mark U91(isNat N, N),
                    active x(X1, X2) -> x(X1, active X2),
                    active x(X1, X2) -> x(active X1, X2),
              active U12(X1, X2, X3) -> U12(active X1, X2, X3),
            active U12(tt(), V1, V2) -> mark U13(isNatKind V2, V1, V2),
              active U11(X1, X2, X3) -> U11(active X1, X2, X3),
            active U11(tt(), V1, V2) -> mark U12(isNatKind V1, V1, V2),
              active U13(X1, X2, X3) -> U13(active X1, X2, X3),
            active U13(tt(), V1, V2) -> mark U14(isNatKind V2, V1, V2),
              active U14(X1, X2, X3) -> U14(active X1, X2, X3),
            active U14(tt(), V1, V2) -> mark U15(isNat V1, V2),
                  active U15(X1, X2) -> U15(active X1, X2),
                active U15(tt(), V2) -> mark U16 isNat V2,
                        active U16 X -> U16 active X,
                     active U16 tt() -> mark tt(),
                  active U22(X1, X2) -> U22(active X1, X2),
                active U22(tt(), V1) -> mark U23 isNat V1,
                  active U21(X1, X2) -> U21(active X1, X2),
                active U21(tt(), V1) -> mark U22(isNatKind V1, V1),
                        active U23 X -> U23 active X,
                     active U23 tt() -> mark tt(),
              active U32(X1, X2, X3) -> U32(active X1, X2, X3),
            active U32(tt(), V1, V2) -> mark U33(isNatKind V2, V1, V2),
              active U31(X1, X2, X3) -> U31(active X1, X2, X3),
            active U31(tt(), V1, V2) -> mark U32(isNatKind V1, V1, V2),
              active U33(X1, X2, X3) -> U33(active X1, X2, X3),
            active U33(tt(), V1, V2) -> mark U34(isNatKind V2, V1, V2),
              active U34(X1, X2, X3) -> U34(active X1, X2, X3),
            active U34(tt(), V1, V2) -> mark U35(isNat V1, V2),
                  active U35(X1, X2) -> U35(active X1, X2),
                active U35(tt(), V2) -> mark U36 isNat V2,
                        active U36 X -> U36 active X,
                     active U36 tt() -> mark tt(),
                        active U42 X -> U42 active X,
                     active U42 tt() -> mark tt(),
                  active U41(X1, X2) -> U41(active X1, X2),
                active U41(tt(), V2) -> mark U42 isNatKind V2,
                        active U51 X -> U51 active X,
                     active U51 tt() -> mark tt(),
                        active U62 X -> U62 active X,
                     active U62 tt() -> mark tt(),
                  active U61(X1, X2) -> U61(active X1, X2),
                active U61(tt(), V2) -> mark U62 isNatKind V2,
                  active U72(X1, X2) -> U72(active X1, X2),
                 active U72(tt(), N) -> mark N,
                  active U71(X1, X2) -> U71(active X1, X2),
                 active U71(tt(), N) -> mark U72(isNatKind N, N),
              active U82(X1, X2, X3) -> U82(active X1, X2, X3),
              active U82(tt(), M, N) -> mark U83(isNat N, M, N),
              active U81(X1, X2, X3) -> U81(active X1, X2, X3),
              active U81(tt(), M, N) -> mark U82(isNatKind M, M, N),
              active U83(X1, X2, X3) -> U83(active X1, X2, X3),
              active U83(tt(), M, N) -> mark U84(isNatKind N, M, N),
              active U84(X1, X2, X3) -> U84(active X1, X2, X3),
              active U84(tt(), M, N) -> mark s plus(N, M),
                          active s X -> s active X,
                        active U92 X -> U92 active X,
                     active U92 tt() -> mark 0(),
                  active U91(X1, X2) -> U91(active X1, X2),
                 active U91(tt(), N) -> mark U92 isNatKind N,
               U101(mark X1, X2, X3) -> mark U101(X1, X2, X3),
           U101(ok X1, ok X2, ok X3) -> ok U101(X1, X2, X3),
               U103(mark X1, X2, X3) -> mark U103(X1, X2, X3),
           U103(ok X1, ok X2, ok X3) -> ok U103(X1, X2, X3),
                          isNat ok X -> ok isNat X,
               U104(mark X1, X2, X3) -> mark U104(X1, X2, X3),
           U104(ok X1, ok X2, ok X3) -> ok U104(X1, X2, X3),
                   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),
                      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),
                U12(mark X1, X2, X3) -> mark U12(X1, X2, X3),
            U12(ok X1, ok X2, ok X3) -> ok U12(X1, X2, X3),
                U11(mark X1, X2, X3) -> mark U11(X1, X2, X3),
            U11(ok X1, ok X2, ok X3) -> ok U11(X1, X2, X3),
                U13(mark X1, X2, X3) -> mark U13(X1, X2, X3),
            U13(ok X1, ok X2, ok X3) -> ok U13(X1, X2, X3),
                U14(mark X1, X2, X3) -> mark U14(X1, X2, X3),
            U14(ok X1, ok X2, ok X3) -> ok U14(X1, X2, X3),
                    U15(mark X1, X2) -> mark U15(X1, X2),
                   U15(ok X1, ok X2) -> ok U15(X1, X2),
                          U16 mark X -> mark U16 X,
                            U16 ok X -> ok U16 X,
                    U22(mark X1, X2) -> mark U22(X1, X2),
                   U22(ok X1, ok X2) -> ok U22(X1, X2),
                    U21(mark X1, X2) -> mark U21(X1, X2),
                   U21(ok X1, ok X2) -> ok U21(X1, X2),
                          U23 mark X -> mark U23 X,
                            U23 ok X -> ok U23 X,
                U32(mark X1, X2, X3) -> mark U32(X1, X2, X3),
            U32(ok X1, ok X2, ok X3) -> ok U32(X1, X2, X3),
                U31(mark X1, X2, X3) -> mark U31(X1, X2, X3),
            U31(ok X1, ok X2, ok X3) -> ok U31(X1, X2, X3),
                U33(mark X1, X2, X3) -> mark U33(X1, X2, X3),
            U33(ok X1, ok X2, ok X3) -> ok U33(X1, X2, X3),
                U34(mark X1, X2, X3) -> mark U34(X1, X2, X3),
            U34(ok X1, ok X2, ok X3) -> ok U34(X1, X2, X3),
                    U35(mark X1, X2) -> mark U35(X1, X2),
                   U35(ok X1, ok X2) -> ok U35(X1, X2),
                          U36 mark X -> mark U36 X,
                            U36 ok X -> ok U36 X,
                          U42 mark X -> mark U42 X,
                            U42 ok X -> ok U42 X,
                    U41(mark X1, X2) -> mark U41(X1, X2),
                   U41(ok X1, ok X2) -> ok U41(X1, X2),
                          U51 mark X -> mark U51 X,
                            U51 ok X -> ok U51 X,
                          U62 mark X -> mark U62 X,
                            U62 ok X -> ok U62 X,
                    U61(mark X1, X2) -> mark U61(X1, X2),
                   U61(ok X1, ok X2) -> ok U61(X1, X2),
                    U72(mark X1, X2) -> mark U72(X1, X2),
                   U72(ok X1, ok X2) -> ok U72(X1, X2),
                    U71(mark X1, X2) -> mark U71(X1, X2),
                   U71(ok X1, ok X2) -> ok U71(X1, X2),
                U82(mark X1, X2, X3) -> mark U82(X1, X2, X3),
            U82(ok X1, ok X2, ok X3) -> ok U82(X1, X2, X3),
                U81(mark X1, X2, X3) -> mark U81(X1, X2, X3),
            U81(ok X1, ok X2, ok X3) -> ok U81(X1, X2, X3),
                U83(mark X1, X2, X3) -> mark U83(X1, X2, X3),
            U83(ok X1, ok X2, ok X3) -> ok U83(X1, X2, X3),
                U84(mark X1, X2, X3) -> mark U84(X1, X2, X3),
            U84(ok X1, ok X2, ok X3) -> ok U84(X1, X2, X3),
                            s mark X -> mark s X,
                              s ok X -> ok s X,
                          U92 mark X -> mark U92 X,
                            U92 ok X -> ok U92 X,
                    U91(mark X1, X2) -> mark U91(X1, X2),
                   U91(ok X1, ok X2) -> ok U91(X1, X2),
             proper U102(X1, X2, X3) -> U102(proper X1, proper X2, proper X3),
                  proper isNatKind X -> isNatKind proper X,
             proper U101(X1, X2, X3) -> U101(proper X1, proper X2, proper X3),
                         proper tt() -> ok tt(),
             proper U103(X1, X2, X3) -> U103(proper X1, proper X2, proper X3),
                      proper isNat X -> isNat proper X,
             proper U104(X1, X2, X3) -> U104(proper X1, proper X2, proper X3),
                 proper plus(X1, X2) -> plus(proper X1, proper X2),
                    proper x(X1, X2) -> x(proper X1, proper X2),
              proper U12(X1, X2, X3) -> U12(proper X1, proper X2, proper X3),
              proper U11(X1, X2, X3) -> U11(proper X1, proper X2, proper X3),
              proper U13(X1, X2, X3) -> U13(proper X1, proper X2, proper X3),
              proper U14(X1, X2, X3) -> U14(proper X1, proper X2, proper X3),
                  proper U15(X1, X2) -> U15(proper X1, proper X2),
                        proper U16 X -> U16 proper X,
                  proper U22(X1, X2) -> U22(proper X1, proper X2),
                  proper U21(X1, X2) -> U21(proper X1, proper X2),
                        proper U23 X -> U23 proper X,
              proper U32(X1, X2, X3) -> U32(proper X1, proper X2, proper X3),
              proper U31(X1, X2, X3) -> U31(proper X1, proper X2, proper X3),
              proper U33(X1, X2, X3) -> U33(proper X1, proper X2, proper X3),
              proper U34(X1, X2, X3) -> U34(proper X1, proper X2, proper X3),
                  proper U35(X1, X2) -> U35(proper X1, proper X2),
                        proper U36 X -> U36 proper X,
                        proper U42 X -> U42 proper X,
                  proper U41(X1, X2) -> U41(proper X1, proper X2),
                        proper U51 X -> U51 proper X,
                        proper U62 X -> U62 proper X,
                  proper U61(X1, X2) -> U61(proper X1, proper X2),
                  proper U72(X1, X2) -> U72(proper X1, proper X2),
                  proper U71(X1, X2) -> U71(proper X1, proper X2),
              proper U82(X1, X2, X3) -> U82(proper X1, proper X2, proper X3),
              proper U81(X1, X2, X3) -> U81(proper X1, proper X2, proper X3),
              proper U83(X1, X2, X3) -> U83(proper X1, proper X2, proper X3),
              proper U84(X1, X2, X3) -> U84(proper X1, proper X2, proper X3),
                          proper s X -> s proper X,
                        proper U92 X -> U92 proper X,
                  proper U91(X1, X2) -> U91(proper X1, proper X2),
                          proper 0() -> ok 0(),
                          top mark X -> top proper X,
                            top ok X -> top active X
      }
      Open
     
     
     
     SCC (2):
      Strict:
       { U91#(mark X1, X2) -> U91#(X1, X2),
        U91#(ok X1, ok X2) -> U91#(X1, X2)}
      Weak:
      {
               U102(mark X1, X2, X3) -> mark U102(X1, X2, X3),
           U102(ok X1, ok X2, ok X3) -> ok U102(X1, X2, X3),
                      isNatKind ok X -> ok isNatKind X,
             active U102(X1, X2, X3) -> U102(active X1, X2, X3),
             active U102(tt(), M, N) -> mark U103(isNat N, M, N),
       active isNatKind plus(V1, V2) -> mark U41(isNatKind V1, V2),
          active isNatKind x(V1, V2) -> mark U61(isNatKind V1, V2),
               active isNatKind s V1 -> mark U51 isNatKind V1,
                active isNatKind 0() -> mark tt(),
             active U101(X1, X2, X3) -> U101(active X1, X2, X3),
             active U101(tt(), M, N) -> mark U102(isNatKind M, M, N),
             active U103(X1, X2, X3) -> U103(active X1, X2, X3),
             active U103(tt(), M, N) -> mark U104(isNatKind N, M, N),
           active isNat plus(V1, V2) -> mark U11(isNatKind V1, V1, V2),
              active isNat x(V1, V2) -> mark U31(isNatKind V1, V1, V2),
                   active isNat s V1 -> mark U21(isNatKind V1, V1),
                    active isNat 0() -> mark tt(),
             active U104(X1, X2, X3) -> U104(active X1, X2, X3),
             active U104(tt(), M, N) -> mark plus(x(N, M), N),
                 active plus(N, s M) -> mark U81(isNat M, M, N),
                 active plus(N, 0()) -> mark U71(isNat N, N),
                 active plus(X1, X2) -> plus(X1, active X2),
                 active plus(X1, X2) -> plus(active X1, X2),
                    active x(N, s M) -> mark U101(isNat M, M, N),
                    active x(N, 0()) -> mark U91(isNat N, N),
                    active x(X1, X2) -> x(X1, active X2),
                    active x(X1, X2) -> x(active X1, X2),
              active U12(X1, X2, X3) -> U12(active X1, X2, X3),
            active U12(tt(), V1, V2) -> mark U13(isNatKind V2, V1, V2),
              active U11(X1, X2, X3) -> U11(active X1, X2, X3),
            active U11(tt(), V1, V2) -> mark U12(isNatKind V1, V1, V2),
              active U13(X1, X2, X3) -> U13(active X1, X2, X3),
            active U13(tt(), V1, V2) -> mark U14(isNatKind V2, V1, V2),
              active U14(X1, X2, X3) -> U14(active X1, X2, X3),
            active U14(tt(), V1, V2) -> mark U15(isNat V1, V2),
                  active U15(X1, X2) -> U15(active X1, X2),
                active U15(tt(), V2) -> mark U16 isNat V2,
                        active U16 X -> U16 active X,
                     active U16 tt() -> mark tt(),
                  active U22(X1, X2) -> U22(active X1, X2),
                active U22(tt(), V1) -> mark U23 isNat V1,
                  active U21(X1, X2) -> U21(active X1, X2),
                active U21(tt(), V1) -> mark U22(isNatKind V1, V1),
                        active U23 X -> U23 active X,
                     active U23 tt() -> mark tt(),
              active U32(X1, X2, X3) -> U32(active X1, X2, X3),
            active U32(tt(), V1, V2) -> mark U33(isNatKind V2, V1, V2),
              active U31(X1, X2, X3) -> U31(active X1, X2, X3),
            active U31(tt(), V1, V2) -> mark U32(isNatKind V1, V1, V2),
              active U33(X1, X2, X3) -> U33(active X1, X2, X3),
            active U33(tt(), V1, V2) -> mark U34(isNatKind V2, V1, V2),
              active U34(X1, X2, X3) -> U34(active X1, X2, X3),
            active U34(tt(), V1, V2) -> mark U35(isNat V1, V2),
                  active U35(X1, X2) -> U35(active X1, X2),
                active U35(tt(), V2) -> mark U36 isNat V2,
                        active U36 X -> U36 active X,
                     active U36 tt() -> mark tt(),
                        active U42 X -> U42 active X,
                     active U42 tt() -> mark tt(),
                  active U41(X1, X2) -> U41(active X1, X2),
                active U41(tt(), V2) -> mark U42 isNatKind V2,
                        active U51 X -> U51 active X,
                     active U51 tt() -> mark tt(),
                        active U62 X -> U62 active X,
                     active U62 tt() -> mark tt(),
                  active U61(X1, X2) -> U61(active X1, X2),
                active U61(tt(), V2) -> mark U62 isNatKind V2,
                  active U72(X1, X2) -> U72(active X1, X2),
                 active U72(tt(), N) -> mark N,
                  active U71(X1, X2) -> U71(active X1, X2),
                 active U71(tt(), N) -> mark U72(isNatKind N, N),
              active U82(X1, X2, X3) -> U82(active X1, X2, X3),
              active U82(tt(), M, N) -> mark U83(isNat N, M, N),
              active U81(X1, X2, X3) -> U81(active X1, X2, X3),
              active U81(tt(), M, N) -> mark U82(isNatKind M, M, N),
              active U83(X1, X2, X3) -> U83(active X1, X2, X3),
              active U83(tt(), M, N) -> mark U84(isNatKind N, M, N),
              active U84(X1, X2, X3) -> U84(active X1, X2, X3),
              active U84(tt(), M, N) -> mark s plus(N, M),
                          active s X -> s active X,
                        active U92 X -> U92 active X,
                     active U92 tt() -> mark 0(),
                  active U91(X1, X2) -> U91(active X1, X2),
                 active U91(tt(), N) -> mark U92 isNatKind N,
               U101(mark X1, X2, X3) -> mark U101(X1, X2, X3),
           U101(ok X1, ok X2, ok X3) -> ok U101(X1, X2, X3),
               U103(mark X1, X2, X3) -> mark U103(X1, X2, X3),
           U103(ok X1, ok X2, ok X3) -> ok U103(X1, X2, X3),
                          isNat ok X -> ok isNat X,
               U104(mark X1, X2, X3) -> mark U104(X1, X2, X3),
           U104(ok X1, ok X2, ok X3) -> ok U104(X1, X2, X3),
                   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),
                      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),
                U12(mark X1, X2, X3) -> mark U12(X1, X2, X3),
            U12(ok X1, ok X2, ok X3) -> ok U12(X1, X2, X3),
                U11(mark X1, X2, X3) -> mark U11(X1, X2, X3),
            U11(ok X1, ok X2, ok X3) -> ok U11(X1, X2, X3),
                U13(mark X1, X2, X3) -> mark U13(X1, X2, X3),
            U13(ok X1, ok X2, ok X3) -> ok U13(X1, X2, X3),
                U14(mark X1, X2, X3) -> mark U14(X1, X2, X3),
            U14(ok X1, ok X2, ok X3) -> ok U14(X1, X2, X3),
                    U15(mark X1, X2) -> mark U15(X1, X2),
                   U15(ok X1, ok X2) -> ok U15(X1, X2),
                          U16 mark X -> mark U16 X,
                            U16 ok X -> ok U16 X,
                    U22(mark X1, X2) -> mark U22(X1, X2),
                   U22(ok X1, ok X2) -> ok U22(X1, X2),
                    U21(mark X1, X2) -> mark U21(X1, X2),
                   U21(ok X1, ok X2) -> ok U21(X1, X2),
                          U23 mark X -> mark U23 X,
                            U23 ok X -> ok U23 X,
                U32(mark X1, X2, X3) -> mark U32(X1, X2, X3),
            U32(ok X1, ok X2, ok X3) -> ok U32(X1, X2, X3),
                U31(mark X1, X2, X3) -> mark U31(X1, X2, X3),
            U31(ok X1, ok X2, ok X3) -> ok U31(X1, X2, X3),
                U33(mark X1, X2, X3) -> mark U33(X1, X2, X3),
            U33(ok X1, ok X2, ok X3) -> ok U33(X1, X2, X3),
                U34(mark X1, X2, X3) -> mark U34(X1, X2, X3),
            U34(ok X1, ok X2, ok X3) -> ok U34(X1, X2, X3),
                    U35(mark X1, X2) -> mark U35(X1, X2),
                   U35(ok X1, ok X2) -> ok U35(X1, X2),
                          U36 mark X -> mark U36 X,
                            U36 ok X -> ok U36 X,
                          U42 mark X -> mark U42 X,
                            U42 ok X -> ok U42 X,
                    U41(mark X1, X2) -> mark U41(X1, X2),
                   U41(ok X1, ok X2) -> ok U41(X1, X2),
                          U51 mark X -> mark U51 X,
                            U51 ok X -> ok U51 X,
                          U62 mark X -> mark U62 X,
                            U62 ok X -> ok U62 X,
                    U61(mark X1, X2) -> mark U61(X1, X2),
                   U61(ok X1, ok X2) -> ok U61(X1, X2),
                    U72(mark X1, X2) -> mark U72(X1, X2),
                   U72(ok X1, ok X2) -> ok U72(X1, X2),
                    U71(mark X1, X2) -> mark U71(X1, X2),
                   U71(ok X1, ok X2) -> ok U71(X1, X2),
                U82(mark X1, X2, X3) -> mark U82(X1, X2, X3),
            U82(ok X1, ok X2, ok X3) -> ok U82(X1, X2, X3),
                U81(mark X1, X2, X3) -> mark U81(X1, X2, X3),
            U81(ok X1, ok X2, ok X3) -> ok U81(X1, X2, X3),
                U83(mark X1, X2, X3) -> mark U83(X1, X2, X3),
            U83(ok X1, ok X2, ok X3) -> ok U83(X1, X2, X3),
                U84(mark X1, X2, X3) -> mark U84(X1, X2, X3),
            U84(ok X1, ok X2, ok X3) -> ok U84(X1, X2, X3),
                            s mark X -> mark s X,
                              s ok X -> ok s X,
                          U92 mark X -> mark U92 X,
                            U92 ok X -> ok U92 X,
                    U91(mark X1, X2) -> mark U91(X1, X2),
                   U91(ok X1, ok X2) -> ok U91(X1, X2),
             proper U102(X1, X2, X3) -> U102(proper X1, proper X2, proper X3),
                  proper isNatKind X -> isNatKind proper X,
             proper U101(X1, X2, X3) -> U101(proper X1, proper X2, proper X3),
                         proper tt() -> ok tt(),
             proper U103(X1, X2, X3) -> U103(proper X1, proper X2, proper X3),
                      proper isNat X -> isNat proper X,
             proper U104(X1, X2, X3) -> U104(proper X1, proper X2, proper X3),
                 proper plus(X1, X2) -> plus(proper X1, proper X2),
                    proper x(X1, X2) -> x(proper X1, proper X2),
              proper U12(X1, X2, X3) -> U12(proper X1, proper X2, proper X3),
              proper U11(X1, X2, X3) -> U11(proper X1, proper X2, proper X3),
              proper U13(X1, X2, X3) -> U13(proper X1, proper X2, proper X3),
              proper U14(X1, X2, X3) -> U14(proper X1, proper X2, proper X3),
                  proper U15(X1, X2) -> U15(proper X1, proper X2),
                        proper U16 X -> U16 proper X,
                  proper U22(X1, X2) -> U22(proper X1, proper X2),
                  proper U21(X1, X2) -> U21(proper X1, proper X2),
                        proper U23 X -> U23 proper X,
              proper U32(X1, X2, X3) -> U32(proper X1, proper X2, proper X3),
              proper U31(X1, X2, X3) -> U31(proper X1, proper X2, proper X3),
              proper U33(X1, X2, X3) -> U33(proper X1, proper X2, proper X3),
              proper U34(X1, X2, X3) -> U34(proper X1, proper X2, proper X3),
                  proper U35(X1, X2) -> U35(proper X1, proper X2),
                        proper U36 X -> U36 proper X,
                        proper U42 X -> U42 proper X,
                  proper U41(X1, X2) -> U41(proper X1, proper X2),
                        proper U51 X -> U51 proper X,
                        proper U62 X -> U62 proper X,
                  proper U61(X1, X2) -> U61(proper X1, proper X2),
                  proper U72(X1, X2) -> U72(proper X1, proper X2),
                  proper U71(X1, X2) -> U71(proper X1, proper X2),
              proper U82(X1, X2, X3) -> U82(proper X1, proper X2, proper X3),
              proper U81(X1, X2, X3) -> U81(proper X1, proper X2, proper X3),
              proper U83(X1, X2, X3) -> U83(proper X1, proper X2, proper X3),
              proper U84(X1, X2, X3) -> U84(proper X1, proper X2, proper X3),
                          proper s X -> s proper X,
                        proper U92 X -> U92 proper X,
                  proper U91(X1, X2) -> U91(proper X1, proper X2),
                          proper 0() -> ok 0(),
                          top mark X -> top proper X,
                            top ok X -> top active X
      }
      Open
     
     
     
     
     
     
     SCC (2):
      Strict:
       { U71#(mark X1, X2) -> U71#(X1, X2),
        U71#(ok X1, ok X2) -> U71#(X1, X2)}
      Weak:
      {
               U102(mark X1, X2, X3) -> mark U102(X1, X2, X3),
           U102(ok X1, ok X2, ok X3) -> ok U102(X1, X2, X3),
                      isNatKind ok X -> ok isNatKind X,
             active U102(X1, X2, X3) -> U102(active X1, X2, X3),
             active U102(tt(), M, N) -> mark U103(isNat N, M, N),
       active isNatKind plus(V1, V2) -> mark U41(isNatKind V1, V2),
          active isNatKind x(V1, V2) -> mark U61(isNatKind V1, V2),
               active isNatKind s V1 -> mark U51 isNatKind V1,
                active isNatKind 0() -> mark tt(),
             active U101(X1, X2, X3) -> U101(active X1, X2, X3),
             active U101(tt(), M, N) -> mark U102(isNatKind M, M, N),
             active U103(X1, X2, X3) -> U103(active X1, X2, X3),
             active U103(tt(), M, N) -> mark U104(isNatKind N, M, N),
           active isNat plus(V1, V2) -> mark U11(isNatKind V1, V1, V2),
              active isNat x(V1, V2) -> mark U31(isNatKind V1, V1, V2),
                   active isNat s V1 -> mark U21(isNatKind V1, V1),
                    active isNat 0() -> mark tt(),
             active U104(X1, X2, X3) -> U104(active X1, X2, X3),
             active U104(tt(), M, N) -> mark plus(x(N, M), N),
                 active plus(N, s M) -> mark U81(isNat M, M, N),
                 active plus(N, 0()) -> mark U71(isNat N, N),
                 active plus(X1, X2) -> plus(X1, active X2),
                 active plus(X1, X2) -> plus(active X1, X2),
                    active x(N, s M) -> mark U101(isNat M, M, N),
                    active x(N, 0()) -> mark U91(isNat N, N),
                    active x(X1, X2) -> x(X1, active X2),
                    active x(X1, X2) -> x(active X1, X2),
              active U12(X1, X2, X3) -> U12(active X1, X2, X3),
            active U12(tt(), V1, V2) -> mark U13(isNatKind V2, V1, V2),
              active U11(X1, X2, X3) -> U11(active X1, X2, X3),
            active U11(tt(), V1, V2) -> mark U12(isNatKind V1, V1, V2),
              active U13(X1, X2, X3) -> U13(active X1, X2, X3),
            active U13(tt(), V1, V2) -> mark U14(isNatKind V2, V1, V2),
              active U14(X1, X2, X3) -> U14(active X1, X2, X3),
            active U14(tt(), V1, V2) -> mark U15(isNat V1, V2),
                  active U15(X1, X2) -> U15(active X1, X2),
                active U15(tt(), V2) -> mark U16 isNat V2,
                        active U16 X -> U16 active X,
                     active U16 tt() -> mark tt(),
                  active U22(X1, X2) -> U22(active X1, X2),
                active U22(tt(), V1) -> mark U23 isNat V1,
                  active U21(X1, X2) -> U21(active X1, X2),
                active U21(tt(), V1) -> mark U22(isNatKind V1, V1),
                        active U23 X -> U23 active X,
                     active U23 tt() -> mark tt(),
              active U32(X1, X2, X3) -> U32(active X1, X2, X3),
            active U32(tt(), V1, V2) -> mark U33(isNatKind V2, V1, V2),
              active U31(X1, X2, X3) -> U31(active X1, X2, X3),
            active U31(tt(), V1, V2) -> mark U32(isNatKind V1, V1, V2),
              active U33(X1, X2, X3) -> U33(active X1, X2, X3),
            active U33(tt(), V1, V2) -> mark U34(isNatKind V2, V1, V2),
              active U34(X1, X2, X3) -> U34(active X1, X2, X3),
            active U34(tt(), V1, V2) -> mark U35(isNat V1, V2),
                  active U35(X1, X2) -> U35(active X1, X2),
                active U35(tt(), V2) -> mark U36 isNat V2,
                        active U36 X -> U36 active X,
                     active U36 tt() -> mark tt(),
                        active U42 X -> U42 active X,
                     active U42 tt() -> mark tt(),
                  active U41(X1, X2) -> U41(active X1, X2),
                active U41(tt(), V2) -> mark U42 isNatKind V2,
                        active U51 X -> U51 active X,
                     active U51 tt() -> mark tt(),
                        active U62 X -> U62 active X,
                     active U62 tt() -> mark tt(),
                  active U61(X1, X2) -> U61(active X1, X2),
                active U61(tt(), V2) -> mark U62 isNatKind V2,
                  active U72(X1, X2) -> U72(active X1, X2),
                 active U72(tt(), N) -> mark N,
                  active U71(X1, X2) -> U71(active X1, X2),
                 active U71(tt(), N) -> mark U72(isNatKind N, N),
              active U82(X1, X2, X3) -> U82(active X1, X2, X3),
              active U82(tt(), M, N) -> mark U83(isNat N, M, N),
              active U81(X1, X2, X3) -> U81(active X1, X2, X3),
              active U81(tt(), M, N) -> mark U82(isNatKind M, M, N),
              active U83(X1, X2, X3) -> U83(active X1, X2, X3),
              active U83(tt(), M, N) -> mark U84(isNatKind N, M, N),
              active U84(X1, X2, X3) -> U84(active X1, X2, X3),
              active U84(tt(), M, N) -> mark s plus(N, M),
                          active s X -> s active X,
                        active U92 X -> U92 active X,
                     active U92 tt() -> mark 0(),
                  active U91(X1, X2) -> U91(active X1, X2),
                 active U91(tt(), N) -> mark U92 isNatKind N,
               U101(mark X1, X2, X3) -> mark U101(X1, X2, X3),
           U101(ok X1, ok X2, ok X3) -> ok U101(X1, X2, X3),
               U103(mark X1, X2, X3) -> mark U103(X1, X2, X3),
           U103(ok X1, ok X2, ok X3) -> ok U103(X1, X2, X3),
                          isNat ok X -> ok isNat X,
               U104(mark X1, X2, X3) -> mark U104(X1, X2, X3),
           U104(ok X1, ok X2, ok X3) -> ok U104(X1, X2, X3),
                   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),
                      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),
                U12(mark X1, X2, X3) -> mark U12(X1, X2, X3),
            U12(ok X1, ok X2, ok X3) -> ok U12(X1, X2, X3),
                U11(mark X1, X2, X3) -> mark U11(X1, X2, X3),
            U11(ok X1, ok X2, ok X3) -> ok U11(X1, X2, X3),
                U13(mark X1, X2, X3) -> mark U13(X1, X2, X3),
            U13(ok X1, ok X2, ok X3) -> ok U13(X1, X2, X3),
                U14(mark X1, X2, X3) -> mark U14(X1, X2, X3),
            U14(ok X1, ok X2, ok X3) -> ok U14(X1, X2, X3),
                    U15(mark X1, X2) -> mark U15(X1, X2),
                   U15(ok X1, ok X2) -> ok U15(X1, X2),
                          U16 mark X -> mark U16 X,
                            U16 ok X -> ok U16 X,
                    U22(mark X1, X2) -> mark U22(X1, X2),
                   U22(ok X1, ok X2) -> ok U22(X1, X2),
                    U21(mark X1, X2) -> mark U21(X1, X2),
                   U21(ok X1, ok X2) -> ok U21(X1, X2),
                          U23 mark X -> mark U23 X,
                            U23 ok X -> ok U23 X,
                U32(mark X1, X2, X3) -> mark U32(X1, X2, X3),
            U32(ok X1, ok X2, ok X3) -> ok U32(X1, X2, X3),
                U31(mark X1, X2, X3) -> mark U31(X1, X2, X3),
            U31(ok X1, ok X2, ok X3) -> ok U31(X1, X2, X3),
                U33(mark X1, X2, X3) -> mark U33(X1, X2, X3),
            U33(ok X1, ok X2, ok X3) -> ok U33(X1, X2, X3),
                U34(mark X1, X2, X3) -> mark U34(X1, X2, X3),
            U34(ok X1, ok X2, ok X3) -> ok U34(X1, X2, X3),
                    U35(mark X1, X2) -> mark U35(X1, X2),
                   U35(ok X1, ok X2) -> ok U35(X1, X2),
                          U36 mark X -> mark U36 X,
                            U36 ok X -> ok U36 X,
                          U42 mark X -> mark U42 X,
                            U42 ok X -> ok U42 X,
                    U41(mark X1, X2) -> mark U41(X1, X2),
                   U41(ok X1, ok X2) -> ok U41(X1, X2),
                          U51 mark X -> mark U51 X,
                            U51 ok X -> ok U51 X,
                          U62 mark X -> mark U62 X,
                            U62 ok X -> ok U62 X,
                    U61(mark X1, X2) -> mark U61(X1, X2),
                   U61(ok X1, ok X2) -> ok U61(X1, X2),
                    U72(mark X1, X2) -> mark U72(X1, X2),
                   U72(ok X1, ok X2) -> ok U72(X1, X2),
                    U71(mark X1, X2) -> mark U71(X1, X2),
                   U71(ok X1, ok X2) -> ok U71(X1, X2),
                U82(mark X1, X2, X3) -> mark U82(X1, X2, X3),
            U82(ok X1, ok X2, ok X3) -> ok U82(X1, X2, X3),
                U81(mark X1, X2, X3) -> mark U81(X1, X2, X3),
            U81(ok X1, ok X2, ok X3) -> ok U81(X1, X2, X3),
                U83(mark X1, X2, X3) -> mark U83(X1, X2, X3),
            U83(ok X1, ok X2, ok X3) -> ok U83(X1, X2, X3),
                U84(mark X1, X2, X3) -> mark U84(X1, X2, X3),
            U84(ok X1, ok X2, ok X3) -> ok U84(X1, X2, X3),
                            s mark X -> mark s X,
                              s ok X -> ok s X,
                          U92 mark X -> mark U92 X,
                            U92 ok X -> ok U92 X,
                    U91(mark X1, X2) -> mark U91(X1, X2),
                   U91(ok X1, ok X2) -> ok U91(X1, X2),
             proper U102(X1, X2, X3) -> U102(proper X1, proper X2, proper X3),
                  proper isNatKind X -> isNatKind proper X,
             proper U101(X1, X2, X3) -> U101(proper X1, proper X2, proper X3),
                         proper tt() -> ok tt(),
             proper U103(X1, X2, X3) -> U103(proper X1, proper X2, proper X3),
                      proper isNat X -> isNat proper X,
             proper U104(X1, X2, X3) -> U104(proper X1, proper X2, proper X3),
                 proper plus(X1, X2) -> plus(proper X1, proper X2),
                    proper x(X1, X2) -> x(proper X1, proper X2),
              proper U12(X1, X2, X3) -> U12(proper X1, proper X2, proper X3),
              proper U11(X1, X2, X3) -> U11(proper X1, proper X2, proper X3),
              proper U13(X1, X2, X3) -> U13(proper X1, proper X2, proper X3),
              proper U14(X1, X2, X3) -> U14(proper X1, proper X2, proper X3),
                  proper U15(X1, X2) -> U15(proper X1, proper X2),
                        proper U16 X -> U16 proper X,
                  proper U22(X1, X2) -> U22(proper X1, proper X2),
                  proper U21(X1, X2) -> U21(proper X1, proper X2),
                        proper U23 X -> U23 proper X,
              proper U32(X1, X2, X3) -> U32(proper X1, proper X2, proper X3),
              proper U31(X1, X2, X3) -> U31(proper X1, proper X2, proper X3),
              proper U33(X1, X2, X3) -> U33(proper X1, proper X2, proper X3),
              proper U34(X1, X2, X3) -> U34(proper X1, proper X2, proper X3),
                  proper U35(X1, X2) -> U35(proper X1, proper X2),
                        proper U36 X -> U36 proper X,
                        proper U42 X -> U42 proper X,
                  proper U41(X1, X2) -> U41(proper X1, proper X2),
                        proper U51 X -> U51 proper X,
                        proper U62 X -> U62 proper X,
                  proper U61(X1, X2) -> U61(proper X1, proper X2),
                  proper U72(X1, X2) -> U72(proper X1, proper X2),
                  proper U71(X1, X2) -> U71(proper X1, proper X2),
              proper U82(X1, X2, X3) -> U82(proper X1, proper X2, proper X3),
              proper U81(X1, X2, X3) -> U81(proper X1, proper X2, proper X3),
              proper U83(X1, X2, X3) -> U83(proper X1, proper X2, proper X3),
              proper U84(X1, X2, X3) -> U84(proper X1, proper X2, proper X3),
                          proper s X -> s proper X,
                        proper U92 X -> U92 proper X,
                  proper U91(X1, X2) -> U91(proper X1, proper X2),
                          proper 0() -> ok 0(),
                          top mark X -> top proper X,
                            top ok X -> top active X
      }
      Open
     
     
     SCC (2):
      Strict:
       {    U81#(mark X1, X2, X3) -> U81#(X1, X2, X3),
        U81#(ok X1, ok X2, ok X3) -> U81#(X1, X2, X3)}
      Weak:
      {
               U102(mark X1, X2, X3) -> mark U102(X1, X2, X3),
           U102(ok X1, ok X2, ok X3) -> ok U102(X1, X2, X3),
                      isNatKind ok X -> ok isNatKind X,
             active U102(X1, X2, X3) -> U102(active X1, X2, X3),
             active U102(tt(), M, N) -> mark U103(isNat N, M, N),
       active isNatKind plus(V1, V2) -> mark U41(isNatKind V1, V2),
          active isNatKind x(V1, V2) -> mark U61(isNatKind V1, V2),
               active isNatKind s V1 -> mark U51 isNatKind V1,
                active isNatKind 0() -> mark tt(),
             active U101(X1, X2, X3) -> U101(active X1, X2, X3),
             active U101(tt(), M, N) -> mark U102(isNatKind M, M, N),
             active U103(X1, X2, X3) -> U103(active X1, X2, X3),
             active U103(tt(), M, N) -> mark U104(isNatKind N, M, N),
           active isNat plus(V1, V2) -> mark U11(isNatKind V1, V1, V2),
              active isNat x(V1, V2) -> mark U31(isNatKind V1, V1, V2),
                   active isNat s V1 -> mark U21(isNatKind V1, V1),
                    active isNat 0() -> mark tt(),
             active U104(X1, X2, X3) -> U104(active X1, X2, X3),
             active U104(tt(), M, N) -> mark plus(x(N, M), N),
                 active plus(N, s M) -> mark U81(isNat M, M, N),
                 active plus(N, 0()) -> mark U71(isNat N, N),
                 active plus(X1, X2) -> plus(X1, active X2),
                 active plus(X1, X2) -> plus(active X1, X2),
                    active x(N, s M) -> mark U101(isNat M, M, N),
                    active x(N, 0()) -> mark U91(isNat N, N),
                    active x(X1, X2) -> x(X1, active X2),
                    active x(X1, X2) -> x(active X1, X2),
              active U12(X1, X2, X3) -> U12(active X1, X2, X3),
            active U12(tt(), V1, V2) -> mark U13(isNatKind V2, V1, V2),
              active U11(X1, X2, X3) -> U11(active X1, X2, X3),
            active U11(tt(), V1, V2) -> mark U12(isNatKind V1, V1, V2),
              active U13(X1, X2, X3) -> U13(active X1, X2, X3),
            active U13(tt(), V1, V2) -> mark U14(isNatKind V2, V1, V2),
              active U14(X1, X2, X3) -> U14(active X1, X2, X3),
            active U14(tt(), V1, V2) -> mark U15(isNat V1, V2),
                  active U15(X1, X2) -> U15(active X1, X2),
                active U15(tt(), V2) -> mark U16 isNat V2,
                        active U16 X -> U16 active X,
                     active U16 tt() -> mark tt(),
                  active U22(X1, X2) -> U22(active X1, X2),
                active U22(tt(), V1) -> mark U23 isNat V1,
                  active U21(X1, X2) -> U21(active X1, X2),
                active U21(tt(), V1) -> mark U22(isNatKind V1, V1),
                        active U23 X -> U23 active X,
                     active U23 tt() -> mark tt(),
              active U32(X1, X2, X3) -> U32(active X1, X2, X3),
            active U32(tt(), V1, V2) -> mark U33(isNatKind V2, V1, V2),
              active U31(X1, X2, X3) -> U31(active X1, X2, X3),
            active U31(tt(), V1, V2) -> mark U32(isNatKind V1, V1, V2),
              active U33(X1, X2, X3) -> U33(active X1, X2, X3),
            active U33(tt(), V1, V2) -> mark U34(isNatKind V2, V1, V2),
              active U34(X1, X2, X3) -> U34(active X1, X2, X3),
            active U34(tt(), V1, V2) -> mark U35(isNat V1, V2),
                  active U35(X1, X2) -> U35(active X1, X2),
                active U35(tt(), V2) -> mark U36 isNat V2,
                        active U36 X -> U36 active X,
                     active U36 tt() -> mark tt(),
                        active U42 X -> U42 active X,
                     active U42 tt() -> mark tt(),
                  active U41(X1, X2) -> U41(active X1, X2),
                active U41(tt(), V2) -> mark U42 isNatKind V2,
                        active U51 X -> U51 active X,
                     active U51 tt() -> mark tt(),
                        active U62 X -> U62 active X,
                     active U62 tt() -> mark tt(),
                  active U61(X1, X2) -> U61(active X1, X2),
                active U61(tt(), V2) -> mark U62 isNatKind V2,
                  active U72(X1, X2) -> U72(active X1, X2),
                 active U72(tt(), N) -> mark N,
                  active U71(X1, X2) -> U71(active X1, X2),
                 active U71(tt(), N) -> mark U72(isNatKind N, N),
              active U82(X1, X2, X3) -> U82(active X1, X2, X3),
              active U82(tt(), M, N) -> mark U83(isNat N, M, N),
              active U81(X1, X2, X3) -> U81(active X1, X2, X3),
              active U81(tt(), M, N) -> mark U82(isNatKind M, M, N),
              active U83(X1, X2, X3) -> U83(active X1, X2, X3),
              active U83(tt(), M, N) -> mark U84(isNatKind N, M, N),
              active U84(X1, X2, X3) -> U84(active X1, X2, X3),
              active U84(tt(), M, N) -> mark s plus(N, M),
                          active s X -> s active X,
                        active U92 X -> U92 active X,
                     active U92 tt() -> mark 0(),
                  active U91(X1, X2) -> U91(active X1, X2),
                 active U91(tt(), N) -> mark U92 isNatKind N,
               U101(mark X1, X2, X3) -> mark U101(X1, X2, X3),
           U101(ok X1, ok X2, ok X3) -> ok U101(X1, X2, X3),
               U103(mark X1, X2, X3) -> mark U103(X1, X2, X3),
           U103(ok X1, ok X2, ok X3) -> ok U103(X1, X2, X3),
                          isNat ok X -> ok isNat X,
               U104(mark X1, X2, X3) -> mark U104(X1, X2, X3),
           U104(ok X1, ok X2, ok X3) -> ok U104(X1, X2, X3),
                   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),
                      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),
                U12(mark X1, X2, X3) -> mark U12(X1, X2, X3),
            U12(ok X1, ok X2, ok X3) -> ok U12(X1, X2, X3),
                U11(mark X1, X2, X3) -> mark U11(X1, X2, X3),
            U11(ok X1, ok X2, ok X3) -> ok U11(X1, X2, X3),
                U13(mark X1, X2, X3) -> mark U13(X1, X2, X3),
            U13(ok X1, ok X2, ok X3) -> ok U13(X1, X2, X3),
                U14(mark X1, X2, X3) -> mark U14(X1, X2, X3),
            U14(ok X1, ok X2, ok X3) -> ok U14(X1, X2, X3),
                    U15(mark X1, X2) -> mark U15(X1, X2),
                   U15(ok X1, ok X2) -> ok U15(X1, X2),
                          U16 mark X -> mark U16 X,
                            U16 ok X -> ok U16 X,
                    U22(mark X1, X2) -> mark U22(X1, X2),
                   U22(ok X1, ok X2) -> ok U22(X1, X2),
                    U21(mark X1, X2) -> mark U21(X1, X2),
                   U21(ok X1, ok X2) -> ok U21(X1, X2),
                          U23 mark X -> mark U23 X,
                            U23 ok X -> ok U23 X,
                U32(mark X1, X2, X3) -> mark U32(X1, X2, X3),
            U32(ok X1, ok X2, ok X3) -> ok U32(X1, X2, X3),
                U31(mark X1, X2, X3) -> mark U31(X1, X2, X3),
            U31(ok X1, ok X2, ok X3) -> ok U31(X1, X2, X3),
                U33(mark X1, X2, X3) -> mark U33(X1, X2, X3),
            U33(ok X1, ok X2, ok X3) -> ok U33(X1, X2, X3),
                U34(mark X1, X2, X3) -> mark U34(X1, X2, X3),
            U34(ok X1, ok X2, ok X3) -> ok U34(X1, X2, X3),
                    U35(mark X1, X2) -> mark U35(X1, X2),
                   U35(ok X1, ok X2) -> ok U35(X1, X2),
                          U36 mark X -> mark U36 X,
                            U36 ok X -> ok U36 X,
                          U42 mark X -> mark U42 X,
                            U42 ok X -> ok U42 X,
                    U41(mark X1, X2) -> mark U41(X1, X2),
                   U41(ok X1, ok X2) -> ok U41(X1, X2),
                          U51 mark X -> mark U51 X,
                            U51 ok X -> ok U51 X,
                          U62 mark X -> mark U62 X,
                            U62 ok X -> ok U62 X,
                    U61(mark X1, X2) -> mark U61(X1, X2),
                   U61(ok X1, ok X2) -> ok U61(X1, X2),
                    U72(mark X1, X2) -> mark U72(X1, X2),
                   U72(ok X1, ok X2) -> ok U72(X1, X2),
                    U71(mark X1, X2) -> mark U71(X1, X2),
                   U71(ok X1, ok X2) -> ok U71(X1, X2),
                U82(mark X1, X2, X3) -> mark U82(X1, X2, X3),
            U82(ok X1, ok X2, ok X3) -> ok U82(X1, X2, X3),
                U81(mark X1, X2, X3) -> mark U81(X1, X2, X3),
            U81(ok X1, ok X2, ok X3) -> ok U81(X1, X2, X3),
                U83(mark X1, X2, X3) -> mark U83(X1, X2, X3),
            U83(ok X1, ok X2, ok X3) -> ok U83(X1, X2, X3),
                U84(mark X1, X2, X3) -> mark U84(X1, X2, X3),
            U84(ok X1, ok X2, ok X3) -> ok U84(X1, X2, X3),
                            s mark X -> mark s X,
                              s ok X -> ok s X,
                          U92 mark X -> mark U92 X,
                            U92 ok X -> ok U92 X,
                    U91(mark X1, X2) -> mark U91(X1, X2),
                   U91(ok X1, ok X2) -> ok U91(X1, X2),
             proper U102(X1, X2, X3) -> U102(proper X1, proper X2, proper X3),
                  proper isNatKind X -> isNatKind proper X,
             proper U101(X1, X2, X3) -> U101(proper X1, proper X2, proper X3),
                         proper tt() -> ok tt(),
             proper U103(X1, X2, X3) -> U103(proper X1, proper X2, proper X3),
                      proper isNat X -> isNat proper X,
             proper U104(X1, X2, X3) -> U104(proper X1, proper X2, proper X3),
                 proper plus(X1, X2) -> plus(proper X1, proper X2),
                    proper x(X1, X2) -> x(proper X1, proper X2),
              proper U12(X1, X2, X3) -> U12(proper X1, proper X2, proper X3),
              proper U11(X1, X2, X3) -> U11(proper X1, proper X2, proper X3),
              proper U13(X1, X2, X3) -> U13(proper X1, proper X2, proper X3),
              proper U14(X1, X2, X3) -> U14(proper X1, proper X2, proper X3),
                  proper U15(X1, X2) -> U15(proper X1, proper X2),
                        proper U16 X -> U16 proper X,
                  proper U22(X1, X2) -> U22(proper X1, proper X2),
                  proper U21(X1, X2) -> U21(proper X1, proper X2),
                        proper U23 X -> U23 proper X,
              proper U32(X1, X2, X3) -> U32(proper X1, proper X2, proper X3),
              proper U31(X1, X2, X3) -> U31(proper X1, proper X2, proper X3),
              proper U33(X1, X2, X3) -> U33(proper X1, proper X2, proper X3),
              proper U34(X1, X2, X3) -> U34(proper X1, proper X2, proper X3),
                  proper U35(X1, X2) -> U35(proper X1, proper X2),
                        proper U36 X -> U36 proper X,
                        proper U42 X -> U42 proper X,
                  proper U41(X1, X2) -> U41(proper X1, proper X2),
                        proper U51 X -> U51 proper X,
                        proper U62 X -> U62 proper X,
                  proper U61(X1, X2) -> U61(proper X1, proper X2),
                  proper U72(X1, X2) -> U72(proper X1, proper X2),
                  proper U71(X1, X2) -> U71(proper X1, proper X2),
              proper U82(X1, X2, X3) -> U82(proper X1, proper X2, proper X3),
              proper U81(X1, X2, X3) -> U81(proper X1, proper X2, proper X3),
              proper U83(X1, X2, X3) -> U83(proper X1, proper X2, proper X3),
              proper U84(X1, X2, X3) -> U84(proper X1, proper X2, proper X3),
                          proper s X -> s proper X,
                        proper U92 X -> U92 proper X,
                  proper U91(X1, X2) -> U91(proper X1, proper X2),
                          proper 0() -> ok 0(),
                          top mark X -> top proper X,
                            top ok X -> top active X
      }
      Open
     
     
     SCC (3):
      Strict:
       { x#(X1, mark X2) -> x#(X1, X2),
         x#(mark X1, X2) -> x#(X1, X2),
        x#(ok X1, ok X2) -> x#(X1, X2)}
      Weak:
      {
               U102(mark X1, X2, X3) -> mark U102(X1, X2, X3),
           U102(ok X1, ok X2, ok X3) -> ok U102(X1, X2, X3),
                      isNatKind ok X -> ok isNatKind X,
             active U102(X1, X2, X3) -> U102(active X1, X2, X3),
             active U102(tt(), M, N) -> mark U103(isNat N, M, N),
       active isNatKind plus(V1, V2) -> mark U41(isNatKind V1, V2),
          active isNatKind x(V1, V2) -> mark U61(isNatKind V1, V2),
               active isNatKind s V1 -> mark U51 isNatKind V1,
                active isNatKind 0() -> mark tt(),
             active U101(X1, X2, X3) -> U101(active X1, X2, X3),
             active U101(tt(), M, N) -> mark U102(isNatKind M, M, N),
             active U103(X1, X2, X3) -> U103(active X1, X2, X3),
             active U103(tt(), M, N) -> mark U104(isNatKind N, M, N),
           active isNat plus(V1, V2) -> mark U11(isNatKind V1, V1, V2),
              active isNat x(V1, V2) -> mark U31(isNatKind V1, V1, V2),
                   active isNat s V1 -> mark U21(isNatKind V1, V1),
                    active isNat 0() -> mark tt(),
             active U104(X1, X2, X3) -> U104(active X1, X2, X3),
             active U104(tt(), M, N) -> mark plus(x(N, M), N),
                 active plus(N, s M) -> mark U81(isNat M, M, N),
                 active plus(N, 0()) -> mark U71(isNat N, N),
                 active plus(X1, X2) -> plus(X1, active X2),
                 active plus(X1, X2) -> plus(active X1, X2),
                    active x(N, s M) -> mark U101(isNat M, M, N),
                    active x(N, 0()) -> mark U91(isNat N, N),
                    active x(X1, X2) -> x(X1, active X2),
                    active x(X1, X2) -> x(active X1, X2),
              active U12(X1, X2, X3) -> U12(active X1, X2, X3),
            active U12(tt(), V1, V2) -> mark U13(isNatKind V2, V1, V2),
              active U11(X1, X2, X3) -> U11(active X1, X2, X3),
            active U11(tt(), V1, V2) -> mark U12(isNatKind V1, V1, V2),
              active U13(X1, X2, X3) -> U13(active X1, X2, X3),
            active U13(tt(), V1, V2) -> mark U14(isNatKind V2, V1, V2),
              active U14(X1, X2, X3) -> U14(active X1, X2, X3),
            active U14(tt(), V1, V2) -> mark U15(isNat V1, V2),
                  active U15(X1, X2) -> U15(active X1, X2),
                active U15(tt(), V2) -> mark U16 isNat V2,
                        active U16 X -> U16 active X,
                     active U16 tt() -> mark tt(),
                  active U22(X1, X2) -> U22(active X1, X2),
                active U22(tt(), V1) -> mark U23 isNat V1,
                  active U21(X1, X2) -> U21(active X1, X2),
                active U21(tt(), V1) -> mark U22(isNatKind V1, V1),
                        active U23 X -> U23 active X,
                     active U23 tt() -> mark tt(),
              active U32(X1, X2, X3) -> U32(active X1, X2, X3),
            active U32(tt(), V1, V2) -> mark U33(isNatKind V2, V1, V2),
              active U31(X1, X2, X3) -> U31(active X1, X2, X3),
            active U31(tt(), V1, V2) -> mark U32(isNatKind V1, V1, V2),
              active U33(X1, X2, X3) -> U33(active X1, X2, X3),
            active U33(tt(), V1, V2) -> mark U34(isNatKind V2, V1, V2),
              active U34(X1, X2, X3) -> U34(active X1, X2, X3),
            active U34(tt(), V1, V2) -> mark U35(isNat V1, V2),
                  active U35(X1, X2) -> U35(active X1, X2),
                active U35(tt(), V2) -> mark U36 isNat V2,
                        active U36 X -> U36 active X,
                     active U36 tt() -> mark tt(),
                        active U42 X -> U42 active X,
                     active U42 tt() -> mark tt(),
                  active U41(X1, X2) -> U41(active X1, X2),
                active U41(tt(), V2) -> mark U42 isNatKind V2,
                        active U51 X -> U51 active X,
                     active U51 tt() -> mark tt(),
                        active U62 X -> U62 active X,
                     active U62 tt() -> mark tt(),
                  active U61(X1, X2) -> U61(active X1, X2),
                active U61(tt(), V2) -> mark U62 isNatKind V2,
                  active U72(X1, X2) -> U72(active X1, X2),
                 active U72(tt(), N) -> mark N,
                  active U71(X1, X2) -> U71(active X1, X2),
                 active U71(tt(), N) -> mark U72(isNatKind N, N),
              active U82(X1, X2, X3) -> U82(active X1, X2, X3),
              active U82(tt(), M, N) -> mark U83(isNat N, M, N),
              active U81(X1, X2, X3) -> U81(active X1, X2, X3),
              active U81(tt(), M, N) -> mark U82(isNatKind M, M, N),
              active U83(X1, X2, X3) -> U83(active X1, X2, X3),
              active U83(tt(), M, N) -> mark U84(isNatKind N, M, N),
              active U84(X1, X2, X3) -> U84(active X1, X2, X3),
              active U84(tt(), M, N) -> mark s plus(N, M),
                          active s X -> s active X,
                        active U92 X -> U92 active X,
                     active U92 tt() -> mark 0(),
                  active U91(X1, X2) -> U91(active X1, X2),
                 active U91(tt(), N) -> mark U92 isNatKind N,
               U101(mark X1, X2, X3) -> mark U101(X1, X2, X3),
           U101(ok X1, ok X2, ok X3) -> ok U101(X1, X2, X3),
               U103(mark X1, X2, X3) -> mark U103(X1, X2, X3),
           U103(ok X1, ok X2, ok X3) -> ok U103(X1, X2, X3),
                          isNat ok X -> ok isNat X,
               U104(mark X1, X2, X3) -> mark U104(X1, X2, X3),
           U104(ok X1, ok X2, ok X3) -> ok U104(X1, X2, X3),
                   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),
                      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),
                U12(mark X1, X2, X3) -> mark U12(X1, X2, X3),
            U12(ok X1, ok X2, ok X3) -> ok U12(X1, X2, X3),
                U11(mark X1, X2, X3) -> mark U11(X1, X2, X3),
            U11(ok X1, ok X2, ok X3) -> ok U11(X1, X2, X3),
                U13(mark X1, X2, X3) -> mark U13(X1, X2, X3),
            U13(ok X1, ok X2, ok X3) -> ok U13(X1, X2, X3),
                U14(mark X1, X2, X3) -> mark U14(X1, X2, X3),
            U14(ok X1, ok X2, ok X3) -> ok U14(X1, X2, X3),
                    U15(mark X1, X2) -> mark U15(X1, X2),
                   U15(ok X1, ok X2) -> ok U15(X1, X2),
                          U16 mark X -> mark U16 X,
                            U16 ok X -> ok U16 X,
                    U22(mark X1, X2) -> mark U22(X1, X2),
                   U22(ok X1, ok X2) -> ok U22(X1, X2),
                    U21(mark X1, X2) -> mark U21(X1, X2),
                   U21(ok X1, ok X2) -> ok U21(X1, X2),
                          U23 mark X -> mark U23 X,
                            U23 ok X -> ok U23 X,
                U32(mark X1, X2, X3) -> mark U32(X1, X2, X3),
            U32(ok X1, ok X2, ok X3) -> ok U32(X1, X2, X3),
                U31(mark X1, X2, X3) -> mark U31(X1, X2, X3),
            U31(ok X1, ok X2, ok X3) -> ok U31(X1, X2, X3),
                U33(mark X1, X2, X3) -> mark U33(X1, X2, X3),
            U33(ok X1, ok X2, ok X3) -> ok U33(X1, X2, X3),
                U34(mark X1, X2, X3) -> mark U34(X1, X2, X3),
            U34(ok X1, ok X2, ok X3) -> ok U34(X1, X2, X3),
                    U35(mark X1, X2) -> mark U35(X1, X2),
                   U35(ok X1, ok X2) -> ok U35(X1, X2),
                          U36 mark X -> mark U36 X,
                            U36 ok X -> ok U36 X,
                          U42 mark X -> mark U42 X,
                            U42 ok X -> ok U42 X,
                    U41(mark X1, X2) -> mark U41(X1, X2),
                   U41(ok X1, ok X2) -> ok U41(X1, X2),
                          U51 mark X -> mark U51 X,
                            U51 ok X -> ok U51 X,
                          U62 mark X -> mark U62 X,
                            U62 ok X -> ok U62 X,
                    U61(mark X1, X2) -> mark U61(X1, X2),
                   U61(ok X1, ok X2) -> ok U61(X1, X2),
                    U72(mark X1, X2) -> mark U72(X1, X2),
                   U72(ok X1, ok X2) -> ok U72(X1, X2),
                    U71(mark X1, X2) -> mark U71(X1, X2),
                   U71(ok X1, ok X2) -> ok U71(X1, X2),
                U82(mark X1, X2, X3) -> mark U82(X1, X2, X3),
            U82(ok X1, ok X2, ok X3) -> ok U82(X1, X2, X3),
                U81(mark X1, X2, X3) -> mark U81(X1, X2, X3),
            U81(ok X1, ok X2, ok X3) -> ok U81(X1, X2, X3),
                U83(mark X1, X2, X3) -> mark U83(X1, X2, X3),
            U83(ok X1, ok X2, ok X3) -> ok U83(X1, X2, X3),
                U84(mark X1, X2, X3) -> mark U84(X1, X2, X3),
            U84(ok X1, ok X2, ok X3) -> ok U84(X1, X2, X3),
                            s mark X -> mark s X,
                              s ok X -> ok s X,
                          U92 mark X -> mark U92 X,
                            U92 ok X -> ok U92 X,
                    U91(mark X1, X2) -> mark U91(X1, X2),
                   U91(ok X1, ok X2) -> ok U91(X1, X2),
             proper U102(X1, X2, X3) -> U102(proper X1, proper X2, proper X3),
                  proper isNatKind X -> isNatKind proper X,
             proper U101(X1, X2, X3) -> U101(proper X1, proper X2, proper X3),
                         proper tt() -> ok tt(),
             proper U103(X1, X2, X3) -> U103(proper X1, proper X2, proper X3),
                      proper isNat X -> isNat proper X,
             proper U104(X1, X2, X3) -> U104(proper X1, proper X2, proper X3),
                 proper plus(X1, X2) -> plus(proper X1, proper X2),
                    proper x(X1, X2) -> x(proper X1, proper X2),
              proper U12(X1, X2, X3) -> U12(proper X1, proper X2, proper X3),
              proper U11(X1, X2, X3) -> U11(proper X1, proper X2, proper X3),
              proper U13(X1, X2, X3) -> U13(proper X1, proper X2, proper X3),
              proper U14(X1, X2, X3) -> U14(proper X1, proper X2, proper X3),
                  proper U15(X1, X2) -> U15(proper X1, proper X2),
                        proper U16 X -> U16 proper X,
                  proper U22(X1, X2) -> U22(proper X1, proper X2),
                  proper U21(X1, X2) -> U21(proper X1, proper X2),
                        proper U23 X -> U23 proper X,
              proper U32(X1, X2, X3) -> U32(proper X1, proper X2, proper X3),
              proper U31(X1, X2, X3) -> U31(proper X1, proper X2, proper X3),
              proper U33(X1, X2, X3) -> U33(proper X1, proper X2, proper X3),
              proper U34(X1, X2, X3) -> U34(proper X1, proper X2, proper X3),
                  proper U35(X1, X2) -> U35(proper X1, proper X2),
                        proper U36 X -> U36 proper X,
                        proper U42 X -> U42 proper X,
                  proper U41(X1, X2) -> U41(proper X1, proper X2),
                        proper U51 X -> U51 proper X,
                        proper U62 X -> U62 proper X,
                  proper U61(X1, X2) -> U61(proper X1, proper X2),
                  proper U72(X1, X2) -> U72(proper X1, proper X2),
                  proper U71(X1, X2) -> U71(proper X1, proper X2),
              proper U82(X1, X2, X3) -> U82(proper X1, proper X2, proper X3),
              proper U81(X1, X2, X3) -> U81(proper X1, proper X2, proper X3),
              proper U83(X1, X2, X3) -> U83(proper X1, proper X2, proper X3),
              proper U84(X1, X2, X3) -> U84(proper X1, proper X2, proper X3),
                          proper s X -> s proper X,
                        proper U92 X -> U92 proper X,
                  proper U91(X1, X2) -> U91(proper X1, proper X2),
                          proper 0() -> ok 0(),
                          top mark X -> top proper X,
                            top ok X -> top active X
      }
      Open
     
     SCC (3):
      Strict:
       { plus#(X1, mark X2) -> plus#(X1, X2),
         plus#(mark X1, X2) -> plus#(X1, X2),
        plus#(ok X1, ok X2) -> plus#(X1, X2)}
      Weak:
      {
               U102(mark X1, X2, X3) -> mark U102(X1, X2, X3),
           U102(ok X1, ok X2, ok X3) -> ok U102(X1, X2, X3),
                      isNatKind ok X -> ok isNatKind X,
             active U102(X1, X2, X3) -> U102(active X1, X2, X3),
             active U102(tt(), M, N) -> mark U103(isNat N, M, N),
       active isNatKind plus(V1, V2) -> mark U41(isNatKind V1, V2),
          active isNatKind x(V1, V2) -> mark U61(isNatKind V1, V2),
               active isNatKind s V1 -> mark U51 isNatKind V1,
                active isNatKind 0() -> mark tt(),
             active U101(X1, X2, X3) -> U101(active X1, X2, X3),
             active U101(tt(), M, N) -> mark U102(isNatKind M, M, N),
             active U103(X1, X2, X3) -> U103(active X1, X2, X3),
             active U103(tt(), M, N) -> mark U104(isNatKind N, M, N),
           active isNat plus(V1, V2) -> mark U11(isNatKind V1, V1, V2),
              active isNat x(V1, V2) -> mark U31(isNatKind V1, V1, V2),
                   active isNat s V1 -> mark U21(isNatKind V1, V1),
                    active isNat 0() -> mark tt(),
             active U104(X1, X2, X3) -> U104(active X1, X2, X3),
             active U104(tt(), M, N) -> mark plus(x(N, M), N),
                 active plus(N, s M) -> mark U81(isNat M, M, N),
                 active plus(N, 0()) -> mark U71(isNat N, N),
                 active plus(X1, X2) -> plus(X1, active X2),
                 active plus(X1, X2) -> plus(active X1, X2),
                    active x(N, s M) -> mark U101(isNat M, M, N),
                    active x(N, 0()) -> mark U91(isNat N, N),
                    active x(X1, X2) -> x(X1, active X2),
                    active x(X1, X2) -> x(active X1, X2),
              active U12(X1, X2, X3) -> U12(active X1, X2, X3),
            active U12(tt(), V1, V2) -> mark U13(isNatKind V2, V1, V2),
              active U11(X1, X2, X3) -> U11(active X1, X2, X3),
            active U11(tt(), V1, V2) -> mark U12(isNatKind V1, V1, V2),
              active U13(X1, X2, X3) -> U13(active X1, X2, X3),
            active U13(tt(), V1, V2) -> mark U14(isNatKind V2, V1, V2),
              active U14(X1, X2, X3) -> U14(active X1, X2, X3),
            active U14(tt(), V1, V2) -> mark U15(isNat V1, V2),
                  active U15(X1, X2) -> U15(active X1, X2),
                active U15(tt(), V2) -> mark U16 isNat V2,
                        active U16 X -> U16 active X,
                     active U16 tt() -> mark tt(),
                  active U22(X1, X2) -> U22(active X1, X2),
                active U22(tt(), V1) -> mark U23 isNat V1,
                  active U21(X1, X2) -> U21(active X1, X2),
                active U21(tt(), V1) -> mark U22(isNatKind V1, V1),
                        active U23 X -> U23 active X,
                     active U23 tt() -> mark tt(),
              active U32(X1, X2, X3) -> U32(active X1, X2, X3),
            active U32(tt(), V1, V2) -> mark U33(isNatKind V2, V1, V2),
              active U31(X1, X2, X3) -> U31(active X1, X2, X3),
            active U31(tt(), V1, V2) -> mark U32(isNatKind V1, V1, V2),
              active U33(X1, X2, X3) -> U33(active X1, X2, X3),
            active U33(tt(), V1, V2) -> mark U34(isNatKind V2, V1, V2),
              active U34(X1, X2, X3) -> U34(active X1, X2, X3),
            active U34(tt(), V1, V2) -> mark U35(isNat V1, V2),
                  active U35(X1, X2) -> U35(active X1, X2),
                active U35(tt(), V2) -> mark U36 isNat V2,
                        active U36 X -> U36 active X,
                     active U36 tt() -> mark tt(),
                        active U42 X -> U42 active X,
                     active U42 tt() -> mark tt(),
                  active U41(X1, X2) -> U41(active X1, X2),
                active U41(tt(), V2) -> mark U42 isNatKind V2,
                        active U51 X -> U51 active X,
                     active U51 tt() -> mark tt(),
                        active U62 X -> U62 active X,
                     active U62 tt() -> mark tt(),
                  active U61(X1, X2) -> U61(active X1, X2),
                active U61(tt(), V2) -> mark U62 isNatKind V2,
                  active U72(X1, X2) -> U72(active X1, X2),
                 active U72(tt(), N) -> mark N,
                  active U71(X1, X2) -> U71(active X1, X2),
                 active U71(tt(), N) -> mark U72(isNatKind N, N),
              active U82(X1, X2, X3) -> U82(active X1, X2, X3),
              active U82(tt(), M, N) -> mark U83(isNat N, M, N),
              active U81(X1, X2, X3) -> U81(active X1, X2, X3),
              active U81(tt(), M, N) -> mark U82(isNatKind M, M, N),
              active U83(X1, X2, X3) -> U83(active X1, X2, X3),
              active U83(tt(), M, N) -> mark U84(isNatKind N, M, N),
              active U84(X1, X2, X3) -> U84(active X1, X2, X3),
              active U84(tt(), M, N) -> mark s plus(N, M),
                          active s X -> s active X,
                        active U92 X -> U92 active X,
                     active U92 tt() -> mark 0(),
                  active U91(X1, X2) -> U91(active X1, X2),
                 active U91(tt(), N) -> mark U92 isNatKind N,
               U101(mark X1, X2, X3) -> mark U101(X1, X2, X3),
           U101(ok X1, ok X2, ok X3) -> ok U101(X1, X2, X3),
               U103(mark X1, X2, X3) -> mark U103(X1, X2, X3),
           U103(ok X1, ok X2, ok X3) -> ok U103(X1, X2, X3),
                          isNat ok X -> ok isNat X,
               U104(mark X1, X2, X3) -> mark U104(X1, X2, X3),
           U104(ok X1, ok X2, ok X3) -> ok U104(X1, X2, X3),
                   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),
                      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),
                U12(mark X1, X2, X3) -> mark U12(X1, X2, X3),
            U12(ok X1, ok X2, ok X3) -> ok U12(X1, X2, X3),
                U11(mark X1, X2, X3) -> mark U11(X1, X2, X3),
            U11(ok X1, ok X2, ok X3) -> ok U11(X1, X2, X3),
                U13(mark X1, X2, X3) -> mark U13(X1, X2, X3),
            U13(ok X1, ok X2, ok X3) -> ok U13(X1, X2, X3),
                U14(mark X1, X2, X3) -> mark U14(X1, X2, X3),
            U14(ok X1, ok X2, ok X3) -> ok U14(X1, X2, X3),
                    U15(mark X1, X2) -> mark U15(X1, X2),
                   U15(ok X1, ok X2) -> ok U15(X1, X2),
                          U16 mark X -> mark U16 X,
                            U16 ok X -> ok U16 X,
                    U22(mark X1, X2) -> mark U22(X1, X2),
                   U22(ok X1, ok X2) -> ok U22(X1, X2),
                    U21(mark X1, X2) -> mark U21(X1, X2),
                   U21(ok X1, ok X2) -> ok U21(X1, X2),
                          U23 mark X -> mark U23 X,
                            U23 ok X -> ok U23 X,
                U32(mark X1, X2, X3) -> mark U32(X1, X2, X3),
            U32(ok X1, ok X2, ok X3) -> ok U32(X1, X2, X3),
                U31(mark X1, X2, X3) -> mark U31(X1, X2, X3),
            U31(ok X1, ok X2, ok X3) -> ok U31(X1, X2, X3),
                U33(mark X1, X2, X3) -> mark U33(X1, X2, X3),
            U33(ok X1, ok X2, ok X3) -> ok U33(X1, X2, X3),
                U34(mark X1, X2, X3) -> mark U34(X1, X2, X3),
            U34(ok X1, ok X2, ok X3) -> ok U34(X1, X2, X3),
                    U35(mark X1, X2) -> mark U35(X1, X2),
                   U35(ok X1, ok X2) -> ok U35(X1, X2),
                          U36 mark X -> mark U36 X,
                            U36 ok X -> ok U36 X,
                          U42 mark X -> mark U42 X,
                            U42 ok X -> ok U42 X,
                    U41(mark X1, X2) -> mark U41(X1, X2),
                   U41(ok X1, ok X2) -> ok U41(X1, X2),
                          U51 mark X -> mark U51 X,
                            U51 ok X -> ok U51 X,
                          U62 mark X -> mark U62 X,
                            U62 ok X -> ok U62 X,
                    U61(mark X1, X2) -> mark U61(X1, X2),
                   U61(ok X1, ok X2) -> ok U61(X1, X2),
                    U72(mark X1, X2) -> mark U72(X1, X2),
                   U72(ok X1, ok X2) -> ok U72(X1, X2),
                    U71(mark X1, X2) -> mark U71(X1, X2),
                   U71(ok X1, ok X2) -> ok U71(X1, X2),
                U82(mark X1, X2, X3) -> mark U82(X1, X2, X3),
            U82(ok X1, ok X2, ok X3) -> ok U82(X1, X2, X3),
                U81(mark X1, X2, X3) -> mark U81(X1, X2, X3),
            U81(ok X1, ok X2, ok X3) -> ok U81(X1, X2, X3),
                U83(mark X1, X2, X3) -> mark U83(X1, X2, X3),
            U83(ok X1, ok X2, ok X3) -> ok U83(X1, X2, X3),
                U84(mark X1, X2, X3) -> mark U84(X1, X2, X3),
            U84(ok X1, ok X2, ok X3) -> ok U84(X1, X2, X3),
                            s mark X -> mark s X,
                              s ok X -> ok s X,
                          U92 mark X -> mark U92 X,
                            U92 ok X -> ok U92 X,
                    U91(mark X1, X2) -> mark U91(X1, X2),
                   U91(ok X1, ok X2) -> ok U91(X1, X2),
             proper U102(X1, X2, X3) -> U102(proper X1, proper X2, proper X3),
                  proper isNatKind X -> isNatKind proper X,
             proper U101(X1, X2, X3) -> U101(proper X1, proper X2, proper X3),
                         proper tt() -> ok tt(),
             proper U103(X1, X2, X3) -> U103(proper X1, proper X2, proper X3),
                      proper isNat X -> isNat proper X,
             proper U104(X1, X2, X3) -> U104(proper X1, proper X2, proper X3),
                 proper plus(X1, X2) -> plus(proper X1, proper X2),
                    proper x(X1, X2) -> x(proper X1, proper X2),
              proper U12(X1, X2, X3) -> U12(proper X1, proper X2, proper X3),
              proper U11(X1, X2, X3) -> U11(proper X1, proper X2, proper X3),
              proper U13(X1, X2, X3) -> U13(proper X1, proper X2, proper X3),
              proper U14(X1, X2, X3) -> U14(proper X1, proper X2, proper X3),
                  proper U15(X1, X2) -> U15(proper X1, proper X2),
                        proper U16 X -> U16 proper X,
                  proper U22(X1, X2) -> U22(proper X1, proper X2),
                  proper U21(X1, X2) -> U21(proper X1, proper X2),
                        proper U23 X -> U23 proper X,
              proper U32(X1, X2, X3) -> U32(proper X1, proper X2, proper X3),
              proper U31(X1, X2, X3) -> U31(proper X1, proper X2, proper X3),
              proper U33(X1, X2, X3) -> U33(proper X1, proper X2, proper X3),
              proper U34(X1, X2, X3) -> U34(proper X1, proper X2, proper X3),
                  proper U35(X1, X2) -> U35(proper X1, proper X2),
                        proper U36 X -> U36 proper X,
                        proper U42 X -> U42 proper X,
                  proper U41(X1, X2) -> U41(proper X1, proper X2),
                        proper U51 X -> U51 proper X,
                        proper U62 X -> U62 proper X,
                  proper U61(X1, X2) -> U61(proper X1, proper X2),
                  proper U72(X1, X2) -> U72(proper X1, proper X2),
                  proper U71(X1, X2) -> U71(proper X1, proper X2),
              proper U82(X1, X2, X3) -> U82(proper X1, proper X2, proper X3),
              proper U81(X1, X2, X3) -> U81(proper X1, proper X2, proper X3),
              proper U83(X1, X2, X3) -> U83(proper X1, proper X2, proper X3),
              proper U84(X1, X2, X3) -> U84(proper X1, proper X2, proper X3),
                          proper s X -> s proper X,
                        proper U92 X -> U92 proper X,
                  proper U91(X1, X2) -> U91(proper X1, proper X2),
                          proper 0() -> ok 0(),
                          top mark X -> top proper X,
                            top ok X -> top active X
      }
      Open
     
     
     SCC (2):
      Strict:
       { U21#(mark X1, X2) -> U21#(X1, X2),
        U21#(ok X1, ok X2) -> U21#(X1, X2)}
      Weak:
      {
               U102(mark X1, X2, X3) -> mark U102(X1, X2, X3),
           U102(ok X1, ok X2, ok X3) -> ok U102(X1, X2, X3),
                      isNatKind ok X -> ok isNatKind X,
             active U102(X1, X2, X3) -> U102(active X1, X2, X3),
             active U102(tt(), M, N) -> mark U103(isNat N, M, N),
       active isNatKind plus(V1, V2) -> mark U41(isNatKind V1, V2),
          active isNatKind x(V1, V2) -> mark U61(isNatKind V1, V2),
               active isNatKind s V1 -> mark U51 isNatKind V1,
                active isNatKind 0() -> mark tt(),
             active U101(X1, X2, X3) -> U101(active X1, X2, X3),
             active U101(tt(), M, N) -> mark U102(isNatKind M, M, N),
             active U103(X1, X2, X3) -> U103(active X1, X2, X3),
             active U103(tt(), M, N) -> mark U104(isNatKind N, M, N),
           active isNat plus(V1, V2) -> mark U11(isNatKind V1, V1, V2),
              active isNat x(V1, V2) -> mark U31(isNatKind V1, V1, V2),
                   active isNat s V1 -> mark U21(isNatKind V1, V1),
                    active isNat 0() -> mark tt(),
             active U104(X1, X2, X3) -> U104(active X1, X2, X3),
             active U104(tt(), M, N) -> mark plus(x(N, M), N),
                 active plus(N, s M) -> mark U81(isNat M, M, N),
                 active plus(N, 0()) -> mark U71(isNat N, N),
                 active plus(X1, X2) -> plus(X1, active X2),
                 active plus(X1, X2) -> plus(active X1, X2),
                    active x(N, s M) -> mark U101(isNat M, M, N),
                    active x(N, 0()) -> mark U91(isNat N, N),
                    active x(X1, X2) -> x(X1, active X2),
                    active x(X1, X2) -> x(active X1, X2),
              active U12(X1, X2, X3) -> U12(active X1, X2, X3),
            active U12(tt(), V1, V2) -> mark U13(isNatKind V2, V1, V2),
              active U11(X1, X2, X3) -> U11(active X1, X2, X3),
            active U11(tt(), V1, V2) -> mark U12(isNatKind V1, V1, V2),
              active U13(X1, X2, X3) -> U13(active X1, X2, X3),
            active U13(tt(), V1, V2) -> mark U14(isNatKind V2, V1, V2),
              active U14(X1, X2, X3) -> U14(active X1, X2, X3),
            active U14(tt(), V1, V2) -> mark U15(isNat V1, V2),
                  active U15(X1, X2) -> U15(active X1, X2),
                active U15(tt(), V2) -> mark U16 isNat V2,
                        active U16 X -> U16 active X,
                     active U16 tt() -> mark tt(),
                  active U22(X1, X2) -> U22(active X1, X2),
                active U22(tt(), V1) -> mark U23 isNat V1,
                  active U21(X1, X2) -> U21(active X1, X2),
                active U21(tt(), V1) -> mark U22(isNatKind V1, V1),
                        active U23 X -> U23 active X,
                     active U23 tt() -> mark tt(),
              active U32(X1, X2, X3) -> U32(active X1, X2, X3),
            active U32(tt(), V1, V2) -> mark U33(isNatKind V2, V1, V2),
              active U31(X1, X2, X3) -> U31(active X1, X2, X3),
            active U31(tt(), V1, V2) -> mark U32(isNatKind V1, V1, V2),
              active U33(X1, X2, X3) -> U33(active X1, X2, X3),
            active U33(tt(), V1, V2) -> mark U34(isNatKind V2, V1, V2),
              active U34(X1, X2, X3) -> U34(active X1, X2, X3),
            active U34(tt(), V1, V2) -> mark U35(isNat V1, V2),
                  active U35(X1, X2) -> U35(active X1, X2),
                active U35(tt(), V2) -> mark U36 isNat V2,
                        active U36 X -> U36 active X,
                     active U36 tt() -> mark tt(),
                        active U42 X -> U42 active X,
                     active U42 tt() -> mark tt(),
                  active U41(X1, X2) -> U41(active X1, X2),
                active U41(tt(), V2) -> mark U42 isNatKind V2,
                        active U51 X -> U51 active X,
                     active U51 tt() -> mark tt(),
                        active U62 X -> U62 active X,
                     active U62 tt() -> mark tt(),
                  active U61(X1, X2) -> U61(active X1, X2),
                active U61(tt(), V2) -> mark U62 isNatKind V2,
                  active U72(X1, X2) -> U72(active X1, X2),
                 active U72(tt(), N) -> mark N,
                  active U71(X1, X2) -> U71(active X1, X2),
                 active U71(tt(), N) -> mark U72(isNatKind N, N),
              active U82(X1, X2, X3) -> U82(active X1, X2, X3),
              active U82(tt(), M, N) -> mark U83(isNat N, M, N),
              active U81(X1, X2, X3) -> U81(active X1, X2, X3),
              active U81(tt(), M, N) -> mark U82(isNatKind M, M, N),
              active U83(X1, X2, X3) -> U83(active X1, X2, X3),
              active U83(tt(), M, N) -> mark U84(isNatKind N, M, N),
              active U84(X1, X2, X3) -> U84(active X1, X2, X3),
              active U84(tt(), M, N) -> mark s plus(N, M),
                          active s X -> s active X,
                        active U92 X -> U92 active X,
                     active U92 tt() -> mark 0(),
                  active U91(X1, X2) -> U91(active X1, X2),
                 active U91(tt(), N) -> mark U92 isNatKind N,
               U101(mark X1, X2, X3) -> mark U101(X1, X2, X3),
           U101(ok X1, ok X2, ok X3) -> ok U101(X1, X2, X3),
               U103(mark X1, X2, X3) -> mark U103(X1, X2, X3),
           U103(ok X1, ok X2, ok X3) -> ok U103(X1, X2, X3),
                          isNat ok X -> ok isNat X,
               U104(mark X1, X2, X3) -> mark U104(X1, X2, X3),
           U104(ok X1, ok X2, ok X3) -> ok U104(X1, X2, X3),
                   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),
                      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),
                U12(mark X1, X2, X3) -> mark U12(X1, X2, X3),
            U12(ok X1, ok X2, ok X3) -> ok U12(X1, X2, X3),
                U11(mark X1, X2, X3) -> mark U11(X1, X2, X3),
            U11(ok X1, ok X2, ok X3) -> ok U11(X1, X2, X3),
                U13(mark X1, X2, X3) -> mark U13(X1, X2, X3),
            U13(ok X1, ok X2, ok X3) -> ok U13(X1, X2, X3),
                U14(mark X1, X2, X3) -> mark U14(X1, X2, X3),
            U14(ok X1, ok X2, ok X3) -> ok U14(X1, X2, X3),
                    U15(mark X1, X2) -> mark U15(X1, X2),
                   U15(ok X1, ok X2) -> ok U15(X1, X2),
                          U16 mark X -> mark U16 X,
                            U16 ok X -> ok U16 X,
                    U22(mark X1, X2) -> mark U22(X1, X2),
                   U22(ok X1, ok X2) -> ok U22(X1, X2),
                    U21(mark X1, X2) -> mark U21(X1, X2),
                   U21(ok X1, ok X2) -> ok U21(X1, X2),
                          U23 mark X -> mark U23 X,
                            U23 ok X -> ok U23 X,
                U32(mark X1, X2, X3) -> mark U32(X1, X2, X3),
            U32(ok X1, ok X2, ok X3) -> ok U32(X1, X2, X3),
                U31(mark X1, X2, X3) -> mark U31(X1, X2, X3),
            U31(ok X1, ok X2, ok X3) -> ok U31(X1, X2, X3),
                U33(mark X1, X2, X3) -> mark U33(X1, X2, X3),
            U33(ok X1, ok X2, ok X3) -> ok U33(X1, X2, X3),
                U34(mark X1, X2, X3) -> mark U34(X1, X2, X3),
            U34(ok X1, ok X2, ok X3) -> ok U34(X1, X2, X3),
                    U35(mark X1, X2) -> mark U35(X1, X2),
                   U35(ok X1, ok X2) -> ok U35(X1, X2),
                          U36 mark X -> mark U36 X,
                            U36 ok X -> ok U36 X,
                          U42 mark X -> mark U42 X,
                            U42 ok X -> ok U42 X,
                    U41(mark X1, X2) -> mark U41(X1, X2),
                   U41(ok X1, ok X2) -> ok U41(X1, X2),
                          U51 mark X -> mark U51 X,
                            U51 ok X -> ok U51 X,
                          U62 mark X -> mark U62 X,
                            U62 ok X -> ok U62 X,
                    U61(mark X1, X2) -> mark U61(X1, X2),
                   U61(ok X1, ok X2) -> ok U61(X1, X2),
                    U72(mark X1, X2) -> mark U72(X1, X2),
                   U72(ok X1, ok X2) -> ok U72(X1, X2),
                    U71(mark X1, X2) -> mark U71(X1, X2),
                   U71(ok X1, ok X2) -> ok U71(X1, X2),
                U82(mark X1, X2, X3) -> mark U82(X1, X2, X3),
            U82(ok X1, ok X2, ok X3) -> ok U82(X1, X2, X3),
                U81(mark X1, X2, X3) -> mark U81(X1, X2, X3),
            U81(ok X1, ok X2, ok X3) -> ok U81(X1, X2, X3),
                U83(mark X1, X2, X3) -> mark U83(X1, X2, X3),
            U83(ok X1, ok X2, ok X3) -> ok U83(X1, X2, X3),
                U84(mark X1, X2, X3) -> mark U84(X1, X2, X3),
            U84(ok X1, ok X2, ok X3) -> ok U84(X1, X2, X3),
                            s mark X -> mark s X,
                              s ok X -> ok s X,
                          U92 mark X -> mark U92 X,
                            U92 ok X -> ok U92 X,
                    U91(mark X1, X2) -> mark U91(X1, X2),
                   U91(ok X1, ok X2) -> ok U91(X1, X2),
             proper U102(X1, X2, X3) -> U102(proper X1, proper X2, proper X3),
                  proper isNatKind X -> isNatKind proper X,
             proper U101(X1, X2, X3) -> U101(proper X1, proper X2, proper X3),
                         proper tt() -> ok tt(),
             proper U103(X1, X2, X3) -> U103(proper X1, proper X2, proper X3),
                      proper isNat X -> isNat proper X,
             proper U104(X1, X2, X3) -> U104(proper X1, proper X2, proper X3),
                 proper plus(X1, X2) -> plus(proper X1, proper X2),
                    proper x(X1, X2) -> x(proper X1, proper X2),
              proper U12(X1, X2, X3) -> U12(proper X1, proper X2, proper X3),
              proper U11(X1, X2, X3) -> U11(proper X1, proper X2, proper X3),
              proper U13(X1, X2, X3) -> U13(proper X1, proper X2, proper X3),
              proper U14(X1, X2, X3) -> U14(proper X1, proper X2, proper X3),
                  proper U15(X1, X2) -> U15(proper X1, proper X2),
                        proper U16 X -> U16 proper X,
                  proper U22(X1, X2) -> U22(proper X1, proper X2),
                  proper U21(X1, X2) -> U21(proper X1, proper X2),
                        proper U23 X -> U23 proper X,
              proper U32(X1, X2, X3) -> U32(proper X1, proper X2, proper X3),
              proper U31(X1, X2, X3) -> U31(proper X1, proper X2, proper X3),
              proper U33(X1, X2, X3) -> U33(proper X1, proper X2, proper X3),
              proper U34(X1, X2, X3) -> U34(proper X1, proper X2, proper X3),
                  proper U35(X1, X2) -> U35(proper X1, proper X2),
                        proper U36 X -> U36 proper X,
                        proper U42 X -> U42 proper X,
                  proper U41(X1, X2) -> U41(proper X1, proper X2),
                        proper U51 X -> U51 proper X,
                        proper U62 X -> U62 proper X,
                  proper U61(X1, X2) -> U61(proper X1, proper X2),
                  proper U72(X1, X2) -> U72(proper X1, proper X2),
                  proper U71(X1, X2) -> U71(proper X1, proper X2),
              proper U82(X1, X2, X3) -> U82(proper X1, proper X2, proper X3),
              proper U81(X1, X2, X3) -> U81(proper X1, proper X2, proper X3),
              proper U83(X1, X2, X3) -> U83(proper X1, proper X2, proper X3),
              proper U84(X1, X2, X3) -> U84(proper X1, proper X2, proper X3),
                          proper s X -> s proper X,
                        proper U92 X -> U92 proper X,
                  proper U91(X1, X2) -> U91(proper X1, proper X2),
                          proper 0() -> ok 0(),
                          top mark X -> top proper X,
                            top ok X -> top active X
      }
      Open
     
     
     SCC (2):
      Strict:
       {    U31#(mark X1, X2, X3) -> U31#(X1, X2, X3),
        U31#(ok X1, ok X2, ok X3) -> U31#(X1, X2, X3)}
      Weak:
      {
               U102(mark X1, X2, X3) -> mark U102(X1, X2, X3),
           U102(ok X1, ok X2, ok X3) -> ok U102(X1, X2, X3),
                      isNatKind ok X -> ok isNatKind X,
             active U102(X1, X2, X3) -> U102(active X1, X2, X3),
             active U102(tt(), M, N) -> mark U103(isNat N, M, N),
       active isNatKind plus(V1, V2) -> mark U41(isNatKind V1, V2),
          active isNatKind x(V1, V2) -> mark U61(isNatKind V1, V2),
               active isNatKind s V1 -> mark U51 isNatKind V1,
                active isNatKind 0() -> mark tt(),
             active U101(X1, X2, X3) -> U101(active X1, X2, X3),
             active U101(tt(), M, N) -> mark U102(isNatKind M, M, N),
             active U103(X1, X2, X3) -> U103(active X1, X2, X3),
             active U103(tt(), M, N) -> mark U104(isNatKind N, M, N),
           active isNat plus(V1, V2) -> mark U11(isNatKind V1, V1, V2),
              active isNat x(V1, V2) -> mark U31(isNatKind V1, V1, V2),
                   active isNat s V1 -> mark U21(isNatKind V1, V1),
                    active isNat 0() -> mark tt(),
             active U104(X1, X2, X3) -> U104(active X1, X2, X3),
             active U104(tt(), M, N) -> mark plus(x(N, M), N),
                 active plus(N, s M) -> mark U81(isNat M, M, N),
                 active plus(N, 0()) -> mark U71(isNat N, N),
                 active plus(X1, X2) -> plus(X1, active X2),
                 active plus(X1, X2) -> plus(active X1, X2),
                    active x(N, s M) -> mark U101(isNat M, M, N),
                    active x(N, 0()) -> mark U91(isNat N, N),
                    active x(X1, X2) -> x(X1, active X2),
                    active x(X1, X2) -> x(active X1, X2),
              active U12(X1, X2, X3) -> U12(active X1, X2, X3),
            active U12(tt(), V1, V2) -> mark U13(isNatKind V2, V1, V2),
              active U11(X1, X2, X3) -> U11(active X1, X2, X3),
            active U11(tt(), V1, V2) -> mark U12(isNatKind V1, V1, V2),
              active U13(X1, X2, X3) -> U13(active X1, X2, X3),
            active U13(tt(), V1, V2) -> mark U14(isNatKind V2, V1, V2),
              active U14(X1, X2, X3) -> U14(active X1, X2, X3),
            active U14(tt(), V1, V2) -> mark U15(isNat V1, V2),
                  active U15(X1, X2) -> U15(active X1, X2),
                active U15(tt(), V2) -> mark U16 isNat V2,
                        active U16 X -> U16 active X,
                     active U16 tt() -> mark tt(),
                  active U22(X1, X2) -> U22(active X1, X2),
                active U22(tt(), V1) -> mark U23 isNat V1,
                  active U21(X1, X2) -> U21(active X1, X2),
                active U21(tt(), V1) -> mark U22(isNatKind V1, V1),
                        active U23 X -> U23 active X,
                     active U23 tt() -> mark tt(),
              active U32(X1, X2, X3) -> U32(active X1, X2, X3),
            active U32(tt(), V1, V2) -> mark U33(isNatKind V2, V1, V2),
              active U31(X1, X2, X3) -> U31(active X1, X2, X3),
            active U31(tt(), V1, V2) -> mark U32(isNatKind V1, V1, V2),
              active U33(X1, X2, X3) -> U33(active X1, X2, X3),
            active U33(tt(), V1, V2) -> mark U34(isNatKind V2, V1, V2),
              active U34(X1, X2, X3) -> U34(active X1, X2, X3),
            active U34(tt(), V1, V2) -> mark U35(isNat V1, V2),
                  active U35(X1, X2) -> U35(active X1, X2),
                active U35(tt(), V2) -> mark U36 isNat V2,
                        active U36 X -> U36 active X,
                     active U36 tt() -> mark tt(),
                        active U42 X -> U42 active X,
                     active U42 tt() -> mark tt(),
                  active U41(X1, X2) -> U41(active X1, X2),
                active U41(tt(), V2) -> mark U42 isNatKind V2,
                        active U51 X -> U51 active X,
                     active U51 tt() -> mark tt(),
                        active U62 X -> U62 active X,
                     active U62 tt() -> mark tt(),
                  active U61(X1, X2) -> U61(active X1, X2),
                active U61(tt(), V2) -> mark U62 isNatKind V2,
                  active U72(X1, X2) -> U72(active X1, X2),
                 active U72(tt(), N) -> mark N,
                  active U71(X1, X2) -> U71(active X1, X2),
                 active U71(tt(), N) -> mark U72(isNatKind N, N),
              active U82(X1, X2, X3) -> U82(active X1, X2, X3),
              active U82(tt(), M, N) -> mark U83(isNat N, M, N),
              active U81(X1, X2, X3) -> U81(active X1, X2, X3),
              active U81(tt(), M, N) -> mark U82(isNatKind M, M, N),
              active U83(X1, X2, X3) -> U83(active X1, X2, X3),
              active U83(tt(), M, N) -> mark U84(isNatKind N, M, N),
              active U84(X1, X2, X3) -> U84(active X1, X2, X3),
              active U84(tt(), M, N) -> mark s plus(N, M),
                          active s X -> s active X,
                        active U92 X -> U92 active X,
                     active U92 tt() -> mark 0(),
                  active U91(X1, X2) -> U91(active X1, X2),
                 active U91(tt(), N) -> mark U92 isNatKind N,
               U101(mark X1, X2, X3) -> mark U101(X1, X2, X3),
           U101(ok X1, ok X2, ok X3) -> ok U101(X1, X2, X3),
               U103(mark X1, X2, X3) -> mark U103(X1, X2, X3),
           U103(ok X1, ok X2, ok X3) -> ok U103(X1, X2, X3),
                          isNat ok X -> ok isNat X,
               U104(mark X1, X2, X3) -> mark U104(X1, X2, X3),
           U104(ok X1, ok X2, ok X3) -> ok U104(X1, X2, X3),
                   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),
                      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),
                U12(mark X1, X2, X3) -> mark U12(X1, X2, X3),
            U12(ok X1, ok X2, ok X3) -> ok U12(X1, X2, X3),
                U11(mark X1, X2, X3) -> mark U11(X1, X2, X3),
            U11(ok X1, ok X2, ok X3) -> ok U11(X1, X2, X3),
                U13(mark X1, X2, X3) -> mark U13(X1, X2, X3),
            U13(ok X1, ok X2, ok X3) -> ok U13(X1, X2, X3),
                U14(mark X1, X2, X3) -> mark U14(X1, X2, X3),
            U14(ok X1, ok X2, ok X3) -> ok U14(X1, X2, X3),
                    U15(mark X1, X2) -> mark U15(X1, X2),
                   U15(ok X1, ok X2) -> ok U15(X1, X2),
                          U16 mark X -> mark U16 X,
                            U16 ok X -> ok U16 X,
                    U22(mark X1, X2) -> mark U22(X1, X2),
                   U22(ok X1, ok X2) -> ok U22(X1, X2),
                    U21(mark X1, X2) -> mark U21(X1, X2),
                   U21(ok X1, ok X2) -> ok U21(X1, X2),
                          U23 mark X -> mark U23 X,
                            U23 ok X -> ok U23 X,
                U32(mark X1, X2, X3) -> mark U32(X1, X2, X3),
            U32(ok X1, ok X2, ok X3) -> ok U32(X1, X2, X3),
                U31(mark X1, X2, X3) -> mark U31(X1, X2, X3),
            U31(ok X1, ok X2, ok X3) -> ok U31(X1, X2, X3),
                U33(mark X1, X2, X3) -> mark U33(X1, X2, X3),
            U33(ok X1, ok X2, ok X3) -> ok U33(X1, X2, X3),
                U34(mark X1, X2, X3) -> mark U34(X1, X2, X3),
            U34(ok X1, ok X2, ok X3) -> ok U34(X1, X2, X3),
                    U35(mark X1, X2) -> mark U35(X1, X2),
                   U35(ok X1, ok X2) -> ok U35(X1, X2),
                          U36 mark X -> mark U36 X,
                            U36 ok X -> ok U36 X,
                          U42 mark X -> mark U42 X,
                            U42 ok X -> ok U42 X,
                    U41(mark X1, X2) -> mark U41(X1, X2),
                   U41(ok X1, ok X2) -> ok U41(X1, X2),
                          U51 mark X -> mark U51 X,
                            U51 ok X -> ok U51 X,
                          U62 mark X -> mark U62 X,
                            U62 ok X -> ok U62 X,
                    U61(mark X1, X2) -> mark U61(X1, X2),
                   U61(ok X1, ok X2) -> ok U61(X1, X2),
                    U72(mark X1, X2) -> mark U72(X1, X2),
                   U72(ok X1, ok X2) -> ok U72(X1, X2),
                    U71(mark X1, X2) -> mark U71(X1, X2),
                   U71(ok X1, ok X2) -> ok U71(X1, X2),
                U82(mark X1, X2, X3) -> mark U82(X1, X2, X3),
            U82(ok X1, ok X2, ok X3) -> ok U82(X1, X2, X3),
                U81(mark X1, X2, X3) -> mark U81(X1, X2, X3),
            U81(ok X1, ok X2, ok X3) -> ok U81(X1, X2, X3),
                U83(mark X1, X2, X3) -> mark U83(X1, X2, X3),
            U83(ok X1, ok X2, ok X3) -> ok U83(X1, X2, X3),
                U84(mark X1, X2, X3) -> mark U84(X1, X2, X3),
            U84(ok X1, ok X2, ok X3) -> ok U84(X1, X2, X3),
                            s mark X -> mark s X,
                              s ok X -> ok s X,
                          U92 mark X -> mark U92 X,
                            U92 ok X -> ok U92 X,
                    U91(mark X1, X2) -> mark U91(X1, X2),
                   U91(ok X1, ok X2) -> ok U91(X1, X2),
             proper U102(X1, X2, X3) -> U102(proper X1, proper X2, proper X3),
                  proper isNatKind X -> isNatKind proper X,
             proper U101(X1, X2, X3) -> U101(proper X1, proper X2, proper X3),
                         proper tt() -> ok tt(),
             proper U103(X1, X2, X3) -> U103(proper X1, proper X2, proper X3),
                      proper isNat X -> isNat proper X,
             proper U104(X1, X2, X3) -> U104(proper X1, proper X2, proper X3),
                 proper plus(X1, X2) -> plus(proper X1, proper X2),
                    proper x(X1, X2) -> x(proper X1, proper X2),
              proper U12(X1, X2, X3) -> U12(proper X1, proper X2, proper X3),
              proper U11(X1, X2, X3) -> U11(proper X1, proper X2, proper X3),
              proper U13(X1, X2, X3) -> U13(proper X1, proper X2, proper X3),
              proper U14(X1, X2, X3) -> U14(proper X1, proper X2, proper X3),
                  proper U15(X1, X2) -> U15(proper X1, proper X2),
                        proper U16 X -> U16 proper X,
                  proper U22(X1, X2) -> U22(proper X1, proper X2),
                  proper U21(X1, X2) -> U21(proper X1, proper X2),
                        proper U23 X -> U23 proper X,
              proper U32(X1, X2, X3) -> U32(proper X1, proper X2, proper X3),
              proper U31(X1, X2, X3) -> U31(proper X1, proper X2, proper X3),
              proper U33(X1, X2, X3) -> U33(proper X1, proper X2, proper X3),
              proper U34(X1, X2, X3) -> U34(proper X1, proper X2, proper X3),
                  proper U35(X1, X2) -> U35(proper X1, proper X2),
                        proper U36 X -> U36 proper X,
                        proper U42 X -> U42 proper X,
                  proper U41(X1, X2) -> U41(proper X1, proper X2),
                        proper U51 X -> U51 proper X,
                        proper U62 X -> U62 proper X,
                  proper U61(X1, X2) -> U61(proper X1, proper X2),
                  proper U72(X1, X2) -> U72(proper X1, proper X2),
                  proper U71(X1, X2) -> U71(proper X1, proper X2),
              proper U82(X1, X2, X3) -> U82(proper X1, proper X2, proper X3),
              proper U81(X1, X2, X3) -> U81(proper X1, proper X2, proper X3),
              proper U83(X1, X2, X3) -> U83(proper X1, proper X2, proper X3),
              proper U84(X1, X2, X3) -> U84(proper X1, proper X2, proper X3),
                          proper s X -> s proper X,
                        proper U92 X -> U92 proper X,
                  proper U91(X1, X2) -> U91(proper X1, proper X2),
                          proper 0() -> ok 0(),
                          top mark X -> top proper X,
                            top ok X -> top active X
      }
      Open
     
     
     SCC (2):
      Strict:
       {    U11#(mark X1, X2, X3) -> U11#(X1, X2, X3),
        U11#(ok X1, ok X2, ok X3) -> U11#(X1, X2, X3)}
      Weak:
      {
               U102(mark X1, X2, X3) -> mark U102(X1, X2, X3),
           U102(ok X1, ok X2, ok X3) -> ok U102(X1, X2, X3),
                      isNatKind ok X -> ok isNatKind X,
             active U102(X1, X2, X3) -> U102(active X1, X2, X3),
             active U102(tt(), M, N) -> mark U103(isNat N, M, N),
       active isNatKind plus(V1, V2) -> mark U41(isNatKind V1, V2),
          active isNatKind x(V1, V2) -> mark U61(isNatKind V1, V2),
               active isNatKind s V1 -> mark U51 isNatKind V1,
                active isNatKind 0() -> mark tt(),
             active U101(X1, X2, X3) -> U101(active X1, X2, X3),
             active U101(tt(), M, N) -> mark U102(isNatKind M, M, N),
             active U103(X1, X2, X3) -> U103(active X1, X2, X3),
             active U103(tt(), M, N) -> mark U104(isNatKind N, M, N),
           active isNat plus(V1, V2) -> mark U11(isNatKind V1, V1, V2),
              active isNat x(V1, V2) -> mark U31(isNatKind V1, V1, V2),
                   active isNat s V1 -> mark U21(isNatKind V1, V1),
                    active isNat 0() -> mark tt(),
             active U104(X1, X2, X3) -> U104(active X1, X2, X3),
             active U104(tt(), M, N) -> mark plus(x(N, M), N),
                 active plus(N, s M) -> mark U81(isNat M, M, N),
                 active plus(N, 0()) -> mark U71(isNat N, N),
                 active plus(X1, X2) -> plus(X1, active X2),
                 active plus(X1, X2) -> plus(active X1, X2),
                    active x(N, s M) -> mark U101(isNat M, M, N),
                    active x(N, 0()) -> mark U91(isNat N, N),
                    active x(X1, X2) -> x(X1, active X2),
                    active x(X1, X2) -> x(active X1, X2),
              active U12(X1, X2, X3) -> U12(active X1, X2, X3),
            active U12(tt(), V1, V2) -> mark U13(isNatKind V2, V1, V2),
              active U11(X1, X2, X3) -> U11(active X1, X2, X3),
            active U11(tt(), V1, V2) -> mark U12(isNatKind V1, V1, V2),
              active U13(X1, X2, X3) -> U13(active X1, X2, X3),
            active U13(tt(), V1, V2) -> mark U14(isNatKind V2, V1, V2),
              active U14(X1, X2, X3) -> U14(active X1, X2, X3),
            active U14(tt(), V1, V2) -> mark U15(isNat V1, V2),
                  active U15(X1, X2) -> U15(active X1, X2),
                active U15(tt(), V2) -> mark U16 isNat V2,
                        active U16 X -> U16 active X,
                     active U16 tt() -> mark tt(),
                  active U22(X1, X2) -> U22(active X1, X2),
                active U22(tt(), V1) -> mark U23 isNat V1,
                  active U21(X1, X2) -> U21(active X1, X2),
                active U21(tt(), V1) -> mark U22(isNatKind V1, V1),
                        active U23 X -> U23 active X,
                     active U23 tt() -> mark tt(),
              active U32(X1, X2, X3) -> U32(active X1, X2, X3),
            active U32(tt(), V1, V2) -> mark U33(isNatKind V2, V1, V2),
              active U31(X1, X2, X3) -> U31(active X1, X2, X3),
            active U31(tt(), V1, V2) -> mark U32(isNatKind V1, V1, V2),
              active U33(X1, X2, X3) -> U33(active X1, X2, X3),
            active U33(tt(), V1, V2) -> mark U34(isNatKind V2, V1, V2),
              active U34(X1, X2, X3) -> U34(active X1, X2, X3),
            active U34(tt(), V1, V2) -> mark U35(isNat V1, V2),
                  active U35(X1, X2) -> U35(active X1, X2),
                active U35(tt(), V2) -> mark U36 isNat V2,
                        active U36 X -> U36 active X,
                     active U36 tt() -> mark tt(),
                        active U42 X -> U42 active X,
                     active U42 tt() -> mark tt(),
                  active U41(X1, X2) -> U41(active X1, X2),
                active U41(tt(), V2) -> mark U42 isNatKind V2,
                        active U51 X -> U51 active X,
                     active U51 tt() -> mark tt(),
                        active U62 X -> U62 active X,
                     active U62 tt() -> mark tt(),
                  active U61(X1, X2) -> U61(active X1, X2),
                active U61(tt(), V2) -> mark U62 isNatKind V2,
                  active U72(X1, X2) -> U72(active X1, X2),
                 active U72(tt(), N) -> mark N,
                  active U71(X1, X2) -> U71(active X1, X2),
                 active U71(tt(), N) -> mark U72(isNatKind N, N),
              active U82(X1, X2, X3) -> U82(active X1, X2, X3),
              active U82(tt(), M, N) -> mark U83(isNat N, M, N),
              active U81(X1, X2, X3) -> U81(active X1, X2, X3),
              active U81(tt(), M, N) -> mark U82(isNatKind M, M, N),
              active U83(X1, X2, X3) -> U83(active X1, X2, X3),
              active U83(tt(), M, N) -> mark U84(isNatKind N, M, N),
              active U84(X1, X2, X3) -> U84(active X1, X2, X3),
              active U84(tt(), M, N) -> mark s plus(N, M),
                          active s X -> s active X,
                        active U92 X -> U92 active X,
                     active U92 tt() -> mark 0(),
                  active U91(X1, X2) -> U91(active X1, X2),
                 active U91(tt(), N) -> mark U92 isNatKind N,
               U101(mark X1, X2, X3) -> mark U101(X1, X2, X3),
           U101(ok X1, ok X2, ok X3) -> ok U101(X1, X2, X3),
               U103(mark X1, X2, X3) -> mark U103(X1, X2, X3),
           U103(ok X1, ok X2, ok X3) -> ok U103(X1, X2, X3),
                          isNat ok X -> ok isNat X,
               U104(mark X1, X2, X3) -> mark U104(X1, X2, X3),
           U104(ok X1, ok X2, ok X3) -> ok U104(X1, X2, X3),
                   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),
                      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),
                U12(mark X1, X2, X3) -> mark U12(X1, X2, X3),
            U12(ok X1, ok X2, ok X3) -> ok U12(X1, X2, X3),
                U11(mark X1, X2, X3) -> mark U11(X1, X2, X3),
            U11(ok X1, ok X2, ok X3) -> ok U11(X1, X2, X3),
                U13(mark X1, X2, X3) -> mark U13(X1, X2, X3),
            U13(ok X1, ok X2, ok X3) -> ok U13(X1, X2, X3),
                U14(mark X1, X2, X3) -> mark U14(X1, X2, X3),
            U14(ok X1, ok X2, ok X3) -> ok U14(X1, X2, X3),
                    U15(mark X1, X2) -> mark U15(X1, X2),
                   U15(ok X1, ok X2) -> ok U15(X1, X2),
                          U16 mark X -> mark U16 X,
                            U16 ok X -> ok U16 X,
                    U22(mark X1, X2) -> mark U22(X1, X2),
                   U22(ok X1, ok X2) -> ok U22(X1, X2),
                    U21(mark X1, X2) -> mark U21(X1, X2),
                   U21(ok X1, ok X2) -> ok U21(X1, X2),
                          U23 mark X -> mark U23 X,
                            U23 ok X -> ok U23 X,
                U32(mark X1, X2, X3) -> mark U32(X1, X2, X3),
            U32(ok X1, ok X2, ok X3) -> ok U32(X1, X2, X3),
                U31(mark X1, X2, X3) -> mark U31(X1, X2, X3),
            U31(ok X1, ok X2, ok X3) -> ok U31(X1, X2, X3),
                U33(mark X1, X2, X3) -> mark U33(X1, X2, X3),
            U33(ok X1, ok X2, ok X3) -> ok U33(X1, X2, X3),
                U34(mark X1, X2, X3) -> mark U34(X1, X2, X3),
            U34(ok X1, ok X2, ok X3) -> ok U34(X1, X2, X3),
                    U35(mark X1, X2) -> mark U35(X1, X2),
                   U35(ok X1, ok X2) -> ok U35(X1, X2),
                          U36 mark X -> mark U36 X,
                            U36 ok X -> ok U36 X,
                          U42 mark X -> mark U42 X,
                            U42 ok X -> ok U42 X,
                    U41(mark X1, X2) -> mark U41(X1, X2),
                   U41(ok X1, ok X2) -> ok U41(X1, X2),
                          U51 mark X -> mark U51 X,
                            U51 ok X -> ok U51 X,
                          U62 mark X -> mark U62 X,
                            U62 ok X -> ok U62 X,
                    U61(mark X1, X2) -> mark U61(X1, X2),
                   U61(ok X1, ok X2) -> ok U61(X1, X2),
                    U72(mark X1, X2) -> mark U72(X1, X2),
                   U72(ok X1, ok X2) -> ok U72(X1, X2),
                    U71(mark X1, X2) -> mark U71(X1, X2),
                   U71(ok X1, ok X2) -> ok U71(X1, X2),
                U82(mark X1, X2, X3) -> mark U82(X1, X2, X3),
            U82(ok X1, ok X2, ok X3) -> ok U82(X1, X2, X3),
                U81(mark X1, X2, X3) -> mark U81(X1, X2, X3),
            U81(ok X1, ok X2, ok X3) -> ok U81(X1, X2, X3),
                U83(mark X1, X2, X3) -> mark U83(X1, X2, X3),
            U83(ok X1, ok X2, ok X3) -> ok U83(X1, X2, X3),
                U84(mark X1, X2, X3) -> mark U84(X1, X2, X3),
            U84(ok X1, ok X2, ok X3) -> ok U84(X1, X2, X3),
                            s mark X -> mark s X,
                              s ok X -> ok s X,
                          U92 mark X -> mark U92 X,
                            U92 ok X -> ok U92 X,
                    U91(mark X1, X2) -> mark U91(X1, X2),
                   U91(ok X1, ok X2) -> ok U91(X1, X2),
             proper U102(X1, X2, X3) -> U102(proper X1, proper X2, proper X3),
                  proper isNatKind X -> isNatKind proper X,
             proper U101(X1, X2, X3) -> U101(proper X1, proper X2, proper X3),
                         proper tt() -> ok tt(),
             proper U103(X1, X2, X3) -> U103(proper X1, proper X2, proper X3),
                      proper isNat X -> isNat proper X,
             proper U104(X1, X2, X3) -> U104(proper X1, proper X2, proper X3),
                 proper plus(X1, X2) -> plus(proper X1, proper X2),
                    proper x(X1, X2) -> x(proper X1, proper X2),
              proper U12(X1, X2, X3) -> U12(proper X1, proper X2, proper X3),
              proper U11(X1, X2, X3) -> U11(proper X1, proper X2, proper X3),
              proper U13(X1, X2, X3) -> U13(proper X1, proper X2, proper X3),
              proper U14(X1, X2, X3) -> U14(proper X1, proper X2, proper X3),
                  proper U15(X1, X2) -> U15(proper X1, proper X2),
                        proper U16 X -> U16 proper X,
                  proper U22(X1, X2) -> U22(proper X1, proper X2),
                  proper U21(X1, X2) -> U21(proper X1, proper X2),
                        proper U23 X -> U23 proper X,
              proper U32(X1, X2, X3) -> U32(proper X1, proper X2, proper X3),
              proper U31(X1, X2, X3) -> U31(proper X1, proper X2, proper X3),
              proper U33(X1, X2, X3) -> U33(proper X1, proper X2, proper X3),
              proper U34(X1, X2, X3) -> U34(proper X1, proper X2, proper X3),
                  proper U35(X1, X2) -> U35(proper X1, proper X2),
                        proper U36 X -> U36 proper X,
                        proper U42 X -> U42 proper X,
                  proper U41(X1, X2) -> U41(proper X1, proper X2),
                        proper U51 X -> U51 proper X,
                        proper U62 X -> U62 proper X,
                  proper U61(X1, X2) -> U61(proper X1, proper X2),
                  proper U72(X1, X2) -> U72(proper X1, proper X2),
                  proper U71(X1, X2) -> U71(proper X1, proper X2),
              proper U82(X1, X2, X3) -> U82(proper X1, proper X2, proper X3),
              proper U81(X1, X2, X3) -> U81(proper X1, proper X2, proper X3),
              proper U83(X1, X2, X3) -> U83(proper X1, proper X2, proper X3),
              proper U84(X1, X2, X3) -> U84(proper X1, proper X2, proper X3),
                          proper s X -> s proper X,
                        proper U92 X -> U92 proper X,
                  proper U91(X1, X2) -> U91(proper X1, proper X2),
                          proper 0() -> ok 0(),
                          top mark X -> top proper X,
                            top ok X -> top active X
      }
      Open
     
     
     SCC (2):
      Strict:
       {    U104#(mark X1, X2, X3) -> U104#(X1, X2, X3),
        U104#(ok X1, ok X2, ok X3) -> U104#(X1, X2, X3)}
      Weak:
      {
               U102(mark X1, X2, X3) -> mark U102(X1, X2, X3),
           U102(ok X1, ok X2, ok X3) -> ok U102(X1, X2, X3),
                      isNatKind ok X -> ok isNatKind X,
             active U102(X1, X2, X3) -> U102(active X1, X2, X3),
             active U102(tt(), M, N) -> mark U103(isNat N, M, N),
       active isNatKind plus(V1, V2) -> mark U41(isNatKind V1, V2),
          active isNatKind x(V1, V2) -> mark U61(isNatKind V1, V2),
               active isNatKind s V1 -> mark U51 isNatKind V1,
                active isNatKind 0() -> mark tt(),
             active U101(X1, X2, X3) -> U101(active X1, X2, X3),
             active U101(tt(), M, N) -> mark U102(isNatKind M, M, N),
             active U103(X1, X2, X3) -> U103(active X1, X2, X3),
             active U103(tt(), M, N) -> mark U104(isNatKind N, M, N),
           active isNat plus(V1, V2) -> mark U11(isNatKind V1, V1, V2),
              active isNat x(V1, V2) -> mark U31(isNatKind V1, V1, V2),
                   active isNat s V1 -> mark U21(isNatKind V1, V1),
                    active isNat 0() -> mark tt(),
             active U104(X1, X2, X3) -> U104(active X1, X2, X3),
             active U104(tt(), M, N) -> mark plus(x(N, M), N),
                 active plus(N, s M) -> mark U81(isNat M, M, N),
                 active plus(N, 0()) -> mark U71(isNat N, N),
                 active plus(X1, X2) -> plus(X1, active X2),
                 active plus(X1, X2) -> plus(active X1, X2),
                    active x(N, s M) -> mark U101(isNat M, M, N),
                    active x(N, 0()) -> mark U91(isNat N, N),
                    active x(X1, X2) -> x(X1, active X2),
                    active x(X1, X2) -> x(active X1, X2),
              active U12(X1, X2, X3) -> U12(active X1, X2, X3),
            active U12(tt(), V1, V2) -> mark U13(isNatKind V2, V1, V2),
              active U11(X1, X2, X3) -> U11(active X1, X2, X3),
            active U11(tt(), V1, V2) -> mark U12(isNatKind V1, V1, V2),
              active U13(X1, X2, X3) -> U13(active X1, X2, X3),
            active U13(tt(), V1, V2) -> mark U14(isNatKind V2, V1, V2),
              active U14(X1, X2, X3) -> U14(active X1, X2, X3),
            active U14(tt(), V1, V2) -> mark U15(isNat V1, V2),
                  active U15(X1, X2) -> U15(active X1, X2),
                active U15(tt(), V2) -> mark U16 isNat V2,
                        active U16 X -> U16 active X,
                     active U16 tt() -> mark tt(),
                  active U22(X1, X2) -> U22(active X1, X2),
                active U22(tt(), V1) -> mark U23 isNat V1,
                  active U21(X1, X2) -> U21(active X1, X2),
                active U21(tt(), V1) -> mark U22(isNatKind V1, V1),
                        active U23 X -> U23 active X,
                     active U23 tt() -> mark tt(),
              active U32(X1, X2, X3) -> U32(active X1, X2, X3),
            active U32(tt(), V1, V2) -> mark U33(isNatKind V2, V1, V2),
              active U31(X1, X2, X3) -> U31(active X1, X2, X3),
            active U31(tt(), V1, V2) -> mark U32(isNatKind V1, V1, V2),
              active U33(X1, X2, X3) -> U33(active X1, X2, X3),
            active U33(tt(), V1, V2) -> mark U34(isNatKind V2, V1, V2),
              active U34(X1, X2, X3) -> U34(active X1, X2, X3),
            active U34(tt(), V1, V2) -> mark U35(isNat V1, V2),
                  active U35(X1, X2) -> U35(active X1, X2),
                active U35(tt(), V2) -> mark U36 isNat V2,
                        active U36 X -> U36 active X,
                     active U36 tt() -> mark tt(),
                        active U42 X -> U42 active X,
                     active U42 tt() -> mark tt(),
                  active U41(X1, X2) -> U41(active X1, X2),
                active U41(tt(), V2) -> mark U42 isNatKind V2,
                        active U51 X -> U51 active X,
                     active U51 tt() -> mark tt(),
                        active U62 X -> U62 active X,
                     active U62 tt() -> mark tt(),
                  active U61(X1, X2) -> U61(active X1, X2),
                active U61(tt(), V2) -> mark U62 isNatKind V2,
                  active U72(X1, X2) -> U72(active X1, X2),
                 active U72(tt(), N) -> mark N,
                  active U71(X1, X2) -> U71(active X1, X2),
                 active U71(tt(), N) -> mark U72(isNatKind N, N),
              active U82(X1, X2, X3) -> U82(active X1, X2, X3),
              active U82(tt(), M, N) -> mark U83(isNat N, M, N),
              active U81(X1, X2, X3) -> U81(active X1, X2, X3),
              active U81(tt(), M, N) -> mark U82(isNatKind M, M, N),
              active U83(X1, X2, X3) -> U83(active X1, X2, X3),
              active U83(tt(), M, N) -> mark U84(isNatKind N, M, N),
              active U84(X1, X2, X3) -> U84(active X1, X2, X3),
              active U84(tt(), M, N) -> mark s plus(N, M),
                          active s X -> s active X,
                        active U92 X -> U92 active X,
                     active U92 tt() -> mark 0(),
                  active U91(X1, X2) -> U91(active X1, X2),
                 active U91(tt(), N) -> mark U92 isNatKind N,
               U101(mark X1, X2, X3) -> mark U101(X1, X2, X3),
           U101(ok X1, ok X2, ok X3) -> ok U101(X1, X2, X3),
               U103(mark X1, X2, X3) -> mark U103(X1, X2, X3),
           U103(ok X1, ok X2, ok X3) -> ok U103(X1, X2, X3),
                          isNat ok X -> ok isNat X,
               U104(mark X1, X2, X3) -> mark U104(X1, X2, X3),
           U104(ok X1, ok X2, ok X3) -> ok U104(X1, X2, X3),
                   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),
                      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),
                U12(mark X1, X2, X3) -> mark U12(X1, X2, X3),
            U12(ok X1, ok X2, ok X3) -> ok U12(X1, X2, X3),
                U11(mark X1, X2, X3) -> mark U11(X1, X2, X3),
            U11(ok X1, ok X2, ok X3) -> ok U11(X1, X2, X3),
                U13(mark X1, X2, X3) -> mark U13(X1, X2, X3),
            U13(ok X1, ok X2, ok X3) -> ok U13(X1, X2, X3),
                U14(mark X1, X2, X3) -> mark U14(X1, X2, X3),
            U14(ok X1, ok X2, ok X3) -> ok U14(X1, X2, X3),
                    U15(mark X1, X2) -> mark U15(X1, X2),
                   U15(ok X1, ok X2) -> ok U15(X1, X2),
                          U16 mark X -> mark U16 X,
                            U16 ok X -> ok U16 X,
                    U22(mark X1, X2) -> mark U22(X1, X2),
                   U22(ok X1, ok X2) -> ok U22(X1, X2),
                    U21(mark X1, X2) -> mark U21(X1, X2),
                   U21(ok X1, ok X2) -> ok U21(X1, X2),
                          U23 mark X -> mark U23 X,
                            U23 ok X -> ok U23 X,
                U32(mark X1, X2, X3) -> mark U32(X1, X2, X3),
            U32(ok X1, ok X2, ok X3) -> ok U32(X1, X2, X3),
                U31(mark X1, X2, X3) -> mark U31(X1, X2, X3),
            U31(ok X1, ok X2, ok X3) -> ok U31(X1, X2, X3),
                U33(mark X1, X2, X3) -> mark U33(X1, X2, X3),
            U33(ok X1, ok X2, ok X3) -> ok U33(X1, X2, X3),
                U34(mark X1, X2, X3) -> mark U34(X1, X2, X3),
            U34(ok X1, ok X2, ok X3) -> ok U34(X1, X2, X3),
                    U35(mark X1, X2) -> mark U35(X1, X2),
                   U35(ok X1, ok X2) -> ok U35(X1, X2),
                          U36 mark X -> mark U36 X,
                            U36 ok X -> ok U36 X,
                          U42 mark X -> mark U42 X,
                            U42 ok X -> ok U42 X,
                    U41(mark X1, X2) -> mark U41(X1, X2),
                   U41(ok X1, ok X2) -> ok U41(X1, X2),
                          U51 mark X -> mark U51 X,
                            U51 ok X -> ok U51 X,
                          U62 mark X -> mark U62 X,
                            U62 ok X -> ok U62 X,
                    U61(mark X1, X2) -> mark U61(X1, X2),
                   U61(ok X1, ok X2) -> ok U61(X1, X2),
                    U72(mark X1, X2) -> mark U72(X1, X2),
                   U72(ok X1, ok X2) -> ok U72(X1, X2),
                    U71(mark X1, X2) -> mark U71(X1, X2),
                   U71(ok X1, ok X2) -> ok U71(X1, X2),
                U82(mark X1, X2, X3) -> mark U82(X1, X2, X3),
            U82(ok X1, ok X2, ok X3) -> ok U82(X1, X2, X3),
                U81(mark X1, X2, X3) -> mark U81(X1, X2, X3),
            U81(ok X1, ok X2, ok X3) -> ok U81(X1, X2, X3),
                U83(mark X1, X2, X3) -> mark U83(X1, X2, X3),
            U83(ok X1, ok X2, ok X3) -> ok U83(X1, X2, X3),
                U84(mark X1, X2, X3) -> mark U84(X1, X2, X3),
            U84(ok X1, ok X2, ok X3) -> ok U84(X1, X2, X3),
                            s mark X -> mark s X,
                              s ok X -> ok s X,
                          U92 mark X -> mark U92 X,
                            U92 ok X -> ok U92 X,
                    U91(mark X1, X2) -> mark U91(X1, X2),
                   U91(ok X1, ok X2) -> ok U91(X1, X2),
             proper U102(X1, X2, X3) -> U102(proper X1, proper X2, proper X3),
                  proper isNatKind X -> isNatKind proper X,
             proper U101(X1, X2, X3) -> U101(proper X1, proper X2, proper X3),
                         proper tt() -> ok tt(),
             proper U103(X1, X2, X3) -> U103(proper X1, proper X2, proper X3),
                      proper isNat X -> isNat proper X,
             proper U104(X1, X2, X3) -> U104(proper X1, proper X2, proper X3),
                 proper plus(X1, X2) -> plus(proper X1, proper X2),
                    proper x(X1, X2) -> x(proper X1, proper X2),
              proper U12(X1, X2, X3) -> U12(proper X1, proper X2, proper X3),
              proper U11(X1, X2, X3) -> U11(proper X1, proper X2, proper X3),
              proper U13(X1, X2, X3) -> U13(proper X1, proper X2, proper X3),
              proper U14(X1, X2, X3) -> U14(proper X1, proper X2, proper X3),
                  proper U15(X1, X2) -> U15(proper X1, proper X2),
                        proper U16 X -> U16 proper X,
                  proper U22(X1, X2) -> U22(proper X1, proper X2),
                  proper U21(X1, X2) -> U21(proper X1, proper X2),
                        proper U23 X -> U23 proper X,
              proper U32(X1, X2, X3) -> U32(proper X1, proper X2, proper X3),
              proper U31(X1, X2, X3) -> U31(proper X1, proper X2, proper X3),
              proper U33(X1, X2, X3) -> U33(proper X1, proper X2, proper X3),
              proper U34(X1, X2, X3) -> U34(proper X1, proper X2, proper X3),
                  proper U35(X1, X2) -> U35(proper X1, proper X2),
                        proper U36 X -> U36 proper X,
                        proper U42 X -> U42 proper X,
                  proper U41(X1, X2) -> U41(proper X1, proper X2),
                        proper U51 X -> U51 proper X,
                        proper U62 X -> U62 proper X,
                  proper U61(X1, X2) -> U61(proper X1, proper X2),
                  proper U72(X1, X2) -> U72(proper X1, proper X2),
                  proper U71(X1, X2) -> U71(proper X1, proper X2),
              proper U82(X1, X2, X3) -> U82(proper X1, proper X2, proper X3),
              proper U81(X1, X2, X3) -> U81(proper X1, proper X2, proper X3),
              proper U83(X1, X2, X3) -> U83(proper X1, proper X2, proper X3),
              proper U84(X1, X2, X3) -> U84(proper X1, proper X2, proper X3),
                          proper s X -> s proper X,
                        proper U92 X -> U92 proper X,
                  proper U91(X1, X2) -> U91(proper X1, proper X2),
                          proper 0() -> ok 0(),
                          top mark X -> top proper X,
                            top ok X -> top active X
      }
      Open
     
     
     
     
     
     SCC (2):
      Strict:
       {    U101#(mark X1, X2, X3) -> U101#(X1, X2, X3),
        U101#(ok X1, ok X2, ok X3) -> U101#(X1, X2, X3)}
      Weak:
      {
               U102(mark X1, X2, X3) -> mark U102(X1, X2, X3),
           U102(ok X1, ok X2, ok X3) -> ok U102(X1, X2, X3),
                      isNatKind ok X -> ok isNatKind X,
             active U102(X1, X2, X3) -> U102(active X1, X2, X3),
             active U102(tt(), M, N) -> mark U103(isNat N, M, N),
       active isNatKind plus(V1, V2) -> mark U41(isNatKind V1, V2),
          active isNatKind x(V1, V2) -> mark U61(isNatKind V1, V2),
               active isNatKind s V1 -> mark U51 isNatKind V1,
                active isNatKind 0() -> mark tt(),
             active U101(X1, X2, X3) -> U101(active X1, X2, X3),
             active U101(tt(), M, N) -> mark U102(isNatKind M, M, N),
             active U103(X1, X2, X3) -> U103(active X1, X2, X3),
             active U103(tt(), M, N) -> mark U104(isNatKind N, M, N),
           active isNat plus(V1, V2) -> mark U11(isNatKind V1, V1, V2),
              active isNat x(V1, V2) -> mark U31(isNatKind V1, V1, V2),
                   active isNat s V1 -> mark U21(isNatKind V1, V1),
                    active isNat 0() -> mark tt(),
             active U104(X1, X2, X3) -> U104(active X1, X2, X3),
             active U104(tt(), M, N) -> mark plus(x(N, M), N),
                 active plus(N, s M) -> mark U81(isNat M, M, N),
                 active plus(N, 0()) -> mark U71(isNat N, N),
                 active plus(X1, X2) -> plus(X1, active X2),
                 active plus(X1, X2) -> plus(active X1, X2),
                    active x(N, s M) -> mark U101(isNat M, M, N),
                    active x(N, 0()) -> mark U91(isNat N, N),
                    active x(X1, X2) -> x(X1, active X2),
                    active x(X1, X2) -> x(active X1, X2),
              active U12(X1, X2, X3) -> U12(active X1, X2, X3),
            active U12(tt(), V1, V2) -> mark U13(isNatKind V2, V1, V2),
              active U11(X1, X2, X3) -> U11(active X1, X2, X3),
            active U11(tt(), V1, V2) -> mark U12(isNatKind V1, V1, V2),
              active U13(X1, X2, X3) -> U13(active X1, X2, X3),
            active U13(tt(), V1, V2) -> mark U14(isNatKind V2, V1, V2),
              active U14(X1, X2, X3) -> U14(active X1, X2, X3),
            active U14(tt(), V1, V2) -> mark U15(isNat V1, V2),
                  active U15(X1, X2) -> U15(active X1, X2),
                active U15(tt(), V2) -> mark U16 isNat V2,
                        active U16 X -> U16 active X,
                     active U16 tt() -> mark tt(),
                  active U22(X1, X2) -> U22(active X1, X2),
                active U22(tt(), V1) -> mark U23 isNat V1,
                  active U21(X1, X2) -> U21(active X1, X2),
                active U21(tt(), V1) -> mark U22(isNatKind V1, V1),
                        active U23 X -> U23 active X,
                     active U23 tt() -> mark tt(),
              active U32(X1, X2, X3) -> U32(active X1, X2, X3),
            active U32(tt(), V1, V2) -> mark U33(isNatKind V2, V1, V2),
              active U31(X1, X2, X3) -> U31(active X1, X2, X3),
            active U31(tt(), V1, V2) -> mark U32(isNatKind V1, V1, V2),
              active U33(X1, X2, X3) -> U33(active X1, X2, X3),
            active U33(tt(), V1, V2) -> mark U34(isNatKind V2, V1, V2),
              active U34(X1, X2, X3) -> U34(active X1, X2, X3),
            active U34(tt(), V1, V2) -> mark U35(isNat V1, V2),
                  active U35(X1, X2) -> U35(active X1, X2),
                active U35(tt(), V2) -> mark U36 isNat V2,
                        active U36 X -> U36 active X,
                     active U36 tt() -> mark tt(),
                        active U42 X -> U42 active X,
                     active U42 tt() -> mark tt(),
                  active U41(X1, X2) -> U41(active X1, X2),
                active U41(tt(), V2) -> mark U42 isNatKind V2,
                        active U51 X -> U51 active X,
                     active U51 tt() -> mark tt(),
                        active U62 X -> U62 active X,
                     active U62 tt() -> mark tt(),
                  active U61(X1, X2) -> U61(active X1, X2),
                active U61(tt(), V2) -> mark U62 isNatKind V2,
                  active U72(X1, X2) -> U72(active X1, X2),
                 active U72(tt(), N) -> mark N,
                  active U71(X1, X2) -> U71(active X1, X2),
                 active U71(tt(), N) -> mark U72(isNatKind N, N),
              active U82(X1, X2, X3) -> U82(active X1, X2, X3),
              active U82(tt(), M, N) -> mark U83(isNat N, M, N),
              active U81(X1, X2, X3) -> U81(active X1, X2, X3),
              active U81(tt(), M, N) -> mark U82(isNatKind M, M, N),
              active U83(X1, X2, X3) -> U83(active X1, X2, X3),
              active U83(tt(), M, N) -> mark U84(isNatKind N, M, N),
              active U84(X1, X2, X3) -> U84(active X1, X2, X3),
              active U84(tt(), M, N) -> mark s plus(N, M),
                          active s X -> s active X,
                        active U92 X -> U92 active X,
                     active U92 tt() -> mark 0(),
                  active U91(X1, X2) -> U91(active X1, X2),
                 active U91(tt(), N) -> mark U92 isNatKind N,
               U101(mark X1, X2, X3) -> mark U101(X1, X2, X3),
           U101(ok X1, ok X2, ok X3) -> ok U101(X1, X2, X3),
               U103(mark X1, X2, X3) -> mark U103(X1, X2, X3),
           U103(ok X1, ok X2, ok X3) -> ok U103(X1, X2, X3),
                          isNat ok X -> ok isNat X,
               U104(mark X1, X2, X3) -> mark U104(X1, X2, X3),
           U104(ok X1, ok X2, ok X3) -> ok U104(X1, X2, X3),
                   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),
                      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),
                U12(mark X1, X2, X3) -> mark U12(X1, X2, X3),
            U12(ok X1, ok X2, ok X3) -> ok U12(X1, X2, X3),
                U11(mark X1, X2, X3) -> mark U11(X1, X2, X3),
            U11(ok X1, ok X2, ok X3) -> ok U11(X1, X2, X3),
                U13(mark X1, X2, X3) -> mark U13(X1, X2, X3),
            U13(ok X1, ok X2, ok X3) -> ok U13(X1, X2, X3),
                U14(mark X1, X2, X3) -> mark U14(X1, X2, X3),
            U14(ok X1, ok X2, ok X3) -> ok U14(X1, X2, X3),
                    U15(mark X1, X2) -> mark U15(X1, X2),
                   U15(ok X1, ok X2) -> ok U15(X1, X2),
                          U16 mark X -> mark U16 X,
                            U16 ok X -> ok U16 X,
                    U22(mark X1, X2) -> mark U22(X1, X2),
                   U22(ok X1, ok X2) -> ok U22(X1, X2),
                    U21(mark X1, X2) -> mark U21(X1, X2),
                   U21(ok X1, ok X2) -> ok U21(X1, X2),
                          U23 mark X -> mark U23 X,
                            U23 ok X -> ok U23 X,
                U32(mark X1, X2, X3) -> mark U32(X1, X2, X3),
            U32(ok X1, ok X2, ok X3) -> ok U32(X1, X2, X3),
                U31(mark X1, X2, X3) -> mark U31(X1, X2, X3),
            U31(ok X1, ok X2, ok X3) -> ok U31(X1, X2, X3),
                U33(mark X1, X2, X3) -> mark U33(X1, X2, X3),
            U33(ok X1, ok X2, ok X3) -> ok U33(X1, X2, X3),
                U34(mark X1, X2, X3) -> mark U34(X1, X2, X3),
            U34(ok X1, ok X2, ok X3) -> ok U34(X1, X2, X3),
                    U35(mark X1, X2) -> mark U35(X1, X2),
                   U35(ok X1, ok X2) -> ok U35(X1, X2),
                          U36 mark X -> mark U36 X,
                            U36 ok X -> ok U36 X,
                          U42 mark X -> mark U42 X,
                            U42 ok X -> ok U42 X,
                    U41(mark X1, X2) -> mark U41(X1, X2),
                   U41(ok X1, ok X2) -> ok U41(X1, X2),
                          U51 mark X -> mark U51 X,
                            U51 ok X -> ok U51 X,
                          U62 mark X -> mark U62 X,
                            U62 ok X -> ok U62 X,
                    U61(mark X1, X2) -> mark U61(X1, X2),
                   U61(ok X1, ok X2) -> ok U61(X1, X2),
                    U72(mark X1, X2) -> mark U72(X1, X2),
                   U72(ok X1, ok X2) -> ok U72(X1, X2),
                    U71(mark X1, X2) -> mark U71(X1, X2),
                   U71(ok X1, ok X2) -> ok U71(X1, X2),
                U82(mark X1, X2, X3) -> mark U82(X1, X2, X3),
            U82(ok X1, ok X2, ok X3) -> ok U82(X1, X2, X3),
                U81(mark X1, X2, X3) -> mark U81(X1, X2, X3),
            U81(ok X1, ok X2, ok X3) -> ok U81(X1, X2, X3),
                U83(mark X1, X2, X3) -> mark U83(X1, X2, X3),
            U83(ok X1, ok X2, ok X3) -> ok U83(X1, X2, X3),
                U84(mark X1, X2, X3) -> mark U84(X1, X2, X3),
            U84(ok X1, ok X2, ok X3) -> ok U84(X1, X2, X3),
                            s mark X -> mark s X,
                              s ok X -> ok s X,
                          U92 mark X -> mark U92 X,
                            U92 ok X -> ok U92 X,
                    U91(mark X1, X2) -> mark U91(X1, X2),
                   U91(ok X1, ok X2) -> ok U91(X1, X2),
             proper U102(X1, X2, X3) -> U102(proper X1, proper X2, proper X3),
                  proper isNatKind X -> isNatKind proper X,
             proper U101(X1, X2, X3) -> U101(proper X1, proper X2, proper X3),
                         proper tt() -> ok tt(),
             proper U103(X1, X2, X3) -> U103(proper X1, proper X2, proper X3),
                      proper isNat X -> isNat proper X,
             proper U104(X1, X2, X3) -> U104(proper X1, proper X2, proper X3),
                 proper plus(X1, X2) -> plus(proper X1, proper X2),
                    proper x(X1, X2) -> x(proper X1, proper X2),
              proper U12(X1, X2, X3) -> U12(proper X1, proper X2, proper X3),
              proper U11(X1, X2, X3) -> U11(proper X1, proper X2, proper X3),
              proper U13(X1, X2, X3) -> U13(proper X1, proper X2, proper X3),
              proper U14(X1, X2, X3) -> U14(proper X1, proper X2, proper X3),
                  proper U15(X1, X2) -> U15(proper X1, proper X2),
                        proper U16 X -> U16 proper X,
                  proper U22(X1, X2) -> U22(proper X1, proper X2),
                  proper U21(X1, X2) -> U21(proper X1, proper X2),
                        proper U23 X -> U23 proper X,
              proper U32(X1, X2, X3) -> U32(proper X1, proper X2, proper X3),
              proper U31(X1, X2, X3) -> U31(proper X1, proper X2, proper X3),
              proper U33(X1, X2, X3) -> U33(proper X1, proper X2, proper X3),
              proper U34(X1, X2, X3) -> U34(proper X1, proper X2, proper X3),
                  proper U35(X1, X2) -> U35(proper X1, proper X2),
                        proper U36 X -> U36 proper X,
                        proper U42 X -> U42 proper X,
                  proper U41(X1, X2) -> U41(proper X1, proper X2),
                        proper U51 X -> U51 proper X,
                        proper U62 X -> U62 proper X,
                  proper U61(X1, X2) -> U61(proper X1, proper X2),
                  proper U72(X1, X2) -> U72(proper X1, proper X2),
                  proper U71(X1, X2) -> U71(proper X1, proper X2),
              proper U82(X1, X2, X3) -> U82(proper X1, proper X2, proper X3),
              proper U81(X1, X2, X3) -> U81(proper X1, proper X2, proper X3),
              proper U83(X1, X2, X3) -> U83(proper X1, proper X2, proper X3),
              proper U84(X1, X2, X3) -> U84(proper X1, proper X2, proper X3),
                          proper s X -> s proper X,
                        proper U92 X -> U92 proper X,
                  proper U91(X1, X2) -> U91(proper X1, proper X2),
                          proper 0() -> ok 0(),
                          top mark X -> top proper X,
                            top ok X -> top active X
      }
      Open
     
     SCC (2):
      Strict:
       {U51# mark X -> U51# X,
          U51# ok X -> U51# X}
      Weak:
      {
               U102(mark X1, X2, X3) -> mark U102(X1, X2, X3),
           U102(ok X1, ok X2, ok X3) -> ok U102(X1, X2, X3),
                      isNatKind ok X -> ok isNatKind X,
             active U102(X1, X2, X3) -> U102(active X1, X2, X3),
             active U102(tt(), M, N) -> mark U103(isNat N, M, N),
       active isNatKind plus(V1, V2) -> mark U41(isNatKind V1, V2),
          active isNatKind x(V1, V2) -> mark U61(isNatKind V1, V2),
               active isNatKind s V1 -> mark U51 isNatKind V1,
                active isNatKind 0() -> mark tt(),
             active U101(X1, X2, X3) -> U101(active X1, X2, X3),
             active U101(tt(), M, N) -> mark U102(isNatKind M, M, N),
             active U103(X1, X2, X3) -> U103(active X1, X2, X3),
             active U103(tt(), M, N) -> mark U104(isNatKind N, M, N),
           active isNat plus(V1, V2) -> mark U11(isNatKind V1, V1, V2),
              active isNat x(V1, V2) -> mark U31(isNatKind V1, V1, V2),
                   active isNat s V1 -> mark U21(isNatKind V1, V1),
                    active isNat 0() -> mark tt(),
             active U104(X1, X2, X3) -> U104(active X1, X2, X3),
             active U104(tt(), M, N) -> mark plus(x(N, M), N),
                 active plus(N, s M) -> mark U81(isNat M, M, N),
                 active plus(N, 0()) -> mark U71(isNat N, N),
                 active plus(X1, X2) -> plus(X1, active X2),
                 active plus(X1, X2) -> plus(active X1, X2),
                    active x(N, s M) -> mark U101(isNat M, M, N),
                    active x(N, 0()) -> mark U91(isNat N, N),
                    active x(X1, X2) -> x(X1, active X2),
                    active x(X1, X2) -> x(active X1, X2),
              active U12(X1, X2, X3) -> U12(active X1, X2, X3),
            active U12(tt(), V1, V2) -> mark U13(isNatKind V2, V1, V2),
              active U11(X1, X2, X3) -> U11(active X1, X2, X3),
            active U11(tt(), V1, V2) -> mark U12(isNatKind V1, V1, V2),
              active U13(X1, X2, X3) -> U13(active X1, X2, X3),
            active U13(tt(), V1, V2) -> mark U14(isNatKind V2, V1, V2),
              active U14(X1, X2, X3) -> U14(active X1, X2, X3),
            active U14(tt(), V1, V2) -> mark U15(isNat V1, V2),
                  active U15(X1, X2) -> U15(active X1, X2),
                active U15(tt(), V2) -> mark U16 isNat V2,
                        active U16 X -> U16 active X,
                     active U16 tt() -> mark tt(),
                  active U22(X1, X2) -> U22(active X1, X2),
                active U22(tt(), V1) -> mark U23 isNat V1,
                  active U21(X1, X2) -> U21(active X1, X2),
                active U21(tt(), V1) -> mark U22(isNatKind V1, V1),
                        active U23 X -> U23 active X,
                     active U23 tt() -> mark tt(),
              active U32(X1, X2, X3) -> U32(active X1, X2, X3),
            active U32(tt(), V1, V2) -> mark U33(isNatKind V2, V1, V2),
              active U31(X1, X2, X3) -> U31(active X1, X2, X3),
            active U31(tt(), V1, V2) -> mark U32(isNatKind V1, V1, V2),
              active U33(X1, X2, X3) -> U33(active X1, X2, X3),
            active U33(tt(), V1, V2) -> mark U34(isNatKind V2, V1, V2),
              active U34(X1, X2, X3) -> U34(active X1, X2, X3),
            active U34(tt(), V1, V2) -> mark U35(isNat V1, V2),
                  active U35(X1, X2) -> U35(active X1, X2),
                active U35(tt(), V2) -> mark U36 isNat V2,
                        active U36 X -> U36 active X,
                     active U36 tt() -> mark tt(),
                        active U42 X -> U42 active X,
                     active U42 tt() -> mark tt(),
                  active U41(X1, X2) -> U41(active X1, X2),
                active U41(tt(), V2) -> mark U42 isNatKind V2,
                        active U51 X -> U51 active X,
                     active U51 tt() -> mark tt(),
                        active U62 X -> U62 active X,
                     active U62 tt() -> mark tt(),
                  active U61(X1, X2) -> U61(active X1, X2),
                active U61(tt(), V2) -> mark U62 isNatKind V2,
                  active U72(X1, X2) -> U72(active X1, X2),
                 active U72(tt(), N) -> mark N,
                  active U71(X1, X2) -> U71(active X1, X2),
                 active U71(tt(), N) -> mark U72(isNatKind N, N),
              active U82(X1, X2, X3) -> U82(active X1, X2, X3),
              active U82(tt(), M, N) -> mark U83(isNat N, M, N),
              active U81(X1, X2, X3) -> U81(active X1, X2, X3),
              active U81(tt(), M, N) -> mark U82(isNatKind M, M, N),
              active U83(X1, X2, X3) -> U83(active X1, X2, X3),
              active U83(tt(), M, N) -> mark U84(isNatKind N, M, N),
              active U84(X1, X2, X3) -> U84(active X1, X2, X3),
              active U84(tt(), M, N) -> mark s plus(N, M),
                          active s X -> s active X,
                        active U92 X -> U92 active X,
                     active U92 tt() -> mark 0(),
                  active U91(X1, X2) -> U91(active X1, X2),
                 active U91(tt(), N) -> mark U92 isNatKind N,
               U101(mark X1, X2, X3) -> mark U101(X1, X2, X3),
           U101(ok X1, ok X2, ok X3) -> ok U101(X1, X2, X3),
               U103(mark X1, X2, X3) -> mark U103(X1, X2, X3),
           U103(ok X1, ok X2, ok X3) -> ok U103(X1, X2, X3),
                          isNat ok X -> ok isNat X,
               U104(mark X1, X2, X3) -> mark U104(X1, X2, X3),
           U104(ok X1, ok X2, ok X3) -> ok U104(X1, X2, X3),
                   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),
                      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),
                U12(mark X1, X2, X3) -> mark U12(X1, X2, X3),
            U12(ok X1, ok X2, ok X3) -> ok U12(X1, X2, X3),
                U11(mark X1, X2, X3) -> mark U11(X1, X2, X3),
            U11(ok X1, ok X2, ok X3) -> ok U11(X1, X2, X3),
                U13(mark X1, X2, X3) -> mark U13(X1, X2, X3),
            U13(ok X1, ok X2, ok X3) -> ok U13(X1, X2, X3),
                U14(mark X1, X2, X3) -> mark U14(X1, X2, X3),
            U14(ok X1, ok X2, ok X3) -> ok U14(X1, X2, X3),
                    U15(mark X1, X2) -> mark U15(X1, X2),
                   U15(ok X1, ok X2) -> ok U15(X1, X2),
                          U16 mark X -> mark U16 X,
                            U16 ok X -> ok U16 X,
                    U22(mark X1, X2) -> mark U22(X1, X2),
                   U22(ok X1, ok X2) -> ok U22(X1, X2),
                    U21(mark X1, X2) -> mark U21(X1, X2),
                   U21(ok X1, ok X2) -> ok U21(X1, X2),
                          U23 mark X -> mark U23 X,
                            U23 ok X -> ok U23 X,
                U32(mark X1, X2, X3) -> mark U32(X1, X2, X3),
            U32(ok X1, ok X2, ok X3) -> ok U32(X1, X2, X3),
                U31(mark X1, X2, X3) -> mark U31(X1, X2, X3),
            U31(ok X1, ok X2, ok X3) -> ok U31(X1, X2, X3),
                U33(mark X1, X2, X3) -> mark U33(X1, X2, X3),
            U33(ok X1, ok X2, ok X3) -> ok U33(X1, X2, X3),
                U34(mark X1, X2, X3) -> mark U34(X1, X2, X3),
            U34(ok X1, ok X2, ok X3) -> ok U34(X1, X2, X3),
                    U35(mark X1, X2) -> mark U35(X1, X2),
                   U35(ok X1, ok X2) -> ok U35(X1, X2),
                          U36 mark X -> mark U36 X,
                            U36 ok X -> ok U36 X,
                          U42 mark X -> mark U42 X,
                            U42 ok X -> ok U42 X,
                    U41(mark X1, X2) -> mark U41(X1, X2),
                   U41(ok X1, ok X2) -> ok U41(X1, X2),
                          U51 mark X -> mark U51 X,
                            U51 ok X -> ok U51 X,
                          U62 mark X -> mark U62 X,
                            U62 ok X -> ok U62 X,
                    U61(mark X1, X2) -> mark U61(X1, X2),
                   U61(ok X1, ok X2) -> ok U61(X1, X2),
                    U72(mark X1, X2) -> mark U72(X1, X2),
                   U72(ok X1, ok X2) -> ok U72(X1, X2),
                    U71(mark X1, X2) -> mark U71(X1, X2),
                   U71(ok X1, ok X2) -> ok U71(X1, X2),
                U82(mark X1, X2, X3) -> mark U82(X1, X2, X3),
            U82(ok X1, ok X2, ok X3) -> ok U82(X1, X2, X3),
                U81(mark X1, X2, X3) -> mark U81(X1, X2, X3),
            U81(ok X1, ok X2, ok X3) -> ok U81(X1, X2, X3),
                U83(mark X1, X2, X3) -> mark U83(X1, X2, X3),
            U83(ok X1, ok X2, ok X3) -> ok U83(X1, X2, X3),
                U84(mark X1, X2, X3) -> mark U84(X1, X2, X3),
            U84(ok X1, ok X2, ok X3) -> ok U84(X1, X2, X3),
                            s mark X -> mark s X,
                              s ok X -> ok s X,
                          U92 mark X -> mark U92 X,
                            U92 ok X -> ok U92 X,
                    U91(mark X1, X2) -> mark U91(X1, X2),
                   U91(ok X1, ok X2) -> ok U91(X1, X2),
             proper U102(X1, X2, X3) -> U102(proper X1, proper X2, proper X3),
                  proper isNatKind X -> isNatKind proper X,
             proper U101(X1, X2, X3) -> U101(proper X1, proper X2, proper X3),
                         proper tt() -> ok tt(),
             proper U103(X1, X2, X3) -> U103(proper X1, proper X2, proper X3),
                      proper isNat X -> isNat proper X,
             proper U104(X1, X2, X3) -> U104(proper X1, proper X2, proper X3),
                 proper plus(X1, X2) -> plus(proper X1, proper X2),
                    proper x(X1, X2) -> x(proper X1, proper X2),
              proper U12(X1, X2, X3) -> U12(proper X1, proper X2, proper X3),
              proper U11(X1, X2, X3) -> U11(proper X1, proper X2, proper X3),
              proper U13(X1, X2, X3) -> U13(proper X1, proper X2, proper X3),
              proper U14(X1, X2, X3) -> U14(proper X1, proper X2, proper X3),
                  proper U15(X1, X2) -> U15(proper X1, proper X2),
                        proper U16 X -> U16 proper X,
                  proper U22(X1, X2) -> U22(proper X1, proper X2),
                  proper U21(X1, X2) -> U21(proper X1, proper X2),
                        proper U23 X -> U23 proper X,
              proper U32(X1, X2, X3) -> U32(proper X1, proper X2, proper X3),
              proper U31(X1, X2, X3) -> U31(proper X1, proper X2, proper X3),
              proper U33(X1, X2, X3) -> U33(proper X1, proper X2, proper X3),
              proper U34(X1, X2, X3) -> U34(proper X1, proper X2, proper X3),
                  proper U35(X1, X2) -> U35(proper X1, proper X2),
                        proper U36 X -> U36 proper X,
                        proper U42 X -> U42 proper X,
                  proper U41(X1, X2) -> U41(proper X1, proper X2),
                        proper U51 X -> U51 proper X,
                        proper U62 X -> U62 proper X,
                  proper U61(X1, X2) -> U61(proper X1, proper X2),
                  proper U72(X1, X2) -> U72(proper X1, proper X2),
                  proper U71(X1, X2) -> U71(proper X1, proper X2),
              proper U82(X1, X2, X3) -> U82(proper X1, proper X2, proper X3),
              proper U81(X1, X2, X3) -> U81(proper X1, proper X2, proper X3),
              proper U83(X1, X2, X3) -> U83(proper X1, proper X2, proper X3),
              proper U84(X1, X2, X3) -> U84(proper X1, proper X2, proper X3),
                          proper s X -> s proper X,
                        proper U92 X -> U92 proper X,
                  proper U91(X1, X2) -> U91(proper X1, proper X2),
                          proper 0() -> ok 0(),
                          top mark X -> top proper X,
                            top ok X -> top active X
      }
      Open
     
     
     SCC (2):
      Strict:
       { U61#(mark X1, X2) -> U61#(X1, X2),
        U61#(ok X1, ok X2) -> U61#(X1, X2)}
      Weak:
      {
               U102(mark X1, X2, X3) -> mark U102(X1, X2, X3),
           U102(ok X1, ok X2, ok X3) -> ok U102(X1, X2, X3),
                      isNatKind ok X -> ok isNatKind X,
             active U102(X1, X2, X3) -> U102(active X1, X2, X3),
             active U102(tt(), M, N) -> mark U103(isNat N, M, N),
       active isNatKind plus(V1, V2) -> mark U41(isNatKind V1, V2),
          active isNatKind x(V1, V2) -> mark U61(isNatKind V1, V2),
               active isNatKind s V1 -> mark U51 isNatKind V1,
                active isNatKind 0() -> mark tt(),
             active U101(X1, X2, X3) -> U101(active X1, X2, X3),
             active U101(tt(), M, N) -> mark U102(isNatKind M, M, N),
             active U103(X1, X2, X3) -> U103(active X1, X2, X3),
             active U103(tt(), M, N) -> mark U104(isNatKind N, M, N),
           active isNat plus(V1, V2) -> mark U11(isNatKind V1, V1, V2),
              active isNat x(V1, V2) -> mark U31(isNatKind V1, V1, V2),
                   active isNat s V1 -> mark U21(isNatKind V1, V1),
                    active isNat 0() -> mark tt(),
             active U104(X1, X2, X3) -> U104(active X1, X2, X3),
             active U104(tt(), M, N) -> mark plus(x(N, M), N),
                 active plus(N, s M) -> mark U81(isNat M, M, N),
                 active plus(N, 0()) -> mark U71(isNat N, N),
                 active plus(X1, X2) -> plus(X1, active X2),
                 active plus(X1, X2) -> plus(active X1, X2),
                    active x(N, s M) -> mark U101(isNat M, M, N),
                    active x(N, 0()) -> mark U91(isNat N, N),
                    active x(X1, X2) -> x(X1, active X2),
                    active x(X1, X2) -> x(active X1, X2),
              active U12(X1, X2, X3) -> U12(active X1, X2, X3),
            active U12(tt(), V1, V2) -> mark U13(isNatKind V2, V1, V2),
              active U11(X1, X2, X3) -> U11(active X1, X2, X3),
            active U11(tt(), V1, V2) -> mark U12(isNatKind V1, V1, V2),
              active U13(X1, X2, X3) -> U13(active X1, X2, X3),
            active U13(tt(), V1, V2) -> mark U14(isNatKind V2, V1, V2),
              active U14(X1, X2, X3) -> U14(active X1, X2, X3),
            active U14(tt(), V1, V2) -> mark U15(isNat V1, V2),
                  active U15(X1, X2) -> U15(active X1, X2),
                active U15(tt(), V2) -> mark U16 isNat V2,
                        active U16 X -> U16 active X,
                     active U16 tt() -> mark tt(),
                  active U22(X1, X2) -> U22(active X1, X2),
                active U22(tt(), V1) -> mark U23 isNat V1,
                  active U21(X1, X2) -> U21(active X1, X2),
                active U21(tt(), V1) -> mark U22(isNatKind V1, V1),
                        active U23 X -> U23 active X,
                     active U23 tt() -> mark tt(),
              active U32(X1, X2, X3) -> U32(active X1, X2, X3),
            active U32(tt(), V1, V2) -> mark U33(isNatKind V2, V1, V2),
              active U31(X1, X2, X3) -> U31(active X1, X2, X3),
            active U31(tt(), V1, V2) -> mark U32(isNatKind V1, V1, V2),
              active U33(X1, X2, X3) -> U33(active X1, X2, X3),
            active U33(tt(), V1, V2) -> mark U34(isNatKind V2, V1, V2),
              active U34(X1, X2, X3) -> U34(active X1, X2, X3),
            active U34(tt(), V1, V2) -> mark U35(isNat V1, V2),
                  active U35(X1, X2) -> U35(active X1, X2),
                active U35(tt(), V2) -> mark U36 isNat V2,
                        active U36 X -> U36 active X,
                     active U36 tt() -> mark tt(),
                        active U42 X -> U42 active X,
                     active U42 tt() -> mark tt(),
                  active U41(X1, X2) -> U41(active X1, X2),
                active U41(tt(), V2) -> mark U42 isNatKind V2,
                        active U51 X -> U51 active X,
                     active U51 tt() -> mark tt(),
                        active U62 X -> U62 active X,
                     active U62 tt() -> mark tt(),
                  active U61(X1, X2) -> U61(active X1, X2),
                active U61(tt(), V2) -> mark U62 isNatKind V2,
                  active U72(X1, X2) -> U72(active X1, X2),
                 active U72(tt(), N) -> mark N,
                  active U71(X1, X2) -> U71(active X1, X2),
                 active U71(tt(), N) -> mark U72(isNatKind N, N),
              active U82(X1, X2, X3) -> U82(active X1, X2, X3),
              active U82(tt(), M, N) -> mark U83(isNat N, M, N),
              active U81(X1, X2, X3) -> U81(active X1, X2, X3),
              active U81(tt(), M, N) -> mark U82(isNatKind M, M, N),
              active U83(X1, X2, X3) -> U83(active X1, X2, X3),
              active U83(tt(), M, N) -> mark U84(isNatKind N, M, N),
              active U84(X1, X2, X3) -> U84(active X1, X2, X3),
              active U84(tt(), M, N) -> mark s plus(N, M),
                          active s X -> s active X,
                        active U92 X -> U92 active X,
                     active U92 tt() -> mark 0(),
                  active U91(X1, X2) -> U91(active X1, X2),
                 active U91(tt(), N) -> mark U92 isNatKind N,
               U101(mark X1, X2, X3) -> mark U101(X1, X2, X3),
           U101(ok X1, ok X2, ok X3) -> ok U101(X1, X2, X3),
               U103(mark X1, X2, X3) -> mark U103(X1, X2, X3),
           U103(ok X1, ok X2, ok X3) -> ok U103(X1, X2, X3),
                          isNat ok X -> ok isNat X,
               U104(mark X1, X2, X3) -> mark U104(X1, X2, X3),
           U104(ok X1, ok X2, ok X3) -> ok U104(X1, X2, X3),
                   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),
                      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),
                U12(mark X1, X2, X3) -> mark U12(X1, X2, X3),
            U12(ok X1, ok X2, ok X3) -> ok U12(X1, X2, X3),
                U11(mark X1, X2, X3) -> mark U11(X1, X2, X3),
            U11(ok X1, ok X2, ok X3) -> ok U11(X1, X2, X3),
                U13(mark X1, X2, X3) -> mark U13(X1, X2, X3),
            U13(ok X1, ok X2, ok X3) -> ok U13(X1, X2, X3),
                U14(mark X1, X2, X3) -> mark U14(X1, X2, X3),
            U14(ok X1, ok X2, ok X3) -> ok U14(X1, X2, X3),
                    U15(mark X1, X2) -> mark U15(X1, X2),
                   U15(ok X1, ok X2) -> ok U15(X1, X2),
                          U16 mark X -> mark U16 X,
                            U16 ok X -> ok U16 X,
                    U22(mark X1, X2) -> mark U22(X1, X2),
                   U22(ok X1, ok X2) -> ok U22(X1, X2),
                    U21(mark X1, X2) -> mark U21(X1, X2),
                   U21(ok X1, ok X2) -> ok U21(X1, X2),
                          U23 mark X -> mark U23 X,
                            U23 ok X -> ok U23 X,
                U32(mark X1, X2, X3) -> mark U32(X1, X2, X3),
            U32(ok X1, ok X2, ok X3) -> ok U32(X1, X2, X3),
                U31(mark X1, X2, X3) -> mark U31(X1, X2, X3),
            U31(ok X1, ok X2, ok X3) -> ok U31(X1, X2, X3),
                U33(mark X1, X2, X3) -> mark U33(X1, X2, X3),
            U33(ok X1, ok X2, ok X3) -> ok U33(X1, X2, X3),
                U34(mark X1, X2, X3) -> mark U34(X1, X2, X3),
            U34(ok X1, ok X2, ok X3) -> ok U34(X1, X2, X3),
                    U35(mark X1, X2) -> mark U35(X1, X2),
                   U35(ok X1, ok X2) -> ok U35(X1, X2),
                          U36 mark X -> mark U36 X,
                            U36 ok X -> ok U36 X,
                          U42 mark X -> mark U42 X,
                            U42 ok X -> ok U42 X,
                    U41(mark X1, X2) -> mark U41(X1, X2),
                   U41(ok X1, ok X2) -> ok U41(X1, X2),
                          U51 mark X -> mark U51 X,
                            U51 ok X -> ok U51 X,
                          U62 mark X -> mark U62 X,
                            U62 ok X -> ok U62 X,
                    U61(mark X1, X2) -> mark U61(X1, X2),
                   U61(ok X1, ok X2) -> ok U61(X1, X2),
                    U72(mark X1, X2) -> mark U72(X1, X2),
                   U72(ok X1, ok X2) -> ok U72(X1, X2),
                    U71(mark X1, X2) -> mark U71(X1, X2),
                   U71(ok X1, ok X2) -> ok U71(X1, X2),
                U82(mark X1, X2, X3) -> mark U82(X1, X2, X3),
            U82(ok X1, ok X2, ok X3) -> ok U82(X1, X2, X3),
                U81(mark X1, X2, X3) -> mark U81(X1, X2, X3),
            U81(ok X1, ok X2, ok X3) -> ok U81(X1, X2, X3),
                U83(mark X1, X2, X3) -> mark U83(X1, X2, X3),
            U83(ok X1, ok X2, ok X3) -> ok U83(X1, X2, X3),
                U84(mark X1, X2, X3) -> mark U84(X1, X2, X3),
            U84(ok X1, ok X2, ok X3) -> ok U84(X1, X2, X3),
                            s mark X -> mark s X,
                              s ok X -> ok s X,
                          U92 mark X -> mark U92 X,
                            U92 ok X -> ok U92 X,
                    U91(mark X1, X2) -> mark U91(X1, X2),
                   U91(ok X1, ok X2) -> ok U91(X1, X2),
             proper U102(X1, X2, X3) -> U102(proper X1, proper X2, proper X3),
                  proper isNatKind X -> isNatKind proper X,
             proper U101(X1, X2, X3) -> U101(proper X1, proper X2, proper X3),
                         proper tt() -> ok tt(),
             proper U103(X1, X2, X3) -> U103(proper X1, proper X2, proper X3),
                      proper isNat X -> isNat proper X,
             proper U104(X1, X2, X3) -> U104(proper X1, proper X2, proper X3),
                 proper plus(X1, X2) -> plus(proper X1, proper X2),
                    proper x(X1, X2) -> x(proper X1, proper X2),
              proper U12(X1, X2, X3) -> U12(proper X1, proper X2, proper X3),
              proper U11(X1, X2, X3) -> U11(proper X1, proper X2, proper X3),
              proper U13(X1, X2, X3) -> U13(proper X1, proper X2, proper X3),
              proper U14(X1, X2, X3) -> U14(proper X1, proper X2, proper X3),
                  proper U15(X1, X2) -> U15(proper X1, proper X2),
                        proper U16 X -> U16 proper X,
                  proper U22(X1, X2) -> U22(proper X1, proper X2),
                  proper U21(X1, X2) -> U21(proper X1, proper X2),
                        proper U23 X -> U23 proper X,
              proper U32(X1, X2, X3) -> U32(proper X1, proper X2, proper X3),
              proper U31(X1, X2, X3) -> U31(proper X1, proper X2, proper X3),
              proper U33(X1, X2, X3) -> U33(proper X1, proper X2, proper X3),
              proper U34(X1, X2, X3) -> U34(proper X1, proper X2, proper X3),
                  proper U35(X1, X2) -> U35(proper X1, proper X2),
                        proper U36 X -> U36 proper X,
                        proper U42 X -> U42 proper X,
                  proper U41(X1, X2) -> U41(proper X1, proper X2),
                        proper U51 X -> U51 proper X,
                        proper U62 X -> U62 proper X,
                  proper U61(X1, X2) -> U61(proper X1, proper X2),
                  proper U72(X1, X2) -> U72(proper X1, proper X2),
                  proper U71(X1, X2) -> U71(proper X1, proper X2),
              proper U82(X1, X2, X3) -> U82(proper X1, proper X2, proper X3),
              proper U81(X1, X2, X3) -> U81(proper X1, proper X2, proper X3),
              proper U83(X1, X2, X3) -> U83(proper X1, proper X2, proper X3),
              proper U84(X1, X2, X3) -> U84(proper X1, proper X2, proper X3),
                          proper s X -> s proper X,
                        proper U92 X -> U92 proper X,
                  proper U91(X1, X2) -> U91(proper X1, proper X2),
                          proper 0() -> ok 0(),
                          top mark X -> top proper X,
                            top ok X -> top active X
      }
      Open
     
     
     SCC (2):
      Strict:
       { U41#(mark X1, X2) -> U41#(X1, X2),
        U41#(ok X1, ok X2) -> U41#(X1, X2)}
      Weak:
      {
               U102(mark X1, X2, X3) -> mark U102(X1, X2, X3),
           U102(ok X1, ok X2, ok X3) -> ok U102(X1, X2, X3),
                      isNatKind ok X -> ok isNatKind X,
             active U102(X1, X2, X3) -> U102(active X1, X2, X3),
             active U102(tt(), M, N) -> mark U103(isNat N, M, N),
       active isNatKind plus(V1, V2) -> mark U41(isNatKind V1, V2),
          active isNatKind x(V1, V2) -> mark U61(isNatKind V1, V2),
               active isNatKind s V1 -> mark U51 isNatKind V1,
                active isNatKind 0() -> mark tt(),
             active U101(X1, X2, X3) -> U101(active X1, X2, X3),
             active U101(tt(), M, N) -> mark U102(isNatKind M, M, N),
             active U103(X1, X2, X3) -> U103(active X1, X2, X3),
             active U103(tt(), M, N) -> mark U104(isNatKind N, M, N),
           active isNat plus(V1, V2) -> mark U11(isNatKind V1, V1, V2),
              active isNat x(V1, V2) -> mark U31(isNatKind V1, V1, V2),
                   active isNat s V1 -> mark U21(isNatKind V1, V1),
                    active isNat 0() -> mark tt(),
             active U104(X1, X2, X3) -> U104(active X1, X2, X3),
             active U104(tt(), M, N) -> mark plus(x(N, M), N),
                 active plus(N, s M) -> mark U81(isNat M, M, N),
                 active plus(N, 0()) -> mark U71(isNat N, N),
                 active plus(X1, X2) -> plus(X1, active X2),
                 active plus(X1, X2) -> plus(active X1, X2),
                    active x(N, s M) -> mark U101(isNat M, M, N),
                    active x(N, 0()) -> mark U91(isNat N, N),
                    active x(X1, X2) -> x(X1, active X2),
                    active x(X1, X2) -> x(active X1, X2),
              active U12(X1, X2, X3) -> U12(active X1, X2, X3),
            active U12(tt(), V1, V2) -> mark U13(isNatKind V2, V1, V2),
              active U11(X1, X2, X3) -> U11(active X1, X2, X3),
            active U11(tt(), V1, V2) -> mark U12(isNatKind V1, V1, V2),
              active U13(X1, X2, X3) -> U13(active X1, X2, X3),
            active U13(tt(), V1, V2) -> mark U14(isNatKind V2, V1, V2),
              active U14(X1, X2, X3) -> U14(active X1, X2, X3),
            active U14(tt(), V1, V2) -> mark U15(isNat V1, V2),
                  active U15(X1, X2) -> U15(active X1, X2),
                active U15(tt(), V2) -> mark U16 isNat V2,
                        active U16 X -> U16 active X,
                     active U16 tt() -> mark tt(),
                  active U22(X1, X2) -> U22(active X1, X2),
                active U22(tt(), V1) -> mark U23 isNat V1,
                  active U21(X1, X2) -> U21(active X1, X2),
                active U21(tt(), V1) -> mark U22(isNatKind V1, V1),
                        active U23 X -> U23 active X,
                     active U23 tt() -> mark tt(),
              active U32(X1, X2, X3) -> U32(active X1, X2, X3),
            active U32(tt(), V1, V2) -> mark U33(isNatKind V2, V1, V2),
              active U31(X1, X2, X3) -> U31(active X1, X2, X3),
            active U31(tt(), V1, V2) -> mark U32(isNatKind V1, V1, V2),
              active U33(X1, X2, X3) -> U33(active X1, X2, X3),
            active U33(tt(), V1, V2) -> mark U34(isNatKind V2, V1, V2),
              active U34(X1, X2, X3) -> U34(active X1, X2, X3),
            active U34(tt(), V1, V2) -> mark U35(isNat V1, V2),
                  active U35(X1, X2) -> U35(active X1, X2),
                active U35(tt(), V2) -> mark U36 isNat V2,
                        active U36 X -> U36 active X,
                     active U36 tt() -> mark tt(),
                        active U42 X -> U42 active X,
                     active U42 tt() -> mark tt(),
                  active U41(X1, X2) -> U41(active X1, X2),
                active U41(tt(), V2) -> mark U42 isNatKind V2,
                        active U51 X -> U51 active X,
                     active U51 tt() -> mark tt(),
                        active U62 X -> U62 active X,
                     active U62 tt() -> mark tt(),
                  active U61(X1, X2) -> U61(active X1, X2),
                active U61(tt(), V2) -> mark U62 isNatKind V2,
                  active U72(X1, X2) -> U72(active X1, X2),
                 active U72(tt(), N) -> mark N,
                  active U71(X1, X2) -> U71(active X1, X2),
                 active U71(tt(), N) -> mark U72(isNatKind N, N),
              active U82(X1, X2, X3) -> U82(active X1, X2, X3),
              active U82(tt(), M, N) -> mark U83(isNat N, M, N),
              active U81(X1, X2, X3) -> U81(active X1, X2, X3),
              active U81(tt(), M, N) -> mark U82(isNatKind M, M, N),
              active U83(X1, X2, X3) -> U83(active X1, X2, X3),
              active U83(tt(), M, N) -> mark U84(isNatKind N, M, N),
              active U84(X1, X2, X3) -> U84(active X1, X2, X3),
              active U84(tt(), M, N) -> mark s plus(N, M),
                          active s X -> s active X,
                        active U92 X -> U92 active X,
                     active U92 tt() -> mark 0(),
                  active U91(X1, X2) -> U91(active X1, X2),
                 active U91(tt(), N) -> mark U92 isNatKind N,
               U101(mark X1, X2, X3) -> mark U101(X1, X2, X3),
           U101(ok X1, ok X2, ok X3) -> ok U101(X1, X2, X3),
               U103(mark X1, X2, X3) -> mark U103(X1, X2, X3),
           U103(ok X1, ok X2, ok X3) -> ok U103(X1, X2, X3),
                          isNat ok X -> ok isNat X,
               U104(mark X1, X2, X3) -> mark U104(X1, X2, X3),
           U104(ok X1, ok X2, ok X3) -> ok U104(X1, X2, X3),
                   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),
                      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),
                U12(mark X1, X2, X3) -> mark U12(X1, X2, X3),
            U12(ok X1, ok X2, ok X3) -> ok U12(X1, X2, X3),
                U11(mark X1, X2, X3) -> mark U11(X1, X2, X3),
            U11(ok X1, ok X2, ok X3) -> ok U11(X1, X2, X3),
                U13(mark X1, X2, X3) -> mark U13(X1, X2, X3),
            U13(ok X1, ok X2, ok X3) -> ok U13(X1, X2, X3),
                U14(mark X1, X2, X3) -> mark U14(X1, X2, X3),
            U14(ok X1, ok X2, ok X3) -> ok U14(X1, X2, X3),
                    U15(mark X1, X2) -> mark U15(X1, X2),
                   U15(ok X1, ok X2) -> ok U15(X1, X2),
                          U16 mark X -> mark U16 X,
                            U16 ok X -> ok U16 X,
                    U22(mark X1, X2) -> mark U22(X1, X2),
                   U22(ok X1, ok X2) -> ok U22(X1, X2),
                    U21(mark X1, X2) -> mark U21(X1, X2),
                   U21(ok X1, ok X2) -> ok U21(X1, X2),
                          U23 mark X -> mark U23 X,
                            U23 ok X -> ok U23 X,
                U32(mark X1, X2, X3) -> mark U32(X1, X2, X3),
            U32(ok X1, ok X2, ok X3) -> ok U32(X1, X2, X3),
                U31(mark X1, X2, X3) -> mark U31(X1, X2, X3),
            U31(ok X1, ok X2, ok X3) -> ok U31(X1, X2, X3),
                U33(mark X1, X2, X3) -> mark U33(X1, X2, X3),
            U33(ok X1, ok X2, ok X3) -> ok U33(X1, X2, X3),
                U34(mark X1, X2, X3) -> mark U34(X1, X2, X3),
            U34(ok X1, ok X2, ok X3) -> ok U34(X1, X2, X3),
                    U35(mark X1, X2) -> mark U35(X1, X2),
                   U35(ok X1, ok X2) -> ok U35(X1, X2),
                          U36 mark X -> mark U36 X,
                            U36 ok X -> ok U36 X,
                          U42 mark X -> mark U42 X,
                            U42 ok X -> ok U42 X,
                    U41(mark X1, X2) -> mark U41(X1, X2),
                   U41(ok X1, ok X2) -> ok U41(X1, X2),
                          U51 mark X -> mark U51 X,
                            U51 ok X -> ok U51 X,
                          U62 mark X -> mark U62 X,
                            U62 ok X -> ok U62 X,
                    U61(mark X1, X2) -> mark U61(X1, X2),
                   U61(ok X1, ok X2) -> ok U61(X1, X2),
                    U72(mark X1, X2) -> mark U72(X1, X2),
                   U72(ok X1, ok X2) -> ok U72(X1, X2),
                    U71(mark X1, X2) -> mark U71(X1, X2),
                   U71(ok X1, ok X2) -> ok U71(X1, X2),
                U82(mark X1, X2, X3) -> mark U82(X1, X2, X3),
            U82(ok X1, ok X2, ok X3) -> ok U82(X1, X2, X3),
                U81(mark X1, X2, X3) -> mark U81(X1, X2, X3),
            U81(ok X1, ok X2, ok X3) -> ok U81(X1, X2, X3),
                U83(mark X1, X2, X3) -> mark U83(X1, X2, X3),
            U83(ok X1, ok X2, ok X3) -> ok U83(X1, X2, X3),
                U84(mark X1, X2, X3) -> mark U84(X1, X2, X3),
            U84(ok X1, ok X2, ok X3) -> ok U84(X1, X2, X3),
                            s mark X -> mark s X,
                              s ok X -> ok s X,
                          U92 mark X -> mark U92 X,
                            U92 ok X -> ok U92 X,
                    U91(mark X1, X2) -> mark U91(X1, X2),
                   U91(ok X1, ok X2) -> ok U91(X1, X2),
             proper U102(X1, X2, X3) -> U102(proper X1, proper X2, proper X3),
                  proper isNatKind X -> isNatKind proper X,
             proper U101(X1, X2, X3) -> U101(proper X1, proper X2, proper X3),
                         proper tt() -> ok tt(),
             proper U103(X1, X2, X3) -> U103(proper X1, proper X2, proper X3),
                      proper isNat X -> isNat proper X,
             proper U104(X1, X2, X3) -> U104(proper X1, proper X2, proper X3),
                 proper plus(X1, X2) -> plus(proper X1, proper X2),
                    proper x(X1, X2) -> x(proper X1, proper X2),
              proper U12(X1, X2, X3) -> U12(proper X1, proper X2, proper X3),
              proper U11(X1, X2, X3) -> U11(proper X1, proper X2, proper X3),
              proper U13(X1, X2, X3) -> U13(proper X1, proper X2, proper X3),
              proper U14(X1, X2, X3) -> U14(proper X1, proper X2, proper X3),
                  proper U15(X1, X2) -> U15(proper X1, proper X2),
                        proper U16 X -> U16 proper X,
                  proper U22(X1, X2) -> U22(proper X1, proper X2),
                  proper U21(X1, X2) -> U21(proper X1, proper X2),
                        proper U23 X -> U23 proper X,
              proper U32(X1, X2, X3) -> U32(proper X1, proper X2, proper X3),
              proper U31(X1, X2, X3) -> U31(proper X1, proper X2, proper X3),
              proper U33(X1, X2, X3) -> U33(proper X1, proper X2, proper X3),
              proper U34(X1, X2, X3) -> U34(proper X1, proper X2, proper X3),
                  proper U35(X1, X2) -> U35(proper X1, proper X2),
                        proper U36 X -> U36 proper X,
                        proper U42 X -> U42 proper X,
                  proper U41(X1, X2) -> U41(proper X1, proper X2),
                        proper U51 X -> U51 proper X,
                        proper U62 X -> U62 proper X,
                  proper U61(X1, X2) -> U61(proper X1, proper X2),
                  proper U72(X1, X2) -> U72(proper X1, proper X2),
                  proper U71(X1, X2) -> U71(proper X1, proper X2),
              proper U82(X1, X2, X3) -> U82(proper X1, proper X2, proper X3),
              proper U81(X1, X2, X3) -> U81(proper X1, proper X2, proper X3),
              proper U83(X1, X2, X3) -> U83(proper X1, proper X2, proper X3),
              proper U84(X1, X2, X3) -> U84(proper X1, proper X2, proper X3),
                          proper s X -> s proper X,
                        proper U92 X -> U92 proper X,
                  proper U91(X1, X2) -> U91(proper X1, proper X2),
                          proper 0() -> ok 0(),
                          top mark X -> top proper X,
                            top ok X -> top active X
      }
      Open
     
     
     SCC (1):
      Strict:
       {isNat# ok X -> isNat# X}
      Weak:
      {
               U102(mark X1, X2, X3) -> mark U102(X1, X2, X3),
           U102(ok X1, ok X2, ok X3) -> ok U102(X1, X2, X3),
                      isNatKind ok X -> ok isNatKind X,
             active U102(X1, X2, X3) -> U102(active X1, X2, X3),
             active U102(tt(), M, N) -> mark U103(isNat N, M, N),
       active isNatKind plus(V1, V2) -> mark U41(isNatKind V1, V2),
          active isNatKind x(V1, V2) -> mark U61(isNatKind V1, V2),
               active isNatKind s V1 -> mark U51 isNatKind V1,
                active isNatKind 0() -> mark tt(),
             active U101(X1, X2, X3) -> U101(active X1, X2, X3),
             active U101(tt(), M, N) -> mark U102(isNatKind M, M, N),
             active U103(X1, X2, X3) -> U103(active X1, X2, X3),
             active U103(tt(), M, N) -> mark U104(isNatKind N, M, N),
           active isNat plus(V1, V2) -> mark U11(isNatKind V1, V1, V2),
              active isNat x(V1, V2) -> mark U31(isNatKind V1, V1, V2),
                   active isNat s V1 -> mark U21(isNatKind V1, V1),
                    active isNat 0() -> mark tt(),
             active U104(X1, X2, X3) -> U104(active X1, X2, X3),
             active U104(tt(), M, N) -> mark plus(x(N, M), N),
                 active plus(N, s M) -> mark U81(isNat M, M, N),
                 active plus(N, 0()) -> mark U71(isNat N, N),
                 active plus(X1, X2) -> plus(X1, active X2),
                 active plus(X1, X2) -> plus(active X1, X2),
                    active x(N, s M) -> mark U101(isNat M, M, N),
                    active x(N, 0()) -> mark U91(isNat N, N),
                    active x(X1, X2) -> x(X1, active X2),
                    active x(X1, X2) -> x(active X1, X2),
              active U12(X1, X2, X3) -> U12(active X1, X2, X3),
            active U12(tt(), V1, V2) -> mark U13(isNatKind V2, V1, V2),
              active U11(X1, X2, X3) -> U11(active X1, X2, X3),
            active U11(tt(), V1, V2) -> mark U12(isNatKind V1, V1, V2),
              active U13(X1, X2, X3) -> U13(active X1, X2, X3),
            active U13(tt(), V1, V2) -> mark U14(isNatKind V2, V1, V2),
              active U14(X1, X2, X3) -> U14(active X1, X2, X3),
            active U14(tt(), V1, V2) -> mark U15(isNat V1, V2),
                  active U15(X1, X2) -> U15(active X1, X2),
                active U15(tt(), V2) -> mark U16 isNat V2,
                        active U16 X -> U16 active X,
                     active U16 tt() -> mark tt(),
                  active U22(X1, X2) -> U22(active X1, X2),
                active U22(tt(), V1) -> mark U23 isNat V1,
                  active U21(X1, X2) -> U21(active X1, X2),
                active U21(tt(), V1) -> mark U22(isNatKind V1, V1),
                        active U23 X -> U23 active X,
                     active U23 tt() -> mark tt(),
              active U32(X1, X2, X3) -> U32(active X1, X2, X3),
            active U32(tt(), V1, V2) -> mark U33(isNatKind V2, V1, V2),
              active U31(X1, X2, X3) -> U31(active X1, X2, X3),
            active U31(tt(), V1, V2) -> mark U32(isNatKind V1, V1, V2),
              active U33(X1, X2, X3) -> U33(active X1, X2, X3),
            active U33(tt(), V1, V2) -> mark U34(isNatKind V2, V1, V2),
              active U34(X1, X2, X3) -> U34(active X1, X2, X3),
            active U34(tt(), V1, V2) -> mark U35(isNat V1, V2),
                  active U35(X1, X2) -> U35(active X1, X2),
                active U35(tt(), V2) -> mark U36 isNat V2,
                        active U36 X -> U36 active X,
                     active U36 tt() -> mark tt(),
                        active U42 X -> U42 active X,
                     active U42 tt() -> mark tt(),
                  active U41(X1, X2) -> U41(active X1, X2),
                active U41(tt(), V2) -> mark U42 isNatKind V2,
                        active U51 X -> U51 active X,
                     active U51 tt() -> mark tt(),
                        active U62 X -> U62 active X,
                     active U62 tt() -> mark tt(),
                  active U61(X1, X2) -> U61(active X1, X2),
                active U61(tt(), V2) -> mark U62 isNatKind V2,
                  active U72(X1, X2) -> U72(active X1, X2),
                 active U72(tt(), N) -> mark N,
                  active U71(X1, X2) -> U71(active X1, X2),
                 active U71(tt(), N) -> mark U72(isNatKind N, N),
              active U82(X1, X2, X3) -> U82(active X1, X2, X3),
              active U82(tt(), M, N) -> mark U83(isNat N, M, N),
              active U81(X1, X2, X3) -> U81(active X1, X2, X3),
              active U81(tt(), M, N) -> mark U82(isNatKind M, M, N),
              active U83(X1, X2, X3) -> U83(active X1, X2, X3),
              active U83(tt(), M, N) -> mark U84(isNatKind N, M, N),
              active U84(X1, X2, X3) -> U84(active X1, X2, X3),
              active U84(tt(), M, N) -> mark s plus(N, M),
                          active s X -> s active X,
                        active U92 X -> U92 active X,
                     active U92 tt() -> mark 0(),
                  active U91(X1, X2) -> U91(active X1, X2),
                 active U91(tt(), N) -> mark U92 isNatKind N,
               U101(mark X1, X2, X3) -> mark U101(X1, X2, X3),
           U101(ok X1, ok X2, ok X3) -> ok U101(X1, X2, X3),
               U103(mark X1, X2, X3) -> mark U103(X1, X2, X3),
           U103(ok X1, ok X2, ok X3) -> ok U103(X1, X2, X3),
                          isNat ok X -> ok isNat X,
               U104(mark X1, X2, X3) -> mark U104(X1, X2, X3),
           U104(ok X1, ok X2, ok X3) -> ok U104(X1, X2, X3),
                   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),
                      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),
                U12(mark X1, X2, X3) -> mark U12(X1, X2, X3),
            U12(ok X1, ok X2, ok X3) -> ok U12(X1, X2, X3),
                U11(mark X1, X2, X3) -> mark U11(X1, X2, X3),
            U11(ok X1, ok X2, ok X3) -> ok U11(X1, X2, X3),
                U13(mark X1, X2, X3) -> mark U13(X1, X2, X3),
            U13(ok X1, ok X2, ok X3) -> ok U13(X1, X2, X3),
                U14(mark X1, X2, X3) -> mark U14(X1, X2, X3),
            U14(ok X1, ok X2, ok X3) -> ok U14(X1, X2, X3),
                    U15(mark X1, X2) -> mark U15(X1, X2),
                   U15(ok X1, ok X2) -> ok U15(X1, X2),
                          U16 mark X -> mark U16 X,
                            U16 ok X -> ok U16 X,
                    U22(mark X1, X2) -> mark U22(X1, X2),
                   U22(ok X1, ok X2) -> ok U22(X1, X2),
                    U21(mark X1, X2) -> mark U21(X1, X2),
                   U21(ok X1, ok X2) -> ok U21(X1, X2),
                          U23 mark X -> mark U23 X,
                            U23 ok X -> ok U23 X,
                U32(mark X1, X2, X3) -> mark U32(X1, X2, X3),
            U32(ok X1, ok X2, ok X3) -> ok U32(X1, X2, X3),
                U31(mark X1, X2, X3) -> mark U31(X1, X2, X3),
            U31(ok X1, ok X2, ok X3) -> ok U31(X1, X2, X3),
                U33(mark X1, X2, X3) -> mark U33(X1, X2, X3),
            U33(ok X1, ok X2, ok X3) -> ok U33(X1, X2, X3),
                U34(mark X1, X2, X3) -> mark U34(X1, X2, X3),
            U34(ok X1, ok X2, ok X3) -> ok U34(X1, X2, X3),
                    U35(mark X1, X2) -> mark U35(X1, X2),
                   U35(ok X1, ok X2) -> ok U35(X1, X2),
                          U36 mark X -> mark U36 X,
                            U36 ok X -> ok U36 X,
                          U42 mark X -> mark U42 X,
                            U42 ok X -> ok U42 X,
                    U41(mark X1, X2) -> mark U41(X1, X2),
                   U41(ok X1, ok X2) -> ok U41(X1, X2),
                          U51 mark X -> mark U51 X,
                            U51 ok X -> ok U51 X,
                          U62 mark X -> mark U62 X,
                            U62 ok X -> ok U62 X,
                    U61(mark X1, X2) -> mark U61(X1, X2),
                   U61(ok X1, ok X2) -> ok U61(X1, X2),
                    U72(mark X1, X2) -> mark U72(X1, X2),
                   U72(ok X1, ok X2) -> ok U72(X1, X2),
                    U71(mark X1, X2) -> mark U71(X1, X2),
                   U71(ok X1, ok X2) -> ok U71(X1, X2),
                U82(mark X1, X2, X3) -> mark U82(X1, X2, X3),
            U82(ok X1, ok X2, ok X3) -> ok U82(X1, X2, X3),
                U81(mark X1, X2, X3) -> mark U81(X1, X2, X3),
            U81(ok X1, ok X2, ok X3) -> ok U81(X1, X2, X3),
                U83(mark X1, X2, X3) -> mark U83(X1, X2, X3),
            U83(ok X1, ok X2, ok X3) -> ok U83(X1, X2, X3),
                U84(mark X1, X2, X3) -> mark U84(X1, X2, X3),
            U84(ok X1, ok X2, ok X3) -> ok U84(X1, X2, X3),
                            s mark X -> mark s X,
                              s ok X -> ok s X,
                          U92 mark X -> mark U92 X,
                            U92 ok X -> ok U92 X,
                    U91(mark X1, X2) -> mark U91(X1, X2),
                   U91(ok X1, ok X2) -> ok U91(X1, X2),
             proper U102(X1, X2, X3) -> U102(proper X1, proper X2, proper X3),
                  proper isNatKind X -> isNatKind proper X,
             proper U101(X1, X2, X3) -> U101(proper X1, proper X2, proper X3),
                         proper tt() -> ok tt(),
             proper U103(X1, X2, X3) -> U103(proper X1, proper X2, proper X3),
                      proper isNat X -> isNat proper X,
             proper U104(X1, X2, X3) -> U104(proper X1, proper X2, proper X3),
                 proper plus(X1, X2) -> plus(proper X1, proper X2),
                    proper x(X1, X2) -> x(proper X1, proper X2),
              proper U12(X1, X2, X3) -> U12(proper X1, proper X2, proper X3),
              proper U11(X1, X2, X3) -> U11(proper X1, proper X2, proper X3),
              proper U13(X1, X2, X3) -> U13(proper X1, proper X2, proper X3),
              proper U14(X1, X2, X3) -> U14(proper X1, proper X2, proper X3),
                  proper U15(X1, X2) -> U15(proper X1, proper X2),
                        proper U16 X -> U16 proper X,
                  proper U22(X1, X2) -> U22(proper X1, proper X2),
                  proper U21(X1, X2) -> U21(proper X1, proper X2),
                        proper U23 X -> U23 proper X,
              proper U32(X1, X2, X3) -> U32(proper X1, proper X2, proper X3),
              proper U31(X1, X2, X3) -> U31(proper X1, proper X2, proper X3),
              proper U33(X1, X2, X3) -> U33(proper X1, proper X2, proper X3),
              proper U34(X1, X2, X3) -> U34(proper X1, proper X2, proper X3),
                  proper U35(X1, X2) -> U35(proper X1, proper X2),
                        proper U36 X -> U36 proper X,
                        proper U42 X -> U42 proper X,
                  proper U41(X1, X2) -> U41(proper X1, proper X2),
                        proper U51 X -> U51 proper X,
                        proper U62 X -> U62 proper X,
                  proper U61(X1, X2) -> U61(proper X1, proper X2),
                  proper U72(X1, X2) -> U72(proper X1, proper X2),
                  proper U71(X1, X2) -> U71(proper X1, proper X2),
              proper U82(X1, X2, X3) -> U82(proper X1, proper X2, proper X3),
              proper U81(X1, X2, X3) -> U81(proper X1, proper X2, proper X3),
              proper U83(X1, X2, X3) -> U83(proper X1, proper X2, proper X3),
              proper U84(X1, X2, X3) -> U84(proper X1, proper X2, proper X3),
                          proper s X -> s proper X,
                        proper U92 X -> U92 proper X,
                  proper U91(X1, X2) -> U91(proper X1, proper X2),
                          proper 0() -> ok 0(),
                          top mark X -> top proper X,
                            top ok X -> top active X
      }
      Open
     
     SCC (2):
      Strict:
       {    U103#(mark X1, X2, X3) -> U103#(X1, X2, X3),
        U103#(ok X1, ok X2, ok X3) -> U103#(X1, X2, X3)}
      Weak:
      {
               U102(mark X1, X2, X3) -> mark U102(X1, X2, X3),
           U102(ok X1, ok X2, ok X3) -> ok U102(X1, X2, X3),
                      isNatKind ok X -> ok isNatKind X,
             active U102(X1, X2, X3) -> U102(active X1, X2, X3),
             active U102(tt(), M, N) -> mark U103(isNat N, M, N),
       active isNatKind plus(V1, V2) -> mark U41(isNatKind V1, V2),
          active isNatKind x(V1, V2) -> mark U61(isNatKind V1, V2),
               active isNatKind s V1 -> mark U51 isNatKind V1,
                active isNatKind 0() -> mark tt(),
             active U101(X1, X2, X3) -> U101(active X1, X2, X3),
             active U101(tt(), M, N) -> mark U102(isNatKind M, M, N),
             active U103(X1, X2, X3) -> U103(active X1, X2, X3),
             active U103(tt(), M, N) -> mark U104(isNatKind N, M, N),
           active isNat plus(V1, V2) -> mark U11(isNatKind V1, V1, V2),
              active isNat x(V1, V2) -> mark U31(isNatKind V1, V1, V2),
                   active isNat s V1 -> mark U21(isNatKind V1, V1),
                    active isNat 0() -> mark tt(),
             active U104(X1, X2, X3) -> U104(active X1, X2, X3),
             active U104(tt(), M, N) -> mark plus(x(N, M), N),
                 active plus(N, s M) -> mark U81(isNat M, M, N),
                 active plus(N, 0()) -> mark U71(isNat N, N),
                 active plus(X1, X2) -> plus(X1, active X2),
                 active plus(X1, X2) -> plus(active X1, X2),
                    active x(N, s M) -> mark U101(isNat M, M, N),
                    active x(N, 0()) -> mark U91(isNat N, N),
                    active x(X1, X2) -> x(X1, active X2),
                    active x(X1, X2) -> x(active X1, X2),
              active U12(X1, X2, X3) -> U12(active X1, X2, X3),
            active U12(tt(), V1, V2) -> mark U13(isNatKind V2, V1, V2),
              active U11(X1, X2, X3) -> U11(active X1, X2, X3),
            active U11(tt(), V1, V2) -> mark U12(isNatKind V1, V1, V2),
              active U13(X1, X2, X3) -> U13(active X1, X2, X3),
            active U13(tt(), V1, V2) -> mark U14(isNatKind V2, V1, V2),
              active U14(X1, X2, X3) -> U14(active X1, X2, X3),
            active U14(tt(), V1, V2) -> mark U15(isNat V1, V2),
                  active U15(X1, X2) -> U15(active X1, X2),
                active U15(tt(), V2) -> mark U16 isNat V2,
                        active U16 X -> U16 active X,
                     active U16 tt() -> mark tt(),
                  active U22(X1, X2) -> U22(active X1, X2),
                active U22(tt(), V1) -> mark U23 isNat V1,
                  active U21(X1, X2) -> U21(active X1, X2),
                active U21(tt(), V1) -> mark U22(isNatKind V1, V1),
                        active U23 X -> U23 active X,
                     active U23 tt() -> mark tt(),
              active U32(X1, X2, X3) -> U32(active X1, X2, X3),
            active U32(tt(), V1, V2) -> mark U33(isNatKind V2, V1, V2),
              active U31(X1, X2, X3) -> U31(active X1, X2, X3),
            active U31(tt(), V1, V2) -> mark U32(isNatKind V1, V1, V2),
              active U33(X1, X2, X3) -> U33(active X1, X2, X3),
            active U33(tt(), V1, V2) -> mark U34(isNatKind V2, V1, V2),
              active U34(X1, X2, X3) -> U34(active X1, X2, X3),
            active U34(tt(), V1, V2) -> mark U35(isNat V1, V2),
                  active U35(X1, X2) -> U35(active X1, X2),
                active U35(tt(), V2) -> mark U36 isNat V2,
                        active U36 X -> U36 active X,
                     active U36 tt() -> mark tt(),
                        active U42 X -> U42 active X,
                     active U42 tt() -> mark tt(),
                  active U41(X1, X2) -> U41(active X1, X2),
                active U41(tt(), V2) -> mark U42 isNatKind V2,
                        active U51 X -> U51 active X,
                     active U51 tt() -> mark tt(),
                        active U62 X -> U62 active X,
                     active U62 tt() -> mark tt(),
                  active U61(X1, X2) -> U61(active X1, X2),
                active U61(tt(), V2) -> mark U62 isNatKind V2,
                  active U72(X1, X2) -> U72(active X1, X2),
                 active U72(tt(), N) -> mark N,
                  active U71(X1, X2) -> U71(active X1, X2),
                 active U71(tt(), N) -> mark U72(isNatKind N, N),
              active U82(X1, X2, X3) -> U82(active X1, X2, X3),
              active U82(tt(), M, N) -> mark U83(isNat N, M, N),
              active U81(X1, X2, X3) -> U81(active X1, X2, X3),
              active U81(tt(), M, N) -> mark U82(isNatKind M, M, N),
              active U83(X1, X2, X3) -> U83(active X1, X2, X3),
              active U83(tt(), M, N) -> mark U84(isNatKind N, M, N),
              active U84(X1, X2, X3) -> U84(active X1, X2, X3),
              active U84(tt(), M, N) -> mark s plus(N, M),
                          active s X -> s active X,
                        active U92 X -> U92 active X,
                     active U92 tt() -> mark 0(),
                  active U91(X1, X2) -> U91(active X1, X2),
                 active U91(tt(), N) -> mark U92 isNatKind N,
               U101(mark X1, X2, X3) -> mark U101(X1, X2, X3),
           U101(ok X1, ok X2, ok X3) -> ok U101(X1, X2, X3),
               U103(mark X1, X2, X3) -> mark U103(X1, X2, X3),
           U103(ok X1, ok X2, ok X3) -> ok U103(X1, X2, X3),
                          isNat ok X -> ok isNat X,
               U104(mark X1, X2, X3) -> mark U104(X1, X2, X3),
           U104(ok X1, ok X2, ok X3) -> ok U104(X1, X2, X3),
                   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),
                      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),
                U12(mark X1, X2, X3) -> mark U12(X1, X2, X3),
            U12(ok X1, ok X2, ok X3) -> ok U12(X1, X2, X3),
                U11(mark X1, X2, X3) -> mark U11(X1, X2, X3),
            U11(ok X1, ok X2, ok X3) -> ok U11(X1, X2, X3),
                U13(mark X1, X2, X3) -> mark U13(X1, X2, X3),
            U13(ok X1, ok X2, ok X3) -> ok U13(X1, X2, X3),
                U14(mark X1, X2, X3) -> mark U14(X1, X2, X3),
            U14(ok X1, ok X2, ok X3) -> ok U14(X1, X2, X3),
                    U15(mark X1, X2) -> mark U15(X1, X2),
                   U15(ok X1, ok X2) -> ok U15(X1, X2),
                          U16 mark X -> mark U16 X,
                            U16 ok X -> ok U16 X,
                    U22(mark X1, X2) -> mark U22(X1, X2),
                   U22(ok X1, ok X2) -> ok U22(X1, X2),
                    U21(mark X1, X2) -> mark U21(X1, X2),
                   U21(ok X1, ok X2) -> ok U21(X1, X2),
                          U23 mark X -> mark U23 X,
                            U23 ok X -> ok U23 X,
                U32(mark X1, X2, X3) -> mark U32(X1, X2, X3),
            U32(ok X1, ok X2, ok X3) -> ok U32(X1, X2, X3),
                U31(mark X1, X2, X3) -> mark U31(X1, X2, X3),
            U31(ok X1, ok X2, ok X3) -> ok U31(X1, X2, X3),
                U33(mark X1, X2, X3) -> mark U33(X1, X2, X3),
            U33(ok X1, ok X2, ok X3) -> ok U33(X1, X2, X3),
                U34(mark X1, X2, X3) -> mark U34(X1, X2, X3),
            U34(ok X1, ok X2, ok X3) -> ok U34(X1, X2, X3),
                    U35(mark X1, X2) -> mark U35(X1, X2),
                   U35(ok X1, ok X2) -> ok U35(X1, X2),
                          U36 mark X -> mark U36 X,
                            U36 ok X -> ok U36 X,
                          U42 mark X -> mark U42 X,
                            U42 ok X -> ok U42 X,
                    U41(mark X1, X2) -> mark U41(X1, X2),
                   U41(ok X1, ok X2) -> ok U41(X1, X2),
                          U51 mark X -> mark U51 X,
                            U51 ok X -> ok U51 X,
                          U62 mark X -> mark U62 X,
                            U62 ok X -> ok U62 X,
                    U61(mark X1, X2) -> mark U61(X1, X2),
                   U61(ok X1, ok X2) -> ok U61(X1, X2),
                    U72(mark X1, X2) -> mark U72(X1, X2),
                   U72(ok X1, ok X2) -> ok U72(X1, X2),
                    U71(mark X1, X2) -> mark U71(X1, X2),
                   U71(ok X1, ok X2) -> ok U71(X1, X2),
                U82(mark X1, X2, X3) -> mark U82(X1, X2, X3),
            U82(ok X1, ok X2, ok X3) -> ok U82(X1, X2, X3),
                U81(mark X1, X2, X3) -> mark U81(X1, X2, X3),
            U81(ok X1, ok X2, ok X3) -> ok U81(X1, X2, X3),
                U83(mark X1, X2, X3) -> mark U83(X1, X2, X3),
            U83(ok X1, ok X2, ok X3) -> ok U83(X1, X2, X3),
                U84(mark X1, X2, X3) -> mark U84(X1, X2, X3),
            U84(ok X1, ok X2, ok X3) -> ok U84(X1, X2, X3),
                            s mark X -> mark s X,
                              s ok X -> ok s X,
                          U92 mark X -> mark U92 X,
                            U92 ok X -> ok U92 X,
                    U91(mark X1, X2) -> mark U91(X1, X2),
                   U91(ok X1, ok X2) -> ok U91(X1, X2),
             proper U102(X1, X2, X3) -> U102(proper X1, proper X2, proper X3),
                  proper isNatKind X -> isNatKind proper X,
             proper U101(X1, X2, X3) -> U101(proper X1, proper X2, proper X3),
                         proper tt() -> ok tt(),
             proper U103(X1, X2, X3) -> U103(proper X1, proper X2, proper X3),
                      proper isNat X -> isNat proper X,
             proper U104(X1, X2, X3) -> U104(proper X1, proper X2, proper X3),
                 proper plus(X1, X2) -> plus(proper X1, proper X2),
                    proper x(X1, X2) -> x(proper X1, proper X2),
              proper U12(X1, X2, X3) -> U12(proper X1, proper X2, proper X3),
              proper U11(X1, X2, X3) -> U11(proper X1, proper X2, proper X3),
              proper U13(X1, X2, X3) -> U13(proper X1, proper X2, proper X3),
              proper U14(X1, X2, X3) -> U14(proper X1, proper X2, proper X3),
                  proper U15(X1, X2) -> U15(proper X1, proper X2),
                        proper U16 X -> U16 proper X,
                  proper U22(X1, X2) -> U22(proper X1, proper X2),
                  proper U21(X1, X2) -> U21(proper X1, proper X2),
                        proper U23 X -> U23 proper X,
              proper U32(X1, X2, X3) -> U32(proper X1, proper X2, proper X3),
              proper U31(X1, X2, X3) -> U31(proper X1, proper X2, proper X3),
              proper U33(X1, X2, X3) -> U33(proper X1, proper X2, proper X3),
              proper U34(X1, X2, X3) -> U34(proper X1, proper X2, proper X3),
                  proper U35(X1, X2) -> U35(proper X1, proper X2),
                        proper U36 X -> U36 proper X,
                        proper U42 X -> U42 proper X,
                  proper U41(X1, X2) -> U41(proper X1, proper X2),
                        proper U51 X -> U51 proper X,
                        proper U62 X -> U62 proper X,
                  proper U61(X1, X2) -> U61(proper X1, proper X2),
                  proper U72(X1, X2) -> U72(proper X1, proper X2),
                  proper U71(X1, X2) -> U71(proper X1, proper X2),
              proper U82(X1, X2, X3) -> U82(proper X1, proper X2, proper X3),
              proper U81(X1, X2, X3) -> U81(proper X1, proper X2, proper X3),
              proper U83(X1, X2, X3) -> U83(proper X1, proper X2, proper X3),
              proper U84(X1, X2, X3) -> U84(proper X1, proper X2, proper X3),
                          proper s X -> s proper X,
                        proper U92 X -> U92 proper X,
                  proper U91(X1, X2) -> U91(proper X1, proper X2),
                          proper 0() -> ok 0(),
                          top mark X -> top proper X,
                            top ok X -> top active X
      }
      Open
     
     SCC (2):
      Strict:
       {    U102#(mark X1, X2, X3) -> U102#(X1, X2, X3),
        U102#(ok X1, ok X2, ok X3) -> U102#(X1, X2, X3)}
      Weak:
      {
               U102(mark X1, X2, X3) -> mark U102(X1, X2, X3),
           U102(ok X1, ok X2, ok X3) -> ok U102(X1, X2, X3),
                      isNatKind ok X -> ok isNatKind X,
             active U102(X1, X2, X3) -> U102(active X1, X2, X3),
             active U102(tt(), M, N) -> mark U103(isNat N, M, N),
       active isNatKind plus(V1, V2) -> mark U41(isNatKind V1, V2),
          active isNatKind x(V1, V2) -> mark U61(isNatKind V1, V2),
               active isNatKind s V1 -> mark U51 isNatKind V1,
                active isNatKind 0() -> mark tt(),
             active U101(X1, X2, X3) -> U101(active X1, X2, X3),
             active U101(tt(), M, N) -> mark U102(isNatKind M, M, N),
             active U103(X1, X2, X3) -> U103(active X1, X2, X3),
             active U103(tt(), M, N) -> mark U104(isNatKind N, M, N),
           active isNat plus(V1, V2) -> mark U11(isNatKind V1, V1, V2),
              active isNat x(V1, V2) -> mark U31(isNatKind V1, V1, V2),
                   active isNat s V1 -> mark U21(isNatKind V1, V1),
                    active isNat 0() -> mark tt(),
             active U104(X1, X2, X3) -> U104(active X1, X2, X3),
             active U104(tt(), M, N) -> mark plus(x(N, M), N),
                 active plus(N, s M) -> mark U81(isNat M, M, N),
                 active plus(N, 0()) -> mark U71(isNat N, N),
                 active plus(X1, X2) -> plus(X1, active X2),
                 active plus(X1, X2) -> plus(active X1, X2),
                    active x(N, s M) -> mark U101(isNat M, M, N),
                    active x(N, 0()) -> mark U91(isNat N, N),
                    active x(X1, X2) -> x(X1, active X2),
                    active x(X1, X2) -> x(active X1, X2),
              active U12(X1, X2, X3) -> U12(active X1, X2, X3),
            active U12(tt(), V1, V2) -> mark U13(isNatKind V2, V1, V2),
              active U11(X1, X2, X3) -> U11(active X1, X2, X3),
            active U11(tt(), V1, V2) -> mark U12(isNatKind V1, V1, V2),
              active U13(X1, X2, X3) -> U13(active X1, X2, X3),
            active U13(tt(), V1, V2) -> mark U14(isNatKind V2, V1, V2),
              active U14(X1, X2, X3) -> U14(active X1, X2, X3),
            active U14(tt(), V1, V2) -> mark U15(isNat V1, V2),
                  active U15(X1, X2) -> U15(active X1, X2),
                active U15(tt(), V2) -> mark U16 isNat V2,
                        active U16 X -> U16 active X,
                     active U16 tt() -> mark tt(),
                  active U22(X1, X2) -> U22(active X1, X2),
                active U22(tt(), V1) -> mark U23 isNat V1,
                  active U21(X1, X2) -> U21(active X1, X2),
                active U21(tt(), V1) -> mark U22(isNatKind V1, V1),
                        active U23 X -> U23 active X,
                     active U23 tt() -> mark tt(),
              active U32(X1, X2, X3) -> U32(active X1, X2, X3),
            active U32(tt(), V1, V2) -> mark U33(isNatKind V2, V1, V2),
              active U31(X1, X2, X3) -> U31(active X1, X2, X3),
            active U31(tt(), V1, V2) -> mark U32(isNatKind V1, V1, V2),
              active U33(X1, X2, X3) -> U33(active X1, X2, X3),
            active U33(tt(), V1, V2) -> mark U34(isNatKind V2, V1, V2),
              active U34(X1, X2, X3) -> U34(active X1, X2, X3),
            active U34(tt(), V1, V2) -> mark U35(isNat V1, V2),
                  active U35(X1, X2) -> U35(active X1, X2),
                active U35(tt(), V2) -> mark U36 isNat V2,
                        active U36 X -> U36 active X,
                     active U36 tt() -> mark tt(),
                        active U42 X -> U42 active X,
                     active U42 tt() -> mark tt(),
                  active U41(X1, X2) -> U41(active X1, X2),
                active U41(tt(), V2) -> mark U42 isNatKind V2,
                        active U51 X -> U51 active X,
                     active U51 tt() -> mark tt(),
                        active U62 X -> U62 active X,
                     active U62 tt() -> mark tt(),
                  active U61(X1, X2) -> U61(active X1, X2),
                active U61(tt(), V2) -> mark U62 isNatKind V2,
                  active U72(X1, X2) -> U72(active X1, X2),
                 active U72(tt(), N) -> mark N,
                  active U71(X1, X2) -> U71(active X1, X2),
                 active U71(tt(), N) -> mark U72(isNatKind N, N),
              active U82(X1, X2, X3) -> U82(active X1, X2, X3),
              active U82(tt(), M, N) -> mark U83(isNat N, M, N),
              active U81(X1, X2, X3) -> U81(active X1, X2, X3),
              active U81(tt(), M, N) -> mark U82(isNatKind M, M, N),
              active U83(X1, X2, X3) -> U83(active X1, X2, X3),
              active U83(tt(), M, N) -> mark U84(isNatKind N, M, N),
              active U84(X1, X2, X3) -> U84(active X1, X2, X3),
              active U84(tt(), M, N) -> mark s plus(N, M),
                          active s X -> s active X,
                        active U92 X -> U92 active X,
                     active U92 tt() -> mark 0(),
                  active U91(X1, X2) -> U91(active X1, X2),
                 active U91(tt(), N) -> mark U92 isNatKind N,
               U101(mark X1, X2, X3) -> mark U101(X1, X2, X3),
           U101(ok X1, ok X2, ok X3) -> ok U101(X1, X2, X3),
               U103(mark X1, X2, X3) -> mark U103(X1, X2, X3),
           U103(ok X1, ok X2, ok X3) -> ok U103(X1, X2, X3),
                          isNat ok X -> ok isNat X,
               U104(mark X1, X2, X3) -> mark U104(X1, X2, X3),
           U104(ok X1, ok X2, ok X3) -> ok U104(X1, X2, X3),
                   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),
                      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),
                U12(mark X1, X2, X3) -> mark U12(X1, X2, X3),
            U12(ok X1, ok X2, ok X3) -> ok U12(X1, X2, X3),
                U11(mark X1, X2, X3) -> mark U11(X1, X2, X3),
            U11(ok X1, ok X2, ok X3) -> ok U11(X1, X2, X3),
                U13(mark X1, X2, X3) -> mark U13(X1, X2, X3),
            U13(ok X1, ok X2, ok X3) -> ok U13(X1, X2, X3),
                U14(mark X1, X2, X3) -> mark U14(X1, X2, X3),
            U14(ok X1, ok X2, ok X3) -> ok U14(X1, X2, X3),
                    U15(mark X1, X2) -> mark U15(X1, X2),
                   U15(ok X1, ok X2) -> ok U15(X1, X2),
                          U16 mark X -> mark U16 X,
                            U16 ok X -> ok U16 X,
                    U22(mark X1, X2) -> mark U22(X1, X2),
                   U22(ok X1, ok X2) -> ok U22(X1, X2),
                    U21(mark X1, X2) -> mark U21(X1, X2),
                   U21(ok X1, ok X2) -> ok U21(X1, X2),
                          U23 mark X -> mark U23 X,
                            U23 ok X -> ok U23 X,
                U32(mark X1, X2, X3) -> mark U32(X1, X2, X3),
            U32(ok X1, ok X2, ok X3) -> ok U32(X1, X2, X3),
                U31(mark X1, X2, X3) -> mark U31(X1, X2, X3),
            U31(ok X1, ok X2, ok X3) -> ok U31(X1, X2, X3),
                U33(mark X1, X2, X3) -> mark U33(X1, X2, X3),
            U33(ok X1, ok X2, ok X3) -> ok U33(X1, X2, X3),
                U34(mark X1, X2, X3) -> mark U34(X1, X2, X3),
            U34(ok X1, ok X2, ok X3) -> ok U34(X1, X2, X3),
                    U35(mark X1, X2) -> mark U35(X1, X2),
                   U35(ok X1, ok X2) -> ok U35(X1, X2),
                          U36 mark X -> mark U36 X,
                            U36 ok X -> ok U36 X,
                          U42 mark X -> mark U42 X,
                            U42 ok X -> ok U42 X,
                    U41(mark X1, X2) -> mark U41(X1, X2),
                   U41(ok X1, ok X2) -> ok U41(X1, X2),
                          U51 mark X -> mark U51 X,
                            U51 ok X -> ok U51 X,
                          U62 mark X -> mark U62 X,
                            U62 ok X -> ok U62 X,
                    U61(mark X1, X2) -> mark U61(X1, X2),
                   U61(ok X1, ok X2) -> ok U61(X1, X2),
                    U72(mark X1, X2) -> mark U72(X1, X2),
                   U72(ok X1, ok X2) -> ok U72(X1, X2),
                    U71(mark X1, X2) -> mark U71(X1, X2),
                   U71(ok X1, ok X2) -> ok U71(X1, X2),
                U82(mark X1, X2, X3) -> mark U82(X1, X2, X3),
            U82(ok X1, ok X2, ok X3) -> ok U82(X1, X2, X3),
                U81(mark X1, X2, X3) -> mark U81(X1, X2, X3),
            U81(ok X1, ok X2, ok X3) -> ok U81(X1, X2, X3),
                U83(mark X1, X2, X3) -> mark U83(X1, X2, X3),
            U83(ok X1, ok X2, ok X3) -> ok U83(X1, X2, X3),
                U84(mark X1, X2, X3) -> mark U84(X1, X2, X3),
            U84(ok X1, ok X2, ok X3) -> ok U84(X1, X2, X3),
                            s mark X -> mark s X,
                              s ok X -> ok s X,
                          U92 mark X -> mark U92 X,
                            U92 ok X -> ok U92 X,
                    U91(mark X1, X2) -> mark U91(X1, X2),
                   U91(ok X1, ok X2) -> ok U91(X1, X2),
             proper U102(X1, X2, X3) -> U102(proper X1, proper X2, proper X3),
                  proper isNatKind X -> isNatKind proper X,
             proper U101(X1, X2, X3) -> U101(proper X1, proper X2, proper X3),
                         proper tt() -> ok tt(),
             proper U103(X1, X2, X3) -> U103(proper X1, proper X2, proper X3),
                      proper isNat X -> isNat proper X,
             proper U104(X1, X2, X3) -> U104(proper X1, proper X2, proper X3),
                 proper plus(X1, X2) -> plus(proper X1, proper X2),
                    proper x(X1, X2) -> x(proper X1, proper X2),
              proper U12(X1, X2, X3) -> U12(proper X1, proper X2, proper X3),
              proper U11(X1, X2, X3) -> U11(proper X1, proper X2, proper X3),
              proper U13(X1, X2, X3) -> U13(proper X1, proper X2, proper X3),
              proper U14(X1, X2, X3) -> U14(proper X1, proper X2, proper X3),
                  proper U15(X1, X2) -> U15(proper X1, proper X2),
                        proper U16 X -> U16 proper X,
                  proper U22(X1, X2) -> U22(proper X1, proper X2),
                  proper U21(X1, X2) -> U21(proper X1, proper X2),
                        proper U23 X -> U23 proper X,
              proper U32(X1, X2, X3) -> U32(proper X1, proper X2, proper X3),
              proper U31(X1, X2, X3) -> U31(proper X1, proper X2, proper X3),
              proper U33(X1, X2, X3) -> U33(proper X1, proper X2, proper X3),
              proper U34(X1, X2, X3) -> U34(proper X1, proper X2, proper X3),
                  proper U35(X1, X2) -> U35(proper X1, proper X2),
                        proper U36 X -> U36 proper X,
                        proper U42 X -> U42 proper X,
                  proper U41(X1, X2) -> U41(proper X1, proper X2),
                        proper U51 X -> U51 proper X,
                        proper U62 X -> U62 proper X,
                  proper U61(X1, X2) -> U61(proper X1, proper X2),
                  proper U72(X1, X2) -> U72(proper X1, proper X2),
                  proper U71(X1, X2) -> U71(proper X1, proper X2),
              proper U82(X1, X2, X3) -> U82(proper X1, proper X2, proper X3),
              proper U81(X1, X2, X3) -> U81(proper X1, proper X2, proper X3),
              proper U83(X1, X2, X3) -> U83(proper X1, proper X2, proper X3),
              proper U84(X1, X2, X3) -> U84(proper X1, proper X2, proper X3),
                          proper s X -> s proper X,
                        proper U92 X -> U92 proper X,
                  proper U91(X1, X2) -> U91(proper X1, proper X2),
                          proper 0() -> ok 0(),
                          top mark X -> top proper X,
                            top ok X -> top active X
      }
      Open
     SCC (1):
      Strict:
       {isNatKind# ok X -> isNatKind# X}
      Weak:
      {
               U102(mark X1, X2, X3) -> mark U102(X1, X2, X3),
           U102(ok X1, ok X2, ok X3) -> ok U102(X1, X2, X3),
                      isNatKind ok X -> ok isNatKind X,
             active U102(X1, X2, X3) -> U102(active X1, X2, X3),
             active U102(tt(), M, N) -> mark U103(isNat N, M, N),
       active isNatKind plus(V1, V2) -> mark U41(isNatKind V1, V2),
          active isNatKind x(V1, V2) -> mark U61(isNatKind V1, V2),
               active isNatKind s V1 -> mark U51 isNatKind V1,
                active isNatKind 0() -> mark tt(),
             active U101(X1, X2, X3) -> U101(active X1, X2, X3),
             active U101(tt(), M, N) -> mark U102(isNatKind M, M, N),
             active U103(X1, X2, X3) -> U103(active X1, X2, X3),
             active U103(tt(), M, N) -> mark U104(isNatKind N, M, N),
           active isNat plus(V1, V2) -> mark U11(isNatKind V1, V1, V2),
              active isNat x(V1, V2) -> mark U31(isNatKind V1, V1, V2),
                   active isNat s V1 -> mark U21(isNatKind V1, V1),
                    active isNat 0() -> mark tt(),
             active U104(X1, X2, X3) -> U104(active X1, X2, X3),
             active U104(tt(), M, N) -> mark plus(x(N, M), N),
                 active plus(N, s M) -> mark U81(isNat M, M, N),
                 active plus(N, 0()) -> mark U71(isNat N, N),
                 active plus(X1, X2) -> plus(X1, active X2),
                 active plus(X1, X2) -> plus(active X1, X2),
                    active x(N, s M) -> mark U101(isNat M, M, N),
                    active x(N, 0()) -> mark U91(isNat N, N),
                    active x(X1, X2) -> x(X1, active X2),
                    active x(X1, X2) -> x(active X1, X2),
              active U12(X1, X2, X3) -> U12(active X1, X2, X3),
            active U12(tt(), V1, V2) -> mark U13(isNatKind V2, V1, V2),
              active U11(X1, X2, X3) -> U11(active X1, X2, X3),
            active U11(tt(), V1, V2) -> mark U12(isNatKind V1, V1, V2),
              active U13(X1, X2, X3) -> U13(active X1, X2, X3),
            active U13(tt(), V1, V2) -> mark U14(isNatKind V2, V1, V2),
              active U14(X1, X2, X3) -> U14(active X1, X2, X3),
            active U14(tt(), V1, V2) -> mark U15(isNat V1, V2),
                  active U15(X1, X2) -> U15(active X1, X2),
                active U15(tt(), V2) -> mark U16 isNat V2,
                        active U16 X -> U16 active X,
                     active U16 tt() -> mark tt(),
                  active U22(X1, X2) -> U22(active X1, X2),
                active U22(tt(), V1) -> mark U23 isNat V1,
                  active U21(X1, X2) -> U21(active X1, X2),
                active U21(tt(), V1) -> mark U22(isNatKind V1, V1),
                        active U23 X -> U23 active X,
                     active U23 tt() -> mark tt(),
              active U32(X1, X2, X3) -> U32(active X1, X2, X3),
            active U32(tt(), V1, V2) -> mark U33(isNatKind V2, V1, V2),
              active U31(X1, X2, X3) -> U31(active X1, X2, X3),
            active U31(tt(), V1, V2) -> mark U32(isNatKind V1, V1, V2),
              active U33(X1, X2, X3) -> U33(active X1, X2, X3),
            active U33(tt(), V1, V2) -> mark U34(isNatKind V2, V1, V2),
              active U34(X1, X2, X3) -> U34(active X1, X2, X3),
            active U34(tt(), V1, V2) -> mark U35(isNat V1, V2),
                  active U35(X1, X2) -> U35(active X1, X2),
                active U35(tt(), V2) -> mark U36 isNat V2,
                        active U36 X -> U36 active X,
                     active U36 tt() -> mark tt(),
                        active U42 X -> U42 active X,
                     active U42 tt() -> mark tt(),
                  active U41(X1, X2) -> U41(active X1, X2),
                active U41(tt(), V2) -> mark U42 isNatKind V2,
                        active U51 X -> U51 active X,
                     active U51 tt() -> mark tt(),
                        active U62 X -> U62 active X,
                     active U62 tt() -> mark tt(),
                  active U61(X1, X2) -> U61(active X1, X2),
                active U61(tt(), V2) -> mark U62 isNatKind V2,
                  active U72(X1, X2) -> U72(active X1, X2),
                 active U72(tt(), N) -> mark N,
                  active U71(X1, X2) -> U71(active X1, X2),
                 active U71(tt(), N) -> mark U72(isNatKind N, N),
              active U82(X1, X2, X3) -> U82(active X1, X2, X3),
              active U82(tt(), M, N) -> mark U83(isNat N, M, N),
              active U81(X1, X2, X3) -> U81(active X1, X2, X3),
              active U81(tt(), M, N) -> mark U82(isNatKind M, M, N),
              active U83(X1, X2, X3) -> U83(active X1, X2, X3),
              active U83(tt(), M, N) -> mark U84(isNatKind N, M, N),
              active U84(X1, X2, X3) -> U84(active X1, X2, X3),
              active U84(tt(), M, N) -> mark s plus(N, M),
                          active s X -> s active X,
                        active U92 X -> U92 active X,
                     active U92 tt() -> mark 0(),
                  active U91(X1, X2) -> U91(active X1, X2),
                 active U91(tt(), N) -> mark U92 isNatKind N,
               U101(mark X1, X2, X3) -> mark U101(X1, X2, X3),
           U101(ok X1, ok X2, ok X3) -> ok U101(X1, X2, X3),
               U103(mark X1, X2, X3) -> mark U103(X1, X2, X3),
           U103(ok X1, ok X2, ok X3) -> ok U103(X1, X2, X3),
                          isNat ok X -> ok isNat X,
               U104(mark X1, X2, X3) -> mark U104(X1, X2, X3),
           U104(ok X1, ok X2, ok X3) -> ok U104(X1, X2, X3),
                   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),
                      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),
                U12(mark X1, X2, X3) -> mark U12(X1, X2, X3),
            U12(ok X1, ok X2, ok X3) -> ok U12(X1, X2, X3),
                U11(mark X1, X2, X3) -> mark U11(X1, X2, X3),
            U11(ok X1, ok X2, ok X3) -> ok U11(X1, X2, X3),
                U13(mark X1, X2, X3) -> mark U13(X1, X2, X3),
            U13(ok X1, ok X2, ok X3) -> ok U13(X1, X2, X3),
                U14(mark X1, X2, X3) -> mark U14(X1, X2, X3),
            U14(ok X1, ok X2, ok X3) -> ok U14(X1, X2, X3),
                    U15(mark X1, X2) -> mark U15(X1, X2),
                   U15(ok X1, ok X2) -> ok U15(X1, X2),
                          U16 mark X -> mark U16 X,
                            U16 ok X -> ok U16 X,
                    U22(mark X1, X2) -> mark U22(X1, X2),
                   U22(ok X1, ok X2) -> ok U22(X1, X2),
                    U21(mark X1, X2) -> mark U21(X1, X2),
                   U21(ok X1, ok X2) -> ok U21(X1, X2),
                          U23 mark X -> mark U23 X,
                            U23 ok X -> ok U23 X,
                U32(mark X1, X2, X3) -> mark U32(X1, X2, X3),
            U32(ok X1, ok X2, ok X3) -> ok U32(X1, X2, X3),
                U31(mark X1, X2, X3) -> mark U31(X1, X2, X3),
            U31(ok X1, ok X2, ok X3) -> ok U31(X1, X2, X3),
                U33(mark X1, X2, X3) -> mark U33(X1, X2, X3),
            U33(ok X1, ok X2, ok X3) -> ok U33(X1, X2, X3),
                U34(mark X1, X2, X3) -> mark U34(X1, X2, X3),
            U34(ok X1, ok X2, ok X3) -> ok U34(X1, X2, X3),
                    U35(mark X1, X2) -> mark U35(X1, X2),
                   U35(ok X1, ok X2) -> ok U35(X1, X2),
                          U36 mark X -> mark U36 X,
                            U36 ok X -> ok U36 X,
                          U42 mark X -> mark U42 X,
                            U42 ok X -> ok U42 X,
                    U41(mark X1, X2) -> mark U41(X1, X2),
                   U41(ok X1, ok X2) -> ok U41(X1, X2),
                          U51 mark X -> mark U51 X,
                            U51 ok X -> ok U51 X,
                          U62 mark X -> mark U62 X,
                            U62 ok X -> ok U62 X,
                    U61(mark X1, X2) -> mark U61(X1, X2),
                   U61(ok X1, ok X2) -> ok U61(X1, X2),
                    U72(mark X1, X2) -> mark U72(X1, X2),
                   U72(ok X1, ok X2) -> ok U72(X1, X2),
                    U71(mark X1, X2) -> mark U71(X1, X2),
                   U71(ok X1, ok X2) -> ok U71(X1, X2),
                U82(mark X1, X2, X3) -> mark U82(X1, X2, X3),
            U82(ok X1, ok X2, ok X3) -> ok U82(X1, X2, X3),
                U81(mark X1, X2, X3) -> mark U81(X1, X2, X3),
            U81(ok X1, ok X2, ok X3) -> ok U81(X1, X2, X3),
                U83(mark X1, X2, X3) -> mark U83(X1, X2, X3),
            U83(ok X1, ok X2, ok X3) -> ok U83(X1, X2, X3),
                U84(mark X1, X2, X3) -> mark U84(X1, X2, X3),
            U84(ok X1, ok X2, ok X3) -> ok U84(X1, X2, X3),
                            s mark X -> mark s X,
                              s ok X -> ok s X,
                          U92 mark X -> mark U92 X,
                            U92 ok X -> ok U92 X,
                    U91(mark X1, X2) -> mark U91(X1, X2),
                   U91(ok X1, ok X2) -> ok U91(X1, X2),
             proper U102(X1, X2, X3) -> U102(proper X1, proper X2, proper X3),
                  proper isNatKind X -> isNatKind proper X,
             proper U101(X1, X2, X3) -> U101(proper X1, proper X2, proper X3),
                         proper tt() -> ok tt(),
             proper U103(X1, X2, X3) -> U103(proper X1, proper X2, proper X3),
                      proper isNat X -> isNat proper X,
             proper U104(X1, X2, X3) -> U104(proper X1, proper X2, proper X3),
                 proper plus(X1, X2) -> plus(proper X1, proper X2),
                    proper x(X1, X2) -> x(proper X1, proper X2),
              proper U12(X1, X2, X3) -> U12(proper X1, proper X2, proper X3),
              proper U11(X1, X2, X3) -> U11(proper X1, proper X2, proper X3),
              proper U13(X1, X2, X3) -> U13(proper X1, proper X2, proper X3),
              proper U14(X1, X2, X3) -> U14(proper X1, proper X2, proper X3),
                  proper U15(X1, X2) -> U15(proper X1, proper X2),
                        proper U16 X -> U16 proper X,
                  proper U22(X1, X2) -> U22(proper X1, proper X2),
                  proper U21(X1, X2) -> U21(proper X1, proper X2),
                        proper U23 X -> U23 proper X,
              proper U32(X1, X2, X3) -> U32(proper X1, proper X2, proper X3),
              proper U31(X1, X2, X3) -> U31(proper X1, proper X2, proper X3),
              proper U33(X1, X2, X3) -> U33(proper X1, proper X2, proper X3),
              proper U34(X1, X2, X3) -> U34(proper X1, proper X2, proper X3),
                  proper U35(X1, X2) -> U35(proper X1, proper X2),
                        proper U36 X -> U36 proper X,
                        proper U42 X -> U42 proper X,
                  proper U41(X1, X2) -> U41(proper X1, proper X2),
                        proper U51 X -> U51 proper X,
                        proper U62 X -> U62 proper X,
                  proper U61(X1, X2) -> U61(proper X1, proper X2),
                  proper U72(X1, X2) -> U72(proper X1, proper X2),
                  proper U71(X1, X2) -> U71(proper X1, proper X2),
              proper U82(X1, X2, X3) -> U82(proper X1, proper X2, proper X3),
              proper U81(X1, X2, X3) -> U81(proper X1, proper X2, proper X3),
              proper U83(X1, X2, X3) -> U83(proper X1, proper X2, proper X3),
              proper U84(X1, X2, X3) -> U84(proper X1, proper X2, proper X3),
                          proper s X -> s proper X,
                        proper U92 X -> U92 proper X,
                  proper U91(X1, X2) -> U91(proper X1, proper X2),
                          proper 0() -> ok 0(),
                          top mark X -> top proper X,
                            top ok X -> top active X
      }
      Open