MAYBE Time: 0.747461 TRS: { U12(mark X1, X2) -> mark U12(X1, X2), U12(ok X1, ok X2) -> ok U12(X1, X2), isNat ok X -> ok isNat X, active U12(X1, X2) -> U12(active X1, X2), active U12(tt(), V2) -> mark U13 isNat V2, active isNat s V1 -> mark U21(isNatKind V1, V1), active isNat plus(V1, V2) -> mark U11(and(isNatKind V1, isNatKind V2), V1, V2), active isNat 0() -> mark tt(), active isNat x(V1, V2) -> mark U31(and(isNatKind V1, isNatKind V2), V1, V2), active U11(X1, X2, X3) -> U11(active X1, X2, X3), active U11(tt(), V1, V2) -> mark U12(isNat V1, V2), active U13 X -> U13 active X, active U13 tt() -> mark tt(), active U22 X -> U22 active X, active U22 tt() -> mark tt(), active U21(X1, X2) -> U21(active X1, X2), active U21(tt(), V1) -> mark U22 isNat V1, active U32(X1, X2) -> U32(active X1, X2), active U32(tt(), V2) -> mark U33 isNat V2, active U31(X1, X2, X3) -> U31(active X1, X2, X3), active U31(tt(), V1, V2) -> mark U32(isNat V1, V2), active U33 X -> U33 active X, active U33 tt() -> mark tt(), active U41(X1, X2) -> U41(active X1, X2), active U41(tt(), N) -> mark N, active s X -> s active X, active plus(N, s M) -> mark U51(and(and(isNat M, isNatKind M), and(isNat N, isNatKind N)), M, N), active plus(N, 0()) -> mark U41(and(isNat N, isNatKind N), N), active plus(X1, X2) -> plus(X1, active X2), active plus(X1, X2) -> plus(active X1, X2), active U51(X1, X2, X3) -> U51(active X1, X2, X3), active U51(tt(), M, N) -> mark s plus(N, M), active U61 X -> U61 active X, active U61 tt() -> mark 0(), active x(N, s M) -> mark U71(and(and(isNat M, isNatKind M), and(isNat N, isNatKind N)), M, N), active x(N, 0()) -> mark U61 and(isNat N, isNatKind N), active x(X1, X2) -> x(X1, active X2), active x(X1, X2) -> x(active X1, X2), active U71(X1, X2, X3) -> U71(active X1, X2, X3), active U71(tt(), M, N) -> mark plus(x(N, M), N), active and(X1, X2) -> and(active X1, X2), active and(tt(), X) -> mark X, active isNatKind s V1 -> mark isNatKind V1, active isNatKind plus(V1, V2) -> mark and(isNatKind V1, isNatKind V2), active isNatKind 0() -> mark tt(), active isNatKind x(V1, V2) -> mark and(isNatKind V1, isNatKind V2), U11(mark X1, X2, X3) -> mark U11(X1, X2, X3), U11(ok X1, ok X2, ok X3) -> ok U11(X1, X2, X3), U13 mark X -> mark U13 X, U13 ok X -> ok U13 X, U22 mark X -> mark U22 X, U22 ok X -> ok U22 X, U21(mark X1, X2) -> mark U21(X1, X2), U21(ok X1, ok X2) -> ok U21(X1, X2), U32(mark X1, X2) -> mark U32(X1, X2), U32(ok X1, ok X2) -> ok U32(X1, X2), U31(mark X1, X2, X3) -> mark U31(X1, X2, X3), U31(ok X1, ok X2, ok X3) -> ok U31(X1, X2, X3), U33 mark X -> mark U33 X, U33 ok X -> ok U33 X, U41(mark X1, X2) -> mark U41(X1, X2), U41(ok X1, ok X2) -> ok U41(X1, X2), s mark X -> mark s X, s ok X -> ok s X, plus(X1, mark X2) -> mark plus(X1, X2), plus(mark X1, X2) -> mark plus(X1, X2), plus(ok X1, ok X2) -> ok plus(X1, X2), U51(mark X1, X2, X3) -> mark U51(X1, X2, X3), U51(ok X1, ok X2, ok X3) -> ok U51(X1, X2, X3), U61 mark X -> mark U61 X, U61 ok X -> ok U61 X, x(X1, mark X2) -> mark x(X1, X2), x(mark X1, X2) -> mark x(X1, X2), x(ok X1, ok X2) -> ok x(X1, X2), U71(mark X1, X2, X3) -> mark U71(X1, X2, X3), U71(ok X1, ok X2, ok X3) -> ok U71(X1, X2, X3), and(mark X1, X2) -> mark and(X1, X2), and(ok X1, ok X2) -> ok and(X1, X2), isNatKind ok X -> ok isNatKind X, proper U12(X1, X2) -> U12(proper X1, proper X2), proper isNat X -> isNat proper X, proper U11(X1, X2, X3) -> U11(proper X1, proper X2, proper X3), proper tt() -> ok tt(), proper U13 X -> U13 proper X, proper U22 X -> U22 proper X, proper U21(X1, X2) -> U21(proper X1, proper X2), proper U32(X1, X2) -> U32(proper X1, proper X2), proper U31(X1, X2, X3) -> U31(proper X1, proper X2, proper X3), proper U33 X -> U33 proper X, proper U41(X1, X2) -> U41(proper X1, proper X2), proper s X -> s proper X, proper plus(X1, X2) -> plus(proper X1, proper X2), proper U51(X1, X2, X3) -> U51(proper X1, proper X2, proper X3), proper 0() -> ok 0(), proper U61 X -> U61 proper X, proper x(X1, X2) -> x(proper X1, proper X2), proper U71(X1, X2, X3) -> U71(proper X1, proper X2, proper X3), proper and(X1, X2) -> and(proper X1, proper X2), proper isNatKind X -> isNatKind proper X, top mark X -> top proper X, top ok X -> top active X} DP: DP: { U12#(mark X1, X2) -> U12#(X1, X2), U12#(ok X1, ok X2) -> U12#(X1, X2), isNat# ok X -> isNat# X, active# U12(X1, X2) -> U12#(active X1, X2), active# U12(X1, X2) -> active# X1, active# U12(tt(), V2) -> isNat# V2, active# U12(tt(), V2) -> U13# isNat V2, active# isNat s V1 -> U21#(isNatKind V1, V1), active# isNat s V1 -> isNatKind# V1, active# isNat plus(V1, V2) -> U11#(and(isNatKind V1, isNatKind V2), V1, V2), active# isNat plus(V1, V2) -> and#(isNatKind V1, isNatKind V2), active# isNat plus(V1, V2) -> isNatKind# V1, active# isNat plus(V1, V2) -> isNatKind# V2, active# isNat x(V1, V2) -> U31#(and(isNatKind V1, isNatKind V2), V1, V2), active# isNat x(V1, V2) -> and#(isNatKind V1, isNatKind V2), active# isNat x(V1, V2) -> isNatKind# V1, active# isNat x(V1, V2) -> isNatKind# V2, active# U11(X1, X2, X3) -> active# X1, active# U11(X1, X2, X3) -> U11#(active X1, X2, X3), active# U11(tt(), V1, V2) -> U12#(isNat V1, V2), active# U11(tt(), V1, V2) -> isNat# V1, active# U13 X -> active# X, active# U13 X -> U13# active X, active# U22 X -> active# X, active# U22 X -> U22# active X, active# U21(X1, X2) -> active# X1, active# U21(X1, X2) -> U21#(active X1, X2), active# U21(tt(), V1) -> isNat# V1, active# U21(tt(), V1) -> U22# isNat V1, active# U32(X1, X2) -> active# X1, active# U32(X1, X2) -> U32#(active X1, X2), active# U32(tt(), V2) -> isNat# V2, active# U32(tt(), V2) -> U33# isNat V2, active# U31(X1, X2, X3) -> active# X1, active# U31(X1, X2, X3) -> U31#(active X1, X2, X3), active# U31(tt(), V1, V2) -> isNat# V1, active# U31(tt(), V1, V2) -> U32#(isNat V1, V2), active# U33 X -> active# X, active# U33 X -> U33# active X, active# U41(X1, X2) -> active# X1, active# U41(X1, X2) -> U41#(active X1, X2), active# s X -> active# X, active# s X -> s# active X, active# plus(N, s M) -> isNat# N, active# plus(N, s M) -> isNat# M, active# plus(N, s M) -> U51#(and(and(isNat M, isNatKind M), and(isNat N, isNatKind N)), M, N), active# plus(N, s M) -> and#(isNat N, isNatKind N), active# plus(N, s M) -> and#(isNat M, isNatKind M), active# plus(N, s M) -> and#(and(isNat M, isNatKind M), and(isNat N, isNatKind N)), active# plus(N, s M) -> isNatKind# N, active# plus(N, s M) -> isNatKind# M, active# plus(N, 0()) -> isNat# N, active# plus(N, 0()) -> U41#(and(isNat N, isNatKind N), N), active# plus(N, 0()) -> and#(isNat N, isNatKind N), active# plus(N, 0()) -> isNatKind# N, active# plus(X1, X2) -> active# X1, active# plus(X1, X2) -> active# X2, active# plus(X1, X2) -> plus#(X1, active X2), active# plus(X1, X2) -> plus#(active X1, X2), active# U51(X1, X2, X3) -> active# X1, active# U51(X1, X2, X3) -> U51#(active X1, X2, X3), active# U51(tt(), M, N) -> s# plus(N, M), active# U51(tt(), M, N) -> plus#(N, M), active# U61 X -> active# X, active# U61 X -> U61# active X, active# x(N, s M) -> isNat# N, active# x(N, s M) -> isNat# M, active# x(N, s M) -> U71#(and(and(isNat M, isNatKind M), and(isNat N, isNatKind N)), M, N), active# x(N, s M) -> and#(isNat N, isNatKind N), active# x(N, s M) -> and#(isNat M, isNatKind M), active# x(N, s M) -> and#(and(isNat M, isNatKind M), and(isNat N, isNatKind N)), active# x(N, s M) -> isNatKind# N, active# x(N, s M) -> isNatKind# M, active# x(N, 0()) -> isNat# N, active# x(N, 0()) -> U61# and(isNat N, isNatKind N), active# x(N, 0()) -> and#(isNat N, isNatKind N), active# x(N, 0()) -> isNatKind# N, active# x(X1, X2) -> active# X1, active# x(X1, X2) -> active# X2, active# x(X1, X2) -> x#(X1, active X2), active# x(X1, X2) -> x#(active X1, X2), active# U71(X1, X2, X3) -> active# X1, active# U71(X1, X2, X3) -> U71#(active X1, X2, X3), active# U71(tt(), M, N) -> plus#(x(N, M), N), active# U71(tt(), M, N) -> x#(N, M), active# and(X1, X2) -> active# X1, active# and(X1, X2) -> and#(active X1, X2), active# isNatKind s V1 -> isNatKind# V1, active# isNatKind plus(V1, V2) -> and#(isNatKind V1, isNatKind V2), active# isNatKind plus(V1, V2) -> isNatKind# V1, active# isNatKind plus(V1, V2) -> isNatKind# V2, active# isNatKind x(V1, V2) -> and#(isNatKind V1, isNatKind V2), active# isNatKind x(V1, V2) -> isNatKind# V1, active# isNatKind x(V1, V2) -> isNatKind# V2, U11#(mark X1, X2, X3) -> U11#(X1, X2, X3), U11#(ok X1, ok X2, ok X3) -> U11#(X1, X2, X3), U13# mark X -> U13# X, U13# ok X -> U13# X, U22# mark X -> U22# X, U22# ok X -> U22# X, U21#(mark X1, X2) -> U21#(X1, X2), U21#(ok X1, ok X2) -> U21#(X1, X2), U32#(mark X1, X2) -> U32#(X1, X2), U32#(ok X1, ok X2) -> U32#(X1, X2), U31#(mark X1, X2, X3) -> U31#(X1, X2, X3), U31#(ok X1, ok X2, ok X3) -> U31#(X1, X2, X3), U33# mark X -> U33# X, U33# ok X -> U33# X, U41#(mark X1, X2) -> U41#(X1, X2), U41#(ok X1, ok X2) -> U41#(X1, X2), s# mark X -> s# X, s# ok X -> s# X, plus#(X1, mark X2) -> plus#(X1, X2), plus#(mark X1, X2) -> plus#(X1, X2), plus#(ok X1, ok X2) -> plus#(X1, X2), U51#(mark X1, X2, X3) -> U51#(X1, X2, X3), U51#(ok X1, ok X2, ok X3) -> U51#(X1, X2, X3), U61# mark X -> U61# X, U61# ok X -> U61# X, x#(X1, mark X2) -> x#(X1, X2), x#(mark X1, X2) -> x#(X1, X2), x#(ok X1, ok X2) -> x#(X1, X2), U71#(mark X1, X2, X3) -> U71#(X1, X2, X3), U71#(ok X1, ok X2, ok X3) -> U71#(X1, X2, X3), and#(mark X1, X2) -> and#(X1, X2), and#(ok X1, ok X2) -> and#(X1, X2), isNatKind# ok X -> isNatKind# X, proper# U12(X1, X2) -> U12#(proper X1, proper X2), proper# U12(X1, X2) -> proper# X1, proper# U12(X1, X2) -> proper# X2, proper# isNat X -> isNat# proper X, proper# isNat X -> proper# X, proper# U11(X1, X2, X3) -> U11#(proper X1, proper X2, proper X3), proper# U11(X1, X2, X3) -> proper# X1, proper# U11(X1, X2, X3) -> proper# X2, proper# U11(X1, X2, X3) -> proper# X3, proper# U13 X -> U13# proper X, proper# U13 X -> proper# X, proper# U22 X -> U22# proper X, proper# U22 X -> proper# X, proper# U21(X1, X2) -> U21#(proper X1, proper X2), proper# U21(X1, X2) -> proper# X1, proper# U21(X1, X2) -> proper# X2, proper# U32(X1, X2) -> U32#(proper X1, proper X2), proper# U32(X1, X2) -> proper# X1, proper# U32(X1, X2) -> proper# X2, proper# U31(X1, X2, X3) -> U31#(proper X1, proper X2, proper X3), proper# U31(X1, X2, X3) -> proper# X1, proper# U31(X1, X2, X3) -> proper# X2, proper# U31(X1, X2, X3) -> proper# X3, proper# U33 X -> U33# proper X, proper# U33 X -> proper# X, proper# U41(X1, X2) -> U41#(proper X1, proper X2), proper# U41(X1, X2) -> proper# X1, proper# U41(X1, X2) -> proper# X2, proper# s X -> s# proper X, proper# s X -> proper# X, proper# plus(X1, X2) -> plus#(proper X1, proper X2), proper# plus(X1, X2) -> proper# X1, proper# plus(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3), proper# U51(X1, X2, X3) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X3, proper# U61 X -> U61# proper X, proper# U61 X -> proper# X, proper# x(X1, X2) -> x#(proper X1, proper X2), proper# x(X1, X2) -> proper# X1, proper# x(X1, X2) -> proper# X2, proper# U71(X1, X2, X3) -> U71#(proper X1, proper X2, proper X3), proper# U71(X1, X2, X3) -> proper# X1, proper# U71(X1, X2, X3) -> proper# X2, proper# U71(X1, X2, X3) -> proper# X3, proper# and(X1, X2) -> and#(proper X1, proper X2), proper# and(X1, X2) -> proper# X1, proper# and(X1, X2) -> proper# X2, proper# isNatKind X -> isNatKind# proper X, proper# isNatKind X -> proper# X, top# mark X -> proper# X, top# mark X -> top# proper X, top# ok X -> active# X, top# ok X -> top# active X} TRS: { U12(mark X1, X2) -> mark U12(X1, X2), U12(ok X1, ok X2) -> ok U12(X1, X2), isNat ok X -> ok isNat X, active U12(X1, X2) -> U12(active X1, X2), active U12(tt(), V2) -> mark U13 isNat V2, active isNat s V1 -> mark U21(isNatKind V1, V1), active isNat plus(V1, V2) -> mark U11(and(isNatKind V1, isNatKind V2), V1, V2), active isNat 0() -> mark tt(), active isNat x(V1, V2) -> mark U31(and(isNatKind V1, isNatKind V2), V1, V2), active U11(X1, X2, X3) -> U11(active X1, X2, X3), active U11(tt(), V1, V2) -> mark U12(isNat V1, V2), active U13 X -> U13 active X, active U13 tt() -> mark tt(), active U22 X -> U22 active X, active U22 tt() -> mark tt(), active U21(X1, X2) -> U21(active X1, X2), active U21(tt(), V1) -> mark U22 isNat V1, active U32(X1, X2) -> U32(active X1, X2), active U32(tt(), V2) -> mark U33 isNat V2, active U31(X1, X2, X3) -> U31(active X1, X2, X3), active U31(tt(), V1, V2) -> mark U32(isNat V1, V2), active U33 X -> U33 active X, active U33 tt() -> mark tt(), active U41(X1, X2) -> U41(active X1, X2), active U41(tt(), N) -> mark N, active s X -> s active X, active plus(N, s M) -> mark U51(and(and(isNat M, isNatKind M), and(isNat N, isNatKind N)), M, N), active plus(N, 0()) -> mark U41(and(isNat N, isNatKind N), N), active plus(X1, X2) -> plus(X1, active X2), active plus(X1, X2) -> plus(active X1, X2), active U51(X1, X2, X3) -> U51(active X1, X2, X3), active U51(tt(), M, N) -> mark s plus(N, M), active U61 X -> U61 active X, active U61 tt() -> mark 0(), active x(N, s M) -> mark U71(and(and(isNat M, isNatKind M), and(isNat N, isNatKind N)), M, N), active x(N, 0()) -> mark U61 and(isNat N, isNatKind N), active x(X1, X2) -> x(X1, active X2), active x(X1, X2) -> x(active X1, X2), active U71(X1, X2, X3) -> U71(active X1, X2, X3), active U71(tt(), M, N) -> mark plus(x(N, M), N), active and(X1, X2) -> and(active X1, X2), active and(tt(), X) -> mark X, active isNatKind s V1 -> mark isNatKind V1, active isNatKind plus(V1, V2) -> mark and(isNatKind V1, isNatKind V2), active isNatKind 0() -> mark tt(), active isNatKind x(V1, V2) -> mark and(isNatKind V1, isNatKind V2), U11(mark X1, X2, X3) -> mark U11(X1, X2, X3), U11(ok X1, ok X2, ok X3) -> ok U11(X1, X2, X3), U13 mark X -> mark U13 X, U13 ok X -> ok U13 X, U22 mark X -> mark U22 X, U22 ok X -> ok U22 X, U21(mark X1, X2) -> mark U21(X1, X2), U21(ok X1, ok X2) -> ok U21(X1, X2), U32(mark X1, X2) -> mark U32(X1, X2), U32(ok X1, ok X2) -> ok U32(X1, X2), U31(mark X1, X2, X3) -> mark U31(X1, X2, X3), U31(ok X1, ok X2, ok X3) -> ok U31(X1, X2, X3), U33 mark X -> mark U33 X, U33 ok X -> ok U33 X, U41(mark X1, X2) -> mark U41(X1, X2), U41(ok X1, ok X2) -> ok U41(X1, X2), s mark X -> mark s X, s ok X -> ok s X, plus(X1, mark X2) -> mark plus(X1, X2), plus(mark X1, X2) -> mark plus(X1, X2), plus(ok X1, ok X2) -> ok plus(X1, X2), U51(mark X1, X2, X3) -> mark U51(X1, X2, X3), U51(ok X1, ok X2, ok X3) -> ok U51(X1, X2, X3), U61 mark X -> mark U61 X, U61 ok X -> ok U61 X, x(X1, mark X2) -> mark x(X1, X2), x(mark X1, X2) -> mark x(X1, X2), x(ok X1, ok X2) -> ok x(X1, X2), U71(mark X1, X2, X3) -> mark U71(X1, X2, X3), U71(ok X1, ok X2, ok X3) -> ok U71(X1, X2, X3), and(mark X1, X2) -> mark and(X1, X2), and(ok X1, ok X2) -> ok and(X1, X2), isNatKind ok X -> ok isNatKind X, proper U12(X1, X2) -> U12(proper X1, proper X2), proper isNat X -> isNat proper X, proper U11(X1, X2, X3) -> U11(proper X1, proper X2, proper X3), proper tt() -> ok tt(), proper U13 X -> U13 proper X, proper U22 X -> U22 proper X, proper U21(X1, X2) -> U21(proper X1, proper X2), proper U32(X1, X2) -> U32(proper X1, proper X2), proper U31(X1, X2, X3) -> U31(proper X1, proper X2, proper X3), proper U33 X -> U33 proper X, proper U41(X1, X2) -> U41(proper X1, proper X2), proper s X -> s proper X, proper plus(X1, X2) -> plus(proper X1, proper X2), proper U51(X1, X2, X3) -> U51(proper X1, proper X2, proper X3), proper 0() -> ok 0(), proper U61 X -> U61 proper X, proper x(X1, X2) -> x(proper X1, proper X2), proper U71(X1, X2, X3) -> U71(proper X1, proper X2, proper X3), proper and(X1, X2) -> and(proper X1, proper X2), proper isNatKind X -> isNatKind proper X, top mark X -> top proper X, top ok X -> top active X} UR: { U12(mark X1, X2) -> mark U12(X1, X2), U12(ok X1, ok X2) -> ok U12(X1, X2), isNat ok X -> ok isNat X, active U12(X1, X2) -> U12(active X1, X2), active U12(tt(), V2) -> mark U13 isNat V2, active isNat s V1 -> mark U21(isNatKind V1, V1), active isNat plus(V1, V2) -> mark U11(and(isNatKind V1, isNatKind V2), V1, V2), active isNat 0() -> mark tt(), active isNat x(V1, V2) -> mark U31(and(isNatKind V1, isNatKind V2), V1, V2), active U11(X1, X2, X3) -> U11(active X1, X2, X3), active U11(tt(), V1, V2) -> mark U12(isNat V1, V2), active U13 X -> U13 active X, active U13 tt() -> mark tt(), active U22 X -> U22 active X, active U22 tt() -> mark tt(), active U21(X1, X2) -> U21(active X1, X2), active U21(tt(), V1) -> mark U22 isNat V1, active U32(X1, X2) -> U32(active X1, X2), active U32(tt(), V2) -> mark U33 isNat V2, active U31(X1, X2, X3) -> U31(active X1, X2, X3), active U31(tt(), V1, V2) -> mark U32(isNat V1, V2), active U33 X -> U33 active X, active U33 tt() -> mark tt(), active U41(X1, X2) -> U41(active X1, X2), active U41(tt(), N) -> mark N, active s X -> s active X, active plus(N, s M) -> mark U51(and(and(isNat M, isNatKind M), and(isNat N, isNatKind N)), M, N), active plus(N, 0()) -> mark U41(and(isNat N, isNatKind N), N), active plus(X1, X2) -> plus(X1, active X2), active plus(X1, X2) -> plus(active X1, X2), active U51(X1, X2, X3) -> U51(active X1, X2, X3), active U51(tt(), M, N) -> mark s plus(N, M), active U61 X -> U61 active X, active U61 tt() -> mark 0(), active x(N, s M) -> mark U71(and(and(isNat M, isNatKind M), and(isNat N, isNatKind N)), M, N), active x(N, 0()) -> mark U61 and(isNat N, isNatKind N), active x(X1, X2) -> x(X1, active X2), active x(X1, X2) -> x(active X1, X2), active U71(X1, X2, X3) -> U71(active X1, X2, X3), active U71(tt(), M, N) -> mark plus(x(N, M), N), active and(X1, X2) -> and(active X1, X2), active and(tt(), X) -> mark X, active isNatKind s V1 -> mark isNatKind V1, active isNatKind plus(V1, V2) -> mark and(isNatKind V1, isNatKind V2), active isNatKind 0() -> mark tt(), active isNatKind x(V1, V2) -> mark and(isNatKind V1, isNatKind V2), U11(mark X1, X2, X3) -> mark U11(X1, X2, X3), U11(ok X1, ok X2, ok X3) -> ok U11(X1, X2, X3), U13 mark X -> mark U13 X, U13 ok X -> ok U13 X, U22 mark X -> mark U22 X, U22 ok X -> ok U22 X, U21(mark X1, X2) -> mark U21(X1, X2), U21(ok X1, ok X2) -> ok U21(X1, X2), U32(mark X1, X2) -> mark U32(X1, X2), U32(ok X1, ok X2) -> ok U32(X1, X2), U31(mark X1, X2, X3) -> mark U31(X1, X2, X3), U31(ok X1, ok X2, ok X3) -> ok U31(X1, X2, X3), U33 mark X -> mark U33 X, U33 ok X -> ok U33 X, U41(mark X1, X2) -> mark U41(X1, X2), U41(ok X1, ok X2) -> ok U41(X1, X2), s mark X -> mark s X, s ok X -> ok s X, plus(X1, mark X2) -> mark plus(X1, X2), plus(mark X1, X2) -> mark plus(X1, X2), plus(ok X1, ok X2) -> ok plus(X1, X2), U51(mark X1, X2, X3) -> mark U51(X1, X2, X3), U51(ok X1, ok X2, ok X3) -> ok U51(X1, X2, X3), U61 mark X -> mark U61 X, U61 ok X -> ok U61 X, x(X1, mark X2) -> mark x(X1, X2), x(mark X1, X2) -> mark x(X1, X2), x(ok X1, ok X2) -> ok x(X1, X2), U71(mark X1, X2, X3) -> mark U71(X1, X2, X3), U71(ok X1, ok X2, ok X3) -> ok U71(X1, X2, X3), and(mark X1, X2) -> mark and(X1, X2), and(ok X1, ok X2) -> ok and(X1, X2), isNatKind ok X -> ok isNatKind X, proper U12(X1, X2) -> U12(proper X1, proper X2), proper isNat X -> isNat proper X, proper U11(X1, X2, X3) -> U11(proper X1, proper X2, proper X3), proper tt() -> ok tt(), proper U13 X -> U13 proper X, proper U22 X -> U22 proper X, proper U21(X1, X2) -> U21(proper X1, proper X2), proper U32(X1, X2) -> U32(proper X1, proper X2), proper U31(X1, X2, X3) -> U31(proper X1, proper X2, proper X3), proper U33 X -> U33 proper X, proper U41(X1, X2) -> U41(proper X1, proper X2), proper s X -> s proper X, proper plus(X1, X2) -> plus(proper X1, proper X2), proper U51(X1, X2, X3) -> U51(proper X1, proper X2, proper X3), proper 0() -> ok 0(), proper U61 X -> U61 proper X, proper x(X1, X2) -> x(proper X1, proper X2), proper U71(X1, X2, X3) -> U71(proper X1, proper X2, proper X3), proper and(X1, X2) -> and(proper X1, proper X2), proper isNatKind X -> isNatKind proper X, a(x, y) -> x, a(x, y) -> y} EDG: { (active# U11(X1, X2, X3) -> active# X1, active# isNatKind x(V1, V2) -> isNatKind# V2) (active# U11(X1, X2, X3) -> active# X1, active# isNatKind x(V1, V2) -> isNatKind# V1) (active# U11(X1, X2, X3) -> active# X1, active# isNatKind x(V1, V2) -> and#(isNatKind V1, isNatKind V2)) (active# U11(X1, X2, X3) -> active# X1, active# isNatKind plus(V1, V2) -> isNatKind# V2) (active# U11(X1, X2, X3) -> active# X1, active# isNatKind plus(V1, V2) -> isNatKind# V1) (active# U11(X1, X2, X3) -> active# X1, active# isNatKind plus(V1, V2) -> and#(isNatKind V1, isNatKind V2)) (active# U11(X1, X2, X3) -> active# X1, active# isNatKind s V1 -> isNatKind# V1) (active# U11(X1, X2, X3) -> active# X1, active# and(X1, X2) -> and#(active X1, X2)) (active# U11(X1, X2, X3) -> active# X1, active# and(X1, X2) -> active# X1) (active# U11(X1, X2, X3) -> active# X1, active# U71(tt(), M, N) -> x#(N, M)) (active# U11(X1, X2, X3) -> active# X1, active# U71(tt(), M, N) -> plus#(x(N, M), N)) (active# U11(X1, X2, X3) -> active# X1, active# U71(X1, X2, X3) -> U71#(active X1, X2, X3)) (active# U11(X1, X2, X3) -> active# X1, active# U71(X1, X2, X3) -> active# X1) (active# U11(X1, X2, X3) -> active# X1, active# x(X1, X2) -> x#(active X1, 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) -> active# X2) (active# U11(X1, X2, X3) -> active# X1, active# x(X1, X2) -> active# X1) (active# U11(X1, X2, X3) -> active# X1, active# x(N, 0()) -> isNatKind# N) (active# U11(X1, X2, X3) -> active# X1, active# x(N, 0()) -> and#(isNat N, isNatKind N)) (active# U11(X1, X2, X3) -> active# X1, active# x(N, 0()) -> U61# and(isNat N, isNatKind N)) (active# U11(X1, X2, X3) -> active# X1, active# x(N, 0()) -> isNat# N) (active# U11(X1, X2, X3) -> active# X1, active# x(N, s M) -> isNatKind# M) (active# U11(X1, X2, X3) -> active# X1, active# x(N, s M) -> isNatKind# N) (active# U11(X1, X2, X3) -> active# X1, active# x(N, s M) -> and#(and(isNat M, isNatKind M), and(isNat N, isNatKind N))) (active# U11(X1, X2, X3) -> active# X1, active# x(N, s M) -> and#(isNat M, isNatKind M)) (active# U11(X1, X2, X3) -> active# X1, active# x(N, s M) -> and#(isNat N, isNatKind N)) (active# U11(X1, X2, X3) -> active# X1, active# x(N, s M) -> U71#(and(and(isNat M, isNatKind M), and(isNat N, isNatKind N)), M, N)) (active# U11(X1, X2, X3) -> active# X1, active# x(N, s M) -> isNat# M) (active# U11(X1, X2, X3) -> active# X1, active# x(N, s M) -> isNat# N) (active# U11(X1, X2, X3) -> active# X1, active# U61 X -> U61# active X) (active# U11(X1, X2, X3) -> active# X1, active# U61 X -> active# X) (active# U11(X1, X2, X3) -> active# X1, active# U51(tt(), M, N) -> plus#(N, M)) (active# U11(X1, X2, X3) -> active# X1, active# U51(tt(), M, N) -> s# plus(N, M)) (active# U11(X1, X2, X3) -> active# X1, active# U51(X1, X2, X3) -> U51#(active X1, X2, X3)) (active# U11(X1, X2, X3) -> active# X1, active# U51(X1, X2, X3) -> active# X1) (active# U11(X1, X2, X3) -> active# X1, active# plus(X1, X2) -> plus#(active X1, 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) -> active# X2) (active# U11(X1, X2, X3) -> active# X1, active# plus(X1, X2) -> active# X1) (active# U11(X1, X2, X3) -> active# X1, active# plus(N, 0()) -> isNatKind# N) (active# U11(X1, X2, X3) -> active# X1, active# plus(N, 0()) -> and#(isNat N, isNatKind N)) (active# U11(X1, X2, X3) -> active# X1, active# plus(N, 0()) -> U41#(and(isNat N, isNatKind N), N)) (active# U11(X1, X2, X3) -> active# X1, active# plus(N, 0()) -> isNat# N) (active# U11(X1, X2, X3) -> active# X1, active# plus(N, s M) -> isNatKind# M) (active# U11(X1, X2, X3) -> active# X1, active# plus(N, s M) -> isNatKind# N) (active# U11(X1, X2, X3) -> active# X1, active# plus(N, s M) -> and#(and(isNat M, isNatKind M), and(isNat N, isNatKind N))) (active# U11(X1, X2, X3) -> active# X1, active# plus(N, s M) -> and#(isNat M, isNatKind M)) (active# U11(X1, X2, X3) -> active# X1, active# plus(N, s M) -> and#(isNat N, isNatKind N)) (active# U11(X1, X2, X3) -> active# X1, active# plus(N, s M) -> U51#(and(and(isNat M, isNatKind M), and(isNat N, isNatKind N)), M, N)) (active# U11(X1, X2, X3) -> active# X1, active# plus(N, s M) -> isNat# M) (active# U11(X1, X2, X3) -> active# X1, active# plus(N, s M) -> isNat# N) (active# U11(X1, X2, X3) -> active# X1, active# s X -> s# active X) (active# U11(X1, X2, X3) -> active# X1, active# s X -> active# X) (active# U11(X1, X2, X3) -> active# X1, active# U41(X1, X2) -> U41#(active X1, X2)) (active# U11(X1, X2, X3) -> active# X1, active# U41(X1, X2) -> active# X1) (active# U11(X1, X2, X3) -> active# X1, active# U33 X -> U33# active X) (active# U11(X1, X2, X3) -> active# X1, active# U33 X -> active# X) (active# U11(X1, X2, X3) -> active# X1, active# U31(tt(), V1, V2) -> U32#(isNat V1, V2)) (active# U11(X1, X2, X3) -> active# X1, active# U31(tt(), V1, V2) -> isNat# V1) (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(X1, X2, X3) -> active# X1) (active# U11(X1, X2, X3) -> active# X1, active# U32(tt(), V2) -> U33# isNat V2) (active# U11(X1, X2, X3) -> active# X1, active# U32(tt(), V2) -> isNat# V2) (active# U11(X1, X2, X3) -> active# X1, active# U32(X1, X2) -> U32#(active X1, X2)) (active# U11(X1, X2, X3) -> active# X1, active# U32(X1, X2) -> active# X1) (active# U11(X1, X2, X3) -> active# X1, active# U21(tt(), V1) -> U22# isNat V1) (active# U11(X1, X2, X3) -> active# X1, active# U21(tt(), V1) -> isNat# V1) (active# U11(X1, X2, X3) -> active# X1, active# U21(X1, X2) -> U21#(active X1, X2)) (active# U11(X1, X2, X3) -> active# X1, active# U21(X1, X2) -> active# X1) (active# U11(X1, X2, X3) -> active# X1, active# U22 X -> U22# active X) (active# U11(X1, X2, X3) -> active# X1, active# U22 X -> active# X) (active# U11(X1, X2, X3) -> active# X1, active# U13 X -> U13# active X) (active# U11(X1, X2, X3) -> active# X1, active# U13 X -> active# X) (active# U11(X1, X2, X3) -> active# X1, active# U11(tt(), V1, V2) -> isNat# V1) (active# U11(X1, X2, X3) -> active# X1, active# U11(tt(), V1, V2) -> U12#(isNat V1, V2)) (active# U11(X1, X2, X3) -> active# X1, active# U11(X1, X2, X3) -> U11#(active X1, X2, X3)) (active# U11(X1, X2, X3) -> active# X1, active# U11(X1, X2, X3) -> active# X1) (active# U11(X1, X2, X3) -> active# X1, active# isNat x(V1, V2) -> isNatKind# V2) (active# U11(X1, X2, X3) -> active# X1, active# isNat x(V1, V2) -> isNatKind# V1) (active# U11(X1, X2, X3) -> active# X1, active# isNat x(V1, V2) -> and#(isNatKind V1, isNatKind V2)) (active# U11(X1, X2, X3) -> active# X1, active# isNat x(V1, V2) -> U31#(and(isNatKind V1, isNatKind V2), V1, V2)) (active# U11(X1, X2, X3) -> active# X1, active# isNat plus(V1, V2) -> isNatKind# V2) (active# U11(X1, X2, X3) -> active# X1, active# isNat plus(V1, V2) -> isNatKind# V1) (active# U11(X1, X2, X3) -> active# X1, active# isNat plus(V1, V2) -> and#(isNatKind V1, isNatKind V2)) (active# U11(X1, X2, X3) -> active# X1, active# isNat plus(V1, V2) -> U11#(and(isNatKind V1, isNatKind V2), V1, V2)) (active# U11(X1, X2, X3) -> active# X1, active# isNat 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# U12(tt(), V2) -> U13# isNat V2) (active# U11(X1, X2, X3) -> active# X1, active# U12(tt(), V2) -> isNat# V2) (active# U11(X1, X2, X3) -> active# X1, active# U12(X1, X2) -> active# X1) (active# U11(X1, X2, X3) -> active# X1, active# U12(X1, X2) -> U12#(active X1, X2)) (active# U32(X1, X2) -> active# X1, active# isNatKind x(V1, V2) -> isNatKind# V2) (active# U32(X1, X2) -> active# X1, active# isNatKind x(V1, V2) -> isNatKind# V1) (active# U32(X1, X2) -> active# X1, active# isNatKind x(V1, V2) -> and#(isNatKind V1, isNatKind V2)) (active# U32(X1, X2) -> active# X1, active# isNatKind plus(V1, V2) -> isNatKind# V2) (active# U32(X1, X2) -> active# X1, active# isNatKind plus(V1, V2) -> isNatKind# V1) (active# U32(X1, X2) -> active# X1, active# isNatKind plus(V1, V2) -> and#(isNatKind V1, isNatKind V2)) (active# U32(X1, X2) -> active# X1, active# isNatKind s V1 -> isNatKind# V1) (active# U32(X1, X2) -> active# X1, active# and(X1, X2) -> and#(active X1, X2)) (active# U32(X1, X2) -> active# X1, active# and(X1, X2) -> active# X1) (active# U32(X1, X2) -> active# X1, active# U71(tt(), M, N) -> x#(N, M)) (active# U32(X1, X2) -> active# X1, active# U71(tt(), M, N) -> plus#(x(N, M), N)) (active# U32(X1, X2) -> active# X1, active# U71(X1, X2, X3) -> U71#(active X1, X2, X3)) (active# U32(X1, X2) -> active# X1, active# U71(X1, X2, X3) -> active# X1) (active# U32(X1, X2) -> active# X1, active# x(X1, X2) -> x#(active X1, X2)) (active# U32(X1, X2) -> active# X1, active# x(X1, X2) -> x#(X1, active X2)) (active# U32(X1, X2) -> active# X1, active# x(X1, X2) -> active# X2) (active# U32(X1, X2) -> active# X1, active# x(X1, X2) -> active# X1) (active# U32(X1, X2) -> active# X1, active# x(N, 0()) -> isNatKind# N) (active# U32(X1, X2) -> active# X1, active# x(N, 0()) -> and#(isNat N, isNatKind N)) (active# U32(X1, X2) -> active# X1, active# x(N, 0()) -> U61# and(isNat N, isNatKind N)) (active# U32(X1, X2) -> active# X1, active# x(N, 0()) -> isNat# N) (active# U32(X1, X2) -> active# X1, active# x(N, s M) -> isNatKind# M) (active# U32(X1, X2) -> active# X1, active# x(N, s M) -> isNatKind# N) (active# U32(X1, X2) -> active# X1, active# x(N, s M) -> and#(and(isNat M, isNatKind M), and(isNat N, isNatKind N))) (active# U32(X1, X2) -> active# X1, active# x(N, s M) -> and#(isNat M, isNatKind M)) (active# U32(X1, X2) -> active# X1, active# x(N, s M) -> and#(isNat N, isNatKind N)) (active# U32(X1, X2) -> active# X1, active# x(N, s M) -> U71#(and(and(isNat M, isNatKind M), and(isNat N, isNatKind N)), M, N)) (active# U32(X1, X2) -> active# X1, active# x(N, s M) -> isNat# M) (active# U32(X1, X2) -> active# X1, active# x(N, s M) -> isNat# N) (active# U32(X1, X2) -> active# X1, active# U61 X -> U61# active X) (active# U32(X1, X2) -> active# X1, active# U61 X -> active# X) (active# U32(X1, X2) -> active# X1, active# U51(tt(), M, N) -> plus#(N, M)) (active# U32(X1, X2) -> active# X1, active# U51(tt(), M, N) -> s# plus(N, M)) (active# U32(X1, X2) -> active# X1, active# U51(X1, X2, X3) -> U51#(active X1, X2, X3)) (active# U32(X1, X2) -> active# X1, active# U51(X1, X2, X3) -> active# X1) (active# U32(X1, X2) -> active# X1, active# plus(X1, X2) -> plus#(active X1, X2)) (active# U32(X1, X2) -> active# X1, active# plus(X1, X2) -> plus#(X1, active X2)) (active# U32(X1, X2) -> active# X1, active# plus(X1, X2) -> active# X2) (active# U32(X1, X2) -> active# X1, active# plus(X1, X2) -> active# X1) (active# U32(X1, X2) -> active# X1, active# plus(N, 0()) -> isNatKind# N) (active# U32(X1, X2) -> active# X1, active# plus(N, 0()) -> and#(isNat N, isNatKind N)) (active# U32(X1, X2) -> active# X1, active# plus(N, 0()) -> U41#(and(isNat N, isNatKind N), N)) (active# U32(X1, X2) -> active# X1, active# plus(N, 0()) -> isNat# N) (active# U32(X1, X2) -> active# X1, active# plus(N, s M) -> isNatKind# M) (active# U32(X1, X2) -> active# X1, active# plus(N, s M) -> isNatKind# N) (active# U32(X1, X2) -> active# X1, active# plus(N, s M) -> and#(and(isNat M, isNatKind M), and(isNat N, isNatKind N))) (active# U32(X1, X2) -> active# X1, active# plus(N, s M) -> and#(isNat M, isNatKind M)) (active# U32(X1, X2) -> active# X1, active# plus(N, s M) -> and#(isNat N, isNatKind N)) (active# U32(X1, X2) -> active# X1, active# plus(N, s M) -> U51#(and(and(isNat M, isNatKind M), and(isNat N, isNatKind N)), M, N)) (active# U32(X1, X2) -> active# X1, active# plus(N, s M) -> isNat# M) (active# U32(X1, X2) -> active# X1, active# plus(N, s M) -> isNat# N) (active# U32(X1, X2) -> active# X1, active# s X -> s# active X) (active# U32(X1, X2) -> active# X1, active# s X -> active# X) (active# U32(X1, X2) -> active# X1, active# U41(X1, X2) -> U41#(active X1, X2)) (active# U32(X1, X2) -> active# X1, active# U41(X1, X2) -> active# X1) (active# U32(X1, X2) -> active# X1, active# U33 X -> U33# active X) (active# U32(X1, X2) -> active# X1, active# U33 X -> active# X) (active# U32(X1, X2) -> active# X1, active# U31(tt(), V1, V2) -> U32#(isNat V1, V2)) (active# U32(X1, X2) -> active# X1, active# U31(tt(), V1, V2) -> isNat# V1) (active# U32(X1, X2) -> active# X1, active# U31(X1, X2, X3) -> U31#(active X1, X2, X3)) (active# U32(X1, X2) -> active# X1, active# U31(X1, X2, X3) -> active# X1) (active# U32(X1, X2) -> active# X1, active# U32(tt(), V2) -> U33# isNat V2) (active# U32(X1, X2) -> active# X1, active# U32(tt(), V2) -> isNat# V2) (active# U32(X1, X2) -> active# X1, active# U32(X1, X2) -> U32#(active X1, X2)) (active# U32(X1, X2) -> active# X1, active# U32(X1, X2) -> active# X1) (active# U32(X1, X2) -> active# X1, active# U21(tt(), V1) -> U22# isNat V1) (active# U32(X1, X2) -> active# X1, active# U21(tt(), V1) -> isNat# V1) (active# U32(X1, X2) -> active# X1, active# U21(X1, X2) -> U21#(active X1, X2)) (active# U32(X1, X2) -> active# X1, active# U21(X1, X2) -> active# X1) (active# U32(X1, X2) -> active# X1, active# U22 X -> U22# active X) (active# U32(X1, X2) -> active# X1, active# U22 X -> active# X) (active# U32(X1, X2) -> active# X1, active# U13 X -> U13# active X) (active# U32(X1, X2) -> active# X1, active# U13 X -> active# X) (active# U32(X1, X2) -> active# X1, active# U11(tt(), V1, V2) -> isNat# V1) (active# U32(X1, X2) -> active# X1, active# U11(tt(), V1, V2) -> U12#(isNat V1, V2)) (active# U32(X1, X2) -> active# X1, active# U11(X1, X2, X3) -> U11#(active X1, X2, X3)) (active# U32(X1, X2) -> active# X1, active# U11(X1, X2, X3) -> active# X1) (active# U32(X1, X2) -> active# X1, active# isNat x(V1, V2) -> isNatKind# V2) (active# U32(X1, X2) -> active# X1, active# isNat x(V1, V2) -> isNatKind# V1) (active# U32(X1, X2) -> active# X1, active# isNat x(V1, V2) -> and#(isNatKind V1, isNatKind V2)) (active# U32(X1, X2) -> active# X1, active# isNat x(V1, V2) -> U31#(and(isNatKind V1, isNatKind V2), V1, V2)) (active# U32(X1, X2) -> active# X1, active# isNat plus(V1, V2) -> isNatKind# V2) (active# U32(X1, X2) -> active# X1, active# isNat plus(V1, V2) -> isNatKind# V1) (active# U32(X1, X2) -> active# X1, active# isNat plus(V1, V2) -> and#(isNatKind V1, isNatKind V2)) (active# U32(X1, X2) -> active# X1, active# isNat plus(V1, V2) -> U11#(and(isNatKind V1, isNatKind V2), V1, V2)) (active# U32(X1, X2) -> active# X1, active# isNat s V1 -> isNatKind# V1) (active# U32(X1, X2) -> active# X1, active# isNat s V1 -> U21#(isNatKind V1, V1)) (active# U32(X1, X2) -> active# X1, active# U12(tt(), V2) -> U13# isNat V2) (active# U32(X1, X2) -> active# X1, active# U12(tt(), V2) -> isNat# V2) (active# U32(X1, X2) -> active# X1, active# U12(X1, X2) -> active# X1) (active# U32(X1, X2) -> active# X1, active# U12(X1, X2) -> U12#(active X1, X2)) (active# U41(X1, X2) -> active# X1, active# isNatKind x(V1, V2) -> isNatKind# V2) (active# U41(X1, X2) -> active# X1, active# isNatKind x(V1, V2) -> isNatKind# V1) (active# U41(X1, X2) -> active# X1, active# isNatKind x(V1, V2) -> and#(isNatKind V1, isNatKind V2)) (active# U41(X1, X2) -> active# X1, active# isNatKind plus(V1, V2) -> isNatKind# V2) (active# U41(X1, X2) -> active# X1, active# isNatKind plus(V1, V2) -> isNatKind# V1) (active# U41(X1, X2) -> active# X1, active# isNatKind plus(V1, V2) -> and#(isNatKind V1, isNatKind V2)) (active# U41(X1, X2) -> active# X1, active# isNatKind s V1 -> isNatKind# V1) (active# U41(X1, X2) -> active# X1, active# and(X1, X2) -> and#(active X1, X2)) (active# U41(X1, X2) -> active# X1, active# and(X1, X2) -> active# X1) (active# U41(X1, X2) -> active# X1, active# U71(tt(), M, N) -> x#(N, M)) (active# U41(X1, X2) -> active# X1, active# U71(tt(), M, N) -> plus#(x(N, M), N)) (active# U41(X1, X2) -> active# X1, active# U71(X1, X2, X3) -> U71#(active X1, X2, X3)) (active# U41(X1, X2) -> active# X1, active# U71(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()) -> isNatKind# N) (active# U41(X1, X2) -> active# X1, active# x(N, 0()) -> and#(isNat N, isNatKind N)) (active# U41(X1, X2) -> active# X1, active# x(N, 0()) -> U61# and(isNat N, isNatKind N)) (active# U41(X1, X2) -> active# X1, active# x(N, 0()) -> isNat# N) (active# U41(X1, X2) -> active# X1, active# x(N, s M) -> isNatKind# M) (active# U41(X1, X2) -> active# X1, active# x(N, s M) -> isNatKind# N) (active# U41(X1, X2) -> active# X1, active# x(N, s M) -> and#(and(isNat M, isNatKind M), and(isNat N, isNatKind N))) (active# U41(X1, X2) -> active# X1, active# x(N, s M) -> and#(isNat M, isNatKind M)) (active# U41(X1, X2) -> active# X1, active# x(N, s M) -> and#(isNat N, isNatKind N)) (active# U41(X1, X2) -> active# X1, active# x(N, s M) -> U71#(and(and(isNat M, isNatKind M), and(isNat N, isNatKind N)), M, N)) (active# U41(X1, X2) -> active# X1, active# x(N, s M) -> isNat# M) (active# U41(X1, X2) -> active# X1, active# x(N, s M) -> isNat# N) (active# U41(X1, X2) -> active# X1, active# U61 X -> U61# active X) (active# U41(X1, X2) -> active# X1, active# U61 X -> active# X) (active# U41(X1, X2) -> active# X1, active# U51(tt(), M, N) -> plus#(N, M)) (active# U41(X1, X2) -> active# X1, active# U51(tt(), M, N) -> s# plus(N, M)) (active# U41(X1, X2) -> active# X1, active# U51(X1, X2, X3) -> U51#(active X1, X2, X3)) (active# U41(X1, X2) -> active# X1, active# U51(X1, X2, X3) -> active# X1) (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()) -> isNatKind# N) (active# U41(X1, X2) -> active# X1, active# plus(N, 0()) -> and#(isNat N, isNatKind N)) (active# U41(X1, X2) -> active# X1, active# plus(N, 0()) -> U41#(and(isNat N, isNatKind 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) -> isNatKind# M) (active# U41(X1, X2) -> active# X1, active# plus(N, s M) -> isNatKind# N) (active# U41(X1, X2) -> active# X1, active# plus(N, s M) -> and#(and(isNat M, isNatKind M), and(isNat N, isNatKind N))) (active# U41(X1, X2) -> active# X1, active# plus(N, s M) -> and#(isNat M, isNatKind M)) (active# U41(X1, X2) -> active# X1, active# plus(N, s M) -> and#(isNat N, isNatKind N)) (active# U41(X1, X2) -> active# X1, active# plus(N, s M) -> U51#(and(and(isNat M, isNatKind M), and(isNat N, isNatKind N)), M, N)) (active# U41(X1, X2) -> active# X1, active# plus(N, s M) -> isNat# M) (active# U41(X1, X2) -> active# X1, active# plus(N, s M) -> isNat# N) (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# 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# U33 X -> U33# active X) (active# U41(X1, X2) -> active# X1, active# U33 X -> active# X) (active# U41(X1, X2) -> active# X1, active# U31(tt(), V1, V2) -> U32#(isNat V1, V2)) (active# U41(X1, X2) -> active# X1, active# U31(tt(), V1, V2) -> isNat# 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(), V2) -> U33# isNat V2) (active# U41(X1, X2) -> active# X1, active# U32(tt(), V2) -> isNat# V2) (active# U41(X1, X2) -> active# X1, active# U32(X1, X2) -> U32#(active X1, X2)) (active# U41(X1, X2) -> active# X1, active# U32(X1, X2) -> active# X1) (active# U41(X1, X2) -> active# X1, active# U21(tt(), V1) -> U22# isNat V1) (active# U41(X1, X2) -> active# X1, active# U21(tt(), V1) -> isNat# 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 X -> U22# active X) (active# U41(X1, X2) -> active# X1, active# U22 X -> active# X) (active# U41(X1, X2) -> active# X1, active# U13 X -> U13# active X) (active# U41(X1, X2) -> active# X1, active# U13 X -> active# X) (active# U41(X1, X2) -> active# X1, active# U11(tt(), V1, V2) -> isNat# V1) (active# U41(X1, X2) -> active# X1, active# U11(tt(), V1, V2) -> U12#(isNat V1, V2)) (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# isNat x(V1, V2) -> isNatKind# V2) (active# U41(X1, X2) -> active# X1, active# isNat x(V1, V2) -> isNatKind# V1) (active# U41(X1, X2) -> active# X1, active# isNat x(V1, V2) -> and#(isNatKind V1, isNatKind V2)) (active# U41(X1, X2) -> active# X1, active# isNat x(V1, V2) -> U31#(and(isNatKind V1, isNatKind V2), V1, V2)) (active# U41(X1, X2) -> active# X1, active# isNat plus(V1, V2) -> isNatKind# V2) (active# U41(X1, X2) -> active# X1, active# isNat plus(V1, V2) -> isNatKind# V1) (active# U41(X1, X2) -> active# X1, active# isNat plus(V1, V2) -> and#(isNatKind V1, isNatKind V2)) (active# U41(X1, X2) -> active# X1, active# isNat plus(V1, V2) -> U11#(and(isNatKind V1, isNatKind V2), V1, V2)) (active# U41(X1, X2) -> active# X1, active# isNat s V1 -> isNatKind# V1) (active# U41(X1, X2) -> active# X1, active# isNat s V1 -> U21#(isNatKind V1, V1)) (active# U41(X1, X2) -> active# X1, active# U12(tt(), V2) -> U13# isNat V2) (active# U41(X1, X2) -> active# X1, active# U12(tt(), V2) -> isNat# V2) (active# U41(X1, X2) -> active# X1, active# U12(X1, X2) -> active# X1) (active# U41(X1, X2) -> active# X1, active# U12(X1, X2) -> U12#(active X1, X2)) (active# U51(X1, X2, X3) -> active# X1, active# isNatKind x(V1, V2) -> isNatKind# V2) (active# U51(X1, X2, X3) -> active# X1, active# isNatKind x(V1, V2) -> isNatKind# V1) (active# U51(X1, X2, X3) -> active# X1, active# isNatKind x(V1, V2) -> and#(isNatKind V1, isNatKind V2)) (active# U51(X1, X2, X3) -> active# X1, active# isNatKind plus(V1, V2) -> isNatKind# V2) (active# U51(X1, X2, X3) -> active# X1, active# isNatKind plus(V1, V2) -> isNatKind# V1) (active# U51(X1, X2, X3) -> active# X1, active# isNatKind plus(V1, V2) -> and#(isNatKind V1, isNatKind V2)) (active# U51(X1, X2, X3) -> active# X1, active# isNatKind s V1 -> isNatKind# V1) (active# U51(X1, X2, X3) -> active# X1, active# and(X1, X2) -> and#(active X1, X2)) (active# U51(X1, X2, X3) -> active# X1, active# and(X1, X2) -> active# X1) (active# U51(X1, X2, X3) -> active# X1, active# U71(tt(), M, N) -> x#(N, M)) (active# U51(X1, X2, X3) -> active# X1, active# U71(tt(), M, N) -> plus#(x(N, M), N)) (active# U51(X1, X2, X3) -> active# X1, active# U71(X1, X2, X3) -> U71#(active X1, X2, X3)) (active# U51(X1, X2, X3) -> active# X1, active# U71(X1, X2, X3) -> active# X1) (active# U51(X1, X2, X3) -> active# X1, active# x(X1, X2) -> x#(active X1, X2)) (active# U51(X1, X2, X3) -> active# X1, active# x(X1, X2) -> x#(X1, active X2)) (active# U51(X1, X2, X3) -> active# X1, active# x(X1, X2) -> active# X2) (active# U51(X1, X2, X3) -> active# X1, active# x(X1, X2) -> active# X1) (active# U51(X1, X2, X3) -> active# X1, active# x(N, 0()) -> isNatKind# N) (active# U51(X1, X2, X3) -> active# X1, active# x(N, 0()) -> and#(isNat N, isNatKind N)) (active# U51(X1, X2, X3) -> active# X1, active# x(N, 0()) -> U61# and(isNat N, isNatKind N)) (active# U51(X1, X2, X3) -> active# X1, active# x(N, 0()) -> isNat# N) (active# U51(X1, X2, X3) -> active# X1, active# x(N, s M) -> isNatKind# M) (active# U51(X1, X2, X3) -> active# X1, active# x(N, s M) -> isNatKind# N) (active# U51(X1, X2, X3) -> active# X1, active# x(N, s M) -> and#(and(isNat M, isNatKind M), and(isNat N, isNatKind N))) (active# U51(X1, X2, X3) -> active# X1, active# x(N, s M) -> and#(isNat M, isNatKind M)) (active# U51(X1, X2, X3) -> active# X1, active# x(N, s M) -> and#(isNat N, isNatKind N)) (active# U51(X1, X2, X3) -> active# X1, active# x(N, s M) -> U71#(and(and(isNat M, isNatKind M), and(isNat N, isNatKind N)), M, N)) (active# U51(X1, X2, X3) -> active# X1, active# x(N, s M) -> isNat# M) (active# U51(X1, X2, X3) -> active# X1, active# x(N, s M) -> isNat# N) (active# U51(X1, X2, X3) -> active# X1, active# U61 X -> U61# active X) (active# U51(X1, X2, X3) -> active# X1, active# U61 X -> active# X) (active# U51(X1, X2, X3) -> active# X1, active# U51(tt(), M, N) -> plus#(N, M)) (active# U51(X1, X2, X3) -> active# X1, active# U51(tt(), M, N) -> s# plus(N, M)) (active# U51(X1, X2, X3) -> active# X1, active# U51(X1, X2, X3) -> U51#(active X1, X2, X3)) (active# U51(X1, X2, X3) -> active# X1, active# U51(X1, X2, X3) -> active# X1) (active# U51(X1, X2, X3) -> active# X1, active# plus(X1, X2) -> plus#(active X1, X2)) (active# U51(X1, X2, X3) -> active# X1, active# plus(X1, X2) -> plus#(X1, active X2)) (active# U51(X1, X2, X3) -> active# X1, active# plus(X1, X2) -> active# X2) (active# U51(X1, X2, X3) -> active# X1, active# plus(X1, X2) -> active# X1) (active# U51(X1, X2, X3) -> active# X1, active# plus(N, 0()) -> isNatKind# N) (active# U51(X1, X2, X3) -> active# X1, active# plus(N, 0()) -> and#(isNat N, isNatKind N)) (active# U51(X1, X2, X3) -> active# X1, active# plus(N, 0()) -> U41#(and(isNat N, isNatKind N), N)) (active# U51(X1, X2, X3) -> active# X1, active# plus(N, 0()) -> isNat# N) (active# U51(X1, X2, X3) -> active# X1, active# plus(N, s M) -> isNatKind# M) (active# U51(X1, X2, X3) -> active# X1, active# plus(N, s M) -> isNatKind# N) (active# U51(X1, X2, X3) -> active# X1, active# plus(N, s M) -> and#(and(isNat M, isNatKind M), and(isNat N, isNatKind N))) (active# U51(X1, X2, X3) -> active# X1, active# plus(N, s M) -> and#(isNat M, isNatKind M)) (active# U51(X1, X2, X3) -> active# X1, active# plus(N, s M) -> and#(isNat N, isNatKind N)) (active# U51(X1, X2, X3) -> active# X1, active# plus(N, s M) -> U51#(and(and(isNat M, isNatKind M), and(isNat N, isNatKind N)), M, N)) (active# U51(X1, X2, X3) -> active# X1, active# plus(N, s M) -> isNat# M) (active# U51(X1, X2, X3) -> active# X1, active# plus(N, s M) -> isNat# N) (active# U51(X1, X2, X3) -> active# X1, active# s X -> s# active X) (active# U51(X1, X2, X3) -> active# X1, active# s X -> active# X) (active# U51(X1, X2, X3) -> active# X1, active# U41(X1, X2) -> U41#(active X1, X2)) (active# U51(X1, X2, X3) -> active# X1, active# U41(X1, X2) -> active# X1) (active# U51(X1, X2, X3) -> active# X1, active# U33 X -> U33# active X) (active# U51(X1, X2, X3) -> active# X1, active# U33 X -> active# X) (active# U51(X1, X2, X3) -> active# X1, active# U31(tt(), V1, V2) -> U32#(isNat V1, V2)) (active# U51(X1, X2, X3) -> active# X1, active# U31(tt(), V1, V2) -> isNat# V1) (active# U51(X1, X2, X3) -> active# X1, active# U31(X1, X2, X3) -> U31#(active X1, X2, X3)) (active# U51(X1, X2, X3) -> active# X1, active# U31(X1, X2, X3) -> active# X1) (active# U51(X1, X2, X3) -> active# X1, active# U32(tt(), V2) -> U33# isNat V2) (active# U51(X1, X2, X3) -> active# X1, active# U32(tt(), V2) -> isNat# V2) (active# U51(X1, X2, X3) -> active# X1, active# U32(X1, X2) -> U32#(active X1, X2)) (active# U51(X1, X2, X3) -> active# X1, active# U32(X1, X2) -> active# X1) (active# U51(X1, X2, X3) -> active# X1, active# U21(tt(), V1) -> U22# isNat V1) (active# U51(X1, X2, X3) -> active# X1, active# U21(tt(), V1) -> isNat# V1) (active# U51(X1, X2, X3) -> active# X1, active# U21(X1, X2) -> U21#(active X1, X2)) (active# U51(X1, X2, X3) -> active# X1, active# U21(X1, X2) -> active# X1) (active# U51(X1, X2, X3) -> active# X1, active# U22 X -> U22# active X) (active# U51(X1, X2, X3) -> active# X1, active# U22 X -> active# X) (active# U51(X1, X2, X3) -> active# X1, active# U13 X -> U13# active X) (active# U51(X1, X2, X3) -> active# X1, active# U13 X -> active# X) (active# U51(X1, X2, X3) -> active# X1, active# U11(tt(), V1, V2) -> isNat# V1) (active# U51(X1, X2, X3) -> active# X1, active# U11(tt(), V1, V2) -> U12#(isNat V1, V2)) (active# U51(X1, X2, X3) -> active# X1, active# U11(X1, X2, X3) -> U11#(active X1, X2, X3)) (active# U51(X1, X2, X3) -> active# X1, active# U11(X1, X2, X3) -> active# X1) (active# U51(X1, X2, X3) -> active# X1, active# isNat x(V1, V2) -> isNatKind# V2) (active# U51(X1, X2, X3) -> active# X1, active# isNat x(V1, V2) -> isNatKind# V1) (active# U51(X1, X2, X3) -> active# X1, active# isNat x(V1, V2) -> and#(isNatKind V1, isNatKind V2)) (active# U51(X1, X2, X3) -> active# X1, active# isNat x(V1, V2) -> U31#(and(isNatKind V1, isNatKind V2), V1, V2)) (active# U51(X1, X2, X3) -> active# X1, active# isNat plus(V1, V2) -> isNatKind# V2) (active# U51(X1, X2, X3) -> active# X1, active# isNat plus(V1, V2) -> isNatKind# V1) (active# U51(X1, X2, X3) -> active# X1, active# isNat plus(V1, V2) -> and#(isNatKind V1, isNatKind V2)) (active# U51(X1, X2, X3) -> active# X1, active# isNat plus(V1, V2) -> U11#(and(isNatKind V1, isNatKind V2), V1, V2)) (active# U51(X1, X2, X3) -> active# X1, active# isNat s V1 -> isNatKind# V1) (active# U51(X1, X2, X3) -> active# X1, active# isNat s V1 -> U21#(isNatKind V1, V1)) (active# U51(X1, X2, X3) -> active# X1, active# U12(tt(), V2) -> U13# isNat V2) (active# U51(X1, X2, X3) -> active# X1, active# U12(tt(), V2) -> isNat# V2) (active# U51(X1, X2, X3) -> active# X1, active# U12(X1, X2) -> active# X1) (active# U51(X1, X2, X3) -> active# X1, active# U12(X1, X2) -> U12#(active X1, X2)) (active# U71(X1, X2, X3) -> active# X1, active# isNatKind x(V1, V2) -> isNatKind# V2) (active# U71(X1, X2, X3) -> active# X1, active# isNatKind x(V1, V2) -> isNatKind# V1) (active# U71(X1, X2, X3) -> active# X1, active# isNatKind x(V1, V2) -> and#(isNatKind V1, isNatKind V2)) (active# U71(X1, X2, X3) -> active# X1, active# isNatKind plus(V1, V2) -> isNatKind# V2) (active# U71(X1, X2, X3) -> active# X1, active# isNatKind plus(V1, V2) -> isNatKind# V1) (active# U71(X1, X2, X3) -> active# X1, active# isNatKind plus(V1, V2) -> and#(isNatKind V1, isNatKind V2)) (active# U71(X1, X2, X3) -> active# X1, active# isNatKind s V1 -> isNatKind# V1) (active# U71(X1, X2, X3) -> active# X1, active# and(X1, X2) -> and#(active X1, X2)) (active# U71(X1, X2, X3) -> active# X1, active# and(X1, X2) -> active# X1) (active# U71(X1, X2, X3) -> active# X1, active# U71(tt(), M, N) -> x#(N, M)) (active# U71(X1, X2, X3) -> active# X1, active# U71(tt(), M, N) -> plus#(x(N, M), N)) (active# U71(X1, X2, X3) -> active# X1, active# U71(X1, X2, X3) -> U71#(active X1, X2, X3)) (active# U71(X1, X2, X3) -> active# X1, active# U71(X1, X2, X3) -> active# X1) (active# U71(X1, X2, X3) -> active# X1, active# x(X1, X2) -> x#(active X1, X2)) (active# U71(X1, X2, X3) -> active# X1, active# x(X1, X2) -> x#(X1, active X2)) (active# U71(X1, X2, X3) -> active# X1, active# x(X1, X2) -> active# X2) (active# U71(X1, X2, X3) -> active# X1, active# x(X1, X2) -> active# X1) (active# U71(X1, X2, X3) -> active# X1, active# x(N, 0()) -> isNatKind# N) (active# U71(X1, X2, X3) -> active# X1, active# x(N, 0()) -> and#(isNat N, isNatKind N)) (active# U71(X1, X2, X3) -> active# X1, active# x(N, 0()) -> U61# and(isNat N, isNatKind N)) (active# U71(X1, X2, X3) -> active# X1, active# x(N, 0()) -> isNat# N) (active# U71(X1, X2, X3) -> active# X1, active# x(N, s M) -> isNatKind# M) (active# U71(X1, X2, X3) -> active# X1, active# x(N, s M) -> isNatKind# N) (active# U71(X1, X2, X3) -> active# X1, active# x(N, s M) -> and#(and(isNat M, isNatKind M), and(isNat N, isNatKind N))) (active# U71(X1, X2, X3) -> active# X1, active# x(N, s M) -> and#(isNat M, isNatKind M)) (active# U71(X1, X2, X3) -> active# X1, active# x(N, s M) -> and#(isNat N, isNatKind N)) (active# U71(X1, X2, X3) -> active# X1, active# x(N, s M) -> U71#(and(and(isNat M, isNatKind M), and(isNat N, isNatKind N)), M, N)) (active# U71(X1, X2, X3) -> active# X1, active# x(N, s M) -> isNat# M) (active# U71(X1, X2, X3) -> active# X1, active# x(N, s M) -> isNat# N) (active# U71(X1, X2, X3) -> active# X1, active# U61 X -> U61# active X) (active# U71(X1, X2, X3) -> active# X1, active# U61 X -> active# X) (active# U71(X1, X2, X3) -> active# X1, active# U51(tt(), M, N) -> plus#(N, M)) (active# U71(X1, X2, X3) -> active# X1, active# U51(tt(), M, N) -> s# plus(N, M)) (active# U71(X1, X2, X3) -> active# X1, active# U51(X1, X2, X3) -> U51#(active X1, X2, X3)) (active# U71(X1, X2, X3) -> active# X1, active# U51(X1, X2, X3) -> active# X1) (active# U71(X1, X2, X3) -> active# X1, active# plus(X1, X2) -> plus#(active X1, X2)) (active# U71(X1, X2, X3) -> active# X1, active# plus(X1, X2) -> plus#(X1, active X2)) (active# U71(X1, X2, X3) -> active# X1, active# plus(X1, X2) -> active# X2) (active# U71(X1, X2, X3) -> active# X1, active# plus(X1, X2) -> active# X1) (active# U71(X1, X2, X3) -> active# X1, active# plus(N, 0()) -> isNatKind# N) (active# U71(X1, X2, X3) -> active# X1, active# plus(N, 0()) -> and#(isNat N, isNatKind N)) (active# U71(X1, X2, X3) -> active# X1, active# plus(N, 0()) -> U41#(and(isNat N, isNatKind N), N)) (active# U71(X1, X2, X3) -> active# X1, active# plus(N, 0()) -> isNat# N) (active# U71(X1, X2, X3) -> active# X1, active# plus(N, s M) -> isNatKind# M) (active# U71(X1, X2, X3) -> active# X1, active# plus(N, s M) -> isNatKind# N) (active# U71(X1, X2, X3) -> active# X1, active# plus(N, s M) -> and#(and(isNat M, isNatKind M), and(isNat N, isNatKind N))) (active# U71(X1, X2, X3) -> active# X1, active# plus(N, s M) -> and#(isNat M, isNatKind M)) (active# U71(X1, X2, X3) -> active# X1, active# plus(N, s M) -> and#(isNat N, isNatKind N)) (active# U71(X1, X2, X3) -> active# X1, active# plus(N, s M) -> U51#(and(and(isNat M, isNatKind M), and(isNat N, isNatKind N)), M, N)) (active# U71(X1, X2, X3) -> active# X1, active# plus(N, s M) -> isNat# M) (active# U71(X1, X2, X3) -> active# X1, active# plus(N, s M) -> isNat# N) (active# U71(X1, X2, X3) -> active# X1, active# s X -> s# active X) (active# U71(X1, X2, X3) -> active# X1, active# s X -> active# X) (active# U71(X1, X2, X3) -> active# X1, active# U41(X1, X2) -> U41#(active X1, X2)) (active# U71(X1, X2, X3) -> active# X1, active# U41(X1, X2) -> active# X1) (active# U71(X1, X2, X3) -> active# X1, active# U33 X -> U33# active X) (active# U71(X1, X2, X3) -> active# X1, active# U33 X -> active# X) (active# U71(X1, X2, X3) -> active# X1, active# U31(tt(), V1, V2) -> U32#(isNat V1, V2)) (active# U71(X1, X2, X3) -> active# X1, active# U31(tt(), V1, V2) -> isNat# V1) (active# U71(X1, X2, X3) -> active# X1, active# U31(X1, X2, X3) -> U31#(active X1, X2, X3)) (active# U71(X1, X2, X3) -> active# X1, active# U31(X1, X2, X3) -> active# X1) (active# U71(X1, X2, X3) -> active# X1, active# U32(tt(), V2) -> U33# isNat V2) (active# U71(X1, X2, X3) -> active# X1, active# U32(tt(), V2) -> isNat# V2) (active# U71(X1, X2, X3) -> active# X1, active# U32(X1, X2) -> U32#(active X1, X2)) (active# U71(X1, X2, X3) -> active# X1, active# U32(X1, X2) -> active# X1) (active# U71(X1, X2, X3) -> active# X1, active# U21(tt(), V1) -> U22# isNat V1) (active# U71(X1, X2, X3) -> active# X1, active# U21(tt(), V1) -> isNat# V1) (active# U71(X1, X2, X3) -> active# X1, active# U21(X1, X2) -> U21#(active X1, X2)) (active# U71(X1, X2, X3) -> active# X1, active# U21(X1, X2) -> active# X1) (active# U71(X1, X2, X3) -> active# X1, active# U22 X -> U22# active X) (active# U71(X1, X2, X3) -> active# X1, active# U22 X -> active# X) (active# U71(X1, X2, X3) -> active# X1, active# U13 X -> U13# active X) (active# U71(X1, X2, X3) -> active# X1, active# U13 X -> active# X) (active# U71(X1, X2, X3) -> active# X1, active# U11(tt(), V1, V2) -> isNat# V1) (active# U71(X1, X2, X3) -> active# X1, active# U11(tt(), V1, V2) -> U12#(isNat V1, V2)) (active# U71(X1, X2, X3) -> active# X1, active# U11(X1, X2, X3) -> U11#(active X1, X2, X3)) (active# U71(X1, X2, X3) -> active# X1, active# U11(X1, X2, X3) -> active# X1) (active# U71(X1, X2, X3) -> active# X1, active# isNat x(V1, V2) -> isNatKind# V2) (active# U71(X1, X2, X3) -> active# X1, active# isNat x(V1, V2) -> isNatKind# V1) (active# U71(X1, X2, X3) -> active# X1, active# isNat x(V1, V2) -> and#(isNatKind V1, isNatKind V2)) (active# U71(X1, X2, X3) -> active# X1, active# isNat x(V1, V2) -> U31#(and(isNatKind V1, isNatKind V2), V1, V2)) (active# U71(X1, X2, X3) -> active# X1, active# isNat plus(V1, V2) -> isNatKind# V2) (active# U71(X1, X2, X3) -> active# X1, active# isNat plus(V1, V2) -> isNatKind# V1) (active# U71(X1, X2, X3) -> active# X1, active# isNat plus(V1, V2) -> and#(isNatKind V1, isNatKind V2)) (active# U71(X1, X2, X3) -> active# X1, active# isNat plus(V1, V2) -> U11#(and(isNatKind V1, isNatKind V2), V1, V2)) (active# U71(X1, X2, X3) -> active# X1, active# isNat s V1 -> isNatKind# V1) (active# U71(X1, X2, X3) -> active# X1, active# isNat s V1 -> U21#(isNatKind V1, V1)) (active# U71(X1, X2, X3) -> active# X1, active# U12(tt(), V2) -> U13# isNat V2) (active# U71(X1, X2, X3) -> active# X1, active# U12(tt(), V2) -> isNat# V2) (active# U71(X1, X2, X3) -> active# X1, active# U12(X1, X2) -> active# X1) (active# U71(X1, X2, X3) -> active# X1, active# U12(X1, X2) -> U12#(active X1, X2)) (proper# U12(X1, X2) -> proper# X1, proper# isNatKind X -> proper# X) (proper# U12(X1, X2) -> proper# X1, proper# isNatKind X -> isNatKind# proper X) (proper# U12(X1, X2) -> proper# X1, proper# and(X1, X2) -> proper# X2) (proper# U12(X1, X2) -> proper# X1, proper# and(X1, X2) -> proper# X1) (proper# U12(X1, X2) -> proper# X1, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# U12(X1, X2) -> proper# X1, proper# U71(X1, X2, X3) -> proper# X3) (proper# U12(X1, X2) -> proper# X1, proper# U71(X1, X2, X3) -> proper# X2) (proper# U12(X1, X2) -> proper# X1, proper# U71(X1, X2, X3) -> proper# X1) (proper# U12(X1, X2) -> proper# X1, proper# U71(X1, X2, X3) -> U71#(proper X1, proper X2, proper X3)) (proper# U12(X1, X2) -> proper# X1, proper# x(X1, X2) -> proper# X2) (proper# U12(X1, X2) -> proper# X1, proper# x(X1, X2) -> proper# X1) (proper# U12(X1, X2) -> proper# X1, proper# x(X1, X2) -> x#(proper X1, proper X2)) (proper# U12(X1, X2) -> proper# X1, proper# U61 X -> proper# X) (proper# U12(X1, X2) -> proper# X1, proper# U61 X -> U61# proper X) (proper# U12(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X3) (proper# U12(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X2) (proper# U12(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X1) (proper# U12(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# U12(X1, X2) -> proper# X1, proper# plus(X1, X2) -> proper# X2) (proper# U12(X1, X2) -> proper# X1, proper# plus(X1, X2) -> proper# X1) (proper# U12(X1, X2) -> proper# X1, proper# plus(X1, X2) -> plus#(proper X1, proper X2)) (proper# U12(X1, X2) -> proper# X1, proper# s X -> proper# X) (proper# U12(X1, X2) -> proper# X1, proper# s X -> s# proper X) (proper# U12(X1, X2) -> proper# X1, proper# U41(X1, X2) -> proper# X2) (proper# U12(X1, X2) -> proper# X1, proper# U41(X1, X2) -> proper# X1) (proper# U12(X1, X2) -> proper# X1, proper# U41(X1, X2) -> U41#(proper X1, proper X2)) (proper# U12(X1, X2) -> proper# X1, proper# U33 X -> proper# X) (proper# U12(X1, X2) -> proper# X1, proper# U33 X -> U33# proper X) (proper# U12(X1, X2) -> proper# X1, proper# U31(X1, X2, X3) -> proper# X3) (proper# U12(X1, X2) -> proper# X1, proper# U31(X1, X2, X3) -> proper# X2) (proper# U12(X1, X2) -> proper# X1, proper# U31(X1, X2, X3) -> proper# X1) (proper# U12(X1, X2) -> proper# X1, proper# U31(X1, X2, X3) -> U31#(proper X1, proper X2, proper X3)) (proper# U12(X1, X2) -> proper# X1, proper# U32(X1, X2) -> proper# X2) (proper# U12(X1, X2) -> proper# X1, proper# U32(X1, X2) -> proper# X1) (proper# U12(X1, X2) -> proper# X1, proper# U32(X1, X2) -> U32#(proper X1, proper X2)) (proper# U12(X1, X2) -> proper# X1, proper# U21(X1, X2) -> proper# X2) (proper# U12(X1, X2) -> proper# X1, proper# U21(X1, X2) -> proper# X1) (proper# U12(X1, X2) -> proper# X1, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# U12(X1, X2) -> proper# X1, proper# U22 X -> proper# X) (proper# U12(X1, X2) -> proper# X1, proper# U22 X -> U22# proper X) (proper# U12(X1, X2) -> proper# X1, proper# U13 X -> proper# X) (proper# U12(X1, X2) -> proper# X1, proper# U13 X -> U13# proper X) (proper# U12(X1, X2) -> proper# X1, proper# U11(X1, X2, X3) -> proper# X3) (proper# U12(X1, X2) -> proper# X1, proper# U11(X1, X2, X3) -> proper# X2) (proper# U12(X1, X2) -> proper# X1, proper# U11(X1, X2, X3) -> proper# X1) (proper# U12(X1, X2) -> proper# X1, proper# U11(X1, X2, X3) -> U11#(proper X1, proper X2, proper X3)) (proper# U12(X1, X2) -> proper# X1, proper# isNat X -> proper# X) (proper# U12(X1, X2) -> proper# X1, proper# isNat X -> isNat# proper X) (proper# U12(X1, X2) -> proper# X1, proper# U12(X1, X2) -> proper# X2) (proper# U12(X1, X2) -> proper# X1, proper# U12(X1, X2) -> proper# X1) (proper# U12(X1, X2) -> proper# X1, proper# U12(X1, X2) -> U12#(proper X1, proper X2)) (proper# U21(X1, X2) -> proper# X1, proper# isNatKind X -> proper# X) (proper# U21(X1, X2) -> proper# X1, proper# isNatKind X -> isNatKind# proper X) (proper# U21(X1, X2) -> proper# X1, proper# and(X1, X2) -> proper# X2) (proper# U21(X1, X2) -> proper# X1, proper# and(X1, X2) -> proper# X1) (proper# U21(X1, X2) -> proper# X1, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# U21(X1, X2) -> proper# X1, proper# U71(X1, X2, X3) -> proper# X3) (proper# U21(X1, X2) -> proper# X1, proper# U71(X1, X2, X3) -> proper# X2) (proper# U21(X1, X2) -> proper# X1, proper# U71(X1, X2, X3) -> proper# X1) (proper# U21(X1, X2) -> proper# X1, proper# U71(X1, X2, X3) -> U71#(proper X1, proper X2, proper X3)) (proper# U21(X1, X2) -> proper# X1, proper# x(X1, X2) -> proper# X2) (proper# U21(X1, X2) -> proper# X1, proper# x(X1, X2) -> proper# X1) (proper# U21(X1, X2) -> proper# X1, proper# x(X1, X2) -> x#(proper X1, proper X2)) (proper# U21(X1, X2) -> proper# X1, proper# U61 X -> proper# X) (proper# U21(X1, X2) -> proper# X1, proper# U61 X -> U61# proper X) (proper# U21(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X3) (proper# U21(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X2) (proper# U21(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X1) (proper# U21(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# U21(X1, X2) -> proper# X1, proper# plus(X1, X2) -> proper# X2) (proper# U21(X1, X2) -> proper# X1, proper# plus(X1, X2) -> proper# X1) (proper# U21(X1, X2) -> proper# X1, proper# plus(X1, X2) -> plus#(proper X1, proper X2)) (proper# U21(X1, X2) -> proper# X1, proper# s X -> proper# X) (proper# U21(X1, X2) -> proper# X1, proper# s X -> s# proper X) (proper# U21(X1, X2) -> proper# X1, proper# U41(X1, X2) -> proper# X2) (proper# U21(X1, X2) -> proper# X1, proper# U41(X1, X2) -> proper# X1) (proper# U21(X1, X2) -> proper# X1, proper# U41(X1, X2) -> U41#(proper X1, proper X2)) (proper# U21(X1, X2) -> proper# X1, proper# U33 X -> proper# X) (proper# U21(X1, X2) -> proper# X1, proper# U33 X -> U33# proper X) (proper# U21(X1, X2) -> proper# X1, proper# U31(X1, X2, X3) -> proper# X3) (proper# U21(X1, X2) -> proper# X1, proper# U31(X1, X2, X3) -> proper# X2) (proper# U21(X1, X2) -> proper# X1, proper# U31(X1, X2, X3) -> proper# X1) (proper# U21(X1, X2) -> proper# X1, proper# U31(X1, X2, X3) -> U31#(proper X1, proper X2, proper X3)) (proper# U21(X1, X2) -> proper# X1, proper# U32(X1, X2) -> proper# X2) (proper# U21(X1, X2) -> proper# X1, proper# U32(X1, X2) -> proper# X1) (proper# U21(X1, X2) -> proper# X1, proper# U32(X1, X2) -> U32#(proper X1, proper X2)) (proper# U21(X1, X2) -> proper# X1, proper# U21(X1, X2) -> proper# X2) (proper# U21(X1, X2) -> proper# X1, proper# U21(X1, X2) -> proper# X1) (proper# U21(X1, X2) -> proper# X1, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# U21(X1, X2) -> proper# X1, proper# U22 X -> proper# X) (proper# U21(X1, X2) -> proper# X1, proper# U22 X -> U22# proper X) (proper# U21(X1, X2) -> proper# X1, proper# U13 X -> proper# X) (proper# U21(X1, X2) -> proper# X1, proper# U13 X -> U13# proper X) (proper# U21(X1, X2) -> proper# X1, proper# U11(X1, X2, X3) -> proper# X3) (proper# U21(X1, X2) -> proper# X1, proper# U11(X1, X2, X3) -> proper# X2) (proper# U21(X1, X2) -> proper# X1, proper# U11(X1, X2, X3) -> proper# X1) (proper# U21(X1, X2) -> proper# X1, proper# U11(X1, X2, X3) -> U11#(proper X1, proper X2, proper X3)) (proper# U21(X1, X2) -> proper# X1, proper# isNat X -> proper# X) (proper# U21(X1, X2) -> proper# X1, proper# isNat X -> isNat# proper X) (proper# U21(X1, X2) -> proper# X1, proper# U12(X1, X2) -> proper# X2) (proper# U21(X1, X2) -> proper# X1, proper# U12(X1, X2) -> proper# X1) (proper# U21(X1, X2) -> proper# X1, proper# U12(X1, X2) -> U12#(proper X1, proper X2)) (proper# U31(X1, X2, X3) -> proper# X1, proper# isNatKind X -> proper# X) (proper# U31(X1, X2, X3) -> proper# X1, proper# isNatKind X -> isNatKind# proper X) (proper# U31(X1, X2, X3) -> proper# X1, proper# and(X1, X2) -> proper# X2) (proper# U31(X1, X2, X3) -> proper# X1, proper# and(X1, X2) -> proper# X1) (proper# U31(X1, X2, X3) -> proper# X1, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# U31(X1, X2, X3) -> proper# X1, proper# U71(X1, X2, X3) -> proper# X3) (proper# U31(X1, X2, X3) -> proper# X1, proper# U71(X1, X2, X3) -> proper# X2) (proper# U31(X1, X2, X3) -> proper# X1, proper# U71(X1, X2, X3) -> proper# X1) (proper# U31(X1, X2, X3) -> proper# X1, proper# U71(X1, X2, X3) -> U71#(proper X1, proper X2, proper X3)) (proper# U31(X1, X2, X3) -> proper# X1, proper# x(X1, X2) -> proper# X2) (proper# U31(X1, X2, X3) -> proper# X1, proper# x(X1, X2) -> proper# X1) (proper# U31(X1, X2, X3) -> proper# X1, proper# x(X1, X2) -> x#(proper X1, proper X2)) (proper# U31(X1, X2, X3) -> proper# X1, proper# U61 X -> proper# X) (proper# U31(X1, X2, X3) -> proper# X1, proper# U61 X -> U61# proper X) (proper# U31(X1, X2, X3) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X3) (proper# U31(X1, X2, X3) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X2) (proper# U31(X1, X2, X3) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X1) (proper# U31(X1, X2, X3) -> proper# X1, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# U31(X1, X2, X3) -> proper# X1, proper# plus(X1, X2) -> proper# X2) (proper# U31(X1, X2, X3) -> proper# X1, proper# plus(X1, X2) -> proper# X1) (proper# U31(X1, X2, X3) -> proper# X1, proper# plus(X1, X2) -> plus#(proper X1, proper X2)) (proper# U31(X1, X2, X3) -> proper# X1, proper# s X -> proper# X) (proper# U31(X1, X2, X3) -> proper# X1, proper# s X -> s# proper X) (proper# U31(X1, X2, X3) -> proper# X1, proper# U41(X1, X2) -> proper# X2) (proper# U31(X1, X2, X3) -> proper# X1, proper# U41(X1, X2) -> proper# X1) (proper# U31(X1, X2, X3) -> proper# X1, proper# U41(X1, X2) -> U41#(proper X1, proper X2)) (proper# U31(X1, X2, X3) -> proper# X1, proper# U33 X -> proper# X) (proper# U31(X1, X2, X3) -> proper# X1, proper# U33 X -> U33# proper X) (proper# U31(X1, X2, X3) -> proper# X1, proper# U31(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# X1, proper# U31(X1, X2, X3) -> proper# X1) (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# U32(X1, X2) -> proper# X2) (proper# U31(X1, X2, X3) -> proper# X1, proper# U32(X1, X2) -> proper# X1) (proper# U31(X1, X2, X3) -> proper# X1, proper# U32(X1, X2) -> U32#(proper X1, proper X2)) (proper# U31(X1, X2, X3) -> proper# X1, proper# U21(X1, X2) -> proper# X2) (proper# U31(X1, X2, X3) -> proper# X1, proper# U21(X1, X2) -> proper# X1) (proper# U31(X1, X2, X3) -> proper# X1, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# U31(X1, X2, X3) -> proper# X1, proper# U22 X -> proper# X) (proper# U31(X1, X2, X3) -> proper# X1, proper# U22 X -> U22# proper X) (proper# U31(X1, X2, X3) -> proper# X1, proper# U13 X -> proper# X) (proper# U31(X1, X2, X3) -> proper# X1, proper# U13 X -> U13# proper X) (proper# U31(X1, X2, X3) -> proper# X1, proper# U11(X1, X2, X3) -> proper# X3) (proper# U31(X1, X2, X3) -> proper# X1, proper# U11(X1, X2, X3) -> proper# X2) (proper# U31(X1, X2, X3) -> proper# X1, proper# U11(X1, X2, X3) -> proper# X1) (proper# U31(X1, X2, X3) -> proper# X1, proper# U11(X1, X2, X3) -> U11#(proper X1, proper X2, proper X3)) (proper# U31(X1, X2, X3) -> proper# X1, proper# isNat X -> proper# X) (proper# U31(X1, X2, X3) -> proper# X1, proper# isNat X -> isNat# proper X) (proper# U31(X1, X2, X3) -> proper# X1, proper# U12(X1, X2) -> proper# X2) (proper# U31(X1, X2, X3) -> proper# X1, proper# U12(X1, X2) -> proper# X1) (proper# U31(X1, X2, X3) -> proper# X1, proper# U12(X1, X2) -> U12#(proper X1, proper X2)) (proper# plus(X1, X2) -> proper# X1, proper# isNatKind X -> proper# X) (proper# plus(X1, X2) -> proper# X1, proper# isNatKind X -> isNatKind# proper X) (proper# plus(X1, X2) -> proper# X1, proper# and(X1, X2) -> proper# X2) (proper# plus(X1, X2) -> proper# X1, proper# and(X1, X2) -> proper# X1) (proper# plus(X1, X2) -> proper# X1, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# plus(X1, X2) -> proper# X1, proper# U71(X1, X2, X3) -> proper# X3) (proper# plus(X1, X2) -> proper# X1, proper# U71(X1, X2, X3) -> proper# X2) (proper# plus(X1, X2) -> proper# X1, proper# U71(X1, X2, X3) -> proper# X1) (proper# plus(X1, X2) -> proper# X1, proper# U71(X1, X2, X3) -> U71#(proper X1, proper X2, proper X3)) (proper# plus(X1, X2) -> proper# X1, proper# x(X1, X2) -> proper# X2) (proper# plus(X1, X2) -> proper# X1, proper# x(X1, X2) -> proper# X1) (proper# plus(X1, X2) -> proper# X1, proper# x(X1, X2) -> x#(proper X1, proper X2)) (proper# plus(X1, X2) -> proper# X1, proper# U61 X -> proper# X) (proper# plus(X1, X2) -> proper# X1, proper# U61 X -> U61# proper X) (proper# plus(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X3) (proper# plus(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X2) (proper# plus(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X1) (proper# plus(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# plus(X1, X2) -> proper# X1, proper# plus(X1, X2) -> proper# X2) (proper# plus(X1, X2) -> proper# X1, proper# plus(X1, X2) -> proper# X1) (proper# plus(X1, X2) -> proper# X1, proper# plus(X1, X2) -> plus#(proper X1, proper X2)) (proper# plus(X1, X2) -> proper# X1, proper# s X -> proper# X) (proper# plus(X1, X2) -> proper# X1, proper# s X -> s# proper X) (proper# plus(X1, X2) -> proper# X1, proper# U41(X1, X2) -> proper# X2) (proper# plus(X1, X2) -> proper# X1, proper# U41(X1, X2) -> proper# X1) (proper# plus(X1, X2) -> proper# X1, proper# U41(X1, X2) -> U41#(proper X1, proper X2)) (proper# plus(X1, X2) -> proper# X1, proper# U33 X -> proper# X) (proper# plus(X1, X2) -> proper# X1, proper# U33 X -> U33# proper X) (proper# plus(X1, X2) -> proper# X1, proper# U31(X1, X2, X3) -> proper# X3) (proper# plus(X1, X2) -> proper# X1, proper# U31(X1, X2, X3) -> proper# X2) (proper# plus(X1, X2) -> proper# X1, proper# U31(X1, X2, X3) -> proper# X1) (proper# plus(X1, X2) -> proper# X1, proper# U31(X1, X2, X3) -> U31#(proper X1, proper X2, proper X3)) (proper# plus(X1, X2) -> proper# X1, proper# U32(X1, X2) -> proper# X2) (proper# plus(X1, X2) -> proper# X1, proper# U32(X1, X2) -> proper# X1) (proper# plus(X1, X2) -> proper# X1, proper# U32(X1, X2) -> U32#(proper X1, proper X2)) (proper# plus(X1, X2) -> proper# X1, proper# U21(X1, X2) -> proper# X2) (proper# plus(X1, X2) -> proper# X1, proper# U21(X1, X2) -> proper# X1) (proper# plus(X1, X2) -> proper# X1, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# plus(X1, X2) -> proper# X1, proper# U22 X -> proper# X) (proper# plus(X1, X2) -> proper# X1, proper# U22 X -> U22# proper X) (proper# plus(X1, X2) -> proper# X1, proper# U13 X -> proper# X) (proper# plus(X1, X2) -> proper# X1, proper# U13 X -> U13# proper X) (proper# plus(X1, X2) -> proper# X1, proper# U11(X1, X2, X3) -> proper# X3) (proper# plus(X1, X2) -> proper# X1, proper# U11(X1, X2, X3) -> proper# X2) (proper# plus(X1, X2) -> proper# X1, proper# U11(X1, X2, X3) -> proper# X1) (proper# plus(X1, X2) -> proper# X1, proper# U11(X1, X2, X3) -> U11#(proper X1, proper X2, proper X3)) (proper# plus(X1, X2) -> proper# X1, proper# isNat X -> proper# X) (proper# plus(X1, X2) -> proper# X1, proper# isNat X -> isNat# proper X) (proper# plus(X1, X2) -> proper# X1, proper# U12(X1, X2) -> proper# X2) (proper# plus(X1, X2) -> proper# X1, proper# U12(X1, X2) -> proper# X1) (proper# plus(X1, X2) -> proper# X1, proper# U12(X1, X2) -> U12#(proper X1, proper X2)) (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# and(X1, X2) -> proper# X2) (proper# x(X1, X2) -> proper# X1, proper# and(X1, X2) -> proper# X1) (proper# x(X1, X2) -> proper# X1, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# x(X1, X2) -> proper# X1, proper# U71(X1, X2, X3) -> proper# X3) (proper# x(X1, X2) -> proper# X1, proper# U71(X1, X2, X3) -> proper# X2) (proper# x(X1, X2) -> proper# X1, proper# U71(X1, X2, X3) -> proper# X1) (proper# x(X1, X2) -> proper# X1, proper# U71(X1, X2, X3) -> U71#(proper X1, proper X2, proper X3)) (proper# x(X1, X2) -> proper# X1, proper# 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# U61 X -> proper# X) (proper# x(X1, X2) -> proper# X1, proper# U61 X -> U61# proper X) (proper# x(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X3) (proper# x(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X2) (proper# x(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X1) (proper# x(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (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# s X -> proper# X) (proper# x(X1, X2) -> proper# X1, proper# s X -> s# 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# U33 X -> proper# X) (proper# x(X1, X2) -> proper# X1, proper# U33 X -> U33# proper X) (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) -> proper# X2) (proper# x(X1, X2) -> proper# X1, proper# U32(X1, X2) -> proper# X1) (proper# x(X1, X2) -> proper# X1, proper# U32(X1, X2) -> U32#(proper X1, proper X2)) (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 X -> proper# X) (proper# x(X1, X2) -> proper# X1, proper# U22 X -> U22# proper X) (proper# x(X1, X2) -> proper# X1, proper# U13 X -> proper# X) (proper# x(X1, X2) -> proper# X1, proper# U13 X -> U13# proper X) (proper# x(X1, X2) -> proper# X1, proper# U11(X1, X2, X3) -> proper# X3) (proper# x(X1, X2) -> proper# X1, proper# U11(X1, X2, X3) -> proper# X2) (proper# x(X1, X2) -> proper# X1, proper# U11(X1, X2, X3) -> proper# X1) (proper# x(X1, X2) -> proper# X1, proper# U11(X1, X2, X3) -> U11#(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# U12(X1, X2) -> proper# X2) (proper# x(X1, X2) -> proper# X1, proper# U12(X1, X2) -> proper# X1) (proper# x(X1, X2) -> proper# X1, proper# U12(X1, X2) -> U12#(proper X1, proper X2)) (proper# and(X1, X2) -> proper# X1, proper# isNatKind X -> proper# X) (proper# and(X1, X2) -> proper# X1, proper# isNatKind X -> isNatKind# proper X) (proper# and(X1, X2) -> proper# X1, proper# and(X1, X2) -> proper# X2) (proper# and(X1, X2) -> proper# X1, proper# and(X1, X2) -> proper# X1) (proper# and(X1, X2) -> proper# X1, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# and(X1, X2) -> proper# X1, proper# U71(X1, X2, X3) -> proper# X3) (proper# and(X1, X2) -> proper# X1, proper# U71(X1, X2, X3) -> proper# X2) (proper# and(X1, X2) -> proper# X1, proper# U71(X1, X2, X3) -> proper# X1) (proper# and(X1, X2) -> proper# X1, proper# U71(X1, X2, X3) -> U71#(proper X1, proper X2, proper X3)) (proper# and(X1, X2) -> proper# X1, proper# x(X1, X2) -> proper# X2) (proper# and(X1, X2) -> proper# X1, proper# x(X1, X2) -> proper# X1) (proper# and(X1, X2) -> proper# X1, proper# x(X1, X2) -> x#(proper X1, proper X2)) (proper# and(X1, X2) -> proper# X1, proper# U61 X -> proper# X) (proper# and(X1, X2) -> proper# X1, proper# U61 X -> U61# proper X) (proper# and(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X3) (proper# and(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X2) (proper# and(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X1) (proper# and(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# and(X1, X2) -> proper# X1, proper# plus(X1, X2) -> proper# X2) (proper# and(X1, X2) -> proper# X1, proper# plus(X1, X2) -> proper# X1) (proper# and(X1, X2) -> proper# X1, proper# plus(X1, X2) -> plus#(proper X1, proper X2)) (proper# and(X1, X2) -> proper# X1, proper# s X -> proper# X) (proper# and(X1, X2) -> proper# X1, proper# s X -> s# proper X) (proper# and(X1, X2) -> proper# X1, proper# U41(X1, X2) -> proper# X2) (proper# and(X1, X2) -> proper# X1, proper# U41(X1, X2) -> proper# X1) (proper# and(X1, X2) -> proper# X1, proper# U41(X1, X2) -> U41#(proper X1, proper X2)) (proper# and(X1, X2) -> proper# X1, proper# U33 X -> proper# X) (proper# and(X1, X2) -> proper# X1, proper# U33 X -> U33# proper X) (proper# and(X1, X2) -> proper# X1, proper# U31(X1, X2, X3) -> proper# X3) (proper# and(X1, X2) -> proper# X1, proper# U31(X1, X2, X3) -> proper# X2) (proper# and(X1, X2) -> proper# X1, proper# U31(X1, X2, X3) -> proper# X1) (proper# and(X1, X2) -> proper# X1, proper# U31(X1, X2, X3) -> U31#(proper X1, proper X2, proper X3)) (proper# and(X1, X2) -> proper# X1, proper# U32(X1, X2) -> proper# X2) (proper# and(X1, X2) -> proper# X1, proper# U32(X1, X2) -> proper# X1) (proper# and(X1, X2) -> proper# X1, proper# U32(X1, X2) -> U32#(proper X1, proper X2)) (proper# and(X1, X2) -> proper# X1, proper# U21(X1, X2) -> proper# X2) (proper# and(X1, X2) -> proper# X1, proper# U21(X1, X2) -> proper# X1) (proper# and(X1, X2) -> proper# X1, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# and(X1, X2) -> proper# X1, proper# U22 X -> proper# X) (proper# and(X1, X2) -> proper# X1, proper# U22 X -> U22# proper X) (proper# and(X1, X2) -> proper# X1, proper# U13 X -> proper# X) (proper# and(X1, X2) -> proper# X1, proper# U13 X -> U13# proper X) (proper# and(X1, X2) -> proper# X1, proper# U11(X1, X2, X3) -> proper# X3) (proper# and(X1, X2) -> proper# X1, proper# U11(X1, X2, X3) -> proper# X2) (proper# and(X1, X2) -> proper# X1, proper# U11(X1, X2, X3) -> proper# X1) (proper# and(X1, X2) -> proper# X1, proper# U11(X1, X2, X3) -> U11#(proper X1, proper X2, proper X3)) (proper# and(X1, X2) -> proper# X1, proper# isNat X -> proper# X) (proper# and(X1, X2) -> proper# X1, proper# isNat X -> isNat# proper X) (proper# and(X1, X2) -> proper# X1, proper# U12(X1, X2) -> proper# X2) (proper# and(X1, X2) -> proper# X1, proper# U12(X1, X2) -> proper# X1) (proper# and(X1, X2) -> proper# X1, proper# U12(X1, X2) -> U12#(proper X1, proper X2)) (active# plus(N, s M) -> isNatKind# N, isNatKind# ok X -> isNatKind# X) (active# plus(N, 0()) -> isNatKind# N, isNatKind# ok X -> isNatKind# X) (active# x(N, s M) -> isNatKind# N, isNatKind# ok X -> isNatKind# X) (active# x(N, 0()) -> isNatKind# N, isNatKind# ok X -> isNatKind# X) (active# isNat x(V1, V2) -> and#(isNatKind V1, isNatKind V2), and#(ok X1, ok X2) -> and#(X1, X2)) (active# plus(N, s M) -> and#(isNat M, isNatKind M), and#(ok X1, ok X2) -> and#(X1, X2)) (active# plus(X1, X2) -> plus#(X1, active X2), plus#(ok X1, ok X2) -> plus#(X1, X2)) (active# plus(X1, X2) -> plus#(X1, active X2), plus#(mark X1, X2) -> plus#(X1, X2)) (active# plus(X1, X2) -> plus#(X1, active X2), plus#(X1, mark X2) -> plus#(X1, X2)) (active# x(N, s M) -> and#(isNat M, isNatKind M), and#(ok X1, ok X2) -> and#(X1, X2)) (active# x(X1, X2) -> x#(X1, active X2), x#(ok X1, ok X2) -> x#(X1, X2)) (active# x(X1, X2) -> x#(X1, active X2), x#(mark X1, X2) -> x#(X1, X2)) (active# x(X1, X2) -> x#(X1, active X2), x#(X1, mark X2) -> x#(X1, X2)) (active# isNatKind x(V1, V2) -> and#(isNatKind V1, isNatKind V2), and#(ok X1, ok X2) -> and#(X1, X2)) (proper# U21(X1, X2) -> U21#(proper X1, proper X2), U21#(ok X1, ok X2) -> U21#(X1, X2)) (proper# U21(X1, X2) -> U21#(proper X1, proper X2), U21#(mark X1, X2) -> U21#(X1, X2)) (proper# U41(X1, X2) -> U41#(proper X1, proper X2), U41#(ok X1, ok X2) -> U41#(X1, X2)) (proper# U41(X1, X2) -> U41#(proper X1, proper X2), U41#(mark X1, X2) -> U41#(X1, X2)) (proper# x(X1, X2) -> x#(proper X1, proper X2), x#(ok X1, ok X2) -> x#(X1, X2)) (proper# x(X1, X2) -> x#(proper X1, proper X2), x#(mark X1, X2) -> x#(X1, X2)) (proper# x(X1, X2) -> x#(proper X1, proper X2), x#(X1, mark X2) -> x#(X1, X2)) (proper# U11(X1, X2, X3) -> proper# X3, proper# isNatKind X -> proper# X) (proper# U11(X1, X2, X3) -> proper# X3, proper# isNatKind X -> isNatKind# proper X) (proper# U11(X1, X2, X3) -> proper# X3, proper# and(X1, X2) -> proper# X2) (proper# U11(X1, X2, X3) -> proper# X3, proper# and(X1, X2) -> proper# X1) (proper# U11(X1, X2, X3) -> proper# X3, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# U11(X1, X2, X3) -> proper# X3, proper# U71(X1, X2, X3) -> proper# X3) (proper# U11(X1, X2, X3) -> proper# X3, proper# U71(X1, X2, X3) -> proper# X2) (proper# U11(X1, X2, X3) -> proper# X3, proper# U71(X1, X2, X3) -> proper# X1) (proper# U11(X1, X2, X3) -> proper# X3, proper# U71(X1, X2, X3) -> U71#(proper X1, proper X2, proper X3)) (proper# U11(X1, X2, X3) -> proper# X3, proper# x(X1, X2) -> proper# X2) (proper# U11(X1, X2, X3) -> proper# X3, proper# x(X1, X2) -> proper# X1) (proper# U11(X1, X2, X3) -> proper# X3, proper# x(X1, X2) -> x#(proper X1, proper X2)) (proper# U11(X1, X2, X3) -> proper# X3, proper# U61 X -> proper# X) (proper# U11(X1, X2, X3) -> proper# X3, proper# U61 X -> U61# proper X) (proper# U11(X1, X2, X3) -> proper# X3, proper# U51(X1, X2, X3) -> proper# X3) (proper# U11(X1, X2, X3) -> proper# X3, proper# U51(X1, X2, X3) -> proper# X2) (proper# U11(X1, X2, X3) -> proper# X3, proper# U51(X1, X2, X3) -> proper# X1) (proper# U11(X1, X2, X3) -> proper# X3, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# U11(X1, X2, X3) -> proper# X3, proper# plus(X1, X2) -> proper# X2) (proper# U11(X1, X2, X3) -> proper# X3, proper# plus(X1, X2) -> proper# X1) (proper# U11(X1, X2, X3) -> proper# X3, proper# plus(X1, X2) -> plus#(proper X1, proper X2)) (proper# U11(X1, X2, X3) -> proper# X3, proper# s X -> proper# X) (proper# U11(X1, X2, X3) -> proper# X3, proper# s X -> s# proper X) (proper# U11(X1, X2, X3) -> proper# X3, proper# U41(X1, X2) -> proper# X2) (proper# U11(X1, X2, X3) -> proper# X3, proper# U41(X1, X2) -> proper# X1) (proper# U11(X1, X2, X3) -> proper# X3, proper# U41(X1, X2) -> U41#(proper X1, proper X2)) (proper# U11(X1, X2, X3) -> proper# X3, proper# U33 X -> proper# X) (proper# U11(X1, X2, X3) -> proper# X3, proper# U33 X -> U33# proper X) (proper# U11(X1, X2, X3) -> proper# X3, proper# U31(X1, X2, X3) -> proper# X3) (proper# U11(X1, X2, X3) -> proper# X3, proper# U31(X1, X2, X3) -> proper# X2) (proper# U11(X1, X2, X3) -> proper# X3, proper# U31(X1, X2, X3) -> proper# X1) (proper# U11(X1, X2, X3) -> proper# X3, proper# U31(X1, X2, X3) -> U31#(proper X1, proper X2, proper X3)) (proper# U11(X1, X2, X3) -> proper# X3, proper# U32(X1, X2) -> proper# X2) (proper# U11(X1, X2, X3) -> proper# X3, proper# U32(X1, X2) -> proper# X1) (proper# U11(X1, X2, X3) -> proper# X3, proper# U32(X1, X2) -> U32#(proper X1, proper X2)) (proper# U11(X1, X2, X3) -> proper# X3, proper# U21(X1, X2) -> proper# X2) (proper# U11(X1, X2, X3) -> proper# X3, proper# U21(X1, X2) -> proper# X1) (proper# U11(X1, X2, X3) -> proper# X3, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# U11(X1, X2, X3) -> proper# X3, proper# U22 X -> proper# X) (proper# U11(X1, X2, X3) -> proper# X3, proper# U22 X -> U22# proper X) (proper# U11(X1, X2, X3) -> proper# X3, proper# U13 X -> proper# X) (proper# U11(X1, X2, X3) -> proper# X3, proper# U13 X -> U13# proper X) (proper# U11(X1, X2, X3) -> proper# X3, proper# U11(X1, X2, X3) -> proper# X3) (proper# U11(X1, X2, X3) -> proper# X3, proper# U11(X1, X2, X3) -> proper# X2) (proper# U11(X1, X2, X3) -> proper# X3, proper# U11(X1, X2, X3) -> proper# X1) (proper# U11(X1, X2, X3) -> proper# X3, proper# U11(X1, X2, X3) -> U11#(proper X1, proper X2, proper X3)) (proper# U11(X1, X2, X3) -> proper# X3, proper# isNat X -> proper# X) (proper# U11(X1, X2, X3) -> proper# X3, proper# isNat X -> isNat# proper X) (proper# U11(X1, X2, X3) -> proper# X3, proper# U12(X1, X2) -> proper# X2) (proper# U11(X1, X2, X3) -> proper# X3, proper# U12(X1, X2) -> proper# X1) (proper# U11(X1, X2, X3) -> proper# X3, proper# U12(X1, X2) -> U12#(proper X1, proper X2)) (proper# U51(X1, X2, X3) -> proper# X3, proper# isNatKind X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X3, proper# isNatKind X -> isNatKind# proper X) (proper# U51(X1, X2, X3) -> proper# X3, proper# and(X1, X2) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X3, proper# and(X1, X2) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X3, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# U51(X1, X2, X3) -> proper# X3, proper# U71(X1, X2, X3) -> proper# X3) (proper# U51(X1, X2, X3) -> proper# X3, proper# U71(X1, X2, X3) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X3, proper# U71(X1, X2, X3) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X3, proper# U71(X1, X2, X3) -> U71#(proper X1, proper X2, proper X3)) (proper# U51(X1, X2, X3) -> proper# X3, proper# x(X1, X2) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X3, proper# x(X1, X2) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X3, proper# x(X1, X2) -> x#(proper X1, proper X2)) (proper# U51(X1, X2, X3) -> proper# X3, proper# U61 X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X3, proper# U61 X -> U61# proper X) (proper# U51(X1, X2, X3) -> proper# X3, proper# U51(X1, X2, X3) -> proper# X3) (proper# U51(X1, X2, X3) -> proper# X3, proper# U51(X1, X2, X3) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X3, proper# U51(X1, X2, X3) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X3, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# U51(X1, X2, X3) -> proper# X3, proper# plus(X1, X2) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X3, proper# plus(X1, X2) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X3, proper# plus(X1, X2) -> plus#(proper X1, proper X2)) (proper# U51(X1, X2, X3) -> proper# X3, proper# s X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X3, proper# s X -> s# proper X) (proper# U51(X1, X2, X3) -> proper# X3, proper# U41(X1, X2) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X3, proper# U41(X1, X2) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X3, proper# U41(X1, X2) -> U41#(proper X1, proper X2)) (proper# U51(X1, X2, X3) -> proper# X3, proper# U33 X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X3, proper# U33 X -> U33# proper X) (proper# U51(X1, X2, X3) -> proper# X3, proper# U31(X1, X2, X3) -> proper# X3) (proper# U51(X1, X2, X3) -> proper# X3, proper# U31(X1, X2, X3) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X3, proper# U31(X1, X2, X3) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X3, proper# U31(X1, X2, X3) -> U31#(proper X1, proper X2, proper X3)) (proper# U51(X1, X2, X3) -> proper# X3, proper# U32(X1, X2) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X3, proper# U32(X1, X2) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X3, proper# U32(X1, X2) -> U32#(proper X1, proper X2)) (proper# U51(X1, X2, X3) -> proper# X3, proper# U21(X1, X2) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X3, proper# U21(X1, X2) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X3, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# U51(X1, X2, X3) -> proper# X3, proper# U22 X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X3, proper# U22 X -> U22# proper X) (proper# U51(X1, X2, X3) -> proper# X3, proper# U13 X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X3, proper# U13 X -> U13# proper X) (proper# U51(X1, X2, X3) -> proper# X3, proper# U11(X1, X2, X3) -> proper# X3) (proper# U51(X1, X2, X3) -> proper# X3, proper# U11(X1, X2, X3) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X3, proper# U11(X1, X2, X3) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X3, proper# U11(X1, X2, X3) -> U11#(proper X1, proper X2, proper X3)) (proper# U51(X1, X2, X3) -> proper# X3, proper# isNat X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X3, proper# isNat X -> isNat# proper X) (proper# U51(X1, X2, X3) -> proper# X3, proper# U12(X1, X2) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X3, proper# U12(X1, X2) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X3, proper# U12(X1, X2) -> U12#(proper X1, proper X2)) (isNat# ok X -> isNat# X, isNat# ok X -> isNat# X) (active# U22 X -> active# X, active# isNatKind x(V1, V2) -> isNatKind# V2) (active# U22 X -> active# X, active# isNatKind x(V1, V2) -> isNatKind# V1) (active# U22 X -> active# X, active# isNatKind x(V1, V2) -> and#(isNatKind V1, isNatKind V2)) (active# U22 X -> active# X, active# isNatKind plus(V1, V2) -> isNatKind# V2) (active# U22 X -> active# X, active# isNatKind plus(V1, V2) -> isNatKind# V1) (active# U22 X -> active# X, active# isNatKind plus(V1, V2) -> and#(isNatKind V1, isNatKind V2)) (active# U22 X -> active# X, active# isNatKind s V1 -> isNatKind# V1) (active# U22 X -> active# X, active# and(X1, X2) -> and#(active X1, X2)) (active# U22 X -> active# X, active# and(X1, X2) -> active# X1) (active# U22 X -> active# X, active# U71(tt(), M, N) -> x#(N, M)) (active# U22 X -> active# X, active# U71(tt(), M, N) -> plus#(x(N, M), N)) (active# U22 X -> active# X, active# U71(X1, X2, X3) -> U71#(active X1, X2, X3)) (active# U22 X -> active# X, active# U71(X1, X2, X3) -> active# X1) (active# U22 X -> active# X, active# x(X1, X2) -> x#(active X1, X2)) (active# U22 X -> active# X, active# x(X1, X2) -> x#(X1, active X2)) (active# U22 X -> active# X, active# x(X1, X2) -> active# X2) (active# U22 X -> active# X, active# x(X1, X2) -> active# X1) (active# U22 X -> active# X, active# x(N, 0()) -> isNatKind# N) (active# U22 X -> active# X, active# x(N, 0()) -> and#(isNat N, isNatKind N)) (active# U22 X -> active# X, active# x(N, 0()) -> U61# and(isNat N, isNatKind N)) (active# U22 X -> active# X, active# x(N, 0()) -> isNat# N) (active# U22 X -> active# X, active# x(N, s M) -> isNatKind# M) (active# U22 X -> active# X, active# x(N, s M) -> isNatKind# N) (active# U22 X -> active# X, active# x(N, s M) -> and#(and(isNat M, isNatKind M), and(isNat N, isNatKind N))) (active# U22 X -> active# X, active# x(N, s M) -> and#(isNat M, isNatKind M)) (active# U22 X -> active# X, active# x(N, s M) -> and#(isNat N, isNatKind N)) (active# U22 X -> active# X, active# x(N, s M) -> U71#(and(and(isNat M, isNatKind M), and(isNat N, isNatKind N)), M, N)) (active# U22 X -> active# X, active# x(N, s M) -> isNat# M) (active# U22 X -> active# X, active# x(N, s M) -> isNat# N) (active# U22 X -> active# X, active# U61 X -> U61# active X) (active# U22 X -> active# X, active# U61 X -> active# X) (active# U22 X -> active# X, active# U51(tt(), M, N) -> plus#(N, M)) (active# U22 X -> active# X, active# U51(tt(), M, N) -> s# plus(N, M)) (active# U22 X -> active# X, active# U51(X1, X2, X3) -> U51#(active X1, X2, X3)) (active# U22 X -> active# X, active# U51(X1, X2, X3) -> active# X1) (active# U22 X -> active# X, active# plus(X1, X2) -> plus#(active X1, X2)) (active# U22 X -> active# X, active# plus(X1, X2) -> plus#(X1, active X2)) (active# U22 X -> active# X, active# plus(X1, X2) -> active# X2) (active# U22 X -> active# X, active# plus(X1, X2) -> active# X1) (active# U22 X -> active# X, active# plus(N, 0()) -> isNatKind# N) (active# U22 X -> active# X, active# plus(N, 0()) -> and#(isNat N, isNatKind N)) (active# U22 X -> active# X, active# plus(N, 0()) -> U41#(and(isNat N, isNatKind N), N)) (active# U22 X -> active# X, active# plus(N, 0()) -> isNat# N) (active# U22 X -> active# X, active# plus(N, s M) -> isNatKind# M) (active# U22 X -> active# X, active# plus(N, s M) -> isNatKind# N) (active# U22 X -> active# X, active# plus(N, s M) -> and#(and(isNat M, isNatKind M), and(isNat N, isNatKind N))) (active# U22 X -> active# X, active# plus(N, s M) -> and#(isNat M, isNatKind M)) (active# U22 X -> active# X, active# plus(N, s M) -> and#(isNat N, isNatKind N)) (active# U22 X -> active# X, active# plus(N, s M) -> U51#(and(and(isNat M, isNatKind M), and(isNat N, isNatKind N)), M, N)) (active# U22 X -> active# X, active# plus(N, s M) -> isNat# M) (active# U22 X -> active# X, active# plus(N, s M) -> isNat# N) (active# U22 X -> active# X, active# s X -> s# active X) (active# U22 X -> active# X, active# s X -> active# X) (active# U22 X -> active# X, active# U41(X1, X2) -> U41#(active X1, X2)) (active# U22 X -> active# X, active# U41(X1, X2) -> active# X1) (active# U22 X -> active# X, active# U33 X -> U33# active X) (active# U22 X -> active# X, active# U33 X -> active# X) (active# U22 X -> active# X, active# U31(tt(), V1, V2) -> U32#(isNat V1, V2)) (active# U22 X -> active# X, active# U31(tt(), V1, V2) -> isNat# V1) (active# U22 X -> active# X, active# U31(X1, X2, X3) -> U31#(active X1, X2, X3)) (active# U22 X -> active# X, active# U31(X1, X2, X3) -> active# X1) (active# U22 X -> active# X, active# U32(tt(), V2) -> U33# isNat V2) (active# U22 X -> active# X, active# U32(tt(), V2) -> isNat# V2) (active# U22 X -> active# X, active# U32(X1, X2) -> U32#(active X1, X2)) (active# U22 X -> active# X, active# U32(X1, X2) -> active# X1) (active# U22 X -> active# X, active# U21(tt(), V1) -> U22# isNat V1) (active# U22 X -> active# X, active# U21(tt(), V1) -> isNat# V1) (active# U22 X -> active# X, active# U21(X1, X2) -> U21#(active X1, X2)) (active# U22 X -> active# X, active# U21(X1, X2) -> active# X1) (active# U22 X -> active# X, active# U22 X -> U22# active X) (active# U22 X -> active# X, active# U22 X -> active# X) (active# U22 X -> active# X, active# U13 X -> U13# active X) (active# U22 X -> active# X, active# U13 X -> active# X) (active# U22 X -> active# X, active# U11(tt(), V1, V2) -> isNat# V1) (active# U22 X -> active# X, active# U11(tt(), V1, V2) -> U12#(isNat V1, V2)) (active# U22 X -> active# X, active# U11(X1, X2, X3) -> U11#(active X1, X2, X3)) (active# U22 X -> active# X, active# U11(X1, X2, X3) -> active# X1) (active# U22 X -> active# X, active# isNat x(V1, V2) -> isNatKind# V2) (active# U22 X -> active# X, active# isNat x(V1, V2) -> isNatKind# V1) (active# U22 X -> active# X, active# isNat x(V1, V2) -> and#(isNatKind V1, isNatKind V2)) (active# U22 X -> active# X, active# isNat x(V1, V2) -> U31#(and(isNatKind V1, isNatKind V2), V1, V2)) (active# U22 X -> active# X, active# isNat plus(V1, V2) -> isNatKind# V2) (active# U22 X -> active# X, active# isNat plus(V1, V2) -> isNatKind# V1) (active# U22 X -> active# X, active# isNat plus(V1, V2) -> and#(isNatKind V1, isNatKind V2)) (active# U22 X -> active# X, active# isNat plus(V1, V2) -> U11#(and(isNatKind V1, isNatKind V2), V1, V2)) (active# U22 X -> active# X, active# isNat s V1 -> isNatKind# V1) (active# U22 X -> active# X, active# isNat s V1 -> U21#(isNatKind V1, V1)) (active# U22 X -> active# X, active# U12(tt(), V2) -> U13# isNat V2) (active# U22 X -> active# X, active# U12(tt(), V2) -> isNat# V2) (active# U22 X -> active# X, active# U12(X1, X2) -> active# X1) (active# U22 X -> active# X, active# U12(X1, X2) -> U12#(active X1, X2)) (active# s X -> active# X, active# isNatKind x(V1, V2) -> isNatKind# V2) (active# s X -> active# X, active# isNatKind x(V1, V2) -> isNatKind# V1) (active# s X -> active# X, active# isNatKind x(V1, V2) -> and#(isNatKind V1, isNatKind V2)) (active# s X -> active# X, active# isNatKind plus(V1, V2) -> isNatKind# V2) (active# s X -> active# X, active# isNatKind plus(V1, V2) -> isNatKind# V1) (active# s X -> active# X, active# isNatKind plus(V1, V2) -> and#(isNatKind V1, isNatKind V2)) (active# s X -> active# X, active# isNatKind s V1 -> isNatKind# V1) (active# s X -> active# X, active# and(X1, X2) -> and#(active X1, X2)) (active# s X -> active# X, active# and(X1, X2) -> active# X1) (active# s X -> active# X, active# U71(tt(), M, N) -> x#(N, M)) (active# s X -> active# X, active# U71(tt(), M, N) -> plus#(x(N, M), N)) (active# s X -> active# X, active# U71(X1, X2, X3) -> U71#(active X1, X2, X3)) (active# s X -> active# X, active# U71(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()) -> isNatKind# N) (active# s X -> active# X, active# x(N, 0()) -> and#(isNat N, isNatKind N)) (active# s X -> active# X, active# x(N, 0()) -> U61# and(isNat N, isNatKind N)) (active# s X -> active# X, active# x(N, 0()) -> isNat# N) (active# s X -> active# X, active# x(N, s M) -> isNatKind# M) (active# s X -> active# X, active# x(N, s M) -> isNatKind# N) (active# s X -> active# X, active# x(N, s M) -> and#(and(isNat M, isNatKind M), and(isNat N, isNatKind N))) (active# s X -> active# X, active# x(N, s M) -> and#(isNat M, isNatKind M)) (active# s X -> active# X, active# x(N, s M) -> and#(isNat N, isNatKind N)) (active# s X -> active# X, active# x(N, s M) -> U71#(and(and(isNat M, isNatKind M), and(isNat N, isNatKind N)), M, N)) (active# s X -> active# X, active# x(N, s M) -> isNat# M) (active# s X -> active# X, active# x(N, s M) -> isNat# N) (active# s X -> active# X, active# U61 X -> U61# active X) (active# s X -> active# X, active# U61 X -> active# X) (active# s X -> active# X, active# U51(tt(), M, N) -> plus#(N, M)) (active# s X -> active# X, active# U51(tt(), M, N) -> s# plus(N, M)) (active# s X -> active# X, active# U51(X1, X2, X3) -> U51#(active X1, X2, X3)) (active# s X -> active# X, active# U51(X1, X2, X3) -> active# X1) (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()) -> isNatKind# N) (active# s X -> active# X, active# plus(N, 0()) -> and#(isNat N, isNatKind N)) (active# s X -> active# X, active# plus(N, 0()) -> U41#(and(isNat N, isNatKind N), N)) (active# s X -> active# X, active# plus(N, 0()) -> isNat# N) (active# s X -> active# X, active# plus(N, s M) -> isNatKind# M) (active# s X -> active# X, active# plus(N, s M) -> isNatKind# N) (active# s X -> active# X, active# plus(N, s M) -> and#(and(isNat M, isNatKind M), and(isNat N, isNatKind N))) (active# s X -> active# X, active# plus(N, s M) -> and#(isNat M, isNatKind M)) (active# s X -> active# X, active# plus(N, s M) -> and#(isNat N, isNatKind N)) (active# s X -> active# X, active# plus(N, s M) -> U51#(and(and(isNat M, isNatKind M), and(isNat N, isNatKind N)), M, N)) (active# s X -> active# X, active# plus(N, s M) -> isNat# M) (active# s X -> active# X, active# plus(N, s M) -> isNat# N) (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# U41(X1, X2) -> U41#(active X1, X2)) (active# s X -> active# X, active# U41(X1, X2) -> active# X1) (active# s X -> active# X, active# U33 X -> U33# active X) (active# s X -> active# X, active# U33 X -> active# X) (active# s X -> active# X, active# U31(tt(), V1, V2) -> U32#(isNat V1, V2)) (active# s X -> active# X, active# U31(tt(), V1, V2) -> isNat# 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(), V2) -> U33# isNat V2) (active# s X -> active# X, active# U32(tt(), V2) -> isNat# V2) (active# s X -> active# X, active# U32(X1, X2) -> U32#(active X1, X2)) (active# s X -> active# X, active# U32(X1, X2) -> active# X1) (active# s X -> active# X, active# U21(tt(), V1) -> U22# isNat V1) (active# s X -> active# X, active# U21(tt(), V1) -> isNat# 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 X -> U22# active X) (active# s X -> active# X, active# U22 X -> active# X) (active# s X -> active# X, active# U13 X -> U13# active X) (active# s X -> active# X, active# U13 X -> active# X) (active# s X -> active# X, active# U11(tt(), V1, V2) -> isNat# V1) (active# s X -> active# X, active# U11(tt(), V1, V2) -> U12#(isNat V1, V2)) (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# isNat x(V1, V2) -> isNatKind# V2) (active# s X -> active# X, active# isNat x(V1, V2) -> isNatKind# V1) (active# s X -> active# X, active# isNat x(V1, V2) -> and#(isNatKind V1, isNatKind V2)) (active# s X -> active# X, active# isNat x(V1, V2) -> U31#(and(isNatKind V1, isNatKind V2), V1, V2)) (active# s X -> active# X, active# isNat plus(V1, V2) -> isNatKind# V2) (active# s X -> active# X, active# isNat plus(V1, V2) -> isNatKind# V1) (active# s X -> active# X, active# isNat plus(V1, V2) -> and#(isNatKind V1, isNatKind V2)) (active# s X -> active# X, active# isNat plus(V1, V2) -> U11#(and(isNatKind V1, isNatKind V2), V1, V2)) (active# s X -> active# X, active# isNat s V1 -> isNatKind# V1) (active# s X -> active# X, active# isNat s V1 -> U21#(isNatKind V1, V1)) (active# s X -> active# X, active# U12(tt(), V2) -> U13# isNat V2) (active# s X -> active# X, active# U12(tt(), V2) -> isNat# V2) (active# s X -> active# X, active# U12(X1, X2) -> active# X1) (active# s X -> active# X, active# U12(X1, X2) -> U12#(active X1, X2)) (U13# mark X -> U13# X, U13# ok X -> U13# X) (U13# mark X -> U13# X, U13# mark X -> U13# X) (U22# mark X -> U22# X, U22# ok X -> U22# X) (U22# mark X -> U22# X, U22# mark X -> U22# X) (U33# mark X -> U33# X, U33# ok X -> U33# X) (U33# mark X -> U33# X, U33# mark X -> U33# X) (s# mark X -> s# X, s# ok X -> s# X) (s# mark X -> s# X, s# mark X -> s# X) (U61# mark X -> U61# X, U61# ok X -> U61# X) (U61# mark X -> U61# X, U61# mark X -> U61# X) (isNatKind# ok X -> isNatKind# X, isNatKind# ok X -> isNatKind# X) (proper# U13 X -> proper# X, proper# isNatKind X -> proper# X) (proper# U13 X -> proper# X, proper# isNatKind X -> isNatKind# proper X) (proper# U13 X -> proper# X, proper# and(X1, X2) -> proper# X2) (proper# U13 X -> proper# X, proper# and(X1, X2) -> proper# X1) (proper# U13 X -> proper# X, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# U13 X -> proper# X, proper# U71(X1, X2, X3) -> proper# X3) (proper# U13 X -> proper# X, proper# U71(X1, X2, X3) -> proper# X2) (proper# U13 X -> proper# X, proper# U71(X1, X2, X3) -> proper# X1) (proper# U13 X -> proper# X, proper# U71(X1, X2, X3) -> U71#(proper X1, proper X2, proper X3)) (proper# U13 X -> proper# X, proper# x(X1, X2) -> proper# X2) (proper# U13 X -> proper# X, proper# x(X1, X2) -> proper# X1) (proper# U13 X -> proper# X, proper# x(X1, X2) -> x#(proper X1, proper X2)) (proper# U13 X -> proper# X, proper# U61 X -> proper# X) (proper# U13 X -> proper# X, proper# U61 X -> U61# proper X) (proper# U13 X -> proper# X, proper# U51(X1, X2, X3) -> proper# X3) (proper# U13 X -> proper# X, proper# U51(X1, X2, X3) -> proper# X2) (proper# U13 X -> proper# X, proper# U51(X1, X2, X3) -> proper# X1) (proper# U13 X -> proper# X, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# U13 X -> proper# X, proper# plus(X1, X2) -> proper# X2) (proper# U13 X -> proper# X, proper# plus(X1, X2) -> proper# X1) (proper# U13 X -> proper# X, proper# plus(X1, X2) -> plus#(proper X1, proper X2)) (proper# U13 X -> proper# X, proper# s X -> proper# X) (proper# U13 X -> proper# X, proper# s X -> s# proper X) (proper# U13 X -> proper# X, proper# U41(X1, X2) -> proper# X2) (proper# U13 X -> proper# X, proper# U41(X1, X2) -> proper# X1) (proper# U13 X -> proper# X, proper# U41(X1, X2) -> U41#(proper X1, proper X2)) (proper# U13 X -> proper# X, proper# U33 X -> proper# X) (proper# U13 X -> proper# X, proper# U33 X -> U33# proper X) (proper# U13 X -> proper# X, proper# U31(X1, X2, X3) -> proper# X3) (proper# U13 X -> proper# X, proper# U31(X1, X2, X3) -> proper# X2) (proper# U13 X -> proper# X, proper# U31(X1, X2, X3) -> proper# X1) (proper# U13 X -> proper# X, proper# U31(X1, X2, X3) -> U31#(proper X1, proper X2, proper X3)) (proper# U13 X -> proper# X, proper# U32(X1, X2) -> proper# X2) (proper# U13 X -> proper# X, proper# U32(X1, X2) -> proper# X1) (proper# U13 X -> proper# X, proper# U32(X1, X2) -> U32#(proper X1, proper X2)) (proper# U13 X -> proper# X, proper# U21(X1, X2) -> proper# X2) (proper# U13 X -> proper# X, proper# U21(X1, X2) -> proper# X1) (proper# U13 X -> proper# X, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# U13 X -> proper# X, proper# U22 X -> proper# X) (proper# U13 X -> proper# X, proper# U22 X -> U22# proper X) (proper# U13 X -> proper# X, proper# U13 X -> proper# X) (proper# U13 X -> proper# X, proper# U13 X -> U13# proper X) (proper# U13 X -> proper# X, proper# U11(X1, X2, X3) -> proper# X3) (proper# U13 X -> proper# X, proper# U11(X1, X2, X3) -> proper# X2) (proper# U13 X -> proper# X, proper# U11(X1, X2, X3) -> proper# X1) (proper# U13 X -> proper# X, proper# U11(X1, X2, X3) -> U11#(proper X1, proper X2, proper X3)) (proper# U13 X -> proper# X, proper# isNat X -> proper# X) (proper# U13 X -> proper# X, proper# isNat X -> isNat# proper X) (proper# U13 X -> proper# X, proper# U12(X1, X2) -> proper# X2) (proper# U13 X -> proper# X, proper# U12(X1, X2) -> proper# X1) (proper# U13 X -> proper# X, proper# U12(X1, X2) -> U12#(proper X1, proper X2)) (proper# U33 X -> proper# X, proper# isNatKind X -> proper# X) (proper# U33 X -> proper# X, proper# isNatKind X -> isNatKind# proper X) (proper# U33 X -> proper# X, proper# and(X1, X2) -> proper# X2) (proper# U33 X -> proper# X, proper# and(X1, X2) -> proper# X1) (proper# U33 X -> proper# X, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# U33 X -> proper# X, proper# U71(X1, X2, X3) -> proper# X3) (proper# U33 X -> proper# X, proper# U71(X1, X2, X3) -> proper# X2) (proper# U33 X -> proper# X, proper# U71(X1, X2, X3) -> proper# X1) (proper# U33 X -> proper# X, proper# U71(X1, X2, X3) -> U71#(proper X1, proper X2, proper X3)) (proper# U33 X -> proper# X, proper# x(X1, X2) -> proper# X2) (proper# U33 X -> proper# X, proper# x(X1, X2) -> proper# X1) (proper# U33 X -> proper# X, proper# x(X1, X2) -> x#(proper X1, proper X2)) (proper# U33 X -> proper# X, proper# U61 X -> proper# X) (proper# U33 X -> proper# X, proper# U61 X -> U61# proper X) (proper# U33 X -> proper# X, proper# U51(X1, X2, X3) -> proper# X3) (proper# U33 X -> proper# X, proper# U51(X1, X2, X3) -> proper# X2) (proper# U33 X -> proper# X, proper# U51(X1, X2, X3) -> proper# X1) (proper# U33 X -> proper# X, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# U33 X -> proper# X, proper# plus(X1, X2) -> proper# X2) (proper# U33 X -> proper# X, proper# plus(X1, X2) -> proper# X1) (proper# U33 X -> proper# X, proper# plus(X1, X2) -> plus#(proper X1, proper X2)) (proper# U33 X -> proper# X, proper# s X -> proper# X) (proper# U33 X -> proper# X, proper# s X -> s# proper X) (proper# U33 X -> proper# X, proper# U41(X1, X2) -> proper# X2) (proper# U33 X -> proper# X, proper# U41(X1, X2) -> proper# X1) (proper# U33 X -> proper# X, proper# U41(X1, X2) -> U41#(proper X1, proper X2)) (proper# U33 X -> proper# X, proper# U33 X -> proper# X) (proper# U33 X -> proper# X, proper# U33 X -> U33# proper X) (proper# U33 X -> proper# X, proper# U31(X1, X2, X3) -> proper# X3) (proper# U33 X -> proper# X, proper# U31(X1, X2, X3) -> proper# X2) (proper# U33 X -> proper# X, proper# U31(X1, X2, X3) -> proper# X1) (proper# U33 X -> proper# X, proper# U31(X1, X2, X3) -> U31#(proper X1, proper X2, proper X3)) (proper# U33 X -> proper# X, proper# U32(X1, X2) -> proper# X2) (proper# U33 X -> proper# X, proper# U32(X1, X2) -> proper# X1) (proper# U33 X -> proper# X, proper# U32(X1, X2) -> U32#(proper X1, proper X2)) (proper# U33 X -> proper# X, proper# U21(X1, X2) -> proper# X2) (proper# U33 X -> proper# X, proper# U21(X1, X2) -> proper# X1) (proper# U33 X -> proper# X, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# U33 X -> proper# X, proper# U22 X -> proper# X) (proper# U33 X -> proper# X, proper# U22 X -> U22# proper X) (proper# U33 X -> proper# X, proper# U13 X -> proper# X) (proper# U33 X -> proper# X, proper# U13 X -> U13# proper X) (proper# U33 X -> proper# X, proper# U11(X1, X2, X3) -> proper# X3) (proper# U33 X -> proper# X, proper# U11(X1, X2, X3) -> proper# X2) (proper# U33 X -> proper# X, proper# U11(X1, X2, X3) -> proper# X1) (proper# U33 X -> proper# X, proper# U11(X1, X2, X3) -> U11#(proper X1, proper X2, proper X3)) (proper# U33 X -> proper# X, proper# isNat X -> proper# X) (proper# U33 X -> proper# X, proper# isNat X -> isNat# proper X) (proper# U33 X -> proper# X, proper# U12(X1, X2) -> proper# X2) (proper# U33 X -> proper# X, proper# U12(X1, X2) -> proper# X1) (proper# U33 X -> proper# X, proper# U12(X1, X2) -> U12#(proper X1, proper X2)) (proper# U61 X -> proper# X, proper# isNatKind X -> proper# X) (proper# U61 X -> proper# X, proper# isNatKind X -> isNatKind# proper X) (proper# U61 X -> proper# X, proper# and(X1, X2) -> proper# X2) (proper# U61 X -> proper# X, proper# and(X1, X2) -> proper# X1) (proper# U61 X -> proper# X, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# U61 X -> proper# X, proper# U71(X1, X2, X3) -> proper# X3) (proper# U61 X -> proper# X, proper# U71(X1, X2, X3) -> proper# X2) (proper# U61 X -> proper# X, proper# U71(X1, X2, X3) -> proper# X1) (proper# U61 X -> proper# X, proper# U71(X1, X2, X3) -> U71#(proper X1, proper X2, proper X3)) (proper# U61 X -> proper# X, proper# x(X1, X2) -> proper# X2) (proper# U61 X -> proper# X, proper# x(X1, X2) -> proper# X1) (proper# U61 X -> proper# X, proper# x(X1, X2) -> x#(proper X1, proper X2)) (proper# U61 X -> proper# X, proper# U61 X -> proper# X) (proper# U61 X -> proper# X, proper# U61 X -> U61# proper X) (proper# U61 X -> proper# X, proper# U51(X1, X2, X3) -> proper# X3) (proper# U61 X -> proper# X, proper# U51(X1, X2, X3) -> proper# X2) (proper# U61 X -> proper# X, proper# U51(X1, X2, X3) -> proper# X1) (proper# U61 X -> proper# X, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# U61 X -> proper# X, proper# plus(X1, X2) -> proper# X2) (proper# U61 X -> proper# X, proper# plus(X1, X2) -> proper# X1) (proper# U61 X -> proper# X, proper# plus(X1, X2) -> plus#(proper X1, proper X2)) (proper# U61 X -> proper# X, proper# s X -> proper# X) (proper# U61 X -> proper# X, proper# s X -> s# proper X) (proper# U61 X -> proper# X, proper# U41(X1, X2) -> proper# X2) (proper# U61 X -> proper# X, proper# U41(X1, X2) -> proper# X1) (proper# U61 X -> proper# X, proper# U41(X1, X2) -> U41#(proper X1, proper X2)) (proper# U61 X -> proper# X, proper# U33 X -> proper# X) (proper# U61 X -> proper# X, proper# U33 X -> U33# proper X) (proper# U61 X -> proper# X, proper# U31(X1, X2, X3) -> proper# X3) (proper# U61 X -> proper# X, proper# U31(X1, X2, X3) -> proper# X2) (proper# U61 X -> proper# X, proper# U31(X1, X2, X3) -> proper# X1) (proper# U61 X -> proper# X, proper# U31(X1, X2, X3) -> U31#(proper X1, proper X2, proper X3)) (proper# U61 X -> proper# X, proper# U32(X1, X2) -> proper# X2) (proper# U61 X -> proper# X, proper# U32(X1, X2) -> proper# X1) (proper# U61 X -> proper# X, proper# U32(X1, X2) -> U32#(proper X1, proper X2)) (proper# U61 X -> proper# X, proper# U21(X1, X2) -> proper# X2) (proper# U61 X -> proper# X, proper# U21(X1, X2) -> proper# X1) (proper# U61 X -> proper# X, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# U61 X -> proper# X, proper# U22 X -> proper# X) (proper# U61 X -> proper# X, proper# U22 X -> U22# proper X) (proper# U61 X -> proper# X, proper# U13 X -> proper# X) (proper# U61 X -> proper# X, proper# U13 X -> U13# proper X) (proper# U61 X -> proper# X, proper# U11(X1, X2, X3) -> proper# X3) (proper# U61 X -> proper# X, proper# U11(X1, X2, X3) -> proper# X2) (proper# U61 X -> proper# X, proper# U11(X1, X2, X3) -> proper# X1) (proper# U61 X -> proper# X, proper# U11(X1, X2, X3) -> U11#(proper X1, proper X2, proper X3)) (proper# U61 X -> proper# X, proper# isNat X -> proper# X) (proper# U61 X -> proper# X, proper# isNat X -> isNat# proper X) (proper# U61 X -> proper# X, proper# U12(X1, X2) -> proper# X2) (proper# U61 X -> proper# X, proper# U12(X1, X2) -> proper# X1) (proper# U61 X -> proper# X, proper# U12(X1, X2) -> U12#(proper X1, proper X2)) (top# mark X -> proper# X, proper# isNatKind X -> proper# X) (top# mark X -> proper# X, proper# isNatKind X -> isNatKind# proper X) (top# mark X -> proper# X, proper# and(X1, X2) -> proper# X2) (top# mark X -> proper# X, proper# and(X1, X2) -> proper# X1) (top# mark X -> proper# X, proper# and(X1, X2) -> and#(proper X1, proper X2)) (top# mark X -> proper# X, proper# U71(X1, X2, X3) -> proper# X3) (top# mark X -> proper# X, proper# U71(X1, X2, X3) -> proper# X2) (top# mark X -> proper# X, proper# U71(X1, X2, X3) -> proper# X1) (top# mark X -> proper# X, proper# U71(X1, X2, X3) -> U71#(proper X1, proper X2, proper X3)) (top# mark X -> proper# X, proper# x(X1, X2) -> proper# X2) (top# mark X -> proper# X, proper# x(X1, X2) -> proper# X1) (top# mark X -> proper# X, proper# x(X1, X2) -> x#(proper X1, proper X2)) (top# mark X -> proper# X, proper# U61 X -> proper# X) (top# mark X -> proper# X, proper# U61 X -> U61# proper X) (top# mark X -> proper# X, proper# U51(X1, X2, X3) -> proper# X3) (top# mark X -> proper# X, proper# U51(X1, X2, X3) -> proper# X2) (top# mark X -> proper# X, proper# U51(X1, X2, X3) -> proper# X1) (top# mark X -> proper# X, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (top# mark X -> proper# X, proper# plus(X1, X2) -> proper# X2) (top# mark X -> proper# X, proper# plus(X1, X2) -> proper# X1) (top# mark X -> proper# X, proper# plus(X1, X2) -> plus#(proper X1, proper X2)) (top# mark X -> proper# X, proper# s X -> proper# X) (top# mark X -> proper# X, proper# s X -> s# proper X) (top# mark X -> proper# X, proper# U41(X1, X2) -> proper# X2) (top# mark X -> proper# X, proper# U41(X1, X2) -> proper# X1) (top# mark X -> proper# X, proper# U41(X1, X2) -> U41#(proper X1, proper X2)) (top# mark X -> proper# X, proper# U33 X -> proper# X) (top# mark X -> proper# X, proper# U33 X -> U33# proper X) (top# mark X -> proper# X, proper# U31(X1, X2, X3) -> proper# X3) (top# mark X -> proper# X, proper# U31(X1, X2, X3) -> proper# X2) (top# mark X -> proper# X, proper# U31(X1, X2, X3) -> proper# X1) (top# mark X -> proper# X, proper# U31(X1, X2, X3) -> U31#(proper X1, proper X2, proper X3)) (top# mark X -> proper# X, proper# U32(X1, X2) -> proper# X2) (top# mark X -> proper# X, proper# U32(X1, X2) -> proper# X1) (top# mark X -> proper# X, proper# U32(X1, X2) -> U32#(proper X1, proper X2)) (top# mark X -> proper# X, proper# U21(X1, X2) -> proper# X2) (top# mark X -> proper# X, proper# U21(X1, X2) -> proper# X1) (top# mark X -> proper# X, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (top# mark X -> proper# X, proper# U22 X -> proper# X) (top# mark X -> proper# X, proper# U22 X -> U22# proper X) (top# mark X -> proper# X, proper# U13 X -> proper# X) (top# mark X -> proper# X, proper# U13 X -> U13# proper X) (top# mark X -> proper# X, proper# U11(X1, X2, X3) -> proper# X3) (top# mark X -> proper# X, proper# U11(X1, X2, X3) -> proper# X2) (top# mark X -> proper# X, proper# U11(X1, X2, X3) -> proper# X1) (top# mark X -> proper# X, proper# U11(X1, X2, X3) -> U11#(proper X1, proper X2, proper X3)) (top# mark X -> proper# X, proper# isNat X -> proper# X) (top# mark X -> proper# X, proper# isNat X -> isNat# proper X) (top# mark X -> proper# X, proper# U12(X1, X2) -> proper# X2) (top# mark X -> proper# X, proper# U12(X1, X2) -> proper# X1) (top# mark X -> proper# X, proper# U12(X1, X2) -> U12#(proper X1, proper X2)) (active# U11(X1, X2, X3) -> U11#(active X1, X2, X3), U11#(ok X1, ok X2, ok X3) -> U11#(X1, X2, X3)) (active# U11(X1, X2, X3) -> U11#(active X1, X2, X3), U11#(mark X1, X2, X3) -> U11#(X1, X2, X3)) (active# U51(X1, X2, X3) -> U51#(active X1, X2, X3), U51#(ok X1, ok X2, ok X3) -> U51#(X1, X2, X3)) (active# U51(X1, X2, X3) -> U51#(active X1, X2, X3), U51#(mark X1, X2, X3) -> U51#(X1, X2, X3)) (U11#(mark X1, X2, X3) -> U11#(X1, X2, X3), U11#(ok X1, ok X2, ok X3) -> U11#(X1, X2, X3)) (U11#(mark X1, X2, X3) -> U11#(X1, X2, X3), U11#(mark X1, X2, X3) -> U11#(X1, X2, X3)) (U31#(mark X1, X2, X3) -> U31#(X1, X2, X3), U31#(ok X1, ok X2, ok X3) -> U31#(X1, X2, X3)) (U31#(mark X1, X2, X3) -> U31#(X1, X2, X3), U31#(mark X1, X2, X3) -> U31#(X1, X2, X3)) (U51#(mark X1, X2, X3) -> U51#(X1, X2, X3), U51#(ok X1, ok X2, ok X3) -> U51#(X1, X2, X3)) (U51#(mark X1, X2, X3) -> U51#(X1, X2, X3), U51#(mark X1, X2, X3) -> U51#(X1, X2, X3)) (U71#(mark X1, X2, X3) -> U71#(X1, X2, X3), U71#(ok X1, ok X2, ok X3) -> U71#(X1, X2, X3)) (U71#(mark X1, X2, X3) -> U71#(X1, X2, X3), U71#(mark X1, X2, X3) -> U71#(X1, X2, X3)) (active# U12(tt(), V2) -> isNat# V2, isNat# ok X -> isNat# X) (active# isNat x(V1, V2) -> isNatKind# V2, isNatKind# ok X -> isNatKind# X) (active# isNatKind plus(V1, V2) -> isNatKind# V2, isNatKind# ok X -> isNatKind# X) (active# U13 X -> U13# active X, U13# ok X -> U13# X) (active# U13 X -> U13# active X, U13# mark X -> U13# X) (active# U33 X -> U33# active X, U33# ok X -> U33# X) (active# U33 X -> U33# active X, U33# mark X -> U33# X) (active# U61 X -> U61# active X, U61# ok X -> U61# X) (active# U61 X -> U61# active X, U61# mark X -> U61# X) (proper# U13 X -> U13# proper X, U13# ok X -> U13# X) (proper# U13 X -> U13# proper X, U13# mark X -> U13# X) (proper# U33 X -> U33# proper X, U33# ok X -> U33# X) (proper# U33 X -> U33# proper X, U33# mark X -> U33# X) (proper# U61 X -> U61# proper X, U61# ok X -> U61# X) (proper# U61 X -> U61# proper X, U61# mark X -> U61# X) (top# mark X -> top# proper X, top# ok X -> top# active X) (top# mark X -> top# proper X, top# ok X -> active# X) (top# mark X -> top# proper X, top# mark X -> top# proper X) (top# mark X -> top# proper X, top# mark X -> proper# X) (active# U12(tt(), V2) -> U13# isNat V2, U13# ok X -> U13# X) (active# U21(tt(), V1) -> U22# isNat V1, U22# ok X -> U22# X) (active# x(N, s M) -> U71#(and(and(isNat M, isNatKind M), and(isNat N, isNatKind N)), M, N), U71#(ok X1, ok X2, ok X3) -> U71#(X1, X2, X3)) (active# x(X1, X2) -> active# X2, active# isNatKind x(V1, V2) -> isNatKind# V2) (active# x(X1, X2) -> active# X2, active# isNatKind x(V1, V2) -> isNatKind# V1) (active# x(X1, X2) -> active# X2, active# isNatKind x(V1, V2) -> and#(isNatKind V1, isNatKind V2)) (active# x(X1, X2) -> active# X2, active# isNatKind plus(V1, V2) -> isNatKind# V2) (active# x(X1, X2) -> active# X2, active# isNatKind plus(V1, V2) -> isNatKind# V1) (active# x(X1, X2) -> active# X2, active# isNatKind plus(V1, V2) -> and#(isNatKind V1, isNatKind V2)) (active# x(X1, X2) -> active# X2, active# isNatKind s V1 -> isNatKind# V1) (active# x(X1, X2) -> active# X2, active# and(X1, X2) -> and#(active X1, X2)) (active# x(X1, X2) -> active# X2, active# and(X1, X2) -> active# X1) (active# x(X1, X2) -> active# X2, active# U71(tt(), M, N) -> x#(N, M)) (active# x(X1, X2) -> active# X2, active# U71(tt(), M, N) -> plus#(x(N, M), N)) (active# x(X1, X2) -> active# X2, active# U71(X1, X2, X3) -> U71#(active X1, X2, X3)) (active# x(X1, X2) -> active# X2, active# U71(X1, X2, X3) -> active# X1) (active# x(X1, X2) -> active# X2, active# x(X1, X2) -> x#(active X1, X2)) (active# x(X1, X2) -> active# X2, active# x(X1, X2) -> x#(X1, active X2)) (active# x(X1, X2) -> active# X2, active# x(X1, X2) -> active# X2) (active# x(X1, X2) -> active# X2, active# x(X1, X2) -> active# X1) (active# x(X1, X2) -> active# X2, active# x(N, 0()) -> isNatKind# N) (active# x(X1, X2) -> active# X2, active# x(N, 0()) -> and#(isNat N, isNatKind N)) (active# x(X1, X2) -> active# X2, active# x(N, 0()) -> U61# and(isNat N, isNatKind N)) (active# x(X1, X2) -> active# X2, active# x(N, 0()) -> isNat# N) (active# x(X1, X2) -> active# X2, active# x(N, s M) -> isNatKind# M) (active# x(X1, X2) -> active# X2, active# x(N, s M) -> isNatKind# N) (active# x(X1, X2) -> active# X2, active# x(N, s M) -> and#(and(isNat M, isNatKind M), and(isNat N, isNatKind N))) (active# x(X1, X2) -> active# X2, active# x(N, s M) -> and#(isNat M, isNatKind M)) (active# x(X1, X2) -> active# X2, active# x(N, s M) -> and#(isNat N, isNatKind N)) (active# x(X1, X2) -> active# X2, active# x(N, s M) -> U71#(and(and(isNat M, isNatKind M), and(isNat N, isNatKind N)), M, N)) (active# x(X1, X2) -> active# X2, active# x(N, s M) -> isNat# M) (active# x(X1, X2) -> active# X2, active# x(N, s M) -> isNat# N) (active# x(X1, X2) -> active# X2, active# U61 X -> U61# active X) (active# x(X1, X2) -> active# X2, active# U61 X -> active# X) (active# x(X1, X2) -> active# X2, active# U51(tt(), M, N) -> plus#(N, M)) (active# x(X1, X2) -> active# X2, active# U51(tt(), M, N) -> s# plus(N, M)) (active# x(X1, X2) -> active# X2, active# U51(X1, X2, X3) -> U51#(active X1, X2, X3)) (active# x(X1, X2) -> active# X2, active# U51(X1, X2, X3) -> active# X1) (active# x(X1, X2) -> active# X2, active# plus(X1, X2) -> plus#(active X1, X2)) (active# x(X1, X2) -> active# X2, active# plus(X1, X2) -> plus#(X1, active X2)) (active# x(X1, X2) -> active# X2, active# plus(X1, X2) -> active# X2) (active# x(X1, X2) -> active# X2, active# plus(X1, X2) -> active# X1) (active# x(X1, X2) -> active# X2, active# plus(N, 0()) -> isNatKind# N) (active# x(X1, X2) -> active# X2, active# plus(N, 0()) -> and#(isNat N, isNatKind N)) (active# x(X1, X2) -> active# X2, active# plus(N, 0()) -> U41#(and(isNat N, isNatKind N), N)) (active# x(X1, X2) -> active# X2, active# plus(N, 0()) -> isNat# N) (active# x(X1, X2) -> active# X2, active# plus(N, s M) -> isNatKind# M) (active# x(X1, X2) -> active# X2, active# plus(N, s M) -> isNatKind# N) (active# x(X1, X2) -> active# X2, active# plus(N, s M) -> and#(and(isNat M, isNatKind M), and(isNat N, isNatKind N))) (active# x(X1, X2) -> active# X2, active# plus(N, s M) -> and#(isNat M, isNatKind M)) (active# x(X1, X2) -> active# X2, active# plus(N, s M) -> and#(isNat N, isNatKind N)) (active# x(X1, X2) -> active# X2, active# plus(N, s M) -> U51#(and(and(isNat M, isNatKind M), and(isNat N, isNatKind N)), M, N)) (active# x(X1, X2) -> active# X2, active# plus(N, s M) -> isNat# M) (active# x(X1, X2) -> active# X2, active# plus(N, s M) -> isNat# N) (active# x(X1, X2) -> active# X2, active# s X -> s# active X) (active# x(X1, X2) -> active# X2, active# s X -> active# X) (active# x(X1, X2) -> active# X2, active# U41(X1, X2) -> U41#(active X1, X2)) (active# x(X1, X2) -> active# X2, active# U41(X1, X2) -> active# X1) (active# x(X1, X2) -> active# X2, active# U33 X -> U33# active X) (active# x(X1, X2) -> active# X2, active# U33 X -> active# X) (active# x(X1, X2) -> active# X2, active# U31(tt(), V1, V2) -> U32#(isNat V1, V2)) (active# x(X1, X2) -> active# X2, active# U31(tt(), V1, V2) -> isNat# V1) (active# x(X1, X2) -> active# X2, active# U31(X1, X2, X3) -> U31#(active X1, X2, X3)) (active# x(X1, X2) -> active# X2, active# U31(X1, X2, X3) -> active# X1) (active# x(X1, X2) -> active# X2, active# U32(tt(), V2) -> U33# isNat V2) (active# x(X1, X2) -> active# X2, active# U32(tt(), V2) -> isNat# V2) (active# x(X1, X2) -> active# X2, active# U32(X1, X2) -> U32#(active X1, X2)) (active# x(X1, X2) -> active# X2, active# U32(X1, X2) -> active# X1) (active# x(X1, X2) -> active# X2, active# U21(tt(), V1) -> U22# isNat V1) (active# x(X1, X2) -> active# X2, active# U21(tt(), V1) -> isNat# V1) (active# x(X1, X2) -> active# X2, active# U21(X1, X2) -> U21#(active X1, X2)) (active# x(X1, X2) -> active# X2, active# U21(X1, X2) -> active# X1) (active# x(X1, X2) -> active# X2, active# U22 X -> U22# active X) (active# x(X1, X2) -> active# X2, active# U22 X -> active# X) (active# x(X1, X2) -> active# X2, active# U13 X -> U13# active X) (active# x(X1, X2) -> active# X2, active# U13 X -> active# X) (active# x(X1, X2) -> active# X2, active# U11(tt(), V1, V2) -> isNat# V1) (active# x(X1, X2) -> active# X2, active# U11(tt(), V1, V2) -> U12#(isNat V1, V2)) (active# x(X1, X2) -> active# X2, active# U11(X1, X2, X3) -> U11#(active X1, X2, X3)) (active# x(X1, X2) -> active# X2, active# U11(X1, X2, X3) -> active# X1) (active# x(X1, X2) -> active# X2, active# isNat x(V1, V2) -> isNatKind# V2) (active# x(X1, X2) -> active# X2, active# isNat x(V1, V2) -> isNatKind# V1) (active# x(X1, X2) -> active# X2, active# isNat x(V1, V2) -> and#(isNatKind V1, isNatKind V2)) (active# x(X1, X2) -> active# X2, active# isNat x(V1, V2) -> U31#(and(isNatKind V1, isNatKind V2), V1, V2)) (active# x(X1, X2) -> active# X2, active# isNat plus(V1, V2) -> isNatKind# V2) (active# x(X1, X2) -> active# X2, active# isNat plus(V1, V2) -> isNatKind# V1) (active# x(X1, X2) -> active# X2, active# isNat plus(V1, V2) -> and#(isNatKind V1, isNatKind V2)) (active# x(X1, X2) -> active# X2, active# isNat plus(V1, V2) -> U11#(and(isNatKind V1, isNatKind V2), V1, V2)) (active# x(X1, X2) -> active# X2, active# isNat s V1 -> isNatKind# V1) (active# x(X1, X2) -> active# X2, active# isNat s V1 -> U21#(isNatKind V1, V1)) (active# x(X1, X2) -> active# X2, active# U12(tt(), V2) -> U13# isNat V2) (active# x(X1, X2) -> active# X2, active# U12(tt(), V2) -> isNat# V2) (active# x(X1, X2) -> active# X2, active# U12(X1, X2) -> active# X1) (active# x(X1, X2) -> active# X2, active# U12(X1, X2) -> U12#(active X1, X2)) (proper# U11(X1, X2, X3) -> proper# X2, proper# isNatKind X -> proper# X) (proper# U11(X1, X2, X3) -> proper# X2, proper# isNatKind X -> isNatKind# proper X) (proper# U11(X1, X2, X3) -> proper# X2, proper# and(X1, X2) -> proper# X2) (proper# U11(X1, X2, X3) -> proper# X2, proper# and(X1, X2) -> proper# X1) (proper# U11(X1, X2, X3) -> proper# X2, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# U11(X1, X2, X3) -> proper# X2, proper# U71(X1, X2, X3) -> proper# X3) (proper# U11(X1, X2, X3) -> proper# X2, proper# U71(X1, X2, X3) -> proper# X2) (proper# U11(X1, X2, X3) -> proper# X2, proper# U71(X1, X2, X3) -> proper# X1) (proper# U11(X1, X2, X3) -> proper# X2, proper# U71(X1, X2, X3) -> U71#(proper X1, proper X2, proper X3)) (proper# U11(X1, X2, X3) -> proper# X2, proper# x(X1, X2) -> proper# X2) (proper# U11(X1, X2, X3) -> proper# X2, proper# x(X1, X2) -> proper# X1) (proper# U11(X1, X2, X3) -> proper# X2, proper# x(X1, X2) -> x#(proper X1, proper X2)) (proper# U11(X1, X2, X3) -> proper# X2, proper# U61 X -> proper# X) (proper# U11(X1, X2, X3) -> proper# X2, proper# U61 X -> U61# proper X) (proper# U11(X1, X2, X3) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X3) (proper# U11(X1, X2, X3) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X2) (proper# U11(X1, X2, X3) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X1) (proper# U11(X1, X2, X3) -> proper# X2, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# U11(X1, X2, X3) -> proper# X2, proper# plus(X1, X2) -> proper# X2) (proper# U11(X1, X2, X3) -> proper# X2, proper# plus(X1, X2) -> proper# X1) (proper# U11(X1, X2, X3) -> proper# X2, proper# plus(X1, X2) -> plus#(proper X1, proper X2)) (proper# U11(X1, X2, X3) -> proper# X2, proper# s X -> proper# X) (proper# U11(X1, X2, X3) -> proper# X2, proper# s X -> s# proper X) (proper# U11(X1, X2, X3) -> proper# X2, proper# U41(X1, X2) -> proper# X2) (proper# U11(X1, X2, X3) -> proper# X2, proper# U41(X1, X2) -> proper# X1) (proper# U11(X1, X2, X3) -> proper# X2, proper# U41(X1, X2) -> U41#(proper X1, proper X2)) (proper# U11(X1, X2, X3) -> proper# X2, proper# U33 X -> proper# X) (proper# U11(X1, X2, X3) -> proper# X2, proper# U33 X -> U33# proper X) (proper# U11(X1, X2, X3) -> proper# X2, proper# U31(X1, X2, X3) -> proper# X3) (proper# U11(X1, X2, X3) -> proper# X2, proper# U31(X1, X2, X3) -> proper# X2) (proper# U11(X1, X2, X3) -> proper# X2, proper# U31(X1, X2, X3) -> proper# X1) (proper# U11(X1, X2, X3) -> proper# X2, proper# U31(X1, X2, X3) -> U31#(proper X1, proper X2, proper X3)) (proper# U11(X1, X2, X3) -> proper# X2, proper# U32(X1, X2) -> proper# X2) (proper# U11(X1, X2, X3) -> proper# X2, proper# U32(X1, X2) -> proper# X1) (proper# U11(X1, X2, X3) -> proper# X2, proper# U32(X1, X2) -> U32#(proper X1, proper X2)) (proper# U11(X1, X2, X3) -> proper# X2, proper# U21(X1, X2) -> proper# X2) (proper# U11(X1, X2, X3) -> proper# X2, proper# U21(X1, X2) -> proper# X1) (proper# U11(X1, X2, X3) -> proper# X2, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# U11(X1, X2, X3) -> proper# X2, proper# U22 X -> proper# X) (proper# U11(X1, X2, X3) -> proper# X2, proper# U22 X -> U22# proper X) (proper# U11(X1, X2, X3) -> proper# X2, proper# U13 X -> proper# X) (proper# U11(X1, X2, X3) -> proper# X2, proper# U13 X -> U13# proper X) (proper# U11(X1, X2, X3) -> proper# X2, proper# U11(X1, X2, X3) -> proper# X3) (proper# U11(X1, X2, X3) -> proper# X2, proper# U11(X1, X2, X3) -> proper# X2) (proper# U11(X1, X2, X3) -> proper# X2, proper# U11(X1, X2, X3) -> proper# X1) (proper# U11(X1, X2, X3) -> proper# X2, proper# U11(X1, X2, X3) -> U11#(proper X1, proper X2, proper X3)) (proper# U11(X1, X2, X3) -> proper# X2, proper# isNat X -> proper# X) (proper# U11(X1, X2, X3) -> proper# X2, proper# isNat X -> isNat# proper X) (proper# U11(X1, X2, X3) -> proper# X2, proper# U12(X1, X2) -> proper# X2) (proper# U11(X1, X2, X3) -> proper# X2, proper# U12(X1, X2) -> proper# X1) (proper# U11(X1, X2, X3) -> proper# X2, proper# U12(X1, X2) -> U12#(proper X1, proper X2)) (proper# U32(X1, X2) -> proper# X2, proper# isNatKind X -> proper# X) (proper# U32(X1, X2) -> proper# X2, proper# isNatKind X -> isNatKind# proper X) (proper# U32(X1, X2) -> proper# X2, proper# and(X1, X2) -> proper# X2) (proper# U32(X1, X2) -> proper# X2, proper# and(X1, X2) -> proper# X1) (proper# U32(X1, X2) -> proper# X2, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# U32(X1, X2) -> proper# X2, proper# U71(X1, X2, X3) -> proper# X3) (proper# U32(X1, X2) -> proper# X2, proper# U71(X1, X2, X3) -> proper# X2) (proper# U32(X1, X2) -> proper# X2, proper# U71(X1, X2, X3) -> proper# X1) (proper# U32(X1, X2) -> proper# X2, proper# U71(X1, X2, X3) -> U71#(proper X1, proper X2, proper X3)) (proper# U32(X1, X2) -> proper# X2, proper# x(X1, X2) -> proper# X2) (proper# U32(X1, X2) -> proper# X2, proper# x(X1, X2) -> proper# X1) (proper# U32(X1, X2) -> proper# X2, proper# x(X1, X2) -> x#(proper X1, proper X2)) (proper# U32(X1, X2) -> proper# X2, proper# U61 X -> proper# X) (proper# U32(X1, X2) -> proper# X2, proper# U61 X -> U61# proper X) (proper# U32(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X3) (proper# U32(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X2) (proper# U32(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X1) (proper# U32(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# U32(X1, X2) -> proper# X2, proper# plus(X1, X2) -> proper# X2) (proper# U32(X1, X2) -> proper# X2, proper# plus(X1, X2) -> proper# X1) (proper# U32(X1, X2) -> proper# X2, proper# plus(X1, X2) -> plus#(proper X1, proper X2)) (proper# U32(X1, X2) -> proper# X2, proper# s X -> proper# X) (proper# U32(X1, X2) -> proper# X2, proper# s X -> s# proper X) (proper# U32(X1, X2) -> proper# X2, proper# U41(X1, X2) -> proper# X2) (proper# U32(X1, X2) -> proper# X2, proper# U41(X1, X2) -> proper# X1) (proper# U32(X1, X2) -> proper# X2, proper# U41(X1, X2) -> U41#(proper X1, proper X2)) (proper# U32(X1, X2) -> proper# X2, proper# U33 X -> proper# X) (proper# U32(X1, X2) -> proper# X2, proper# U33 X -> U33# proper X) (proper# U32(X1, X2) -> proper# X2, proper# U31(X1, X2, X3) -> proper# X3) (proper# U32(X1, X2) -> proper# X2, proper# U31(X1, X2, X3) -> proper# X2) (proper# U32(X1, X2) -> proper# X2, proper# U31(X1, X2, X3) -> proper# X1) (proper# U32(X1, X2) -> proper# X2, proper# U31(X1, X2, X3) -> U31#(proper X1, proper X2, proper X3)) (proper# U32(X1, X2) -> proper# X2, proper# U32(X1, X2) -> proper# X2) (proper# U32(X1, X2) -> proper# X2, proper# U32(X1, X2) -> proper# X1) (proper# U32(X1, X2) -> proper# X2, proper# U32(X1, X2) -> U32#(proper X1, proper X2)) (proper# U32(X1, X2) -> proper# X2, proper# U21(X1, X2) -> proper# X2) (proper# U32(X1, X2) -> proper# X2, proper# U21(X1, X2) -> proper# X1) (proper# U32(X1, X2) -> proper# X2, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# U32(X1, X2) -> proper# X2, proper# U22 X -> proper# X) (proper# U32(X1, X2) -> proper# X2, proper# U22 X -> U22# proper X) (proper# U32(X1, X2) -> proper# X2, proper# U13 X -> proper# X) (proper# U32(X1, X2) -> proper# X2, proper# U13 X -> U13# proper X) (proper# U32(X1, X2) -> proper# X2, proper# U11(X1, X2, X3) -> proper# X3) (proper# U32(X1, X2) -> proper# X2, proper# U11(X1, X2, X3) -> proper# X2) (proper# U32(X1, X2) -> proper# X2, proper# U11(X1, X2, X3) -> proper# X1) (proper# U32(X1, X2) -> proper# X2, proper# U11(X1, X2, X3) -> U11#(proper X1, proper X2, proper X3)) (proper# U32(X1, X2) -> proper# X2, proper# isNat X -> proper# X) (proper# U32(X1, X2) -> proper# X2, proper# isNat X -> isNat# proper X) (proper# U32(X1, X2) -> proper# X2, proper# U12(X1, X2) -> proper# X2) (proper# U32(X1, X2) -> proper# X2, proper# U12(X1, X2) -> proper# X1) (proper# U32(X1, X2) -> proper# X2, proper# U12(X1, X2) -> U12#(proper X1, proper X2)) (proper# U41(X1, X2) -> proper# X2, proper# isNatKind X -> proper# X) (proper# U41(X1, X2) -> proper# X2, proper# isNatKind X -> isNatKind# proper X) (proper# U41(X1, X2) -> proper# X2, proper# and(X1, X2) -> proper# X2) (proper# U41(X1, X2) -> proper# X2, proper# and(X1, X2) -> proper# X1) (proper# U41(X1, X2) -> proper# X2, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# U41(X1, X2) -> proper# X2, proper# U71(X1, X2, X3) -> proper# X3) (proper# U41(X1, X2) -> proper# X2, proper# U71(X1, X2, X3) -> proper# X2) (proper# U41(X1, X2) -> proper# X2, proper# U71(X1, X2, X3) -> proper# X1) (proper# U41(X1, X2) -> proper# X2, proper# U71(X1, X2, X3) -> U71#(proper X1, proper X2, proper X3)) (proper# U41(X1, X2) -> proper# X2, proper# x(X1, X2) -> proper# X2) (proper# U41(X1, X2) -> proper# X2, proper# x(X1, X2) -> proper# X1) (proper# U41(X1, X2) -> proper# X2, proper# x(X1, X2) -> x#(proper X1, proper X2)) (proper# U41(X1, X2) -> proper# X2, proper# U61 X -> proper# X) (proper# U41(X1, X2) -> proper# X2, proper# U61 X -> U61# proper X) (proper# U41(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X3) (proper# U41(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X2) (proper# U41(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X1) (proper# U41(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# U41(X1, X2) -> proper# X2, proper# plus(X1, X2) -> proper# X2) (proper# U41(X1, X2) -> proper# X2, proper# plus(X1, X2) -> proper# X1) (proper# U41(X1, X2) -> proper# X2, proper# plus(X1, X2) -> plus#(proper X1, proper X2)) (proper# U41(X1, X2) -> proper# X2, proper# s X -> proper# X) (proper# U41(X1, X2) -> proper# X2, proper# s X -> s# proper X) (proper# U41(X1, X2) -> proper# X2, proper# U41(X1, X2) -> proper# X2) (proper# U41(X1, X2) -> proper# X2, proper# U41(X1, X2) -> proper# X1) (proper# U41(X1, X2) -> proper# X2, proper# U41(X1, X2) -> U41#(proper X1, proper X2)) (proper# U41(X1, X2) -> proper# X2, proper# U33 X -> proper# X) (proper# U41(X1, X2) -> proper# X2, proper# U33 X -> U33# proper X) (proper# U41(X1, X2) -> proper# X2, proper# U31(X1, X2, X3) -> proper# X3) (proper# U41(X1, X2) -> proper# X2, proper# U31(X1, X2, X3) -> proper# X2) (proper# U41(X1, X2) -> proper# X2, proper# U31(X1, X2, X3) -> proper# X1) (proper# U41(X1, X2) -> proper# X2, proper# U31(X1, X2, X3) -> U31#(proper X1, proper X2, proper X3)) (proper# U41(X1, X2) -> proper# X2, proper# U32(X1, X2) -> proper# X2) (proper# U41(X1, X2) -> proper# X2, proper# U32(X1, X2) -> proper# X1) (proper# U41(X1, X2) -> proper# X2, proper# U32(X1, X2) -> U32#(proper X1, proper X2)) (proper# U41(X1, X2) -> proper# X2, proper# U21(X1, X2) -> proper# X2) (proper# U41(X1, X2) -> proper# X2, proper# U21(X1, X2) -> proper# X1) (proper# U41(X1, X2) -> proper# X2, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# U41(X1, X2) -> proper# X2, proper# U22 X -> proper# X) (proper# U41(X1, X2) -> proper# X2, proper# U22 X -> U22# proper X) (proper# U41(X1, X2) -> proper# X2, proper# U13 X -> proper# X) (proper# U41(X1, X2) -> proper# X2, proper# U13 X -> U13# proper X) (proper# U41(X1, X2) -> proper# X2, proper# U11(X1, X2, X3) -> proper# X3) (proper# U41(X1, X2) -> proper# X2, proper# U11(X1, X2, X3) -> proper# X2) (proper# U41(X1, X2) -> proper# X2, proper# U11(X1, X2, X3) -> proper# X1) (proper# U41(X1, X2) -> proper# X2, proper# U11(X1, X2, X3) -> U11#(proper X1, proper X2, proper X3)) (proper# U41(X1, X2) -> proper# X2, proper# isNat X -> proper# X) (proper# U41(X1, X2) -> proper# X2, proper# isNat X -> isNat# proper X) (proper# U41(X1, X2) -> proper# X2, proper# U12(X1, X2) -> proper# X2) (proper# U41(X1, X2) -> proper# X2, proper# U12(X1, X2) -> proper# X1) (proper# U41(X1, X2) -> proper# X2, proper# U12(X1, X2) -> U12#(proper X1, proper X2)) (proper# U51(X1, X2, X3) -> proper# X2, proper# isNatKind X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X2, proper# isNatKind X -> isNatKind# proper X) (proper# U51(X1, X2, X3) -> proper# X2, proper# and(X1, X2) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X2, proper# and(X1, X2) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X2, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# U51(X1, X2, X3) -> proper# X2, proper# U71(X1, X2, X3) -> proper# X3) (proper# U51(X1, X2, X3) -> proper# X2, proper# U71(X1, X2, X3) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X2, proper# U71(X1, X2, X3) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X2, proper# U71(X1, X2, X3) -> U71#(proper X1, proper X2, proper X3)) (proper# U51(X1, X2, X3) -> proper# X2, proper# x(X1, X2) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X2, proper# x(X1, X2) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X2, proper# x(X1, X2) -> x#(proper X1, proper X2)) (proper# U51(X1, X2, X3) -> proper# X2, proper# U61 X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X2, proper# U61 X -> U61# proper X) (proper# U51(X1, X2, X3) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X3) (proper# U51(X1, X2, X3) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X2, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# U51(X1, X2, X3) -> proper# X2, proper# plus(X1, X2) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X2, proper# plus(X1, X2) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X2, proper# plus(X1, X2) -> plus#(proper X1, proper X2)) (proper# U51(X1, X2, X3) -> proper# X2, proper# s X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X2, proper# s X -> s# proper X) (proper# U51(X1, X2, X3) -> proper# X2, proper# U41(X1, X2) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X2, proper# U41(X1, X2) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X2, proper# U41(X1, X2) -> U41#(proper X1, proper X2)) (proper# U51(X1, X2, X3) -> proper# X2, proper# U33 X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X2, proper# U33 X -> U33# proper X) (proper# U51(X1, X2, X3) -> proper# X2, proper# U31(X1, X2, X3) -> proper# X3) (proper# U51(X1, X2, X3) -> proper# X2, proper# U31(X1, X2, X3) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X2, proper# U31(X1, X2, X3) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X2, proper# U31(X1, X2, X3) -> U31#(proper X1, proper X2, proper X3)) (proper# U51(X1, X2, X3) -> proper# X2, proper# U32(X1, X2) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X2, proper# U32(X1, X2) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X2, proper# U32(X1, X2) -> U32#(proper X1, proper X2)) (proper# U51(X1, X2, X3) -> proper# X2, proper# U21(X1, X2) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X2, proper# U21(X1, X2) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X2, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# U51(X1, X2, X3) -> proper# X2, proper# U22 X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X2, proper# U22 X -> U22# proper X) (proper# U51(X1, X2, X3) -> proper# X2, proper# U13 X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X2, proper# U13 X -> U13# proper X) (proper# U51(X1, X2, X3) -> proper# X2, proper# U11(X1, X2, X3) -> proper# X3) (proper# U51(X1, X2, X3) -> proper# X2, proper# U11(X1, X2, X3) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X2, proper# U11(X1, X2, X3) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X2, proper# U11(X1, X2, X3) -> U11#(proper X1, proper X2, proper X3)) (proper# U51(X1, X2, X3) -> proper# X2, proper# isNat X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X2, proper# isNat X -> isNat# proper X) (proper# U51(X1, X2, X3) -> proper# X2, proper# U12(X1, X2) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X2, proper# U12(X1, X2) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X2, proper# U12(X1, X2) -> U12#(proper X1, proper X2)) (proper# U71(X1, X2, X3) -> proper# X2, proper# isNatKind X -> proper# X) (proper# U71(X1, X2, X3) -> proper# X2, proper# isNatKind X -> isNatKind# proper X) (proper# U71(X1, X2, X3) -> proper# X2, proper# and(X1, X2) -> proper# X2) (proper# U71(X1, X2, X3) -> proper# X2, proper# and(X1, X2) -> proper# X1) (proper# U71(X1, X2, X3) -> proper# X2, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# U71(X1, X2, X3) -> proper# X2, proper# U71(X1, X2, X3) -> proper# X3) (proper# U71(X1, X2, X3) -> proper# X2, proper# U71(X1, X2, X3) -> proper# X2) (proper# U71(X1, X2, X3) -> proper# X2, proper# U71(X1, X2, X3) -> proper# X1) (proper# U71(X1, X2, X3) -> proper# X2, proper# U71(X1, X2, X3) -> U71#(proper X1, proper X2, proper X3)) (proper# U71(X1, X2, X3) -> proper# X2, proper# x(X1, X2) -> proper# X2) (proper# U71(X1, X2, X3) -> proper# X2, proper# x(X1, X2) -> proper# X1) (proper# U71(X1, X2, X3) -> proper# X2, proper# x(X1, X2) -> x#(proper X1, proper X2)) (proper# U71(X1, X2, X3) -> proper# X2, proper# U61 X -> proper# X) (proper# U71(X1, X2, X3) -> proper# X2, proper# U61 X -> U61# proper X) (proper# U71(X1, X2, X3) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X3) (proper# U71(X1, X2, X3) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X2) (proper# U71(X1, X2, X3) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X1) (proper# U71(X1, X2, X3) -> proper# X2, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# U71(X1, X2, X3) -> proper# X2, proper# plus(X1, X2) -> proper# X2) (proper# U71(X1, X2, X3) -> proper# X2, proper# plus(X1, X2) -> proper# X1) (proper# U71(X1, X2, X3) -> proper# X2, proper# plus(X1, X2) -> plus#(proper X1, proper X2)) (proper# U71(X1, X2, X3) -> proper# X2, proper# s X -> proper# X) (proper# U71(X1, X2, X3) -> proper# X2, proper# s X -> s# proper X) (proper# U71(X1, X2, X3) -> proper# X2, proper# U41(X1, X2) -> proper# X2) (proper# U71(X1, X2, X3) -> proper# X2, proper# U41(X1, X2) -> proper# X1) (proper# U71(X1, X2, X3) -> proper# X2, proper# U41(X1, X2) -> U41#(proper X1, proper X2)) (proper# U71(X1, X2, X3) -> proper# X2, proper# U33 X -> proper# X) (proper# U71(X1, X2, X3) -> proper# X2, proper# U33 X -> U33# proper X) (proper# U71(X1, X2, X3) -> proper# X2, proper# U31(X1, X2, X3) -> proper# X3) (proper# U71(X1, X2, X3) -> proper# X2, proper# U31(X1, X2, X3) -> proper# X2) (proper# U71(X1, X2, X3) -> proper# X2, proper# U31(X1, X2, X3) -> proper# X1) (proper# U71(X1, X2, X3) -> proper# X2, proper# U31(X1, X2, X3) -> U31#(proper X1, proper X2, proper X3)) (proper# U71(X1, X2, X3) -> proper# X2, proper# U32(X1, X2) -> proper# X2) (proper# U71(X1, X2, X3) -> proper# X2, proper# U32(X1, X2) -> proper# X1) (proper# U71(X1, X2, X3) -> proper# X2, proper# U32(X1, X2) -> U32#(proper X1, proper X2)) (proper# U71(X1, X2, X3) -> proper# X2, proper# U21(X1, X2) -> proper# X2) (proper# U71(X1, X2, X3) -> proper# X2, proper# U21(X1, X2) -> proper# X1) (proper# U71(X1, X2, X3) -> proper# X2, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# U71(X1, X2, X3) -> proper# X2, proper# U22 X -> proper# X) (proper# U71(X1, X2, X3) -> proper# X2, proper# U22 X -> U22# proper X) (proper# U71(X1, X2, X3) -> proper# X2, proper# U13 X -> proper# X) (proper# U71(X1, X2, X3) -> proper# X2, proper# U13 X -> U13# proper X) (proper# U71(X1, X2, X3) -> proper# X2, proper# U11(X1, X2, X3) -> proper# X3) (proper# U71(X1, X2, X3) -> proper# X2, proper# U11(X1, X2, X3) -> proper# X2) (proper# U71(X1, X2, X3) -> proper# X2, proper# U11(X1, X2, X3) -> proper# X1) (proper# U71(X1, X2, X3) -> proper# X2, proper# U11(X1, X2, X3) -> U11#(proper X1, proper X2, proper X3)) (proper# U71(X1, X2, X3) -> proper# X2, proper# isNat X -> proper# X) (proper# U71(X1, X2, X3) -> proper# X2, proper# isNat X -> isNat# proper X) (proper# U71(X1, X2, X3) -> proper# X2, proper# U12(X1, X2) -> proper# X2) (proper# U71(X1, X2, X3) -> proper# X2, proper# U12(X1, X2) -> proper# X1) (proper# U71(X1, X2, X3) -> proper# X2, proper# U12(X1, X2) -> U12#(proper X1, proper X2)) (active# isNat plus(V1, V2) -> U11#(and(isNatKind V1, isNatKind V2), V1, V2), U11#(ok X1, ok X2, ok X3) -> U11#(X1, X2, X3)) (active# plus(N, s M) -> isNat# M, isNat# ok X -> isNat# X) (active# x(N, s M) -> isNat# M, isNat# ok X -> isNat# X) (active# isNat s V1 -> U21#(isNatKind V1, V1), U21#(ok X1, ok X2) -> U21#(X1, X2)) (active# U31(tt(), V1, V2) -> U32#(isNat V1, V2), U32#(ok X1, ok X2) -> U32#(X1, X2)) (active# U71(tt(), M, N) -> plus#(x(N, M), N), plus#(ok X1, ok X2) -> plus#(X1, X2)) (active# U71(tt(), M, N) -> plus#(x(N, M), N), plus#(mark X1, X2) -> plus#(X1, X2)) (active# U71(tt(), M, N) -> plus#(x(N, M), N), plus#(X1, mark X2) -> plus#(X1, X2)) (active# isNat plus(V1, V2) -> isNatKind# V1, isNatKind# ok X -> isNatKind# X) (active# U11(tt(), V1, V2) -> isNat# V1, isNat# ok X -> isNat# X) (active# U31(tt(), V1, V2) -> isNat# V1, isNat# ok X -> isNat# X) (active# isNatKind plus(V1, V2) -> isNatKind# V1, isNatKind# ok X -> isNatKind# X) (active# U12(X1, X2) -> U12#(active X1, X2), U12#(ok X1, ok X2) -> U12#(X1, X2)) (active# U12(X1, X2) -> U12#(active X1, X2), U12#(mark X1, X2) -> U12#(X1, X2)) (active# U32(X1, X2) -> U32#(active X1, X2), U32#(ok X1, ok X2) -> U32#(X1, X2)) (active# U32(X1, X2) -> U32#(active X1, X2), U32#(mark X1, X2) -> U32#(X1, X2)) (active# plus(X1, X2) -> plus#(active X1, X2), plus#(ok X1, ok X2) -> plus#(X1, X2)) (active# plus(X1, X2) -> plus#(active X1, X2), plus#(mark X1, X2) -> plus#(X1, X2)) (active# plus(X1, X2) -> plus#(active X1, X2), plus#(X1, mark X2) -> plus#(X1, X2)) (active# and(X1, X2) -> and#(active X1, X2), and#(ok X1, ok X2) -> and#(X1, X2)) (active# and(X1, X2) -> and#(active X1, X2), and#(mark X1, X2) -> and#(X1, X2)) (active# x(N, s M) -> and#(and(isNat M, isNatKind M), and(isNat N, isNatKind N)), and#(ok X1, ok X2) -> and#(X1, X2)) (active# U71(tt(), M, N) -> x#(N, M), x#(ok X1, ok X2) -> x#(X1, X2)) (active# U71(tt(), M, N) -> x#(N, M), x#(mark X1, X2) -> x#(X1, X2)) (active# U71(tt(), M, N) -> x#(N, M), x#(X1, mark X2) -> x#(X1, X2)) (U12#(ok X1, ok X2) -> U12#(X1, X2), U12#(ok X1, ok X2) -> U12#(X1, X2)) (U12#(ok X1, ok X2) -> U12#(X1, X2), U12#(mark X1, X2) -> U12#(X1, X2)) (U21#(ok X1, ok X2) -> U21#(X1, X2), U21#(ok X1, ok X2) -> U21#(X1, X2)) (U21#(ok X1, ok X2) -> U21#(X1, X2), U21#(mark X1, X2) -> U21#(X1, X2)) (U32#(ok X1, ok X2) -> U32#(X1, X2), U32#(ok X1, ok X2) -> U32#(X1, X2)) (U32#(ok X1, ok X2) -> U32#(X1, X2), U32#(mark X1, X2) -> U32#(X1, X2)) (U41#(ok X1, ok X2) -> U41#(X1, X2), U41#(ok X1, ok X2) -> U41#(X1, X2)) (U41#(ok X1, ok X2) -> U41#(X1, X2), U41#(mark X1, X2) -> U41#(X1, X2)) (plus#(mark X1, X2) -> plus#(X1, X2), plus#(ok X1, ok X2) -> plus#(X1, X2)) (plus#(mark X1, X2) -> plus#(X1, X2), plus#(mark X1, X2) -> plus#(X1, X2)) (plus#(mark X1, X2) -> plus#(X1, X2), plus#(X1, mark X2) -> plus#(X1, X2)) (x#(X1, mark X2) -> x#(X1, X2), x#(ok X1, ok X2) -> x#(X1, X2)) (x#(X1, mark X2) -> x#(X1, X2), x#(mark X1, X2) -> x#(X1, X2)) (x#(X1, mark X2) -> x#(X1, X2), x#(X1, mark X2) -> x#(X1, X2)) (x#(ok X1, ok X2) -> x#(X1, X2), x#(ok X1, ok X2) -> x#(X1, X2)) (x#(ok X1, ok X2) -> x#(X1, X2), x#(mark X1, X2) -> x#(X1, X2)) (x#(ok X1, ok X2) -> x#(X1, X2), x#(X1, mark X2) -> x#(X1, X2)) (and#(ok X1, ok X2) -> and#(X1, X2), and#(ok X1, ok X2) -> and#(X1, X2)) (and#(ok X1, ok X2) -> and#(X1, X2), and#(mark X1, X2) -> and#(X1, X2)) (proper# U11(X1, X2, X3) -> U11#(proper X1, proper X2, proper X3), U11#(ok X1, ok X2, ok X3) -> U11#(X1, X2, X3)) (proper# U11(X1, X2, X3) -> U11#(proper X1, proper X2, proper X3), U11#(mark X1, X2, X3) -> U11#(X1, X2, X3)) (proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3), U51#(ok X1, ok X2, ok X3) -> U51#(X1, X2, X3)) (proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3), U51#(mark X1, X2, X3) -> U51#(X1, X2, X3)) (active# U51(tt(), M, N) -> s# plus(N, M), s# ok X -> s# X) (active# U51(tt(), M, N) -> s# plus(N, M), s# mark X -> s# X) (proper# U71(X1, X2, X3) -> U71#(proper X1, proper X2, proper X3), U71#(mark X1, X2, X3) -> U71#(X1, X2, X3)) (proper# U71(X1, X2, X3) -> U71#(proper X1, proper X2, proper X3), U71#(ok X1, ok X2, ok X3) -> U71#(X1, X2, X3)) (proper# U31(X1, X2, X3) -> U31#(proper X1, proper X2, proper X3), U31#(mark X1, X2, X3) -> U31#(X1, X2, X3)) (proper# U31(X1, X2, X3) -> U31#(proper X1, proper X2, proper X3), U31#(ok X1, ok X2, ok X3) -> U31#(X1, X2, X3)) (active# x(N, 0()) -> U61# and(isNat N, isNatKind N), U61# ok X -> U61# X) (and#(mark X1, X2) -> and#(X1, X2), and#(mark X1, X2) -> and#(X1, X2)) (and#(mark X1, X2) -> and#(X1, X2), and#(ok X1, ok X2) -> and#(X1, X2)) (x#(mark X1, X2) -> x#(X1, X2), x#(X1, mark X2) -> x#(X1, X2)) (x#(mark X1, X2) -> x#(X1, X2), x#(mark X1, X2) -> x#(X1, X2)) (x#(mark X1, X2) -> x#(X1, X2), x#(ok X1, ok X2) -> x#(X1, X2)) (plus#(ok X1, ok X2) -> plus#(X1, X2), plus#(X1, mark X2) -> plus#(X1, X2)) (plus#(ok X1, ok X2) -> plus#(X1, X2), plus#(mark X1, X2) -> plus#(X1, X2)) (plus#(ok X1, ok X2) -> plus#(X1, X2), plus#(ok X1, ok X2) -> plus#(X1, X2)) (plus#(X1, mark X2) -> plus#(X1, X2), plus#(X1, mark X2) -> plus#(X1, X2)) (plus#(X1, mark X2) -> plus#(X1, X2), plus#(mark X1, X2) -> plus#(X1, X2)) (plus#(X1, mark X2) -> plus#(X1, X2), plus#(ok X1, ok X2) -> plus#(X1, X2)) (U41#(mark X1, X2) -> U41#(X1, X2), U41#(mark X1, X2) -> U41#(X1, X2)) (U41#(mark X1, X2) -> U41#(X1, X2), U41#(ok X1, ok X2) -> U41#(X1, X2)) (U32#(mark X1, X2) -> U32#(X1, X2), U32#(mark X1, X2) -> U32#(X1, X2)) (U32#(mark X1, X2) -> U32#(X1, X2), U32#(ok X1, ok X2) -> U32#(X1, X2)) (U21#(mark X1, X2) -> U21#(X1, X2), U21#(mark X1, X2) -> U21#(X1, X2)) (U21#(mark X1, X2) -> U21#(X1, X2), U21#(ok X1, ok X2) -> U21#(X1, X2)) (U12#(mark X1, X2) -> U12#(X1, X2), U12#(mark X1, X2) -> U12#(X1, X2)) (U12#(mark X1, X2) -> U12#(X1, X2), U12#(ok X1, ok X2) -> U12#(X1, X2)) (active# U51(tt(), M, N) -> plus#(N, M), plus#(X1, mark X2) -> plus#(X1, X2)) (active# U51(tt(), M, N) -> plus#(N, M), plus#(mark X1, X2) -> plus#(X1, X2)) (active# U51(tt(), M, N) -> plus#(N, M), plus#(ok X1, ok X2) -> plus#(X1, X2)) (active# plus(N, s M) -> and#(and(isNat M, isNatKind M), and(isNat N, isNatKind N)), and#(ok X1, ok X2) -> and#(X1, X2)) (active# x(X1, X2) -> x#(active X1, X2), x#(X1, mark X2) -> x#(X1, X2)) (active# x(X1, X2) -> x#(active X1, X2), x#(mark X1, X2) -> x#(X1, X2)) (active# x(X1, X2) -> x#(active X1, X2), x#(ok X1, ok X2) -> x#(X1, X2)) (active# U41(X1, X2) -> U41#(active X1, X2), U41#(mark X1, X2) -> U41#(X1, X2)) (active# U41(X1, X2) -> U41#(active X1, X2), U41#(ok X1, ok X2) -> U41#(X1, X2)) (active# U21(X1, X2) -> U21#(active X1, X2), U21#(mark X1, X2) -> U21#(X1, X2)) (active# U21(X1, X2) -> U21#(active X1, X2), U21#(ok X1, ok X2) -> U21#(X1, X2)) (active# isNatKind x(V1, V2) -> isNatKind# V1, isNatKind# ok X -> isNatKind# X) (active# isNatKind s V1 -> isNatKind# V1, isNatKind# ok X -> isNatKind# X) (active# U21(tt(), V1) -> isNat# V1, isNat# ok X -> isNat# X) (active# isNat x(V1, V2) -> isNatKind# V1, isNatKind# ok X -> isNatKind# X) (active# isNat s V1 -> isNatKind# V1, isNatKind# ok X -> isNatKind# X) (active# plus(N, 0()) -> U41#(and(isNat N, isNatKind N), N), U41#(ok X1, ok X2) -> U41#(X1, X2)) (active# U11(tt(), V1, V2) -> U12#(isNat V1, V2), U12#(ok X1, ok X2) -> U12#(X1, X2)) (active# x(N, s M) -> isNatKind# M, isNatKind# ok X -> isNatKind# X) (active# plus(N, s M) -> isNatKind# M, isNatKind# ok X -> isNatKind# X) (active# isNat x(V1, V2) -> U31#(and(isNatKind V1, isNatKind V2), V1, V2), U31#(ok X1, ok X2, ok X3) -> U31#(X1, X2, X3)) (proper# and(X1, X2) -> proper# X2, proper# U12(X1, X2) -> U12#(proper X1, proper X2)) (proper# and(X1, X2) -> proper# X2, proper# U12(X1, X2) -> proper# X1) (proper# and(X1, X2) -> proper# X2, proper# U12(X1, X2) -> proper# X2) (proper# and(X1, X2) -> proper# X2, proper# isNat X -> isNat# proper X) (proper# and(X1, X2) -> proper# X2, proper# isNat X -> proper# X) (proper# and(X1, X2) -> proper# X2, proper# U11(X1, X2, X3) -> U11#(proper X1, proper X2, proper X3)) (proper# and(X1, X2) -> proper# X2, proper# U11(X1, X2, X3) -> proper# X1) (proper# and(X1, X2) -> proper# X2, proper# U11(X1, X2, X3) -> proper# X2) (proper# and(X1, X2) -> proper# X2, proper# U11(X1, X2, X3) -> proper# X3) (proper# and(X1, X2) -> proper# X2, proper# U13 X -> U13# proper X) (proper# and(X1, X2) -> proper# X2, proper# U13 X -> proper# X) (proper# and(X1, X2) -> proper# X2, proper# U22 X -> U22# proper X) (proper# and(X1, X2) -> proper# X2, proper# U22 X -> proper# X) (proper# and(X1, X2) -> proper# X2, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# and(X1, X2) -> proper# X2, proper# U21(X1, X2) -> proper# X1) (proper# and(X1, X2) -> proper# X2, proper# U21(X1, X2) -> proper# X2) (proper# and(X1, X2) -> proper# X2, proper# U32(X1, X2) -> U32#(proper X1, proper X2)) (proper# and(X1, X2) -> proper# X2, proper# U32(X1, X2) -> proper# X1) (proper# and(X1, X2) -> proper# X2, proper# U32(X1, X2) -> proper# X2) (proper# and(X1, X2) -> proper# X2, proper# U31(X1, X2, X3) -> U31#(proper X1, proper X2, proper X3)) (proper# and(X1, X2) -> proper# X2, proper# U31(X1, X2, X3) -> proper# X1) (proper# and(X1, X2) -> proper# X2, proper# U31(X1, X2, X3) -> proper# X2) (proper# and(X1, X2) -> proper# X2, proper# U31(X1, X2, X3) -> proper# X3) (proper# and(X1, X2) -> proper# X2, proper# U33 X -> U33# proper X) (proper# and(X1, X2) -> proper# X2, proper# U33 X -> proper# X) (proper# and(X1, X2) -> proper# X2, proper# U41(X1, X2) -> U41#(proper X1, proper X2)) (proper# and(X1, X2) -> proper# X2, proper# U41(X1, X2) -> proper# X1) (proper# and(X1, X2) -> proper# X2, proper# U41(X1, X2) -> proper# X2) (proper# and(X1, X2) -> proper# X2, proper# s X -> s# proper X) (proper# and(X1, X2) -> proper# X2, proper# s X -> proper# X) (proper# and(X1, X2) -> proper# X2, proper# plus(X1, X2) -> plus#(proper X1, proper X2)) (proper# and(X1, X2) -> proper# X2, proper# plus(X1, X2) -> proper# X1) (proper# and(X1, X2) -> proper# X2, proper# plus(X1, X2) -> proper# X2) (proper# and(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# and(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X1) (proper# and(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X2) (proper# and(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X3) (proper# and(X1, X2) -> proper# X2, proper# U61 X -> U61# proper X) (proper# and(X1, X2) -> proper# X2, proper# U61 X -> proper# X) (proper# and(X1, X2) -> proper# X2, proper# x(X1, X2) -> x#(proper X1, proper X2)) (proper# and(X1, X2) -> proper# X2, proper# x(X1, X2) -> proper# X1) (proper# and(X1, X2) -> proper# X2, proper# x(X1, X2) -> proper# X2) (proper# and(X1, X2) -> proper# X2, proper# U71(X1, X2, X3) -> U71#(proper X1, proper X2, proper X3)) (proper# and(X1, X2) -> proper# X2, proper# U71(X1, X2, X3) -> proper# X1) (proper# and(X1, X2) -> proper# X2, proper# U71(X1, X2, X3) -> proper# X2) (proper# and(X1, X2) -> proper# X2, proper# U71(X1, X2, X3) -> proper# X3) (proper# and(X1, X2) -> proper# X2, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# and(X1, X2) -> proper# X2, proper# and(X1, X2) -> proper# X1) (proper# and(X1, X2) -> proper# X2, proper# and(X1, X2) -> proper# X2) (proper# and(X1, X2) -> proper# X2, proper# isNatKind X -> isNatKind# proper X) (proper# and(X1, X2) -> proper# X2, proper# isNatKind X -> proper# X) (proper# x(X1, X2) -> proper# X2, proper# U12(X1, X2) -> U12#(proper X1, proper X2)) (proper# x(X1, X2) -> proper# X2, proper# U12(X1, X2) -> proper# X1) (proper# x(X1, X2) -> proper# X2, proper# U12(X1, X2) -> proper# X2) (proper# x(X1, X2) -> proper# X2, proper# isNat X -> isNat# proper X) (proper# x(X1, X2) -> proper# X2, proper# isNat X -> proper# X) (proper# x(X1, X2) -> proper# X2, proper# U11(X1, X2, X3) -> U11#(proper X1, proper X2, proper X3)) (proper# x(X1, X2) -> proper# X2, proper# U11(X1, X2, X3) -> proper# X1) (proper# x(X1, X2) -> proper# X2, proper# U11(X1, X2, X3) -> proper# X2) (proper# x(X1, X2) -> proper# X2, proper# U11(X1, X2, X3) -> proper# X3) (proper# x(X1, X2) -> proper# X2, proper# U13 X -> U13# proper X) (proper# x(X1, X2) -> proper# X2, proper# U13 X -> proper# X) (proper# x(X1, X2) -> proper# X2, proper# U22 X -> U22# proper X) (proper# x(X1, X2) -> proper# X2, proper# U22 X -> proper# X) (proper# x(X1, X2) -> proper# X2, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# x(X1, X2) -> proper# X2, proper# U21(X1, X2) -> proper# X1) (proper# x(X1, X2) -> proper# X2, proper# U21(X1, X2) -> proper# X2) (proper# x(X1, X2) -> proper# X2, proper# U32(X1, X2) -> U32#(proper X1, proper X2)) (proper# x(X1, X2) -> proper# X2, proper# U32(X1, X2) -> proper# X1) (proper# x(X1, X2) -> proper# X2, proper# U32(X1, X2) -> proper# X2) (proper# x(X1, X2) -> proper# X2, proper# U31(X1, X2, X3) -> U31#(proper X1, proper X2, proper X3)) (proper# x(X1, X2) -> proper# X2, proper# U31(X1, X2, X3) -> proper# X1) (proper# x(X1, X2) -> proper# X2, proper# U31(X1, X2, X3) -> proper# X2) (proper# x(X1, X2) -> proper# X2, proper# U31(X1, X2, X3) -> proper# X3) (proper# x(X1, X2) -> proper# X2, proper# U33 X -> U33# proper X) (proper# x(X1, X2) -> proper# X2, proper# U33 X -> proper# X) (proper# x(X1, X2) -> proper# X2, proper# U41(X1, X2) -> U41#(proper X1, proper X2)) (proper# x(X1, X2) -> proper# X2, proper# U41(X1, X2) -> proper# X1) (proper# x(X1, X2) -> proper# X2, proper# U41(X1, X2) -> proper# X2) (proper# x(X1, X2) -> proper# X2, proper# s X -> s# proper X) (proper# x(X1, X2) -> proper# X2, proper# s X -> proper# X) (proper# x(X1, X2) -> proper# X2, proper# plus(X1, X2) -> plus#(proper X1, proper X2)) (proper# x(X1, X2) -> proper# X2, proper# plus(X1, X2) -> proper# X1) (proper# x(X1, X2) -> proper# X2, proper# plus(X1, X2) -> proper# X2) (proper# x(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# x(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X1) (proper# x(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X2) (proper# x(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X3) (proper# x(X1, X2) -> proper# X2, proper# U61 X -> U61# proper X) (proper# x(X1, X2) -> proper# X2, proper# U61 X -> proper# X) (proper# x(X1, X2) -> proper# X2, proper# x(X1, X2) -> x#(proper X1, proper X2)) (proper# x(X1, X2) -> proper# X2, proper# x(X1, X2) -> proper# X1) (proper# x(X1, X2) -> proper# X2, proper# x(X1, X2) -> proper# X2) (proper# x(X1, X2) -> proper# X2, proper# U71(X1, X2, X3) -> U71#(proper X1, proper X2, proper X3)) (proper# x(X1, X2) -> proper# X2, proper# U71(X1, X2, X3) -> proper# X1) (proper# x(X1, X2) -> proper# X2, proper# U71(X1, X2, X3) -> proper# X2) (proper# x(X1, X2) -> proper# X2, proper# U71(X1, X2, X3) -> proper# X3) (proper# x(X1, X2) -> proper# X2, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# x(X1, X2) -> proper# X2, proper# and(X1, X2) -> proper# X1) (proper# x(X1, X2) -> proper# X2, proper# and(X1, X2) -> proper# X2) (proper# x(X1, X2) -> proper# X2, proper# isNatKind X -> isNatKind# proper X) (proper# x(X1, X2) -> proper# X2, proper# isNatKind X -> proper# X) (proper# plus(X1, X2) -> proper# X2, proper# U12(X1, X2) -> U12#(proper X1, proper X2)) (proper# plus(X1, X2) -> proper# X2, proper# U12(X1, X2) -> proper# X1) (proper# plus(X1, X2) -> proper# X2, proper# U12(X1, X2) -> proper# X2) (proper# plus(X1, X2) -> proper# X2, proper# isNat X -> isNat# proper X) (proper# plus(X1, X2) -> proper# X2, proper# isNat X -> proper# X) (proper# plus(X1, X2) -> proper# X2, proper# U11(X1, X2, X3) -> U11#(proper X1, proper X2, proper X3)) (proper# plus(X1, X2) -> proper# X2, proper# U11(X1, X2, X3) -> proper# X1) (proper# plus(X1, X2) -> proper# X2, proper# U11(X1, X2, X3) -> proper# X2) (proper# plus(X1, X2) -> proper# X2, proper# U11(X1, X2, X3) -> proper# X3) (proper# plus(X1, X2) -> proper# X2, proper# U13 X -> U13# proper X) (proper# plus(X1, X2) -> proper# X2, proper# U13 X -> proper# X) (proper# plus(X1, X2) -> proper# X2, proper# U22 X -> U22# proper X) (proper# plus(X1, X2) -> proper# X2, proper# U22 X -> proper# X) (proper# plus(X1, X2) -> proper# X2, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# plus(X1, X2) -> proper# X2, proper# U21(X1, X2) -> proper# X1) (proper# plus(X1, X2) -> proper# X2, proper# U21(X1, X2) -> proper# X2) (proper# plus(X1, X2) -> proper# X2, proper# U32(X1, X2) -> U32#(proper X1, proper X2)) (proper# plus(X1, X2) -> proper# X2, proper# U32(X1, X2) -> proper# X1) (proper# plus(X1, X2) -> proper# X2, proper# U32(X1, X2) -> proper# X2) (proper# plus(X1, X2) -> proper# X2, proper# U31(X1, X2, X3) -> U31#(proper X1, proper X2, proper X3)) (proper# plus(X1, X2) -> proper# X2, proper# U31(X1, X2, X3) -> proper# X1) (proper# plus(X1, X2) -> proper# X2, proper# U31(X1, X2, X3) -> proper# X2) (proper# plus(X1, X2) -> proper# X2, proper# U31(X1, X2, X3) -> proper# X3) (proper# plus(X1, X2) -> proper# X2, proper# U33 X -> U33# proper X) (proper# plus(X1, X2) -> proper# X2, proper# U33 X -> proper# X) (proper# plus(X1, X2) -> proper# X2, proper# U41(X1, X2) -> U41#(proper X1, proper X2)) (proper# plus(X1, X2) -> proper# X2, proper# U41(X1, X2) -> proper# X1) (proper# plus(X1, X2) -> proper# X2, proper# U41(X1, X2) -> proper# X2) (proper# plus(X1, X2) -> proper# X2, proper# s X -> s# proper X) (proper# plus(X1, X2) -> proper# X2, proper# s X -> proper# X) (proper# plus(X1, X2) -> proper# X2, proper# plus(X1, X2) -> plus#(proper X1, proper X2)) (proper# plus(X1, X2) -> proper# X2, proper# plus(X1, X2) -> proper# X1) (proper# plus(X1, X2) -> proper# X2, proper# plus(X1, X2) -> proper# X2) (proper# plus(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# plus(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X1) (proper# plus(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X2) (proper# plus(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X3) (proper# plus(X1, X2) -> proper# X2, proper# U61 X -> U61# proper X) (proper# plus(X1, X2) -> proper# X2, proper# U61 X -> proper# X) (proper# plus(X1, X2) -> proper# X2, proper# x(X1, X2) -> x#(proper X1, proper X2)) (proper# plus(X1, X2) -> proper# X2, proper# x(X1, X2) -> proper# X1) (proper# plus(X1, X2) -> proper# X2, proper# x(X1, X2) -> proper# X2) (proper# plus(X1, X2) -> proper# X2, proper# U71(X1, X2, X3) -> U71#(proper X1, proper X2, proper X3)) (proper# plus(X1, X2) -> proper# X2, proper# U71(X1, X2, X3) -> proper# X1) (proper# plus(X1, X2) -> proper# X2, proper# U71(X1, X2, X3) -> proper# X2) (proper# plus(X1, X2) -> proper# X2, proper# U71(X1, X2, X3) -> proper# X3) (proper# plus(X1, X2) -> proper# X2, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# plus(X1, X2) -> proper# X2, proper# and(X1, X2) -> proper# X1) (proper# plus(X1, X2) -> proper# X2, proper# and(X1, X2) -> proper# X2) (proper# plus(X1, X2) -> proper# X2, proper# isNatKind X -> isNatKind# proper X) (proper# plus(X1, X2) -> proper# X2, proper# isNatKind X -> proper# X) (proper# U31(X1, X2, X3) -> proper# X2, proper# U12(X1, X2) -> U12#(proper X1, proper X2)) (proper# U31(X1, X2, X3) -> proper# X2, proper# U12(X1, X2) -> proper# X1) (proper# U31(X1, X2, X3) -> proper# X2, proper# U12(X1, X2) -> proper# X2) (proper# U31(X1, X2, X3) -> proper# X2, proper# isNat X -> isNat# proper X) (proper# U31(X1, X2, X3) -> proper# X2, proper# isNat X -> proper# X) (proper# U31(X1, X2, X3) -> proper# X2, proper# U11(X1, X2, X3) -> U11#(proper X1, proper X2, proper X3)) (proper# U31(X1, X2, X3) -> proper# X2, proper# U11(X1, X2, X3) -> proper# X1) (proper# U31(X1, X2, X3) -> proper# X2, proper# U11(X1, X2, X3) -> proper# X2) (proper# U31(X1, X2, X3) -> proper# X2, proper# U11(X1, X2, X3) -> proper# X3) (proper# U31(X1, X2, X3) -> proper# X2, proper# U13 X -> U13# proper X) (proper# U31(X1, X2, X3) -> proper# X2, proper# U13 X -> proper# X) (proper# U31(X1, X2, X3) -> proper# X2, proper# U22 X -> U22# proper X) (proper# U31(X1, X2, X3) -> proper# X2, proper# U22 X -> proper# X) (proper# U31(X1, X2, X3) -> proper# X2, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# U31(X1, X2, X3) -> proper# X2, proper# U21(X1, X2) -> proper# X1) (proper# U31(X1, X2, X3) -> proper# X2, proper# U21(X1, X2) -> proper# X2) (proper# U31(X1, X2, X3) -> proper# X2, proper# U32(X1, X2) -> U32#(proper X1, proper X2)) (proper# U31(X1, X2, X3) -> proper# X2, proper# U32(X1, X2) -> proper# X1) (proper# U31(X1, X2, X3) -> proper# X2, proper# U32(X1, X2) -> proper# X2) (proper# U31(X1, X2, X3) -> proper# X2, proper# U31(X1, X2, X3) -> U31#(proper X1, proper X2, proper X3)) (proper# U31(X1, X2, X3) -> proper# X2, proper# U31(X1, X2, X3) -> proper# X1) (proper# U31(X1, X2, X3) -> proper# X2, proper# U31(X1, X2, X3) -> proper# X2) (proper# U31(X1, X2, X3) -> proper# X2, proper# U31(X1, X2, X3) -> proper# X3) (proper# U31(X1, X2, X3) -> proper# X2, proper# U33 X -> U33# proper X) (proper# U31(X1, X2, X3) -> proper# X2, proper# U33 X -> proper# X) (proper# U31(X1, X2, X3) -> proper# X2, proper# U41(X1, X2) -> U41#(proper X1, proper X2)) (proper# U31(X1, X2, X3) -> proper# X2, proper# U41(X1, X2) -> proper# X1) (proper# U31(X1, X2, X3) -> proper# X2, proper# U41(X1, X2) -> proper# X2) (proper# U31(X1, X2, X3) -> proper# X2, proper# s X -> s# proper X) (proper# U31(X1, X2, X3) -> proper# X2, proper# s X -> proper# X) (proper# U31(X1, X2, X3) -> proper# X2, proper# plus(X1, X2) -> plus#(proper X1, proper X2)) (proper# U31(X1, X2, X3) -> proper# X2, proper# plus(X1, X2) -> proper# X1) (proper# U31(X1, X2, X3) -> proper# X2, proper# plus(X1, X2) -> proper# X2) (proper# U31(X1, X2, X3) -> proper# X2, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# U31(X1, X2, X3) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X1) (proper# U31(X1, X2, X3) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X2) (proper# U31(X1, X2, X3) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X3) (proper# U31(X1, X2, X3) -> proper# X2, proper# U61 X -> U61# proper X) (proper# U31(X1, X2, X3) -> proper# X2, proper# U61 X -> proper# X) (proper# U31(X1, X2, X3) -> proper# X2, proper# x(X1, X2) -> x#(proper X1, proper X2)) (proper# U31(X1, X2, X3) -> proper# X2, proper# x(X1, X2) -> proper# X1) (proper# U31(X1, X2, X3) -> proper# X2, proper# x(X1, X2) -> proper# X2) (proper# U31(X1, X2, X3) -> proper# X2, proper# U71(X1, X2, X3) -> U71#(proper X1, proper X2, proper X3)) (proper# U31(X1, X2, X3) -> proper# X2, proper# U71(X1, X2, X3) -> proper# X1) (proper# U31(X1, X2, X3) -> proper# X2, proper# U71(X1, X2, X3) -> proper# X2) (proper# U31(X1, X2, X3) -> proper# X2, proper# U71(X1, X2, X3) -> proper# X3) (proper# U31(X1, X2, X3) -> proper# X2, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# U31(X1, X2, X3) -> proper# X2, proper# and(X1, X2) -> proper# X1) (proper# U31(X1, X2, X3) -> proper# X2, proper# and(X1, X2) -> proper# X2) (proper# U31(X1, X2, X3) -> proper# X2, proper# isNatKind X -> isNatKind# proper X) (proper# U31(X1, X2, X3) -> proper# X2, proper# isNatKind X -> proper# X) (proper# U21(X1, X2) -> proper# X2, proper# U12(X1, X2) -> U12#(proper X1, proper X2)) (proper# U21(X1, X2) -> proper# X2, proper# U12(X1, X2) -> proper# X1) (proper# U21(X1, X2) -> proper# X2, proper# U12(X1, X2) -> proper# X2) (proper# U21(X1, X2) -> proper# X2, proper# isNat X -> isNat# proper X) (proper# U21(X1, X2) -> proper# X2, proper# isNat X -> proper# X) (proper# U21(X1, X2) -> proper# X2, proper# U11(X1, X2, X3) -> U11#(proper X1, proper X2, proper X3)) (proper# U21(X1, X2) -> proper# X2, proper# U11(X1, X2, X3) -> proper# X1) (proper# U21(X1, X2) -> proper# X2, proper# U11(X1, X2, X3) -> proper# X2) (proper# U21(X1, X2) -> proper# X2, proper# U11(X1, X2, X3) -> proper# X3) (proper# U21(X1, X2) -> proper# X2, proper# U13 X -> U13# proper X) (proper# U21(X1, X2) -> proper# X2, proper# U13 X -> proper# X) (proper# U21(X1, X2) -> proper# X2, proper# U22 X -> U22# proper X) (proper# U21(X1, X2) -> proper# X2, proper# U22 X -> proper# X) (proper# U21(X1, X2) -> proper# X2, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# U21(X1, X2) -> proper# X2, proper# U21(X1, X2) -> proper# X1) (proper# U21(X1, X2) -> proper# X2, proper# U21(X1, X2) -> proper# X2) (proper# U21(X1, X2) -> proper# X2, proper# U32(X1, X2) -> U32#(proper X1, proper X2)) (proper# U21(X1, X2) -> proper# X2, proper# U32(X1, X2) -> proper# X1) (proper# U21(X1, X2) -> proper# X2, proper# U32(X1, X2) -> proper# X2) (proper# U21(X1, X2) -> proper# X2, proper# U31(X1, X2, X3) -> U31#(proper X1, proper X2, proper X3)) (proper# U21(X1, X2) -> proper# X2, proper# U31(X1, X2, X3) -> proper# X1) (proper# U21(X1, X2) -> proper# X2, proper# U31(X1, X2, X3) -> proper# X2) (proper# U21(X1, X2) -> proper# X2, proper# U31(X1, X2, X3) -> proper# X3) (proper# U21(X1, X2) -> proper# X2, proper# U33 X -> U33# proper X) (proper# U21(X1, X2) -> proper# X2, proper# U33 X -> proper# X) (proper# U21(X1, X2) -> proper# X2, proper# U41(X1, X2) -> U41#(proper X1, proper X2)) (proper# U21(X1, X2) -> proper# X2, proper# U41(X1, X2) -> proper# X1) (proper# U21(X1, X2) -> proper# X2, proper# U41(X1, X2) -> proper# X2) (proper# U21(X1, X2) -> proper# X2, proper# s X -> s# proper X) (proper# U21(X1, X2) -> proper# X2, proper# s X -> proper# X) (proper# U21(X1, X2) -> proper# X2, proper# plus(X1, X2) -> plus#(proper X1, proper X2)) (proper# U21(X1, X2) -> proper# X2, proper# plus(X1, X2) -> proper# X1) (proper# U21(X1, X2) -> proper# X2, proper# plus(X1, X2) -> proper# X2) (proper# U21(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# U21(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X1) (proper# U21(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X2) (proper# U21(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X3) (proper# U21(X1, X2) -> proper# X2, proper# U61 X -> U61# proper X) (proper# U21(X1, X2) -> proper# X2, proper# U61 X -> proper# X) (proper# U21(X1, X2) -> proper# X2, proper# x(X1, X2) -> x#(proper X1, proper X2)) (proper# U21(X1, X2) -> proper# X2, proper# x(X1, X2) -> proper# X1) (proper# U21(X1, X2) -> proper# X2, proper# x(X1, X2) -> proper# X2) (proper# U21(X1, X2) -> proper# X2, proper# U71(X1, X2, X3) -> U71#(proper X1, proper X2, proper X3)) (proper# U21(X1, X2) -> proper# X2, proper# U71(X1, X2, X3) -> proper# X1) (proper# U21(X1, X2) -> proper# X2, proper# U71(X1, X2, X3) -> proper# X2) (proper# U21(X1, X2) -> proper# X2, proper# U71(X1, X2, X3) -> proper# X3) (proper# U21(X1, X2) -> proper# X2, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# U21(X1, X2) -> proper# X2, proper# and(X1, X2) -> proper# X1) (proper# U21(X1, X2) -> proper# X2, proper# and(X1, X2) -> proper# X2) (proper# U21(X1, X2) -> proper# X2, proper# isNatKind X -> isNatKind# proper X) (proper# U21(X1, X2) -> proper# X2, proper# isNatKind X -> proper# X) (proper# U12(X1, X2) -> proper# X2, proper# U12(X1, X2) -> U12#(proper X1, proper X2)) (proper# U12(X1, X2) -> proper# X2, proper# U12(X1, X2) -> proper# X1) (proper# U12(X1, X2) -> proper# X2, proper# U12(X1, X2) -> proper# X2) (proper# U12(X1, X2) -> proper# X2, proper# isNat X -> isNat# proper X) (proper# U12(X1, X2) -> proper# X2, proper# isNat X -> proper# X) (proper# U12(X1, X2) -> proper# X2, proper# U11(X1, X2, X3) -> U11#(proper X1, proper X2, proper X3)) (proper# U12(X1, X2) -> proper# X2, proper# U11(X1, X2, X3) -> proper# X1) (proper# U12(X1, X2) -> proper# X2, proper# U11(X1, X2, X3) -> proper# X2) (proper# U12(X1, X2) -> proper# X2, proper# U11(X1, X2, X3) -> proper# X3) (proper# U12(X1, X2) -> proper# X2, proper# U13 X -> U13# proper X) (proper# U12(X1, X2) -> proper# X2, proper# U13 X -> proper# X) (proper# U12(X1, X2) -> proper# X2, proper# U22 X -> U22# proper X) (proper# U12(X1, X2) -> proper# X2, proper# U22 X -> proper# X) (proper# U12(X1, X2) -> proper# X2, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# U12(X1, X2) -> proper# X2, proper# U21(X1, X2) -> proper# X1) (proper# U12(X1, X2) -> proper# X2, proper# U21(X1, X2) -> proper# X2) (proper# U12(X1, X2) -> proper# X2, proper# U32(X1, X2) -> U32#(proper X1, proper X2)) (proper# U12(X1, X2) -> proper# X2, proper# U32(X1, X2) -> proper# X1) (proper# U12(X1, X2) -> proper# X2, proper# U32(X1, X2) -> proper# X2) (proper# U12(X1, X2) -> proper# X2, proper# U31(X1, X2, X3) -> U31#(proper X1, proper X2, proper X3)) (proper# U12(X1, X2) -> proper# X2, proper# U31(X1, X2, X3) -> proper# X1) (proper# U12(X1, X2) -> proper# X2, proper# U31(X1, X2, X3) -> proper# X2) (proper# U12(X1, X2) -> proper# X2, proper# U31(X1, X2, X3) -> proper# X3) (proper# U12(X1, X2) -> proper# X2, proper# U33 X -> U33# proper X) (proper# U12(X1, X2) -> proper# X2, proper# U33 X -> proper# X) (proper# U12(X1, X2) -> proper# X2, proper# U41(X1, X2) -> U41#(proper X1, proper X2)) (proper# U12(X1, X2) -> proper# X2, proper# U41(X1, X2) -> proper# X1) (proper# U12(X1, X2) -> proper# X2, proper# U41(X1, X2) -> proper# X2) (proper# U12(X1, X2) -> proper# X2, proper# s X -> s# proper X) (proper# U12(X1, X2) -> proper# X2, proper# s X -> proper# X) (proper# U12(X1, X2) -> proper# X2, proper# plus(X1, X2) -> plus#(proper X1, proper X2)) (proper# U12(X1, X2) -> proper# X2, proper# plus(X1, X2) -> proper# X1) (proper# U12(X1, X2) -> proper# X2, proper# plus(X1, X2) -> proper# X2) (proper# U12(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# U12(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X1) (proper# U12(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X2) (proper# U12(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X3) (proper# U12(X1, X2) -> proper# X2, proper# U61 X -> U61# proper X) (proper# U12(X1, X2) -> proper# X2, proper# U61 X -> proper# X) (proper# U12(X1, X2) -> proper# X2, proper# x(X1, X2) -> x#(proper X1, proper X2)) (proper# U12(X1, X2) -> proper# X2, proper# x(X1, X2) -> proper# X1) (proper# U12(X1, X2) -> proper# X2, proper# x(X1, X2) -> proper# X2) (proper# U12(X1, X2) -> proper# X2, proper# U71(X1, X2, X3) -> U71#(proper X1, proper X2, proper X3)) (proper# U12(X1, X2) -> proper# X2, proper# U71(X1, X2, X3) -> proper# X1) (proper# U12(X1, X2) -> proper# X2, proper# U71(X1, X2, X3) -> proper# X2) (proper# U12(X1, X2) -> proper# X2, proper# U71(X1, X2, X3) -> proper# X3) (proper# U12(X1, X2) -> proper# X2, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# U12(X1, X2) -> proper# X2, proper# and(X1, X2) -> proper# X1) (proper# U12(X1, X2) -> proper# X2, proper# and(X1, X2) -> proper# X2) (proper# U12(X1, X2) -> proper# X2, proper# isNatKind X -> isNatKind# proper X) (proper# U12(X1, X2) -> proper# X2, proper# isNatKind X -> proper# X) (active# plus(X1, X2) -> active# X2, active# U12(X1, X2) -> U12#(active X1, X2)) (active# plus(X1, X2) -> active# X2, active# U12(X1, X2) -> active# X1) (active# plus(X1, X2) -> active# X2, active# U12(tt(), V2) -> isNat# V2) (active# plus(X1, X2) -> active# X2, active# U12(tt(), V2) -> U13# isNat V2) (active# plus(X1, X2) -> active# X2, active# isNat s V1 -> U21#(isNatKind V1, V1)) (active# plus(X1, X2) -> active# X2, active# isNat s V1 -> isNatKind# V1) (active# plus(X1, X2) -> active# X2, active# isNat plus(V1, V2) -> U11#(and(isNatKind V1, isNatKind V2), V1, V2)) (active# plus(X1, X2) -> active# X2, active# isNat plus(V1, V2) -> and#(isNatKind V1, isNatKind V2)) (active# plus(X1, X2) -> active# X2, active# isNat plus(V1, V2) -> isNatKind# V1) (active# plus(X1, X2) -> active# X2, active# isNat plus(V1, V2) -> isNatKind# V2) (active# plus(X1, X2) -> active# X2, active# isNat x(V1, V2) -> U31#(and(isNatKind V1, isNatKind V2), V1, V2)) (active# plus(X1, X2) -> active# X2, active# isNat x(V1, V2) -> and#(isNatKind V1, isNatKind V2)) (active# plus(X1, X2) -> active# X2, active# isNat x(V1, V2) -> isNatKind# V1) (active# plus(X1, X2) -> active# X2, active# isNat x(V1, V2) -> isNatKind# V2) (active# plus(X1, X2) -> active# X2, active# U11(X1, X2, X3) -> active# X1) (active# plus(X1, X2) -> active# X2, active# U11(X1, X2, X3) -> U11#(active X1, X2, X3)) (active# plus(X1, X2) -> active# X2, active# U11(tt(), V1, V2) -> U12#(isNat V1, V2)) (active# plus(X1, X2) -> active# X2, active# U11(tt(), V1, V2) -> isNat# V1) (active# plus(X1, X2) -> active# X2, active# U13 X -> active# X) (active# plus(X1, X2) -> active# X2, active# U13 X -> U13# active X) (active# plus(X1, X2) -> active# X2, active# U22 X -> active# X) (active# plus(X1, X2) -> active# X2, active# U22 X -> U22# active X) (active# plus(X1, X2) -> active# X2, active# U21(X1, X2) -> active# X1) (active# plus(X1, X2) -> active# X2, active# U21(X1, X2) -> U21#(active X1, X2)) (active# plus(X1, X2) -> active# X2, active# U21(tt(), V1) -> isNat# V1) (active# plus(X1, X2) -> active# X2, active# U21(tt(), V1) -> U22# isNat V1) (active# plus(X1, X2) -> active# X2, active# U32(X1, X2) -> active# X1) (active# plus(X1, X2) -> active# X2, active# U32(X1, X2) -> U32#(active X1, X2)) (active# plus(X1, X2) -> active# X2, active# U32(tt(), V2) -> isNat# V2) (active# plus(X1, X2) -> active# X2, active# U32(tt(), V2) -> U33# isNat V2) (active# plus(X1, X2) -> active# X2, active# U31(X1, X2, X3) -> active# X1) (active# plus(X1, X2) -> active# X2, active# U31(X1, X2, X3) -> U31#(active X1, X2, X3)) (active# plus(X1, X2) -> active# X2, active# U31(tt(), V1, V2) -> isNat# V1) (active# plus(X1, X2) -> active# X2, active# U31(tt(), V1, V2) -> U32#(isNat V1, V2)) (active# plus(X1, X2) -> active# X2, active# U33 X -> active# X) (active# plus(X1, X2) -> active# X2, active# U33 X -> U33# active X) (active# plus(X1, X2) -> active# X2, active# U41(X1, X2) -> active# X1) (active# plus(X1, X2) -> active# X2, active# U41(X1, X2) -> U41#(active X1, X2)) (active# plus(X1, X2) -> active# X2, active# s X -> active# X) (active# plus(X1, X2) -> active# X2, active# s X -> s# active X) (active# plus(X1, X2) -> active# X2, active# plus(N, s M) -> isNat# N) (active# plus(X1, X2) -> active# X2, active# plus(N, s M) -> isNat# M) (active# plus(X1, X2) -> active# X2, active# plus(N, s M) -> U51#(and(and(isNat M, isNatKind M), and(isNat N, isNatKind N)), M, N)) (active# plus(X1, X2) -> active# X2, active# plus(N, s M) -> and#(isNat N, isNatKind N)) (active# plus(X1, X2) -> active# X2, active# plus(N, s M) -> and#(isNat M, isNatKind M)) (active# plus(X1, X2) -> active# X2, active# plus(N, s M) -> and#(and(isNat M, isNatKind M), and(isNat N, isNatKind N))) (active# plus(X1, X2) -> active# X2, active# plus(N, s M) -> isNatKind# N) (active# plus(X1, X2) -> active# X2, active# plus(N, s M) -> isNatKind# M) (active# plus(X1, X2) -> active# X2, active# plus(N, 0()) -> isNat# N) (active# plus(X1, X2) -> active# X2, active# plus(N, 0()) -> U41#(and(isNat N, isNatKind N), N)) (active# plus(X1, X2) -> active# X2, active# plus(N, 0()) -> and#(isNat N, isNatKind N)) (active# plus(X1, X2) -> active# X2, active# plus(N, 0()) -> isNatKind# N) (active# plus(X1, X2) -> active# X2, active# plus(X1, X2) -> active# X1) (active# plus(X1, X2) -> active# X2, active# plus(X1, X2) -> active# X2) (active# plus(X1, X2) -> active# X2, active# plus(X1, X2) -> plus#(X1, active X2)) (active# plus(X1, X2) -> active# X2, active# plus(X1, X2) -> plus#(active X1, X2)) (active# plus(X1, X2) -> active# X2, active# U51(X1, X2, X3) -> active# X1) (active# plus(X1, X2) -> active# X2, active# U51(X1, X2, X3) -> U51#(active X1, X2, X3)) (active# plus(X1, X2) -> active# X2, active# U51(tt(), M, N) -> s# plus(N, M)) (active# plus(X1, X2) -> active# X2, active# U51(tt(), M, N) -> plus#(N, M)) (active# plus(X1, X2) -> active# X2, active# U61 X -> active# X) (active# plus(X1, X2) -> active# X2, active# U61 X -> U61# active X) (active# plus(X1, X2) -> active# X2, active# x(N, s M) -> isNat# N) (active# plus(X1, X2) -> active# X2, active# x(N, s M) -> isNat# M) (active# plus(X1, X2) -> active# X2, active# x(N, s M) -> U71#(and(and(isNat M, isNatKind M), and(isNat N, isNatKind N)), M, N)) (active# plus(X1, X2) -> active# X2, active# x(N, s M) -> and#(isNat N, isNatKind N)) (active# plus(X1, X2) -> active# X2, active# x(N, s M) -> and#(isNat M, isNatKind M)) (active# plus(X1, X2) -> active# X2, active# x(N, s M) -> and#(and(isNat M, isNatKind M), and(isNat N, isNatKind N))) (active# plus(X1, X2) -> active# X2, active# x(N, s M) -> isNatKind# N) (active# plus(X1, X2) -> active# X2, active# x(N, s M) -> isNatKind# M) (active# plus(X1, X2) -> active# X2, active# x(N, 0()) -> isNat# N) (active# plus(X1, X2) -> active# X2, active# x(N, 0()) -> U61# and(isNat N, isNatKind N)) (active# plus(X1, X2) -> active# X2, active# x(N, 0()) -> and#(isNat N, isNatKind N)) (active# plus(X1, X2) -> active# X2, active# x(N, 0()) -> isNatKind# N) (active# plus(X1, X2) -> active# X2, active# x(X1, X2) -> active# X1) (active# plus(X1, X2) -> active# X2, active# x(X1, X2) -> active# X2) (active# plus(X1, X2) -> active# X2, active# x(X1, X2) -> x#(X1, active X2)) (active# plus(X1, X2) -> active# X2, active# x(X1, X2) -> x#(active X1, X2)) (active# plus(X1, X2) -> active# X2, active# U71(X1, X2, X3) -> active# X1) (active# plus(X1, X2) -> active# X2, active# U71(X1, X2, X3) -> U71#(active X1, X2, X3)) (active# plus(X1, X2) -> active# X2, active# U71(tt(), M, N) -> plus#(x(N, M), N)) (active# plus(X1, X2) -> active# X2, active# U71(tt(), M, N) -> x#(N, M)) (active# plus(X1, X2) -> active# X2, active# and(X1, X2) -> active# X1) (active# plus(X1, X2) -> active# X2, active# and(X1, X2) -> and#(active X1, X2)) (active# plus(X1, X2) -> active# X2, active# isNatKind s V1 -> isNatKind# V1) (active# plus(X1, X2) -> active# X2, active# isNatKind plus(V1, V2) -> and#(isNatKind V1, isNatKind V2)) (active# plus(X1, X2) -> active# X2, active# isNatKind plus(V1, V2) -> isNatKind# V1) (active# plus(X1, X2) -> active# X2, active# isNatKind plus(V1, V2) -> isNatKind# V2) (active# plus(X1, X2) -> active# X2, active# isNatKind x(V1, V2) -> and#(isNatKind V1, isNatKind V2)) (active# plus(X1, X2) -> active# X2, active# isNatKind x(V1, V2) -> isNatKind# V1) (active# plus(X1, X2) -> active# X2, active# isNatKind x(V1, V2) -> isNatKind# V2) (active# plus(N, s M) -> U51#(and(and(isNat M, isNatKind M), and(isNat N, isNatKind N)), M, N), U51#(ok X1, ok X2, ok X3) -> U51#(X1, X2, X3)) (active# U32(tt(), V2) -> U33# isNat V2, U33# ok X -> U33# X) (top# ok X -> top# active X, top# mark X -> proper# X) (top# ok X -> top# active X, top# mark X -> top# proper X) (top# ok X -> top# active X, top# ok X -> active# X) (top# ok X -> top# active X, top# ok X -> top# active X) (proper# isNatKind X -> isNatKind# proper X, isNatKind# ok X -> isNatKind# X) (proper# s X -> s# proper X, s# mark X -> s# X) (proper# s X -> s# proper X, s# ok X -> s# X) (proper# U22 X -> U22# proper X, U22# mark X -> U22# X) (proper# U22 X -> U22# proper X, U22# ok X -> U22# X) (proper# isNat X -> isNat# proper X, isNat# ok X -> isNat# X) (active# s X -> s# active X, s# mark X -> s# X) (active# s X -> s# active X, s# ok X -> s# X) (active# U22 X -> U22# active X, U22# mark X -> U22# X) (active# U22 X -> U22# active X, U22# ok X -> U22# X) (active# isNatKind x(V1, V2) -> isNatKind# V2, isNatKind# ok X -> isNatKind# X) (active# U32(tt(), V2) -> isNat# V2, isNat# ok X -> isNat# X) (active# isNat plus(V1, V2) -> isNatKind# V2, isNatKind# ok X -> isNatKind# X) (U71#(ok X1, ok X2, ok X3) -> U71#(X1, X2, X3), U71#(mark X1, X2, X3) -> U71#(X1, X2, X3)) (U71#(ok X1, ok X2, ok X3) -> U71#(X1, X2, X3), U71#(ok X1, ok X2, ok X3) -> U71#(X1, X2, X3)) (U51#(ok X1, ok X2, ok X3) -> U51#(X1, X2, X3), U51#(mark X1, X2, X3) -> U51#(X1, X2, X3)) (U51#(ok X1, ok X2, ok X3) -> U51#(X1, X2, X3), U51#(ok X1, ok X2, ok X3) -> U51#(X1, X2, X3)) (U31#(ok X1, ok X2, ok X3) -> U31#(X1, X2, X3), U31#(mark X1, X2, X3) -> U31#(X1, X2, X3)) (U31#(ok X1, ok X2, ok X3) -> U31#(X1, X2, X3), U31#(ok X1, ok X2, ok X3) -> U31#(X1, X2, X3)) (U11#(ok X1, ok X2, ok X3) -> U11#(X1, X2, X3), U11#(mark X1, X2, X3) -> U11#(X1, X2, X3)) (U11#(ok X1, ok X2, ok X3) -> U11#(X1, X2, X3), U11#(ok X1, ok X2, ok X3) -> U11#(X1, X2, X3)) (active# U71(X1, X2, X3) -> U71#(active X1, X2, X3), U71#(mark X1, X2, X3) -> U71#(X1, X2, X3)) (active# U71(X1, X2, X3) -> U71#(active X1, X2, X3), U71#(ok X1, ok X2, ok X3) -> U71#(X1, X2, X3)) (active# U31(X1, X2, X3) -> U31#(active X1, X2, X3), U31#(mark X1, X2, X3) -> U31#(X1, X2, X3)) (active# U31(X1, X2, X3) -> U31#(active X1, X2, X3), U31#(ok X1, ok X2, ok X3) -> U31#(X1, X2, X3)) (top# ok X -> active# X, active# U12(X1, X2) -> U12#(active X1, X2)) (top# ok X -> active# X, active# U12(X1, X2) -> active# X1) (top# ok X -> active# X, active# U12(tt(), V2) -> isNat# V2) (top# ok X -> active# X, active# U12(tt(), V2) -> U13# isNat V2) (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 plus(V1, V2) -> U11#(and(isNatKind V1, isNatKind V2), V1, V2)) (top# ok X -> active# X, active# isNat plus(V1, V2) -> and#(isNatKind V1, isNatKind V2)) (top# ok X -> active# X, active# isNat plus(V1, V2) -> isNatKind# V1) (top# ok X -> active# X, active# isNat plus(V1, V2) -> isNatKind# V2) (top# ok X -> active# X, active# isNat x(V1, V2) -> U31#(and(isNatKind V1, isNatKind V2), V1, V2)) (top# ok X -> active# X, active# isNat x(V1, V2) -> and#(isNatKind V1, isNatKind V2)) (top# ok X -> active# X, active# isNat x(V1, V2) -> isNatKind# V1) (top# ok X -> active# X, active# isNat x(V1, V2) -> isNatKind# V2) (top# ok X -> active# X, active# U11(X1, X2, X3) -> active# X1) (top# ok X -> active# X, active# U11(X1, X2, X3) -> U11#(active X1, X2, X3)) (top# ok X -> active# X, active# U11(tt(), V1, V2) -> U12#(isNat V1, V2)) (top# ok X -> active# X, active# U11(tt(), V1, V2) -> isNat# V1) (top# ok X -> active# X, active# U13 X -> active# X) (top# ok X -> active# X, active# U13 X -> U13# active X) (top# ok X -> active# X, active# U22 X -> active# X) (top# ok X -> active# X, active# U22 X -> U22# active X) (top# ok X -> active# X, active# U21(X1, X2) -> active# X1) (top# ok X -> active# X, active# U21(X1, X2) -> U21#(active X1, X2)) (top# ok X -> active# X, active# U21(tt(), V1) -> isNat# V1) (top# ok X -> active# X, active# U21(tt(), V1) -> U22# isNat V1) (top# ok X -> active# X, active# U32(X1, X2) -> active# X1) (top# ok X -> active# X, active# U32(X1, X2) -> U32#(active X1, X2)) (top# ok X -> active# X, active# U32(tt(), V2) -> isNat# V2) (top# ok X -> active# X, active# U32(tt(), V2) -> U33# isNat V2) (top# ok X -> active# X, active# U31(X1, X2, X3) -> active# X1) (top# ok X -> active# X, active# U31(X1, X2, X3) -> U31#(active X1, X2, X3)) (top# ok X -> active# X, active# U31(tt(), V1, V2) -> isNat# V1) (top# ok X -> active# X, active# U31(tt(), V1, V2) -> U32#(isNat V1, V2)) (top# ok X -> active# X, active# U33 X -> active# X) (top# ok X -> active# X, active# U33 X -> U33# active X) (top# ok X -> active# X, active# U41(X1, X2) -> active# X1) (top# ok X -> active# X, active# U41(X1, X2) -> U41#(active X1, X2)) (top# ok X -> active# X, active# s X -> active# X) (top# ok X -> active# X, active# s X -> s# active X) (top# ok X -> active# X, active# plus(N, s M) -> isNat# N) (top# ok X -> active# X, active# plus(N, s M) -> isNat# M) (top# ok X -> active# X, active# plus(N, s M) -> U51#(and(and(isNat M, isNatKind M), and(isNat N, isNatKind N)), M, N)) (top# ok X -> active# X, active# plus(N, s M) -> and#(isNat N, isNatKind N)) (top# ok X -> active# X, active# plus(N, s M) -> and#(isNat M, isNatKind M)) (top# ok X -> active# X, active# plus(N, s M) -> and#(and(isNat M, isNatKind M), and(isNat N, isNatKind N))) (top# ok X -> active# X, active# plus(N, s M) -> isNatKind# N) (top# ok X -> active# X, active# plus(N, s M) -> isNatKind# M) (top# ok X -> active# X, active# plus(N, 0()) -> isNat# N) (top# ok X -> active# X, active# plus(N, 0()) -> U41#(and(isNat N, isNatKind N), N)) (top# ok X -> active# X, active# plus(N, 0()) -> and#(isNat N, isNatKind N)) (top# ok X -> active# X, active# plus(N, 0()) -> isNatKind# N) (top# ok X -> active# X, active# plus(X1, X2) -> active# X1) (top# ok X -> active# X, active# plus(X1, X2) -> active# X2) (top# ok X -> active# X, active# plus(X1, X2) -> plus#(X1, active X2)) (top# ok X -> active# X, active# plus(X1, X2) -> plus#(active X1, X2)) (top# ok X -> active# X, active# U51(X1, X2, X3) -> active# X1) (top# ok X -> active# X, active# U51(X1, X2, X3) -> U51#(active X1, X2, X3)) (top# ok X -> active# X, active# U51(tt(), M, N) -> s# plus(N, M)) (top# ok X -> active# X, active# U51(tt(), M, N) -> plus#(N, M)) (top# ok X -> active# X, active# U61 X -> active# X) (top# ok X -> active# X, active# U61 X -> U61# active X) (top# ok X -> active# X, active# x(N, s M) -> isNat# N) (top# ok X -> active# X, active# x(N, s M) -> isNat# M) (top# ok X -> active# X, active# x(N, s M) -> U71#(and(and(isNat M, isNatKind M), and(isNat N, isNatKind N)), M, N)) (top# ok X -> active# X, active# x(N, s M) -> and#(isNat N, isNatKind N)) (top# ok X -> active# X, active# x(N, s M) -> and#(isNat M, isNatKind M)) (top# ok X -> active# X, active# x(N, s M) -> and#(and(isNat M, isNatKind M), and(isNat N, isNatKind N))) (top# ok X -> active# X, active# x(N, s M) -> isNatKind# N) (top# ok X -> active# X, active# x(N, s M) -> isNatKind# M) (top# ok X -> active# X, active# x(N, 0()) -> isNat# N) (top# ok X -> active# X, active# x(N, 0()) -> U61# and(isNat N, isNatKind N)) (top# ok X -> active# X, active# x(N, 0()) -> and#(isNat N, isNatKind N)) (top# ok X -> active# X, active# x(N, 0()) -> isNatKind# N) (top# ok X -> active# X, active# x(X1, X2) -> active# X1) (top# ok X -> active# X, active# x(X1, X2) -> active# X2) (top# ok X -> active# X, active# x(X1, X2) -> x#(X1, active X2)) (top# ok X -> active# X, active# x(X1, X2) -> x#(active X1, X2)) (top# ok X -> active# X, active# U71(X1, X2, X3) -> active# X1) (top# ok X -> active# X, active# U71(X1, X2, X3) -> U71#(active X1, X2, X3)) (top# ok X -> active# X, active# U71(tt(), M, N) -> plus#(x(N, M), N)) (top# ok X -> active# X, active# U71(tt(), M, N) -> x#(N, M)) (top# ok X -> active# X, active# and(X1, X2) -> active# X1) (top# ok X -> active# X, active# and(X1, X2) -> and#(active X1, X2)) (top# ok X -> active# X, active# isNatKind s V1 -> isNatKind# V1) (top# ok X -> active# X, active# isNatKind plus(V1, V2) -> and#(isNatKind V1, isNatKind V2)) (top# ok X -> active# X, active# isNatKind plus(V1, V2) -> isNatKind# V1) (top# ok X -> active# X, active# isNatKind plus(V1, V2) -> isNatKind# V2) (top# ok X -> active# X, active# isNatKind x(V1, V2) -> and#(isNatKind V1, isNatKind V2)) (top# ok X -> active# X, active# isNatKind x(V1, V2) -> isNatKind# V1) (top# ok X -> active# X, active# isNatKind x(V1, V2) -> isNatKind# V2) (proper# isNatKind X -> proper# X, proper# U12(X1, X2) -> U12#(proper X1, proper X2)) (proper# isNatKind X -> proper# X, proper# U12(X1, X2) -> proper# X1) (proper# isNatKind X -> proper# X, proper# U12(X1, X2) -> proper# X2) (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# 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 X -> U13# proper X) (proper# isNatKind X -> proper# X, proper# U13 X -> proper# X) (proper# isNatKind X -> proper# X, proper# U22 X -> U22# proper X) (proper# isNatKind X -> proper# X, proper# U22 X -> proper# X) (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# U32(X1, X2) -> U32#(proper X1, proper X2)) (proper# isNatKind X -> proper# X, proper# U32(X1, X2) -> proper# X1) (proper# isNatKind X -> proper# X, proper# U32(X1, X2) -> proper# X2) (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 X -> U33# proper X) (proper# isNatKind X -> proper# X, proper# U33 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# s X -> s# proper X) (proper# isNatKind X -> proper# X, proper# s X -> proper# X) (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# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# isNatKind X -> proper# X, proper# U51(X1, X2, X3) -> proper# X1) (proper# isNatKind X -> proper# X, proper# U51(X1, X2, X3) -> proper# X2) (proper# isNatKind X -> proper# X, proper# U51(X1, X2, X3) -> proper# X3) (proper# isNatKind X -> proper# X, proper# U61 X -> U61# proper X) (proper# isNatKind X -> proper# X, proper# U61 X -> proper# X) (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# U71(X1, X2, X3) -> U71#(proper X1, proper X2, proper X3)) (proper# isNatKind X -> proper# X, proper# U71(X1, X2, X3) -> proper# X1) (proper# isNatKind X -> proper# X, proper# U71(X1, X2, X3) -> proper# X2) (proper# isNatKind X -> proper# X, proper# U71(X1, X2, X3) -> proper# X3) (proper# isNatKind X -> proper# X, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# isNatKind X -> proper# X, proper# and(X1, X2) -> proper# X1) (proper# isNatKind X -> proper# X, proper# and(X1, X2) -> proper# X2) (proper# isNatKind X -> proper# X, proper# isNatKind X -> isNatKind# proper X) (proper# isNatKind X -> proper# X, proper# isNatKind X -> proper# X) (proper# s X -> proper# X, proper# U12(X1, X2) -> U12#(proper X1, proper X2)) (proper# s X -> proper# X, proper# U12(X1, X2) -> proper# X1) (proper# s X -> proper# X, proper# U12(X1, X2) -> proper# X2) (proper# s X -> proper# X, proper# isNat X -> isNat# proper X) (proper# s X -> proper# X, proper# isNat X -> proper# X) (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 X -> U13# proper X) (proper# s X -> proper# X, proper# U13 X -> proper# X) (proper# s X -> proper# X, proper# U22 X -> U22# proper X) (proper# s X -> proper# X, proper# U22 X -> proper# X) (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# U32(X1, X2) -> U32#(proper X1, proper X2)) (proper# s X -> proper# X, proper# U32(X1, X2) -> proper# X1) (proper# s X -> proper# X, proper# U32(X1, X2) -> proper# X2) (proper# s X -> proper# X, proper# U31(X1, X2, X3) -> 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 X -> U33# proper X) (proper# s X -> proper# X, proper# U33 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# s X -> s# proper X) (proper# s X -> proper# X, proper# s X -> proper# X) (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# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# s X -> proper# X, proper# U51(X1, X2, X3) -> proper# X1) (proper# s X -> proper# X, proper# U51(X1, X2, X3) -> proper# X2) (proper# s X -> proper# X, proper# U51(X1, X2, X3) -> proper# X3) (proper# s X -> proper# X, proper# U61 X -> U61# proper X) (proper# s X -> proper# X, proper# U61 X -> proper# X) (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# U71(X1, X2, X3) -> U71#(proper X1, proper X2, proper X3)) (proper# s X -> proper# X, proper# U71(X1, X2, X3) -> proper# X1) (proper# s X -> proper# X, proper# U71(X1, X2, X3) -> proper# X2) (proper# s X -> proper# X, proper# U71(X1, X2, X3) -> proper# X3) (proper# s X -> proper# X, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# s X -> proper# X, proper# and(X1, X2) -> proper# X1) (proper# s X -> proper# X, proper# and(X1, X2) -> proper# X2) (proper# s X -> proper# X, proper# isNatKind X -> isNatKind# proper X) (proper# s X -> proper# X, proper# isNatKind X -> proper# X) (proper# U22 X -> proper# X, proper# U12(X1, X2) -> U12#(proper X1, proper X2)) (proper# U22 X -> proper# X, proper# U12(X1, X2) -> proper# X1) (proper# U22 X -> proper# X, proper# U12(X1, X2) -> proper# X2) (proper# U22 X -> proper# X, proper# isNat X -> isNat# proper X) (proper# U22 X -> proper# X, proper# isNat X -> proper# X) (proper# U22 X -> proper# X, proper# U11(X1, X2, X3) -> U11#(proper X1, proper X2, proper X3)) (proper# U22 X -> proper# X, proper# U11(X1, X2, X3) -> proper# X1) (proper# U22 X -> proper# X, proper# U11(X1, X2, X3) -> proper# X2) (proper# U22 X -> proper# X, proper# U11(X1, X2, X3) -> proper# X3) (proper# U22 X -> proper# X, proper# U13 X -> U13# proper X) (proper# U22 X -> proper# X, proper# U13 X -> proper# X) (proper# U22 X -> proper# X, proper# U22 X -> U22# proper X) (proper# U22 X -> proper# X, proper# U22 X -> proper# X) (proper# U22 X -> proper# X, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# U22 X -> proper# X, proper# U21(X1, X2) -> proper# X1) (proper# U22 X -> proper# X, proper# U21(X1, X2) -> proper# X2) (proper# U22 X -> proper# X, proper# U32(X1, X2) -> U32#(proper X1, proper X2)) (proper# U22 X -> proper# X, proper# U32(X1, X2) -> proper# X1) (proper# U22 X -> proper# X, proper# U32(X1, X2) -> proper# X2) (proper# U22 X -> proper# X, proper# U31(X1, X2, X3) -> U31#(proper X1, proper X2, proper X3)) (proper# U22 X -> proper# X, proper# U31(X1, X2, X3) -> proper# X1) (proper# U22 X -> proper# X, proper# U31(X1, X2, X3) -> proper# X2) (proper# U22 X -> proper# X, proper# U31(X1, X2, X3) -> proper# X3) (proper# U22 X -> proper# X, proper# U33 X -> U33# proper X) (proper# U22 X -> proper# X, proper# U33 X -> proper# X) (proper# U22 X -> proper# X, proper# U41(X1, X2) -> U41#(proper X1, proper X2)) (proper# U22 X -> proper# X, proper# U41(X1, X2) -> proper# X1) (proper# U22 X -> proper# X, proper# U41(X1, X2) -> proper# X2) (proper# U22 X -> proper# X, proper# s X -> s# proper X) (proper# U22 X -> proper# X, proper# s X -> proper# X) (proper# U22 X -> proper# X, proper# plus(X1, X2) -> plus#(proper X1, proper X2)) (proper# U22 X -> proper# X, proper# plus(X1, X2) -> proper# X1) (proper# U22 X -> proper# X, proper# plus(X1, X2) -> proper# X2) (proper# U22 X -> proper# X, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# U22 X -> proper# X, proper# U51(X1, X2, X3) -> proper# X1) (proper# U22 X -> proper# X, proper# U51(X1, X2, X3) -> proper# X2) (proper# U22 X -> proper# X, proper# U51(X1, X2, X3) -> proper# X3) (proper# U22 X -> proper# X, proper# U61 X -> U61# proper X) (proper# U22 X -> proper# X, proper# U61 X -> proper# X) (proper# U22 X -> proper# X, proper# x(X1, X2) -> x#(proper X1, proper X2)) (proper# U22 X -> proper# X, proper# x(X1, X2) -> proper# X1) (proper# U22 X -> proper# X, proper# x(X1, X2) -> proper# X2) (proper# U22 X -> proper# X, proper# U71(X1, X2, X3) -> U71#(proper X1, proper X2, proper X3)) (proper# U22 X -> proper# X, proper# U71(X1, X2, X3) -> proper# X1) (proper# U22 X -> proper# X, proper# U71(X1, X2, X3) -> proper# X2) (proper# U22 X -> proper# X, proper# U71(X1, X2, X3) -> proper# X3) (proper# U22 X -> proper# X, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# U22 X -> proper# X, proper# and(X1, X2) -> proper# X1) (proper# U22 X -> proper# X, proper# and(X1, X2) -> proper# X2) (proper# U22 X -> proper# X, proper# isNatKind X -> isNatKind# proper X) (proper# U22 X -> proper# X, proper# isNatKind X -> proper# X) (proper# isNat X -> proper# X, proper# U12(X1, X2) -> U12#(proper X1, proper X2)) (proper# isNat X -> proper# X, proper# U12(X1, X2) -> proper# X1) (proper# isNat X -> proper# X, proper# U12(X1, X2) -> proper# X2) (proper# isNat X -> proper# X, proper# isNat X -> isNat# proper X) (proper# isNat X -> proper# X, proper# isNat X -> proper# X) (proper# isNat X -> proper# X, proper# U11(X1, X2, X3) -> U11#(proper X1, proper X2, proper X3)) (proper# isNat X -> proper# X, proper# U11(X1, X2, X3) -> proper# X1) (proper# isNat X -> proper# X, proper# U11(X1, X2, X3) -> proper# X2) (proper# isNat X -> proper# X, proper# U11(X1, X2, X3) -> proper# X3) (proper# isNat X -> proper# X, proper# U13 X -> U13# proper X) (proper# isNat X -> proper# X, proper# U13 X -> proper# X) (proper# isNat X -> proper# X, proper# U22 X -> U22# proper X) (proper# isNat X -> proper# X, proper# U22 X -> proper# X) (proper# isNat X -> proper# X, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# isNat X -> proper# X, proper# U21(X1, X2) -> proper# X1) (proper# isNat X -> proper# X, proper# U21(X1, X2) -> proper# X2) (proper# isNat X -> proper# X, proper# U32(X1, X2) -> U32#(proper X1, proper X2)) (proper# isNat X -> proper# X, proper# U32(X1, X2) -> proper# X1) (proper# isNat X -> proper# X, proper# U32(X1, X2) -> proper# X2) (proper# isNat X -> proper# X, proper# U31(X1, X2, X3) -> U31#(proper X1, proper X2, proper X3)) (proper# isNat X -> proper# X, proper# U31(X1, X2, X3) -> proper# X1) (proper# isNat X -> proper# X, proper# U31(X1, X2, X3) -> proper# X2) (proper# isNat X -> proper# X, proper# U31(X1, X2, X3) -> proper# X3) (proper# isNat X -> proper# X, proper# U33 X -> U33# proper X) (proper# isNat X -> proper# X, proper# U33 X -> proper# X) (proper# isNat X -> proper# X, proper# U41(X1, X2) -> U41#(proper X1, proper X2)) (proper# isNat X -> proper# X, proper# U41(X1, X2) -> proper# X1) (proper# isNat X -> proper# X, proper# U41(X1, X2) -> proper# X2) (proper# isNat X -> proper# X, proper# s X -> s# proper X) (proper# isNat X -> proper# X, proper# s X -> proper# X) (proper# isNat X -> proper# X, proper# plus(X1, X2) -> plus#(proper X1, proper X2)) (proper# isNat X -> proper# X, proper# plus(X1, X2) -> proper# X1) (proper# isNat X -> proper# X, proper# plus(X1, X2) -> proper# X2) (proper# isNat X -> proper# X, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# isNat X -> proper# X, proper# U51(X1, X2, X3) -> proper# X1) (proper# isNat X -> proper# X, proper# U51(X1, X2, X3) -> proper# X2) (proper# isNat X -> proper# X, proper# U51(X1, X2, X3) -> proper# X3) (proper# isNat X -> proper# X, proper# U61 X -> U61# proper X) (proper# isNat X -> proper# X, proper# U61 X -> proper# X) (proper# isNat X -> proper# X, proper# x(X1, X2) -> x#(proper X1, proper X2)) (proper# isNat X -> proper# X, proper# x(X1, X2) -> proper# X1) (proper# isNat X -> proper# X, proper# x(X1, X2) -> proper# X2) (proper# isNat X -> proper# X, proper# U71(X1, X2, X3) -> U71#(proper X1, proper X2, proper X3)) (proper# isNat X -> proper# X, proper# U71(X1, X2, X3) -> proper# X1) (proper# isNat X -> proper# X, proper# U71(X1, X2, X3) -> proper# X2) (proper# isNat X -> proper# X, proper# U71(X1, X2, X3) -> proper# X3) (proper# isNat X -> proper# X, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# isNat X -> proper# X, proper# and(X1, X2) -> proper# X1) (proper# isNat X -> proper# X, proper# and(X1, X2) -> proper# X2) (proper# isNat X -> proper# X, proper# isNatKind X -> isNatKind# proper X) (proper# isNat X -> proper# X, proper# isNatKind X -> proper# X) (U61# ok X -> U61# X, U61# mark X -> U61# X) (U61# ok X -> U61# X, U61# ok X -> U61# X) (s# ok X -> s# X, s# mark X -> s# X) (s# ok X -> s# X, s# ok X -> s# X) (U33# ok X -> U33# X, U33# mark X -> U33# X) (U33# ok X -> U33# X, U33# ok X -> U33# X) (U22# ok X -> U22# X, U22# mark X -> U22# X) (U22# ok X -> U22# X, U22# ok X -> U22# X) (U13# ok X -> U13# X, U13# mark X -> U13# X) (U13# ok X -> U13# X, U13# ok X -> U13# X) (active# U61 X -> active# X, active# U12(X1, X2) -> U12#(active X1, X2)) (active# U61 X -> active# X, active# U12(X1, X2) -> active# X1) (active# U61 X -> active# X, active# U12(tt(), V2) -> isNat# V2) (active# U61 X -> active# X, active# U12(tt(), V2) -> U13# isNat V2) (active# U61 X -> active# X, active# isNat s V1 -> U21#(isNatKind V1, V1)) (active# U61 X -> active# X, active# isNat s V1 -> isNatKind# V1) (active# U61 X -> active# X, active# isNat plus(V1, V2) -> U11#(and(isNatKind V1, isNatKind V2), V1, V2)) (active# U61 X -> active# X, active# isNat plus(V1, V2) -> and#(isNatKind V1, isNatKind V2)) (active# U61 X -> active# X, active# isNat plus(V1, V2) -> isNatKind# V1) (active# U61 X -> active# X, active# isNat plus(V1, V2) -> isNatKind# V2) (active# U61 X -> active# X, active# isNat x(V1, V2) -> U31#(and(isNatKind V1, isNatKind V2), V1, V2)) (active# U61 X -> active# X, active# isNat x(V1, V2) -> and#(isNatKind V1, isNatKind V2)) (active# U61 X -> active# X, active# isNat x(V1, V2) -> isNatKind# V1) (active# U61 X -> active# X, active# isNat x(V1, V2) -> isNatKind# V2) (active# U61 X -> active# X, active# U11(X1, X2, X3) -> active# X1) (active# U61 X -> active# X, active# U11(X1, X2, X3) -> U11#(active X1, X2, X3)) (active# U61 X -> active# X, active# U11(tt(), V1, V2) -> U12#(isNat V1, V2)) (active# U61 X -> active# X, active# U11(tt(), V1, V2) -> isNat# V1) (active# U61 X -> active# X, active# U13 X -> active# X) (active# U61 X -> active# X, active# U13 X -> U13# active X) (active# U61 X -> active# X, active# U22 X -> active# X) (active# U61 X -> active# X, active# U22 X -> U22# active X) (active# U61 X -> active# X, active# U21(X1, X2) -> active# X1) (active# U61 X -> active# X, active# U21(X1, X2) -> U21#(active X1, X2)) (active# U61 X -> active# X, active# U21(tt(), V1) -> isNat# V1) (active# U61 X -> active# X, active# U21(tt(), V1) -> U22# isNat V1) (active# U61 X -> active# X, active# U32(X1, X2) -> active# X1) (active# U61 X -> active# X, active# U32(X1, X2) -> U32#(active X1, X2)) (active# U61 X -> active# X, active# U32(tt(), V2) -> isNat# V2) (active# U61 X -> active# X, active# U32(tt(), V2) -> U33# isNat V2) (active# U61 X -> active# X, active# U31(X1, X2, X3) -> active# X1) (active# U61 X -> active# X, active# U31(X1, X2, X3) -> U31#(active X1, X2, X3)) (active# U61 X -> active# X, active# U31(tt(), V1, V2) -> isNat# V1) (active# U61 X -> active# X, active# U31(tt(), V1, V2) -> U32#(isNat V1, V2)) (active# U61 X -> active# X, active# U33 X -> active# X) (active# U61 X -> active# X, active# U33 X -> U33# active X) (active# U61 X -> active# X, active# U41(X1, X2) -> active# X1) (active# U61 X -> active# X, active# U41(X1, X2) -> U41#(active X1, X2)) (active# U61 X -> active# X, active# s X -> active# X) (active# U61 X -> active# X, active# s X -> s# active X) (active# U61 X -> active# X, active# plus(N, s M) -> isNat# N) (active# U61 X -> active# X, active# plus(N, s M) -> isNat# M) (active# U61 X -> active# X, active# plus(N, s M) -> U51#(and(and(isNat M, isNatKind M), and(isNat N, isNatKind N)), M, N)) (active# U61 X -> active# X, active# plus(N, s M) -> and#(isNat N, isNatKind N)) (active# U61 X -> active# X, active# plus(N, s M) -> and#(isNat M, isNatKind M)) (active# U61 X -> active# X, active# plus(N, s M) -> and#(and(isNat M, isNatKind M), and(isNat N, isNatKind N))) (active# U61 X -> active# X, active# plus(N, s M) -> isNatKind# N) (active# U61 X -> active# X, active# plus(N, s M) -> isNatKind# M) (active# U61 X -> active# X, active# plus(N, 0()) -> isNat# N) (active# U61 X -> active# X, active# plus(N, 0()) -> U41#(and(isNat N, isNatKind N), N)) (active# U61 X -> active# X, active# plus(N, 0()) -> and#(isNat N, isNatKind N)) (active# U61 X -> active# X, active# plus(N, 0()) -> isNatKind# N) (active# U61 X -> active# X, active# plus(X1, X2) -> active# X1) (active# U61 X -> active# X, active# plus(X1, X2) -> active# X2) (active# U61 X -> active# X, active# plus(X1, X2) -> plus#(X1, active X2)) (active# U61 X -> active# X, active# plus(X1, X2) -> plus#(active X1, X2)) (active# U61 X -> active# X, active# U51(X1, X2, X3) -> active# X1) (active# U61 X -> active# X, active# U51(X1, X2, X3) -> U51#(active X1, X2, X3)) (active# U61 X -> active# X, active# U51(tt(), M, N) -> s# plus(N, M)) (active# U61 X -> active# X, active# U51(tt(), M, N) -> plus#(N, M)) (active# U61 X -> active# X, active# U61 X -> active# X) (active# U61 X -> active# X, active# U61 X -> U61# active X) (active# U61 X -> active# X, active# x(N, s M) -> isNat# N) (active# U61 X -> active# X, active# x(N, s M) -> isNat# M) (active# U61 X -> active# X, active# x(N, s M) -> U71#(and(and(isNat M, isNatKind M), and(isNat N, isNatKind N)), M, N)) (active# U61 X -> active# X, active# x(N, s M) -> and#(isNat N, isNatKind N)) (active# U61 X -> active# X, active# x(N, s M) -> and#(isNat M, isNatKind M)) (active# U61 X -> active# X, active# x(N, s M) -> and#(and(isNat M, isNatKind M), and(isNat N, isNatKind N))) (active# U61 X -> active# X, active# x(N, s M) -> isNatKind# N) (active# U61 X -> active# X, active# x(N, s M) -> isNatKind# M) (active# U61 X -> active# X, active# x(N, 0()) -> isNat# N) (active# U61 X -> active# X, active# x(N, 0()) -> U61# and(isNat N, isNatKind N)) (active# U61 X -> active# X, active# x(N, 0()) -> and#(isNat N, isNatKind N)) (active# U61 X -> active# X, active# x(N, 0()) -> isNatKind# N) (active# U61 X -> active# X, active# x(X1, X2) -> active# X1) (active# U61 X -> active# X, active# x(X1, X2) -> active# X2) (active# U61 X -> active# X, active# x(X1, X2) -> x#(X1, active X2)) (active# U61 X -> active# X, active# x(X1, X2) -> x#(active X1, X2)) (active# U61 X -> active# X, active# U71(X1, X2, X3) -> active# X1) (active# U61 X -> active# X, active# U71(X1, X2, X3) -> U71#(active X1, X2, X3)) (active# U61 X -> active# X, active# U71(tt(), M, N) -> plus#(x(N, M), N)) (active# U61 X -> active# X, active# U71(tt(), M, N) -> x#(N, M)) (active# U61 X -> active# X, active# and(X1, X2) -> active# X1) (active# U61 X -> active# X, active# and(X1, X2) -> and#(active X1, X2)) (active# U61 X -> active# X, active# isNatKind s V1 -> isNatKind# V1) (active# U61 X -> active# X, active# isNatKind plus(V1, V2) -> and#(isNatKind V1, isNatKind V2)) (active# U61 X -> active# X, active# isNatKind plus(V1, V2) -> isNatKind# V1) (active# U61 X -> active# X, active# isNatKind plus(V1, V2) -> isNatKind# V2) (active# U61 X -> active# X, active# isNatKind x(V1, V2) -> and#(isNatKind V1, isNatKind V2)) (active# U61 X -> active# X, active# isNatKind x(V1, V2) -> isNatKind# V1) (active# U61 X -> active# X, active# isNatKind x(V1, V2) -> isNatKind# V2) (active# U33 X -> active# X, active# U12(X1, X2) -> U12#(active X1, X2)) (active# U33 X -> active# X, active# U12(X1, X2) -> active# X1) (active# U33 X -> active# X, active# U12(tt(), V2) -> isNat# V2) (active# U33 X -> active# X, active# U12(tt(), V2) -> U13# isNat V2) (active# U33 X -> active# X, active# isNat s V1 -> U21#(isNatKind V1, V1)) (active# U33 X -> active# X, active# isNat s V1 -> isNatKind# V1) (active# U33 X -> active# X, active# isNat plus(V1, V2) -> U11#(and(isNatKind V1, isNatKind V2), V1, V2)) (active# U33 X -> active# X, active# isNat plus(V1, V2) -> and#(isNatKind V1, isNatKind V2)) (active# U33 X -> active# X, active# isNat plus(V1, V2) -> isNatKind# V1) (active# U33 X -> active# X, active# isNat plus(V1, V2) -> isNatKind# V2) (active# U33 X -> active# X, active# isNat x(V1, V2) -> U31#(and(isNatKind V1, isNatKind V2), V1, V2)) (active# U33 X -> active# X, active# isNat x(V1, V2) -> and#(isNatKind V1, isNatKind V2)) (active# U33 X -> active# X, active# isNat x(V1, V2) -> isNatKind# V1) (active# U33 X -> active# X, active# isNat x(V1, V2) -> isNatKind# V2) (active# U33 X -> active# X, active# U11(X1, X2, X3) -> active# X1) (active# U33 X -> active# X, active# U11(X1, X2, X3) -> U11#(active X1, X2, X3)) (active# U33 X -> active# X, active# U11(tt(), V1, V2) -> U12#(isNat V1, V2)) (active# U33 X -> active# X, active# U11(tt(), V1, V2) -> isNat# V1) (active# U33 X -> active# X, active# U13 X -> active# X) (active# U33 X -> active# X, active# U13 X -> U13# active X) (active# U33 X -> active# X, active# U22 X -> active# X) (active# U33 X -> active# X, active# U22 X -> U22# active X) (active# U33 X -> active# X, active# U21(X1, X2) -> active# X1) (active# U33 X -> active# X, active# U21(X1, X2) -> U21#(active X1, X2)) (active# U33 X -> active# X, active# U21(tt(), V1) -> isNat# V1) (active# U33 X -> active# X, active# U21(tt(), V1) -> U22# isNat V1) (active# U33 X -> active# X, active# U32(X1, X2) -> active# X1) (active# U33 X -> active# X, active# U32(X1, X2) -> U32#(active X1, X2)) (active# U33 X -> active# X, active# U32(tt(), V2) -> isNat# V2) (active# U33 X -> active# X, active# U32(tt(), V2) -> U33# isNat V2) (active# U33 X -> active# X, active# U31(X1, X2, X3) -> active# X1) (active# U33 X -> active# X, active# U31(X1, X2, X3) -> U31#(active X1, X2, X3)) (active# U33 X -> active# X, active# U31(tt(), V1, V2) -> isNat# V1) (active# U33 X -> active# X, active# U31(tt(), V1, V2) -> U32#(isNat V1, V2)) (active# U33 X -> active# X, active# U33 X -> active# X) (active# U33 X -> active# X, active# U33 X -> U33# active X) (active# U33 X -> active# X, active# U41(X1, X2) -> active# X1) (active# U33 X -> active# X, active# U41(X1, X2) -> U41#(active X1, X2)) (active# U33 X -> active# X, active# s X -> active# X) (active# U33 X -> active# X, active# s X -> s# active X) (active# U33 X -> active# X, active# plus(N, s M) -> isNat# N) (active# U33 X -> active# X, active# plus(N, s M) -> isNat# M) (active# U33 X -> active# X, active# plus(N, s M) -> U51#(and(and(isNat M, isNatKind M), and(isNat N, isNatKind N)), M, N)) (active# U33 X -> active# X, active# plus(N, s M) -> and#(isNat N, isNatKind N)) (active# U33 X -> active# X, active# plus(N, s M) -> and#(isNat M, isNatKind M)) (active# U33 X -> active# X, active# plus(N, s M) -> and#(and(isNat M, isNatKind M), and(isNat N, isNatKind N))) (active# U33 X -> active# X, active# plus(N, s M) -> isNatKind# N) (active# U33 X -> active# X, active# plus(N, s M) -> isNatKind# M) (active# U33 X -> active# X, active# plus(N, 0()) -> isNat# N) (active# U33 X -> active# X, active# plus(N, 0()) -> U41#(and(isNat N, isNatKind N), N)) (active# U33 X -> active# X, active# plus(N, 0()) -> and#(isNat N, isNatKind N)) (active# U33 X -> active# X, active# plus(N, 0()) -> isNatKind# N) (active# U33 X -> active# X, active# plus(X1, X2) -> active# X1) (active# U33 X -> active# X, active# plus(X1, X2) -> active# X2) (active# U33 X -> active# X, active# plus(X1, X2) -> plus#(X1, active X2)) (active# U33 X -> active# X, active# plus(X1, X2) -> plus#(active X1, X2)) (active# U33 X -> active# X, active# U51(X1, X2, X3) -> active# X1) (active# U33 X -> active# X, active# U51(X1, X2, X3) -> U51#(active X1, X2, X3)) (active# U33 X -> active# X, active# U51(tt(), M, N) -> s# plus(N, M)) (active# U33 X -> active# X, active# U51(tt(), M, N) -> plus#(N, M)) (active# U33 X -> active# X, active# U61 X -> active# X) (active# U33 X -> active# X, active# U61 X -> U61# active X) (active# U33 X -> active# X, active# x(N, s M) -> isNat# N) (active# U33 X -> active# X, active# x(N, s M) -> isNat# M) (active# U33 X -> active# X, active# x(N, s M) -> U71#(and(and(isNat M, isNatKind M), and(isNat N, isNatKind N)), M, N)) (active# U33 X -> active# X, active# x(N, s M) -> and#(isNat N, isNatKind N)) (active# U33 X -> active# X, active# x(N, s M) -> and#(isNat M, isNatKind M)) (active# U33 X -> active# X, active# x(N, s M) -> and#(and(isNat M, isNatKind M), and(isNat N, isNatKind N))) (active# U33 X -> active# X, active# x(N, s M) -> isNatKind# N) (active# U33 X -> active# X, active# x(N, s M) -> isNatKind# M) (active# U33 X -> active# X, active# x(N, 0()) -> isNat# N) (active# U33 X -> active# X, active# x(N, 0()) -> U61# and(isNat N, isNatKind N)) (active# U33 X -> active# X, active# x(N, 0()) -> and#(isNat N, isNatKind N)) (active# U33 X -> active# X, active# x(N, 0()) -> isNatKind# N) (active# U33 X -> active# X, active# x(X1, X2) -> active# X1) (active# U33 X -> active# X, active# x(X1, X2) -> active# X2) (active# U33 X -> active# X, active# x(X1, X2) -> x#(X1, active X2)) (active# U33 X -> active# X, active# x(X1, X2) -> x#(active X1, X2)) (active# U33 X -> active# X, active# U71(X1, X2, X3) -> active# X1) (active# U33 X -> active# X, active# U71(X1, X2, X3) -> U71#(active X1, X2, X3)) (active# U33 X -> active# X, active# U71(tt(), M, N) -> plus#(x(N, M), N)) (active# U33 X -> active# X, active# U71(tt(), M, N) -> x#(N, M)) (active# U33 X -> active# X, active# and(X1, X2) -> active# X1) (active# U33 X -> active# X, active# and(X1, X2) -> and#(active X1, X2)) (active# U33 X -> active# X, active# isNatKind s V1 -> isNatKind# V1) (active# U33 X -> active# X, active# isNatKind plus(V1, V2) -> and#(isNatKind V1, isNatKind V2)) (active# U33 X -> active# X, active# isNatKind plus(V1, V2) -> isNatKind# V1) (active# U33 X -> active# X, active# isNatKind plus(V1, V2) -> isNatKind# V2) (active# U33 X -> active# X, active# isNatKind x(V1, V2) -> and#(isNatKind V1, isNatKind V2)) (active# U33 X -> active# X, active# isNatKind x(V1, V2) -> isNatKind# V1) (active# U33 X -> active# X, active# isNatKind x(V1, V2) -> isNatKind# V2) (active# U13 X -> active# X, active# U12(X1, X2) -> U12#(active X1, X2)) (active# U13 X -> active# X, active# U12(X1, X2) -> active# X1) (active# U13 X -> active# X, active# U12(tt(), V2) -> isNat# V2) (active# U13 X -> active# X, active# U12(tt(), V2) -> U13# isNat V2) (active# U13 X -> active# X, active# isNat s V1 -> U21#(isNatKind V1, V1)) (active# U13 X -> active# X, active# isNat s V1 -> isNatKind# V1) (active# U13 X -> active# X, active# isNat plus(V1, V2) -> U11#(and(isNatKind V1, isNatKind V2), V1, V2)) (active# U13 X -> active# X, active# isNat plus(V1, V2) -> and#(isNatKind V1, isNatKind V2)) (active# U13 X -> active# X, active# isNat plus(V1, V2) -> isNatKind# V1) (active# U13 X -> active# X, active# isNat plus(V1, V2) -> isNatKind# V2) (active# U13 X -> active# X, active# isNat x(V1, V2) -> U31#(and(isNatKind V1, isNatKind V2), V1, V2)) (active# U13 X -> active# X, active# isNat x(V1, V2) -> and#(isNatKind V1, isNatKind V2)) (active# U13 X -> active# X, active# isNat x(V1, V2) -> isNatKind# V1) (active# U13 X -> active# X, active# isNat x(V1, V2) -> isNatKind# V2) (active# U13 X -> active# X, active# U11(X1, X2, X3) -> active# X1) (active# U13 X -> active# X, active# U11(X1, X2, X3) -> U11#(active X1, X2, X3)) (active# U13 X -> active# X, active# U11(tt(), V1, V2) -> U12#(isNat V1, V2)) (active# U13 X -> active# X, active# U11(tt(), V1, V2) -> isNat# V1) (active# U13 X -> active# X, active# U13 X -> active# X) (active# U13 X -> active# X, active# U13 X -> U13# active X) (active# U13 X -> active# X, active# U22 X -> active# X) (active# U13 X -> active# X, active# U22 X -> U22# active X) (active# U13 X -> active# X, active# U21(X1, X2) -> active# X1) (active# U13 X -> active# X, active# U21(X1, X2) -> U21#(active X1, X2)) (active# U13 X -> active# X, active# U21(tt(), V1) -> isNat# V1) (active# U13 X -> active# X, active# U21(tt(), V1) -> U22# isNat V1) (active# U13 X -> active# X, active# U32(X1, X2) -> active# X1) (active# U13 X -> active# X, active# U32(X1, X2) -> U32#(active X1, X2)) (active# U13 X -> active# X, active# U32(tt(), V2) -> isNat# V2) (active# U13 X -> active# X, active# U32(tt(), V2) -> U33# isNat V2) (active# U13 X -> active# X, active# U31(X1, X2, X3) -> active# X1) (active# U13 X -> active# X, active# U31(X1, X2, X3) -> U31#(active X1, X2, X3)) (active# U13 X -> active# X, active# U31(tt(), V1, V2) -> isNat# V1) (active# U13 X -> active# X, active# U31(tt(), V1, V2) -> U32#(isNat V1, V2)) (active# U13 X -> active# X, active# U33 X -> active# X) (active# U13 X -> active# X, active# U33 X -> U33# active X) (active# U13 X -> active# X, active# U41(X1, X2) -> active# X1) (active# U13 X -> active# X, active# U41(X1, X2) -> U41#(active X1, X2)) (active# U13 X -> active# X, active# s X -> active# X) (active# U13 X -> active# X, active# s X -> s# active X) (active# U13 X -> active# X, active# plus(N, s M) -> isNat# N) (active# U13 X -> active# X, active# plus(N, s M) -> isNat# M) (active# U13 X -> active# X, active# plus(N, s M) -> U51#(and(and(isNat M, isNatKind M), and(isNat N, isNatKind N)), M, N)) (active# U13 X -> active# X, active# plus(N, s M) -> and#(isNat N, isNatKind N)) (active# U13 X -> active# X, active# plus(N, s M) -> and#(isNat M, isNatKind M)) (active# U13 X -> active# X, active# plus(N, s M) -> and#(and(isNat M, isNatKind M), and(isNat N, isNatKind N))) (active# U13 X -> active# X, active# plus(N, s M) -> isNatKind# N) (active# U13 X -> active# X, active# plus(N, s M) -> isNatKind# M) (active# U13 X -> active# X, active# plus(N, 0()) -> isNat# N) (active# U13 X -> active# X, active# plus(N, 0()) -> U41#(and(isNat N, isNatKind N), N)) (active# U13 X -> active# X, active# plus(N, 0()) -> and#(isNat N, isNatKind N)) (active# U13 X -> active# X, active# plus(N, 0()) -> isNatKind# N) (active# U13 X -> active# X, active# plus(X1, X2) -> active# X1) (active# U13 X -> active# X, active# plus(X1, X2) -> active# X2) (active# U13 X -> active# X, active# plus(X1, X2) -> plus#(X1, active X2)) (active# U13 X -> active# X, active# plus(X1, X2) -> plus#(active X1, X2)) (active# U13 X -> active# X, active# U51(X1, X2, X3) -> active# X1) (active# U13 X -> active# X, active# U51(X1, X2, X3) -> U51#(active X1, X2, X3)) (active# U13 X -> active# X, active# U51(tt(), M, N) -> s# plus(N, M)) (active# U13 X -> active# X, active# U51(tt(), M, N) -> plus#(N, M)) (active# U13 X -> active# X, active# U61 X -> active# X) (active# U13 X -> active# X, active# U61 X -> U61# active X) (active# U13 X -> active# X, active# x(N, s M) -> isNat# N) (active# U13 X -> active# X, active# x(N, s M) -> isNat# M) (active# U13 X -> active# X, active# x(N, s M) -> U71#(and(and(isNat M, isNatKind M), and(isNat N, isNatKind N)), M, N)) (active# U13 X -> active# X, active# x(N, s M) -> and#(isNat N, isNatKind N)) (active# U13 X -> active# X, active# x(N, s M) -> and#(isNat M, isNatKind M)) (active# U13 X -> active# X, active# x(N, s M) -> and#(and(isNat M, isNatKind M), and(isNat N, isNatKind N))) (active# U13 X -> active# X, active# x(N, s M) -> isNatKind# N) (active# U13 X -> active# X, active# x(N, s M) -> isNatKind# M) (active# U13 X -> active# X, active# x(N, 0()) -> isNat# N) (active# U13 X -> active# X, active# x(N, 0()) -> U61# and(isNat N, isNatKind N)) (active# U13 X -> active# X, active# x(N, 0()) -> and#(isNat N, isNatKind N)) (active# U13 X -> active# X, active# x(N, 0()) -> isNatKind# N) (active# U13 X -> active# X, active# x(X1, X2) -> active# X1) (active# U13 X -> active# X, active# x(X1, X2) -> active# X2) (active# U13 X -> active# X, active# x(X1, X2) -> x#(X1, active X2)) (active# U13 X -> active# X, active# x(X1, X2) -> x#(active X1, X2)) (active# U13 X -> active# X, active# U71(X1, X2, X3) -> active# X1) (active# U13 X -> active# X, active# U71(X1, X2, X3) -> U71#(active X1, X2, X3)) (active# U13 X -> active# X, active# U71(tt(), M, N) -> plus#(x(N, M), N)) (active# U13 X -> active# X, active# U71(tt(), M, N) -> x#(N, M)) (active# U13 X -> active# X, active# and(X1, X2) -> active# X1) (active# U13 X -> active# X, active# and(X1, X2) -> and#(active X1, X2)) (active# U13 X -> active# X, active# isNatKind s V1 -> isNatKind# V1) (active# U13 X -> active# X, active# isNatKind plus(V1, V2) -> and#(isNatKind V1, isNatKind V2)) (active# U13 X -> active# X, active# isNatKind plus(V1, V2) -> isNatKind# V1) (active# U13 X -> active# X, active# isNatKind plus(V1, V2) -> isNatKind# V2) (active# U13 X -> active# X, active# isNatKind x(V1, V2) -> and#(isNatKind V1, isNatKind V2)) (active# U13 X -> active# X, active# isNatKind x(V1, V2) -> isNatKind# V1) (active# U13 X -> active# X, active# isNatKind x(V1, V2) -> isNatKind# V2) (proper# U71(X1, X2, X3) -> proper# X3, proper# U12(X1, X2) -> U12#(proper X1, proper X2)) (proper# U71(X1, X2, X3) -> proper# X3, proper# U12(X1, X2) -> proper# X1) (proper# U71(X1, X2, X3) -> proper# X3, proper# U12(X1, X2) -> proper# X2) (proper# U71(X1, X2, X3) -> proper# X3, proper# isNat X -> isNat# proper X) (proper# U71(X1, X2, X3) -> proper# X3, proper# isNat X -> proper# X) (proper# U71(X1, X2, X3) -> proper# X3, proper# U11(X1, X2, X3) -> U11#(proper X1, proper X2, proper X3)) (proper# U71(X1, X2, X3) -> proper# X3, proper# U11(X1, X2, X3) -> proper# X1) (proper# U71(X1, X2, X3) -> proper# X3, proper# U11(X1, X2, X3) -> proper# X2) (proper# U71(X1, X2, X3) -> proper# X3, proper# U11(X1, X2, X3) -> proper# X3) (proper# U71(X1, X2, X3) -> proper# X3, proper# U13 X -> U13# proper X) (proper# U71(X1, X2, X3) -> proper# X3, proper# U13 X -> proper# X) (proper# U71(X1, X2, X3) -> proper# X3, proper# U22 X -> U22# proper X) (proper# U71(X1, X2, X3) -> proper# X3, proper# U22 X -> proper# X) (proper# U71(X1, X2, X3) -> proper# X3, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# U71(X1, X2, X3) -> proper# X3, proper# U21(X1, X2) -> proper# X1) (proper# U71(X1, X2, X3) -> proper# X3, proper# U21(X1, X2) -> proper# X2) (proper# U71(X1, X2, X3) -> proper# X3, proper# U32(X1, X2) -> U32#(proper X1, proper X2)) (proper# U71(X1, X2, X3) -> proper# X3, proper# U32(X1, X2) -> proper# X1) (proper# U71(X1, X2, X3) -> proper# X3, proper# U32(X1, X2) -> proper# X2) (proper# U71(X1, X2, X3) -> proper# X3, proper# U31(X1, X2, X3) -> U31#(proper X1, proper X2, proper X3)) (proper# U71(X1, X2, X3) -> proper# X3, proper# U31(X1, X2, X3) -> proper# X1) (proper# U71(X1, X2, X3) -> proper# X3, proper# U31(X1, X2, X3) -> proper# X2) (proper# U71(X1, X2, X3) -> proper# X3, proper# U31(X1, X2, X3) -> proper# X3) (proper# U71(X1, X2, X3) -> proper# X3, proper# U33 X -> U33# proper X) (proper# U71(X1, X2, X3) -> proper# X3, proper# U33 X -> proper# X) (proper# U71(X1, X2, X3) -> proper# X3, proper# U41(X1, X2) -> U41#(proper X1, proper X2)) (proper# U71(X1, X2, X3) -> proper# X3, proper# U41(X1, X2) -> proper# X1) (proper# U71(X1, X2, X3) -> proper# X3, proper# U41(X1, X2) -> proper# X2) (proper# U71(X1, X2, X3) -> proper# X3, proper# s X -> s# proper X) (proper# U71(X1, X2, X3) -> proper# X3, proper# s X -> proper# X) (proper# U71(X1, X2, X3) -> proper# X3, proper# plus(X1, X2) -> plus#(proper X1, proper X2)) (proper# U71(X1, X2, X3) -> proper# X3, proper# plus(X1, X2) -> proper# X1) (proper# U71(X1, X2, X3) -> proper# X3, proper# plus(X1, X2) -> proper# X2) (proper# U71(X1, X2, X3) -> proper# X3, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# U71(X1, X2, X3) -> proper# X3, proper# U51(X1, X2, X3) -> proper# X1) (proper# U71(X1, X2, X3) -> proper# X3, proper# U51(X1, X2, X3) -> proper# X2) (proper# U71(X1, X2, X3) -> proper# X3, proper# U51(X1, X2, X3) -> proper# X3) (proper# U71(X1, X2, X3) -> proper# X3, proper# U61 X -> U61# proper X) (proper# U71(X1, X2, X3) -> proper# X3, proper# U61 X -> proper# X) (proper# U71(X1, X2, X3) -> proper# X3, proper# x(X1, X2) -> x#(proper X1, proper X2)) (proper# U71(X1, X2, X3) -> proper# X3, proper# x(X1, X2) -> proper# X1) (proper# U71(X1, X2, X3) -> proper# X3, proper# x(X1, X2) -> proper# X2) (proper# U71(X1, X2, X3) -> proper# X3, proper# U71(X1, X2, X3) -> U71#(proper X1, proper X2, proper X3)) (proper# U71(X1, X2, X3) -> proper# X3, proper# U71(X1, X2, X3) -> proper# X1) (proper# U71(X1, X2, X3) -> proper# X3, proper# U71(X1, X2, X3) -> proper# X2) (proper# U71(X1, X2, X3) -> proper# X3, proper# U71(X1, X2, X3) -> proper# X3) (proper# U71(X1, X2, X3) -> proper# X3, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# U71(X1, X2, X3) -> proper# X3, proper# and(X1, X2) -> proper# X1) (proper# U71(X1, X2, X3) -> proper# X3, proper# and(X1, X2) -> proper# X2) (proper# U71(X1, X2, X3) -> proper# X3, proper# isNatKind X -> isNatKind# proper X) (proper# U71(X1, X2, X3) -> proper# X3, proper# isNatKind X -> proper# X) (proper# U31(X1, X2, X3) -> proper# X3, proper# U12(X1, X2) -> U12#(proper X1, proper X2)) (proper# U31(X1, X2, X3) -> proper# X3, proper# U12(X1, X2) -> proper# X1) (proper# U31(X1, X2, X3) -> proper# X3, proper# U12(X1, X2) -> proper# X2) (proper# U31(X1, X2, X3) -> proper# X3, proper# isNat X -> isNat# proper X) (proper# U31(X1, X2, X3) -> proper# X3, proper# isNat X -> proper# X) (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 X -> U13# proper X) (proper# U31(X1, X2, X3) -> proper# X3, proper# U13 X -> proper# X) (proper# U31(X1, X2, X3) -> proper# X3, proper# U22 X -> U22# proper X) (proper# U31(X1, X2, X3) -> proper# X3, proper# U22 X -> proper# X) (proper# U31(X1, X2, X3) -> proper# X3, proper# U21(X1, X2) -> 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# U32(X1, X2) -> U32#(proper X1, proper X2)) (proper# U31(X1, X2, X3) -> proper# X3, proper# U32(X1, X2) -> proper# X1) (proper# U31(X1, X2, X3) -> proper# X3, proper# U32(X1, X2) -> proper# X2) (proper# U31(X1, X2, X3) -> proper# X3, proper# U31(X1, X2, X3) -> 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 X -> U33# proper X) (proper# U31(X1, X2, X3) -> proper# X3, proper# U33 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# 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# 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# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# U31(X1, X2, X3) -> proper# X3, proper# U51(X1, X2, X3) -> proper# X1) (proper# U31(X1, X2, X3) -> proper# X3, proper# U51(X1, X2, X3) -> proper# X2) (proper# U31(X1, X2, X3) -> proper# X3, proper# U51(X1, X2, X3) -> proper# X3) (proper# U31(X1, X2, X3) -> proper# X3, proper# U61 X -> U61# proper X) (proper# U31(X1, X2, X3) -> proper# X3, proper# U61 X -> proper# X) (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# U71(X1, X2, X3) -> U71#(proper X1, proper X2, proper X3)) (proper# U31(X1, X2, X3) -> proper# X3, proper# U71(X1, X2, X3) -> proper# X1) (proper# U31(X1, X2, X3) -> proper# X3, proper# U71(X1, X2, X3) -> proper# X2) (proper# U31(X1, X2, X3) -> proper# X3, proper# U71(X1, X2, X3) -> proper# X3) (proper# U31(X1, X2, X3) -> proper# X3, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# U31(X1, X2, X3) -> proper# X3, proper# and(X1, X2) -> proper# X1) (proper# U31(X1, X2, X3) -> proper# X3, proper# and(X1, X2) -> proper# X2) (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# and(X1, X2) -> and#(proper X1, proper X2), and#(mark X1, X2) -> and#(X1, X2)) (proper# and(X1, X2) -> and#(proper X1, proper X2), and#(ok X1, ok X2) -> and#(X1, X2)) (proper# plus(X1, X2) -> plus#(proper X1, proper X2), plus#(X1, mark X2) -> plus#(X1, X2)) (proper# plus(X1, X2) -> plus#(proper X1, proper X2), plus#(mark X1, X2) -> plus#(X1, X2)) (proper# plus(X1, X2) -> plus#(proper X1, proper X2), plus#(ok X1, ok X2) -> plus#(X1, X2)) (proper# U32(X1, X2) -> U32#(proper X1, proper X2), U32#(mark X1, X2) -> U32#(X1, X2)) (proper# U32(X1, X2) -> U32#(proper X1, proper X2), U32#(ok X1, ok X2) -> U32#(X1, X2)) (proper# U12(X1, X2) -> U12#(proper X1, proper X2), U12#(mark X1, X2) -> U12#(X1, X2)) (proper# U12(X1, X2) -> U12#(proper X1, proper X2), U12#(ok X1, ok X2) -> U12#(X1, X2)) (active# isNatKind plus(V1, V2) -> and#(isNatKind V1, isNatKind V2), and#(ok X1, ok X2) -> and#(X1, X2)) (active# x(N, 0()) -> and#(isNat N, isNatKind N), and#(ok X1, ok X2) -> and#(X1, X2)) (active# x(N, s M) -> and#(isNat N, isNatKind N), and#(ok X1, ok X2) -> and#(X1, X2)) (active# plus(N, 0()) -> and#(isNat N, isNatKind N), and#(ok X1, ok X2) -> and#(X1, X2)) (active# plus(N, s M) -> and#(isNat N, isNatKind N), and#(ok X1, ok X2) -> and#(X1, X2)) (active# isNat plus(V1, V2) -> and#(isNatKind V1, isNatKind V2), and#(ok X1, ok X2) -> and#(X1, X2)) (active# x(N, 0()) -> isNat# N, isNat# ok X -> isNat# X) (active# x(N, s M) -> isNat# N, isNat# ok X -> isNat# X) (active# plus(N, 0()) -> isNat# N, isNat# ok X -> isNat# X) (active# plus(N, s M) -> isNat# N, isNat# ok X -> isNat# X) (proper# U71(X1, X2, X3) -> proper# X1, proper# U12(X1, X2) -> U12#(proper X1, proper X2)) (proper# U71(X1, X2, X3) -> proper# X1, proper# U12(X1, X2) -> proper# X1) (proper# U71(X1, X2, X3) -> proper# X1, proper# U12(X1, X2) -> proper# X2) (proper# U71(X1, X2, X3) -> proper# X1, proper# isNat X -> isNat# proper X) (proper# U71(X1, X2, X3) -> proper# X1, proper# isNat X -> proper# X) (proper# U71(X1, X2, X3) -> proper# X1, proper# U11(X1, X2, X3) -> U11#(proper X1, proper X2, proper X3)) (proper# U71(X1, X2, X3) -> proper# X1, proper# U11(X1, X2, X3) -> proper# X1) (proper# U71(X1, X2, X3) -> proper# X1, proper# U11(X1, X2, X3) -> proper# X2) (proper# U71(X1, X2, X3) -> proper# X1, proper# U11(X1, X2, X3) -> proper# X3) (proper# U71(X1, X2, X3) -> proper# X1, proper# U13 X -> U13# proper X) (proper# U71(X1, X2, X3) -> proper# X1, proper# U13 X -> proper# X) (proper# U71(X1, X2, X3) -> proper# X1, proper# U22 X -> U22# proper X) (proper# U71(X1, X2, X3) -> proper# X1, proper# U22 X -> proper# X) (proper# U71(X1, X2, X3) -> proper# X1, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# U71(X1, X2, X3) -> proper# X1, proper# U21(X1, X2) -> proper# X1) (proper# U71(X1, X2, X3) -> proper# X1, proper# U21(X1, X2) -> proper# X2) (proper# U71(X1, X2, X3) -> proper# X1, proper# U32(X1, X2) -> U32#(proper X1, proper X2)) (proper# U71(X1, X2, X3) -> proper# X1, proper# U32(X1, X2) -> proper# X1) (proper# U71(X1, X2, X3) -> proper# X1, proper# U32(X1, X2) -> proper# X2) (proper# U71(X1, X2, X3) -> proper# X1, proper# U31(X1, X2, X3) -> U31#(proper X1, proper X2, proper X3)) (proper# U71(X1, X2, X3) -> proper# X1, proper# U31(X1, X2, X3) -> proper# X1) (proper# U71(X1, X2, X3) -> proper# X1, proper# U31(X1, X2, X3) -> proper# X2) (proper# U71(X1, X2, X3) -> proper# X1, proper# U31(X1, X2, X3) -> proper# X3) (proper# U71(X1, X2, X3) -> proper# X1, proper# U33 X -> U33# proper X) (proper# U71(X1, X2, X3) -> proper# X1, proper# U33 X -> proper# X) (proper# U71(X1, X2, X3) -> proper# X1, proper# U41(X1, X2) -> U41#(proper X1, proper X2)) (proper# U71(X1, X2, X3) -> proper# X1, proper# U41(X1, X2) -> proper# X1) (proper# U71(X1, X2, X3) -> proper# X1, proper# U41(X1, X2) -> proper# X2) (proper# U71(X1, X2, X3) -> proper# X1, proper# s X -> s# proper X) (proper# U71(X1, X2, X3) -> proper# X1, proper# s X -> proper# X) (proper# U71(X1, X2, X3) -> proper# X1, proper# plus(X1, X2) -> plus#(proper X1, proper X2)) (proper# U71(X1, X2, X3) -> proper# X1, proper# plus(X1, X2) -> proper# X1) (proper# U71(X1, X2, X3) -> proper# X1, proper# plus(X1, X2) -> proper# X2) (proper# U71(X1, X2, X3) -> proper# X1, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# U71(X1, X2, X3) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X1) (proper# U71(X1, X2, X3) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X2) (proper# U71(X1, X2, X3) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X3) (proper# U71(X1, X2, X3) -> proper# X1, proper# U61 X -> U61# proper X) (proper# U71(X1, X2, X3) -> proper# X1, proper# U61 X -> proper# X) (proper# U71(X1, X2, X3) -> proper# X1, proper# x(X1, X2) -> x#(proper X1, proper X2)) (proper# U71(X1, X2, X3) -> proper# X1, proper# x(X1, X2) -> proper# X1) (proper# U71(X1, X2, X3) -> proper# X1, proper# x(X1, X2) -> proper# X2) (proper# U71(X1, X2, X3) -> proper# X1, proper# U71(X1, X2, X3) -> U71#(proper X1, proper X2, proper X3)) (proper# U71(X1, X2, X3) -> proper# X1, proper# U71(X1, X2, X3) -> proper# X1) (proper# U71(X1, X2, X3) -> proper# X1, proper# U71(X1, X2, X3) -> proper# X2) (proper# U71(X1, X2, X3) -> proper# X1, proper# U71(X1, X2, X3) -> proper# X3) (proper# U71(X1, X2, X3) -> proper# X1, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# U71(X1, X2, X3) -> proper# X1, proper# and(X1, X2) -> proper# X1) (proper# U71(X1, X2, X3) -> proper# X1, proper# and(X1, X2) -> proper# X2) (proper# U71(X1, X2, X3) -> proper# X1, proper# isNatKind X -> isNatKind# proper X) (proper# U71(X1, X2, X3) -> proper# X1, proper# isNatKind X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X1, proper# U12(X1, X2) -> U12#(proper X1, proper X2)) (proper# U51(X1, X2, X3) -> proper# X1, proper# U12(X1, X2) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X1, proper# U12(X1, X2) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X1, proper# isNat X -> isNat# proper X) (proper# U51(X1, X2, X3) -> proper# X1, proper# isNat X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X1, proper# U11(X1, X2, X3) -> U11#(proper X1, proper X2, proper X3)) (proper# U51(X1, X2, X3) -> proper# X1, proper# U11(X1, X2, X3) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X1, proper# U11(X1, X2, X3) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X1, proper# U11(X1, X2, X3) -> proper# X3) (proper# U51(X1, X2, X3) -> proper# X1, proper# U13 X -> U13# proper X) (proper# U51(X1, X2, X3) -> proper# X1, proper# U13 X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X1, proper# U22 X -> U22# proper X) (proper# U51(X1, X2, X3) -> proper# X1, proper# U22 X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X1, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# U51(X1, X2, X3) -> proper# X1, proper# U21(X1, X2) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X1, proper# U21(X1, X2) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X1, proper# U32(X1, X2) -> U32#(proper X1, proper X2)) (proper# U51(X1, X2, X3) -> proper# X1, proper# U32(X1, X2) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X1, proper# U32(X1, X2) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X1, proper# U31(X1, X2, X3) -> U31#(proper X1, proper X2, proper X3)) (proper# U51(X1, X2, X3) -> proper# X1, proper# U31(X1, X2, X3) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X1, proper# U31(X1, X2, X3) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X1, proper# U31(X1, X2, X3) -> proper# X3) (proper# U51(X1, X2, X3) -> proper# X1, proper# U33 X -> U33# proper X) (proper# U51(X1, X2, X3) -> proper# X1, proper# U33 X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X1, proper# U41(X1, X2) -> U41#(proper X1, proper X2)) (proper# U51(X1, X2, X3) -> proper# X1, proper# U41(X1, X2) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X1, proper# U41(X1, X2) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X1, proper# s X -> s# proper X) (proper# U51(X1, X2, X3) -> proper# X1, proper# s X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X1, proper# plus(X1, X2) -> plus#(proper X1, proper X2)) (proper# U51(X1, X2, X3) -> proper# X1, proper# plus(X1, X2) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X1, proper# plus(X1, X2) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X1, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# U51(X1, X2, X3) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X3) (proper# U51(X1, X2, X3) -> proper# X1, proper# U61 X -> U61# proper X) (proper# U51(X1, X2, X3) -> proper# X1, proper# U61 X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X1, proper# x(X1, X2) -> x#(proper X1, proper X2)) (proper# U51(X1, X2, X3) -> proper# X1, proper# x(X1, X2) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X1, proper# x(X1, X2) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X1, proper# U71(X1, X2, X3) -> U71#(proper X1, proper X2, proper X3)) (proper# U51(X1, X2, X3) -> proper# X1, proper# U71(X1, X2, X3) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X1, proper# U71(X1, X2, X3) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X1, proper# U71(X1, X2, X3) -> proper# X3) (proper# U51(X1, X2, X3) -> proper# X1, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# U51(X1, X2, X3) -> proper# X1, proper# and(X1, X2) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X1, proper# and(X1, X2) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X1, proper# isNatKind X -> isNatKind# proper X) (proper# U51(X1, X2, X3) -> proper# X1, proper# isNatKind X -> proper# X) (proper# U41(X1, X2) -> proper# X1, proper# U12(X1, X2) -> U12#(proper X1, proper X2)) (proper# U41(X1, X2) -> proper# X1, proper# U12(X1, X2) -> proper# X1) (proper# U41(X1, X2) -> proper# X1, proper# U12(X1, X2) -> proper# X2) (proper# U41(X1, X2) -> proper# X1, proper# isNat X -> isNat# proper X) (proper# U41(X1, X2) -> proper# X1, proper# isNat X -> proper# X) (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 X -> U13# proper X) (proper# U41(X1, X2) -> proper# X1, proper# U13 X -> proper# X) (proper# U41(X1, X2) -> proper# X1, proper# U22 X -> U22# proper X) (proper# U41(X1, X2) -> proper# X1, proper# U22 X -> proper# X) (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# U32(X1, X2) -> U32#(proper X1, proper X2)) (proper# U41(X1, X2) -> proper# X1, proper# U32(X1, X2) -> proper# X1) (proper# U41(X1, X2) -> proper# X1, proper# U32(X1, X2) -> proper# X2) (proper# U41(X1, X2) -> proper# X1, proper# U31(X1, X2, X3) -> 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 X -> U33# proper X) (proper# U41(X1, X2) -> proper# X1, proper# U33 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# s X -> s# proper X) (proper# U41(X1, X2) -> proper# X1, proper# s X -> proper# X) (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# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# U41(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X1) (proper# U41(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X2) (proper# U41(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X3) (proper# U41(X1, X2) -> proper# X1, proper# U61 X -> U61# proper X) (proper# U41(X1, X2) -> proper# X1, proper# U61 X -> proper# X) (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# U71(X1, X2, X3) -> U71#(proper X1, proper X2, proper X3)) (proper# U41(X1, X2) -> proper# X1, proper# U71(X1, X2, X3) -> proper# X1) (proper# U41(X1, X2) -> proper# X1, proper# U71(X1, X2, X3) -> proper# X2) (proper# U41(X1, X2) -> proper# X1, proper# U71(X1, X2, X3) -> proper# X3) (proper# U41(X1, X2) -> proper# X1, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# U41(X1, X2) -> proper# X1, proper# and(X1, X2) -> proper# X1) (proper# U41(X1, X2) -> proper# X1, proper# and(X1, X2) -> proper# X2) (proper# U41(X1, X2) -> proper# X1, proper# isNatKind X -> isNatKind# proper X) (proper# U41(X1, X2) -> proper# X1, proper# isNatKind X -> proper# X) (proper# U32(X1, X2) -> proper# X1, proper# U12(X1, X2) -> U12#(proper X1, proper X2)) (proper# U32(X1, X2) -> proper# X1, proper# U12(X1, X2) -> proper# X1) (proper# U32(X1, X2) -> proper# X1, proper# U12(X1, X2) -> proper# X2) (proper# U32(X1, X2) -> proper# X1, proper# isNat X -> isNat# proper X) (proper# U32(X1, X2) -> proper# X1, proper# isNat X -> proper# X) (proper# U32(X1, X2) -> proper# X1, proper# U11(X1, X2, X3) -> U11#(proper X1, proper X2, proper X3)) (proper# U32(X1, X2) -> proper# X1, proper# U11(X1, X2, X3) -> proper# X1) (proper# U32(X1, X2) -> proper# X1, proper# U11(X1, X2, X3) -> proper# X2) (proper# U32(X1, X2) -> proper# X1, proper# U11(X1, X2, X3) -> proper# X3) (proper# U32(X1, X2) -> proper# X1, proper# U13 X -> U13# proper X) (proper# U32(X1, X2) -> proper# X1, proper# U13 X -> proper# X) (proper# U32(X1, X2) -> proper# X1, proper# U22 X -> U22# proper X) (proper# U32(X1, X2) -> proper# X1, proper# U22 X -> proper# X) (proper# U32(X1, X2) -> proper# X1, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# U32(X1, X2) -> proper# X1, proper# U21(X1, X2) -> proper# X1) (proper# U32(X1, X2) -> proper# X1, proper# U21(X1, X2) -> proper# X2) (proper# U32(X1, X2) -> proper# X1, proper# U32(X1, X2) -> U32#(proper X1, proper X2)) (proper# U32(X1, X2) -> proper# X1, proper# U32(X1, X2) -> proper# X1) (proper# U32(X1, X2) -> proper# X1, proper# U32(X1, X2) -> proper# X2) (proper# U32(X1, X2) -> proper# X1, proper# U31(X1, X2, X3) -> U31#(proper X1, proper X2, proper X3)) (proper# U32(X1, X2) -> proper# X1, proper# U31(X1, X2, X3) -> proper# X1) (proper# U32(X1, X2) -> proper# X1, proper# U31(X1, X2, X3) -> proper# X2) (proper# U32(X1, X2) -> proper# X1, proper# U31(X1, X2, X3) -> proper# X3) (proper# U32(X1, X2) -> proper# X1, proper# U33 X -> U33# proper X) (proper# U32(X1, X2) -> proper# X1, proper# U33 X -> proper# X) (proper# U32(X1, X2) -> proper# X1, proper# U41(X1, X2) -> U41#(proper X1, proper X2)) (proper# U32(X1, X2) -> proper# X1, proper# U41(X1, X2) -> proper# X1) (proper# U32(X1, X2) -> proper# X1, proper# U41(X1, X2) -> proper# X2) (proper# U32(X1, X2) -> proper# X1, proper# s X -> s# proper X) (proper# U32(X1, X2) -> proper# X1, proper# s X -> proper# X) (proper# U32(X1, X2) -> proper# X1, proper# plus(X1, X2) -> plus#(proper X1, proper X2)) (proper# U32(X1, X2) -> proper# X1, proper# plus(X1, X2) -> proper# X1) (proper# U32(X1, X2) -> proper# X1, proper# plus(X1, X2) -> proper# X2) (proper# U32(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# U32(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X1) (proper# U32(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X2) (proper# U32(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X3) (proper# U32(X1, X2) -> proper# X1, proper# U61 X -> U61# proper X) (proper# U32(X1, X2) -> proper# X1, proper# U61 X -> proper# X) (proper# U32(X1, X2) -> proper# X1, proper# x(X1, X2) -> x#(proper X1, proper X2)) (proper# U32(X1, X2) -> proper# X1, proper# x(X1, X2) -> proper# X1) (proper# U32(X1, X2) -> proper# X1, proper# x(X1, X2) -> proper# X2) (proper# U32(X1, X2) -> proper# X1, proper# U71(X1, X2, X3) -> U71#(proper X1, proper X2, proper X3)) (proper# U32(X1, X2) -> proper# X1, proper# U71(X1, X2, X3) -> proper# X1) (proper# U32(X1, X2) -> proper# X1, proper# U71(X1, X2, X3) -> proper# X2) (proper# U32(X1, X2) -> proper# X1, proper# U71(X1, X2, X3) -> proper# X3) (proper# U32(X1, X2) -> proper# X1, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# U32(X1, X2) -> proper# X1, proper# and(X1, X2) -> proper# X1) (proper# U32(X1, X2) -> proper# X1, proper# and(X1, X2) -> proper# X2) (proper# U32(X1, X2) -> proper# X1, proper# isNatKind X -> isNatKind# proper X) (proper# U32(X1, X2) -> proper# X1, proper# isNatKind X -> proper# X) (proper# U11(X1, X2, X3) -> proper# X1, proper# U12(X1, X2) -> U12#(proper X1, proper X2)) (proper# U11(X1, X2, X3) -> proper# X1, proper# U12(X1, X2) -> proper# X1) (proper# U11(X1, X2, X3) -> proper# X1, proper# U12(X1, X2) -> proper# X2) (proper# U11(X1, X2, X3) -> proper# X1, proper# isNat X -> isNat# proper X) (proper# U11(X1, X2, X3) -> proper# X1, proper# isNat X -> proper# X) (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# U11(X1, X2, X3) -> proper# X1) (proper# U11(X1, X2, X3) -> proper# X1, proper# U11(X1, X2, X3) -> proper# X2) (proper# U11(X1, X2, X3) -> proper# X1, proper# U11(X1, X2, X3) -> proper# X3) (proper# U11(X1, X2, X3) -> proper# X1, proper# U13 X -> U13# proper X) (proper# U11(X1, X2, X3) -> proper# X1, proper# U13 X -> proper# X) (proper# U11(X1, X2, X3) -> proper# X1, proper# U22 X -> U22# proper X) (proper# U11(X1, X2, X3) -> proper# X1, proper# U22 X -> proper# X) (proper# U11(X1, X2, X3) -> proper# X1, proper# U21(X1, X2) -> U21#(proper X1, 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) -> proper# X2) (proper# U11(X1, X2, X3) -> proper# X1, proper# U32(X1, X2) -> U32#(proper X1, proper X2)) (proper# U11(X1, X2, X3) -> proper# X1, proper# U32(X1, X2) -> proper# X1) (proper# U11(X1, X2, X3) -> proper# X1, proper# U32(X1, X2) -> proper# X2) (proper# U11(X1, X2, X3) -> proper# X1, proper# U31(X1, X2, X3) -> U31#(proper X1, proper X2, proper X3)) (proper# U11(X1, X2, X3) -> proper# X1, proper# U31(X1, X2, X3) -> proper# X1) (proper# U11(X1, X2, X3) -> proper# X1, proper# U31(X1, X2, X3) -> proper# X2) (proper# U11(X1, X2, X3) -> proper# X1, proper# U31(X1, X2, X3) -> proper# X3) (proper# U11(X1, X2, X3) -> proper# X1, proper# U33 X -> U33# proper X) (proper# U11(X1, X2, X3) -> proper# X1, proper# U33 X -> proper# X) (proper# U11(X1, X2, X3) -> proper# X1, proper# U41(X1, X2) -> U41#(proper X1, 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) -> proper# X2) (proper# U11(X1, X2, X3) -> proper# X1, proper# s X -> s# proper X) (proper# U11(X1, X2, X3) -> proper# X1, proper# s X -> proper# X) (proper# U11(X1, X2, X3) -> proper# X1, proper# plus(X1, X2) -> plus#(proper X1, 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) -> proper# X2) (proper# U11(X1, X2, X3) -> proper# X1, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# U11(X1, X2, X3) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X1) (proper# U11(X1, X2, X3) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X2) (proper# U11(X1, X2, X3) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X3) (proper# U11(X1, X2, X3) -> proper# X1, proper# U61 X -> U61# proper X) (proper# U11(X1, X2, X3) -> proper# X1, proper# U61 X -> proper# X) (proper# U11(X1, X2, X3) -> proper# X1, proper# x(X1, X2) -> x#(proper X1, 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) -> proper# X2) (proper# U11(X1, X2, X3) -> proper# X1, proper# U71(X1, X2, X3) -> U71#(proper X1, proper X2, proper X3)) (proper# U11(X1, X2, X3) -> proper# X1, proper# U71(X1, X2, X3) -> proper# X1) (proper# U11(X1, X2, X3) -> proper# X1, proper# U71(X1, X2, X3) -> proper# X2) (proper# U11(X1, X2, X3) -> proper# X1, proper# U71(X1, X2, X3) -> proper# X3) (proper# U11(X1, X2, X3) -> proper# X1, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# U11(X1, X2, X3) -> proper# X1, proper# and(X1, X2) -> proper# X1) (proper# U11(X1, X2, X3) -> proper# X1, proper# and(X1, X2) -> proper# X2) (proper# U11(X1, X2, X3) -> proper# X1, proper# isNatKind X -> isNatKind# proper X) (proper# U11(X1, X2, X3) -> proper# X1, proper# isNatKind X -> proper# X) (active# and(X1, X2) -> active# X1, active# U12(X1, X2) -> U12#(active X1, X2)) (active# and(X1, X2) -> active# X1, active# U12(X1, X2) -> active# X1) (active# and(X1, X2) -> active# X1, active# U12(tt(), V2) -> isNat# V2) (active# and(X1, X2) -> active# X1, active# U12(tt(), V2) -> U13# isNat V2) (active# and(X1, X2) -> active# X1, active# isNat s V1 -> U21#(isNatKind V1, V1)) (active# and(X1, X2) -> active# X1, active# isNat s V1 -> isNatKind# V1) (active# and(X1, X2) -> active# X1, active# isNat plus(V1, V2) -> U11#(and(isNatKind V1, isNatKind V2), V1, V2)) (active# and(X1, X2) -> active# X1, active# isNat plus(V1, V2) -> and#(isNatKind V1, isNatKind V2)) (active# and(X1, X2) -> active# X1, active# isNat plus(V1, V2) -> isNatKind# V1) (active# and(X1, X2) -> active# X1, active# isNat plus(V1, V2) -> isNatKind# V2) (active# and(X1, X2) -> active# X1, active# isNat x(V1, V2) -> U31#(and(isNatKind V1, isNatKind V2), V1, V2)) (active# and(X1, X2) -> active# X1, active# isNat x(V1, V2) -> and#(isNatKind V1, isNatKind V2)) (active# and(X1, X2) -> active# X1, active# isNat x(V1, V2) -> isNatKind# V1) (active# and(X1, X2) -> active# X1, active# isNat x(V1, V2) -> isNatKind# V2) (active# and(X1, X2) -> active# X1, active# U11(X1, X2, X3) -> active# X1) (active# and(X1, X2) -> active# X1, active# U11(X1, X2, X3) -> U11#(active X1, X2, X3)) (active# and(X1, X2) -> active# X1, active# U11(tt(), V1, V2) -> U12#(isNat V1, V2)) (active# and(X1, X2) -> active# X1, active# U11(tt(), V1, V2) -> isNat# V1) (active# and(X1, X2) -> active# X1, active# U13 X -> active# X) (active# and(X1, X2) -> active# X1, active# U13 X -> U13# active X) (active# and(X1, X2) -> active# X1, active# U22 X -> active# X) (active# and(X1, X2) -> active# X1, active# U22 X -> U22# active X) (active# and(X1, X2) -> active# X1, active# U21(X1, X2) -> active# X1) (active# and(X1, X2) -> active# X1, active# U21(X1, X2) -> U21#(active X1, X2)) (active# and(X1, X2) -> active# X1, active# U21(tt(), V1) -> isNat# V1) (active# and(X1, X2) -> active# X1, active# U21(tt(), V1) -> U22# isNat V1) (active# and(X1, X2) -> active# X1, active# U32(X1, X2) -> active# X1) (active# and(X1, X2) -> active# X1, active# U32(X1, X2) -> U32#(active X1, X2)) (active# and(X1, X2) -> active# X1, active# U32(tt(), V2) -> isNat# V2) (active# and(X1, X2) -> active# X1, active# U32(tt(), V2) -> U33# isNat V2) (active# and(X1, X2) -> active# X1, active# U31(X1, X2, X3) -> active# X1) (active# and(X1, X2) -> active# X1, active# U31(X1, X2, X3) -> U31#(active X1, X2, X3)) (active# and(X1, X2) -> active# X1, active# U31(tt(), V1, V2) -> isNat# V1) (active# and(X1, X2) -> active# X1, active# U31(tt(), V1, V2) -> U32#(isNat V1, V2)) (active# and(X1, X2) -> active# X1, active# U33 X -> active# X) (active# and(X1, X2) -> active# X1, active# U33 X -> U33# active X) (active# and(X1, X2) -> active# X1, active# U41(X1, X2) -> active# X1) (active# and(X1, X2) -> active# X1, active# U41(X1, X2) -> U41#(active X1, X2)) (active# and(X1, X2) -> active# X1, active# s X -> active# X) (active# and(X1, X2) -> active# X1, active# s X -> s# active X) (active# and(X1, X2) -> active# X1, active# plus(N, s M) -> isNat# N) (active# and(X1, X2) -> active# X1, active# plus(N, s M) -> isNat# M) (active# and(X1, X2) -> active# X1, active# plus(N, s M) -> U51#(and(and(isNat M, isNatKind M), and(isNat N, isNatKind N)), M, N)) (active# and(X1, X2) -> active# X1, active# plus(N, s M) -> and#(isNat N, isNatKind N)) (active# and(X1, X2) -> active# X1, active# plus(N, s M) -> and#(isNat M, isNatKind M)) (active# and(X1, X2) -> active# X1, active# plus(N, s M) -> and#(and(isNat M, isNatKind M), and(isNat N, isNatKind N))) (active# and(X1, X2) -> active# X1, active# plus(N, s M) -> isNatKind# N) (active# and(X1, X2) -> active# X1, active# plus(N, s M) -> isNatKind# M) (active# and(X1, X2) -> active# X1, active# plus(N, 0()) -> isNat# N) (active# and(X1, X2) -> active# X1, active# plus(N, 0()) -> U41#(and(isNat N, isNatKind N), N)) (active# and(X1, X2) -> active# X1, active# plus(N, 0()) -> and#(isNat N, isNatKind N)) (active# and(X1, X2) -> active# X1, active# plus(N, 0()) -> isNatKind# N) (active# and(X1, X2) -> active# X1, active# plus(X1, X2) -> active# X1) (active# and(X1, X2) -> active# X1, active# plus(X1, X2) -> active# X2) (active# and(X1, X2) -> active# X1, active# plus(X1, X2) -> plus#(X1, active X2)) (active# and(X1, X2) -> active# X1, active# plus(X1, X2) -> plus#(active X1, X2)) (active# and(X1, X2) -> active# X1, active# U51(X1, X2, X3) -> active# X1) (active# and(X1, X2) -> active# X1, active# U51(X1, X2, X3) -> U51#(active X1, X2, X3)) (active# and(X1, X2) -> active# X1, active# U51(tt(), M, N) -> s# plus(N, M)) (active# and(X1, X2) -> active# X1, active# U51(tt(), M, N) -> plus#(N, M)) (active# and(X1, X2) -> active# X1, active# U61 X -> active# X) (active# and(X1, X2) -> active# X1, active# U61 X -> U61# active X) (active# and(X1, X2) -> active# X1, active# x(N, s M) -> isNat# N) (active# and(X1, X2) -> active# X1, active# x(N, s M) -> isNat# M) (active# and(X1, X2) -> active# X1, active# x(N, s M) -> U71#(and(and(isNat M, isNatKind M), and(isNat N, isNatKind N)), M, N)) (active# and(X1, X2) -> active# X1, active# x(N, s M) -> and#(isNat N, isNatKind N)) (active# and(X1, X2) -> active# X1, active# x(N, s M) -> and#(isNat M, isNatKind M)) (active# and(X1, X2) -> active# X1, active# x(N, s M) -> and#(and(isNat M, isNatKind M), and(isNat N, isNatKind N))) (active# and(X1, X2) -> active# X1, active# x(N, s M) -> isNatKind# N) (active# and(X1, X2) -> active# X1, active# x(N, s M) -> isNatKind# M) (active# and(X1, X2) -> active# X1, active# x(N, 0()) -> isNat# N) (active# and(X1, X2) -> active# X1, active# x(N, 0()) -> U61# and(isNat N, isNatKind N)) (active# and(X1, X2) -> active# X1, active# x(N, 0()) -> and#(isNat N, isNatKind N)) (active# and(X1, X2) -> active# X1, active# x(N, 0()) -> isNatKind# N) (active# and(X1, X2) -> active# X1, active# x(X1, X2) -> active# X1) (active# and(X1, X2) -> active# X1, active# x(X1, X2) -> active# X2) (active# and(X1, X2) -> active# X1, active# x(X1, X2) -> x#(X1, active X2)) (active# and(X1, X2) -> active# X1, active# x(X1, X2) -> x#(active X1, X2)) (active# and(X1, X2) -> active# X1, active# U71(X1, X2, X3) -> active# X1) (active# and(X1, X2) -> active# X1, active# U71(X1, X2, X3) -> U71#(active X1, X2, X3)) (active# and(X1, X2) -> active# X1, active# U71(tt(), M, N) -> plus#(x(N, M), N)) (active# and(X1, X2) -> active# X1, active# U71(tt(), M, N) -> x#(N, M)) (active# and(X1, X2) -> active# X1, active# and(X1, X2) -> active# X1) (active# and(X1, X2) -> active# X1, active# and(X1, X2) -> and#(active X1, X2)) (active# and(X1, X2) -> active# X1, active# isNatKind s V1 -> isNatKind# V1) (active# and(X1, X2) -> active# X1, active# isNatKind plus(V1, V2) -> and#(isNatKind V1, isNatKind V2)) (active# and(X1, X2) -> active# X1, active# isNatKind plus(V1, V2) -> isNatKind# V1) (active# and(X1, X2) -> active# X1, active# isNatKind plus(V1, V2) -> isNatKind# V2) (active# and(X1, X2) -> active# X1, active# isNatKind x(V1, V2) -> and#(isNatKind V1, isNatKind V2)) (active# and(X1, X2) -> active# X1, active# isNatKind x(V1, V2) -> isNatKind# V1) (active# and(X1, X2) -> active# X1, active# isNatKind x(V1, V2) -> isNatKind# V2) (active# x(X1, X2) -> active# X1, active# U12(X1, X2) -> U12#(active X1, X2)) (active# x(X1, X2) -> active# X1, active# U12(X1, X2) -> active# X1) (active# x(X1, X2) -> active# X1, active# U12(tt(), V2) -> isNat# V2) (active# x(X1, X2) -> active# X1, active# U12(tt(), V2) -> U13# isNat V2) (active# x(X1, X2) -> active# X1, active# isNat s V1 -> U21#(isNatKind V1, V1)) (active# x(X1, X2) -> active# X1, active# isNat s V1 -> isNatKind# V1) (active# x(X1, X2) -> active# X1, active# isNat plus(V1, V2) -> U11#(and(isNatKind V1, isNatKind V2), V1, V2)) (active# x(X1, X2) -> active# X1, active# isNat plus(V1, V2) -> and#(isNatKind V1, isNatKind V2)) (active# x(X1, X2) -> active# X1, active# isNat plus(V1, V2) -> isNatKind# V1) (active# x(X1, X2) -> active# X1, active# isNat plus(V1, V2) -> isNatKind# V2) (active# x(X1, X2) -> active# X1, active# isNat x(V1, V2) -> U31#(and(isNatKind V1, isNatKind V2), V1, V2)) (active# x(X1, X2) -> active# X1, active# isNat x(V1, V2) -> and#(isNatKind V1, isNatKind V2)) (active# x(X1, X2) -> active# X1, active# isNat x(V1, V2) -> isNatKind# V1) (active# x(X1, X2) -> active# X1, active# isNat x(V1, V2) -> isNatKind# 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) -> U12#(isNat V1, V2)) (active# x(X1, X2) -> active# X1, active# U11(tt(), V1, V2) -> isNat# V1) (active# x(X1, X2) -> active# X1, active# U13 X -> active# X) (active# x(X1, X2) -> active# X1, active# U13 X -> U13# active X) (active# x(X1, X2) -> active# X1, active# U22 X -> active# X) (active# x(X1, X2) -> active# X1, active# U22 X -> U22# active X) (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) -> isNat# V1) (active# x(X1, X2) -> active# X1, active# U21(tt(), V1) -> U22# isNat V1) (active# x(X1, X2) -> active# X1, active# U32(X1, X2) -> active# X1) (active# x(X1, X2) -> active# X1, active# U32(X1, X2) -> U32#(active X1, X2)) (active# x(X1, X2) -> active# X1, active# U32(tt(), V2) -> isNat# V2) (active# x(X1, X2) -> active# X1, active# U32(tt(), V2) -> U33# isNat 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) -> isNat# V1) (active# x(X1, X2) -> active# X1, active# U31(tt(), V1, V2) -> U32#(isNat V1, V2)) (active# x(X1, X2) -> active# X1, active# U33 X -> active# X) (active# x(X1, X2) -> active# X1, active# U33 X -> U33# 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# s X -> active# X) (active# x(X1, X2) -> active# X1, active# s X -> s# active X) (active# x(X1, X2) -> active# X1, active# plus(N, s M) -> isNat# N) (active# x(X1, X2) -> active# X1, active# plus(N, s M) -> isNat# M) (active# x(X1, X2) -> active# X1, active# plus(N, s M) -> U51#(and(and(isNat M, isNatKind M), and(isNat N, isNatKind N)), M, N)) (active# x(X1, X2) -> active# X1, active# plus(N, s M) -> and#(isNat N, isNatKind N)) (active# x(X1, X2) -> active# X1, active# plus(N, s M) -> and#(isNat M, isNatKind M)) (active# x(X1, X2) -> active# X1, active# plus(N, s M) -> and#(and(isNat M, isNatKind M), and(isNat N, isNatKind N))) (active# x(X1, X2) -> active# X1, active# plus(N, s M) -> isNatKind# N) (active# x(X1, X2) -> active# X1, active# plus(N, s M) -> isNatKind# M) (active# x(X1, X2) -> active# X1, active# plus(N, 0()) -> isNat# N) (active# x(X1, X2) -> active# X1, active# plus(N, 0()) -> U41#(and(isNat N, isNatKind N), N)) (active# x(X1, X2) -> active# X1, active# plus(N, 0()) -> and#(isNat N, isNatKind N)) (active# x(X1, X2) -> active# X1, active# plus(N, 0()) -> isNatKind# 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# U51(X1, X2, X3) -> active# X1) (active# x(X1, X2) -> active# X1, active# U51(X1, X2, X3) -> U51#(active X1, X2, X3)) (active# x(X1, X2) -> active# X1, active# U51(tt(), M, N) -> s# plus(N, M)) (active# x(X1, X2) -> active# X1, active# U51(tt(), M, N) -> plus#(N, M)) (active# x(X1, X2) -> active# X1, active# U61 X -> active# X) (active# x(X1, X2) -> active# X1, active# U61 X -> U61# active X) (active# x(X1, X2) -> active# X1, active# x(N, s M) -> isNat# N) (active# x(X1, X2) -> active# X1, active# x(N, s M) -> isNat# M) (active# x(X1, X2) -> active# X1, active# x(N, s M) -> U71#(and(and(isNat M, isNatKind M), and(isNat N, isNatKind N)), M, N)) (active# x(X1, X2) -> active# X1, active# x(N, s M) -> and#(isNat N, isNatKind N)) (active# x(X1, X2) -> active# X1, active# x(N, s M) -> and#(isNat M, isNatKind M)) (active# x(X1, X2) -> active# X1, active# x(N, s M) -> and#(and(isNat M, isNatKind M), and(isNat N, isNatKind N))) (active# x(X1, X2) -> active# X1, active# x(N, s M) -> isNatKind# N) (active# x(X1, X2) -> active# X1, active# x(N, s M) -> isNatKind# M) (active# x(X1, X2) -> active# X1, active# x(N, 0()) -> isNat# N) (active# x(X1, X2) -> active# X1, active# x(N, 0()) -> U61# and(isNat N, isNatKind N)) (active# x(X1, X2) -> active# X1, active# x(N, 0()) -> and#(isNat N, isNatKind N)) (active# x(X1, X2) -> active# X1, active# x(N, 0()) -> isNatKind# 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# U71(X1, X2, X3) -> active# X1) (active# x(X1, X2) -> active# X1, active# U71(X1, X2, X3) -> U71#(active X1, X2, X3)) (active# x(X1, X2) -> active# X1, active# U71(tt(), M, N) -> plus#(x(N, M), N)) (active# x(X1, X2) -> active# X1, active# U71(tt(), M, N) -> x#(N, M)) (active# x(X1, X2) -> active# X1, active# and(X1, X2) -> active# X1) (active# x(X1, X2) -> active# X1, active# and(X1, X2) -> and#(active X1, X2)) (active# x(X1, X2) -> active# X1, active# isNatKind s V1 -> isNatKind# V1) (active# x(X1, X2) -> active# X1, active# isNatKind plus(V1, V2) -> and#(isNatKind V1, isNatKind V2)) (active# x(X1, X2) -> active# X1, active# isNatKind plus(V1, V2) -> isNatKind# V1) (active# x(X1, X2) -> active# X1, active# isNatKind plus(V1, V2) -> isNatKind# V2) (active# x(X1, X2) -> active# X1, active# isNatKind x(V1, V2) -> and#(isNatKind V1, isNatKind V2)) (active# x(X1, X2) -> active# X1, active# isNatKind x(V1, V2) -> isNatKind# V1) (active# x(X1, X2) -> active# X1, active# isNatKind x(V1, V2) -> isNatKind# V2) (active# plus(X1, X2) -> active# X1, active# U12(X1, X2) -> U12#(active X1, X2)) (active# plus(X1, X2) -> active# X1, active# U12(X1, X2) -> active# X1) (active# plus(X1, X2) -> active# X1, active# U12(tt(), V2) -> isNat# V2) (active# plus(X1, X2) -> active# X1, active# U12(tt(), V2) -> U13# isNat V2) (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 plus(V1, V2) -> U11#(and(isNatKind V1, isNatKind V2), V1, V2)) (active# plus(X1, X2) -> active# X1, active# isNat plus(V1, V2) -> and#(isNatKind V1, isNatKind V2)) (active# plus(X1, X2) -> active# X1, active# isNat plus(V1, V2) -> isNatKind# V1) (active# plus(X1, X2) -> active# X1, active# isNat plus(V1, V2) -> isNatKind# V2) (active# plus(X1, X2) -> active# X1, active# isNat x(V1, V2) -> U31#(and(isNatKind V1, isNatKind V2), V1, V2)) (active# plus(X1, X2) -> active# X1, active# isNat x(V1, V2) -> and#(isNatKind V1, isNatKind V2)) (active# plus(X1, X2) -> active# X1, active# isNat x(V1, V2) -> isNatKind# V1) (active# plus(X1, X2) -> active# X1, active# isNat x(V1, V2) -> isNatKind# V2) (active# plus(X1, X2) -> active# X1, active# U11(X1, X2, X3) -> active# X1) (active# plus(X1, X2) -> active# X1, active# U11(X1, X2, X3) -> U11#(active X1, X2, X3)) (active# plus(X1, X2) -> active# X1, active# U11(tt(), V1, V2) -> U12#(isNat V1, V2)) (active# plus(X1, X2) -> active# X1, active# U11(tt(), V1, V2) -> isNat# V1) (active# plus(X1, X2) -> active# X1, active# U13 X -> active# X) (active# plus(X1, X2) -> active# X1, active# U13 X -> U13# active X) (active# plus(X1, X2) -> active# X1, active# U22 X -> active# X) (active# plus(X1, X2) -> active# X1, active# U22 X -> U22# active X) (active# plus(X1, X2) -> active# X1, active# U21(X1, X2) -> active# X1) (active# plus(X1, X2) -> active# X1, active# U21(X1, X2) -> U21#(active X1, X2)) (active# plus(X1, X2) -> active# X1, active# U21(tt(), V1) -> isNat# V1) (active# plus(X1, X2) -> active# X1, active# U21(tt(), V1) -> U22# isNat V1) (active# plus(X1, X2) -> active# X1, active# U32(X1, X2) -> active# X1) (active# plus(X1, X2) -> active# X1, active# U32(X1, X2) -> U32#(active X1, X2)) (active# plus(X1, X2) -> active# X1, active# U32(tt(), V2) -> isNat# V2) (active# plus(X1, X2) -> active# X1, active# U32(tt(), V2) -> U33# isNat V2) (active# plus(X1, X2) -> active# X1, active# U31(X1, X2, X3) -> active# X1) (active# plus(X1, X2) -> active# X1, active# U31(X1, X2, X3) -> U31#(active X1, X2, X3)) (active# plus(X1, X2) -> active# X1, active# U31(tt(), V1, V2) -> isNat# V1) (active# plus(X1, X2) -> active# X1, active# U31(tt(), V1, V2) -> U32#(isNat V1, V2)) (active# plus(X1, X2) -> active# X1, active# U33 X -> active# X) (active# plus(X1, X2) -> active# X1, active# U33 X -> U33# active X) (active# plus(X1, X2) -> active# X1, active# U41(X1, X2) -> active# X1) (active# plus(X1, X2) -> active# X1, active# U41(X1, X2) -> U41#(active X1, X2)) (active# plus(X1, X2) -> active# X1, active# s X -> active# X) (active# plus(X1, X2) -> active# X1, active# s X -> s# active X) (active# plus(X1, X2) -> active# X1, active# plus(N, s M) -> isNat# N) (active# plus(X1, X2) -> active# X1, active# plus(N, s M) -> isNat# M) (active# plus(X1, X2) -> active# X1, active# plus(N, s M) -> U51#(and(and(isNat M, isNatKind M), and(isNat N, isNatKind N)), M, N)) (active# plus(X1, X2) -> active# X1, active# plus(N, s M) -> and#(isNat N, isNatKind N)) (active# plus(X1, X2) -> active# X1, active# plus(N, s M) -> and#(isNat M, isNatKind M)) (active# plus(X1, X2) -> active# X1, active# plus(N, s M) -> and#(and(isNat M, isNatKind M), and(isNat N, isNatKind N))) (active# plus(X1, X2) -> active# X1, active# plus(N, s M) -> isNatKind# N) (active# plus(X1, X2) -> active# X1, active# plus(N, s M) -> isNatKind# M) (active# plus(X1, X2) -> active# X1, active# plus(N, 0()) -> isNat# N) (active# plus(X1, X2) -> active# X1, active# plus(N, 0()) -> U41#(and(isNat N, isNatKind N), N)) (active# plus(X1, X2) -> active# X1, active# plus(N, 0()) -> and#(isNat N, isNatKind N)) (active# plus(X1, X2) -> active# X1, active# plus(N, 0()) -> isNatKind# N) (active# plus(X1, X2) -> active# X1, active# plus(X1, X2) -> active# X1) (active# plus(X1, X2) -> active# X1, active# plus(X1, X2) -> active# X2) (active# plus(X1, X2) -> active# X1, active# plus(X1, X2) -> plus#(X1, active X2)) (active# plus(X1, X2) -> active# X1, active# plus(X1, X2) -> plus#(active X1, X2)) (active# plus(X1, X2) -> active# X1, active# U51(X1, X2, X3) -> active# X1) (active# plus(X1, X2) -> active# X1, active# U51(X1, X2, X3) -> U51#(active X1, X2, X3)) (active# plus(X1, X2) -> active# X1, active# U51(tt(), M, N) -> s# plus(N, M)) (active# plus(X1, X2) -> active# X1, active# U51(tt(), M, N) -> plus#(N, M)) (active# plus(X1, X2) -> active# X1, active# U61 X -> active# X) (active# plus(X1, X2) -> active# X1, active# U61 X -> U61# active X) (active# plus(X1, X2) -> active# X1, active# x(N, s M) -> 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) -> U71#(and(and(isNat M, isNatKind M), and(isNat N, isNatKind N)), M, N)) (active# plus(X1, X2) -> active# X1, active# x(N, s M) -> and#(isNat N, isNatKind N)) (active# plus(X1, X2) -> active# X1, active# x(N, s M) -> and#(isNat M, isNatKind M)) (active# plus(X1, X2) -> active# X1, active# x(N, s M) -> and#(and(isNat M, isNatKind M), and(isNat N, isNatKind N))) (active# plus(X1, X2) -> active# X1, active# x(N, s M) -> isNatKind# N) (active# plus(X1, X2) -> active# X1, active# x(N, s M) -> isNatKind# M) (active# plus(X1, X2) -> active# X1, active# x(N, 0()) -> isNat# N) (active# plus(X1, X2) -> active# X1, active# x(N, 0()) -> U61# and(isNat N, isNatKind N)) (active# plus(X1, X2) -> active# X1, active# x(N, 0()) -> and#(isNat N, isNatKind N)) (active# plus(X1, X2) -> active# X1, active# x(N, 0()) -> isNatKind# N) (active# plus(X1, X2) -> active# X1, active# x(X1, X2) -> active# X1) (active# plus(X1, X2) -> active# X1, active# x(X1, X2) -> active# X2) (active# plus(X1, X2) -> active# X1, active# x(X1, X2) -> x#(X1, active X2)) (active# plus(X1, X2) -> active# X1, active# x(X1, X2) -> x#(active X1, X2)) (active# plus(X1, X2) -> active# X1, active# U71(X1, X2, X3) -> active# X1) (active# plus(X1, X2) -> active# X1, active# U71(X1, X2, X3) -> U71#(active X1, X2, X3)) (active# plus(X1, X2) -> active# X1, active# U71(tt(), M, N) -> plus#(x(N, M), N)) (active# plus(X1, X2) -> active# X1, active# U71(tt(), M, N) -> x#(N, M)) (active# plus(X1, X2) -> active# X1, active# and(X1, X2) -> active# X1) (active# plus(X1, X2) -> active# X1, active# and(X1, X2) -> and#(active X1, X2)) (active# plus(X1, X2) -> active# X1, active# isNatKind s V1 -> isNatKind# V1) (active# plus(X1, X2) -> active# X1, active# isNatKind plus(V1, V2) -> and#(isNatKind V1, isNatKind V2)) (active# plus(X1, X2) -> active# X1, active# isNatKind plus(V1, V2) -> isNatKind# V1) (active# plus(X1, X2) -> active# X1, active# isNatKind plus(V1, V2) -> isNatKind# V2) (active# plus(X1, X2) -> active# X1, active# isNatKind x(V1, V2) -> and#(isNatKind V1, isNatKind V2)) (active# plus(X1, X2) -> active# X1, active# isNatKind x(V1, V2) -> isNatKind# V1) (active# plus(X1, X2) -> active# X1, active# isNatKind x(V1, V2) -> isNatKind# V2) (active# U31(X1, X2, X3) -> active# X1, active# U12(X1, X2) -> U12#(active X1, X2)) (active# U31(X1, X2, X3) -> active# X1, active# U12(X1, X2) -> active# X1) (active# U31(X1, X2, X3) -> active# X1, active# U12(tt(), V2) -> isNat# V2) (active# U31(X1, X2, X3) -> active# X1, active# U12(tt(), V2) -> U13# isNat V2) (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 plus(V1, V2) -> U11#(and(isNatKind V1, isNatKind V2), V1, V2)) (active# U31(X1, X2, X3) -> active# X1, active# isNat plus(V1, V2) -> and#(isNatKind V1, isNatKind V2)) (active# U31(X1, X2, X3) -> active# X1, active# isNat plus(V1, V2) -> isNatKind# V1) (active# U31(X1, X2, X3) -> active# X1, active# isNat plus(V1, V2) -> isNatKind# V2) (active# U31(X1, X2, X3) -> active# X1, active# isNat x(V1, V2) -> U31#(and(isNatKind V1, isNatKind V2), V1, V2)) (active# U31(X1, X2, X3) -> active# X1, active# isNat x(V1, V2) -> and#(isNatKind V1, isNatKind V2)) (active# U31(X1, X2, X3) -> active# X1, active# isNat x(V1, V2) -> isNatKind# V1) (active# U31(X1, X2, X3) -> active# X1, active# isNat x(V1, V2) -> isNatKind# V2) (active# U31(X1, X2, X3) -> active# X1, active# U11(X1, X2, X3) -> active# X1) (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(tt(), V1, V2) -> U12#(isNat V1, V2)) (active# U31(X1, X2, X3) -> active# X1, active# U11(tt(), V1, V2) -> isNat# V1) (active# U31(X1, X2, X3) -> active# X1, active# U13 X -> active# X) (active# U31(X1, X2, X3) -> active# X1, active# U13 X -> U13# active X) (active# U31(X1, X2, X3) -> active# X1, active# U22 X -> active# X) (active# U31(X1, X2, X3) -> active# X1, active# U22 X -> U22# active X) (active# U31(X1, X2, X3) -> active# X1, active# U21(X1, X2) -> active# X1) (active# U31(X1, X2, X3) -> active# X1, active# U21(X1, X2) -> U21#(active X1, X2)) (active# U31(X1, X2, X3) -> active# X1, active# U21(tt(), V1) -> isNat# V1) (active# U31(X1, X2, X3) -> active# X1, active# U21(tt(), V1) -> U22# isNat V1) (active# U31(X1, X2, X3) -> active# X1, active# U32(X1, X2) -> active# X1) (active# U31(X1, X2, X3) -> active# X1, active# U32(X1, X2) -> U32#(active X1, X2)) (active# U31(X1, X2, X3) -> active# X1, active# U32(tt(), V2) -> isNat# V2) (active# U31(X1, X2, X3) -> active# X1, active# U32(tt(), V2) -> U33# isNat V2) (active# U31(X1, X2, X3) -> active# X1, active# U31(X1, X2, X3) -> active# X1) (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(tt(), V1, V2) -> isNat# V1) (active# U31(X1, X2, X3) -> active# X1, active# U31(tt(), V1, V2) -> U32#(isNat V1, V2)) (active# U31(X1, X2, X3) -> active# X1, active# U33 X -> active# X) (active# U31(X1, X2, X3) -> active# X1, active# U33 X -> U33# active X) (active# U31(X1, X2, X3) -> active# X1, active# U41(X1, X2) -> active# X1) (active# U31(X1, X2, X3) -> active# X1, active# U41(X1, X2) -> U41#(active X1, X2)) (active# U31(X1, X2, X3) -> active# X1, active# s X -> active# X) (active# U31(X1, X2, X3) -> active# X1, active# s X -> s# active X) (active# U31(X1, X2, X3) -> active# X1, active# plus(N, s M) -> isNat# N) (active# U31(X1, X2, X3) -> active# X1, active# plus(N, s M) -> isNat# M) (active# U31(X1, X2, X3) -> active# X1, active# plus(N, s M) -> U51#(and(and(isNat M, isNatKind M), and(isNat N, isNatKind N)), M, N)) (active# U31(X1, X2, X3) -> active# X1, active# plus(N, s M) -> and#(isNat N, isNatKind N)) (active# U31(X1, X2, X3) -> active# X1, active# plus(N, s M) -> and#(isNat M, isNatKind M)) (active# U31(X1, X2, X3) -> active# X1, active# plus(N, s M) -> and#(and(isNat M, isNatKind M), and(isNat N, isNatKind N))) (active# U31(X1, X2, X3) -> active# X1, active# plus(N, s M) -> isNatKind# N) (active# U31(X1, X2, X3) -> active# X1, active# plus(N, s M) -> isNatKind# M) (active# U31(X1, X2, X3) -> active# X1, active# plus(N, 0()) -> isNat# N) (active# U31(X1, X2, X3) -> active# X1, active# plus(N, 0()) -> U41#(and(isNat N, isNatKind N), N)) (active# U31(X1, X2, X3) -> active# X1, active# plus(N, 0()) -> and#(isNat N, isNatKind N)) (active# U31(X1, X2, X3) -> active# X1, active# plus(N, 0()) -> isNatKind# N) (active# U31(X1, X2, X3) -> active# X1, active# plus(X1, X2) -> active# X1) (active# U31(X1, X2, X3) -> active# X1, active# plus(X1, X2) -> active# X2) (active# U31(X1, X2, X3) -> active# X1, active# plus(X1, X2) -> plus#(X1, active X2)) (active# U31(X1, X2, X3) -> active# X1, active# plus(X1, X2) -> plus#(active X1, X2)) (active# U31(X1, X2, X3) -> active# X1, active# U51(X1, X2, X3) -> active# X1) (active# U31(X1, X2, X3) -> active# X1, active# U51(X1, X2, X3) -> U51#(active X1, X2, X3)) (active# U31(X1, X2, X3) -> active# X1, active# U51(tt(), M, N) -> s# plus(N, M)) (active# U31(X1, X2, X3) -> active# X1, active# U51(tt(), M, N) -> plus#(N, M)) (active# U31(X1, X2, X3) -> active# X1, active# U61 X -> active# X) (active# U31(X1, X2, X3) -> active# X1, active# U61 X -> U61# active X) (active# U31(X1, X2, X3) -> active# X1, active# x(N, s M) -> 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) -> U71#(and(and(isNat M, isNatKind M), and(isNat N, isNatKind N)), M, N)) (active# U31(X1, X2, X3) -> active# X1, active# x(N, s M) -> and#(isNat N, isNatKind N)) (active# U31(X1, X2, X3) -> active# X1, active# x(N, s M) -> and#(isNat M, isNatKind M)) (active# U31(X1, X2, X3) -> active# X1, active# x(N, s M) -> and#(and(isNat M, isNatKind M), and(isNat N, isNatKind N))) (active# U31(X1, X2, X3) -> active# X1, active# x(N, s M) -> isNatKind# N) (active# U31(X1, X2, X3) -> active# X1, active# x(N, s M) -> isNatKind# M) (active# U31(X1, X2, X3) -> active# X1, active# x(N, 0()) -> isNat# N) (active# U31(X1, X2, X3) -> active# X1, active# x(N, 0()) -> U61# and(isNat N, isNatKind N)) (active# U31(X1, X2, X3) -> active# X1, active# x(N, 0()) -> and#(isNat N, isNatKind N)) (active# U31(X1, X2, X3) -> active# X1, active# x(N, 0()) -> isNatKind# N) (active# U31(X1, X2, X3) -> active# X1, active# x(X1, X2) -> active# X1) (active# U31(X1, X2, X3) -> active# X1, active# x(X1, X2) -> active# X2) (active# U31(X1, X2, X3) -> active# X1, active# x(X1, X2) -> x#(X1, active X2)) (active# U31(X1, X2, X3) -> active# X1, active# x(X1, X2) -> x#(active X1, X2)) (active# U31(X1, X2, X3) -> active# X1, active# U71(X1, X2, X3) -> active# X1) (active# U31(X1, X2, X3) -> active# X1, active# U71(X1, X2, X3) -> U71#(active X1, X2, X3)) (active# U31(X1, X2, X3) -> active# X1, active# U71(tt(), M, N) -> plus#(x(N, M), N)) (active# U31(X1, X2, X3) -> active# X1, active# U71(tt(), M, N) -> x#(N, M)) (active# U31(X1, X2, X3) -> active# X1, active# and(X1, X2) -> active# X1) (active# U31(X1, X2, X3) -> active# X1, active# and(X1, X2) -> and#(active X1, X2)) (active# U31(X1, X2, X3) -> active# X1, active# isNatKind s V1 -> isNatKind# V1) (active# U31(X1, X2, X3) -> active# X1, active# isNatKind plus(V1, V2) -> and#(isNatKind V1, isNatKind V2)) (active# U31(X1, X2, X3) -> active# X1, active# isNatKind plus(V1, V2) -> isNatKind# V1) (active# U31(X1, X2, X3) -> active# X1, active# isNatKind plus(V1, V2) -> isNatKind# V2) (active# U31(X1, X2, X3) -> active# X1, active# isNatKind x(V1, V2) -> and#(isNatKind V1, isNatKind V2)) (active# U31(X1, X2, X3) -> active# X1, active# isNatKind x(V1, V2) -> isNatKind# V1) (active# U31(X1, X2, X3) -> active# X1, active# isNatKind x(V1, V2) -> isNatKind# V2) (active# U21(X1, X2) -> active# X1, active# U12(X1, X2) -> U12#(active X1, X2)) (active# U21(X1, X2) -> active# X1, active# U12(X1, X2) -> active# X1) (active# U21(X1, X2) -> active# X1, active# U12(tt(), V2) -> isNat# V2) (active# U21(X1, X2) -> active# X1, active# U12(tt(), V2) -> U13# isNat V2) (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 plus(V1, V2) -> U11#(and(isNatKind V1, isNatKind V2), V1, V2)) (active# U21(X1, X2) -> active# X1, active# isNat plus(V1, V2) -> and#(isNatKind V1, isNatKind V2)) (active# U21(X1, X2) -> active# X1, active# isNat plus(V1, V2) -> isNatKind# V1) (active# U21(X1, X2) -> active# X1, active# isNat plus(V1, V2) -> isNatKind# V2) (active# U21(X1, X2) -> active# X1, active# isNat x(V1, V2) -> U31#(and(isNatKind V1, isNatKind V2), V1, V2)) (active# U21(X1, X2) -> active# X1, active# isNat x(V1, V2) -> and#(isNatKind V1, isNatKind V2)) (active# U21(X1, X2) -> active# X1, active# isNat x(V1, V2) -> isNatKind# V1) (active# U21(X1, X2) -> active# X1, active# isNat x(V1, V2) -> isNatKind# V2) (active# U21(X1, X2) -> active# X1, active# U11(X1, X2, X3) -> active# X1) (active# U21(X1, X2) -> active# X1, active# U11(X1, X2, X3) -> U11#(active X1, X2, X3)) (active# U21(X1, X2) -> active# X1, active# U11(tt(), V1, V2) -> U12#(isNat V1, V2)) (active# U21(X1, X2) -> active# X1, active# U11(tt(), V1, V2) -> isNat# V1) (active# U21(X1, X2) -> active# X1, active# U13 X -> active# X) (active# U21(X1, X2) -> active# X1, active# U13 X -> U13# active X) (active# U21(X1, X2) -> active# X1, active# U22 X -> active# X) (active# U21(X1, X2) -> active# X1, active# U22 X -> U22# active X) (active# U21(X1, X2) -> active# X1, active# U21(X1, X2) -> active# X1) (active# U21(X1, X2) -> active# X1, active# U21(X1, X2) -> U21#(active X1, X2)) (active# U21(X1, X2) -> active# X1, active# U21(tt(), V1) -> isNat# V1) (active# U21(X1, X2) -> active# X1, active# U21(tt(), V1) -> U22# isNat V1) (active# U21(X1, X2) -> active# X1, active# U32(X1, X2) -> active# X1) (active# U21(X1, X2) -> active# X1, active# U32(X1, X2) -> U32#(active X1, X2)) (active# U21(X1, X2) -> active# X1, active# U32(tt(), V2) -> isNat# V2) (active# U21(X1, X2) -> active# X1, active# U32(tt(), V2) -> U33# isNat V2) (active# U21(X1, X2) -> active# X1, active# U31(X1, X2, X3) -> active# X1) (active# U21(X1, X2) -> active# X1, active# U31(X1, X2, X3) -> U31#(active X1, X2, X3)) (active# U21(X1, X2) -> active# X1, active# U31(tt(), V1, V2) -> isNat# V1) (active# U21(X1, X2) -> active# X1, active# U31(tt(), V1, V2) -> U32#(isNat V1, V2)) (active# U21(X1, X2) -> active# X1, active# U33 X -> active# X) (active# U21(X1, X2) -> active# X1, active# U33 X -> U33# active X) (active# U21(X1, X2) -> active# X1, active# U41(X1, X2) -> active# X1) (active# U21(X1, X2) -> active# X1, active# U41(X1, X2) -> U41#(active X1, X2)) (active# U21(X1, X2) -> active# X1, active# s X -> active# X) (active# U21(X1, X2) -> active# X1, active# s X -> s# active X) (active# U21(X1, X2) -> active# X1, active# plus(N, s M) -> isNat# N) (active# U21(X1, X2) -> active# X1, active# plus(N, s M) -> isNat# M) (active# U21(X1, X2) -> active# X1, active# plus(N, s M) -> U51#(and(and(isNat M, isNatKind M), and(isNat N, isNatKind N)), M, N)) (active# U21(X1, X2) -> active# X1, active# plus(N, s M) -> and#(isNat N, isNatKind N)) (active# U21(X1, X2) -> active# X1, active# plus(N, s M) -> and#(isNat M, isNatKind M)) (active# U21(X1, X2) -> active# X1, active# plus(N, s M) -> and#(and(isNat M, isNatKind M), and(isNat N, isNatKind N))) (active# U21(X1, X2) -> active# X1, active# plus(N, s M) -> isNatKind# N) (active# U21(X1, X2) -> active# X1, active# plus(N, s M) -> isNatKind# M) (active# U21(X1, X2) -> active# X1, active# plus(N, 0()) -> isNat# N) (active# U21(X1, X2) -> active# X1, active# plus(N, 0()) -> U41#(and(isNat N, isNatKind N), N)) (active# U21(X1, X2) -> active# X1, active# plus(N, 0()) -> and#(isNat N, isNatKind N)) (active# U21(X1, X2) -> active# X1, active# plus(N, 0()) -> isNatKind# N) (active# U21(X1, X2) -> active# X1, active# plus(X1, X2) -> active# X1) (active# U21(X1, X2) -> active# X1, active# plus(X1, X2) -> active# X2) (active# U21(X1, X2) -> active# X1, active# plus(X1, X2) -> plus#(X1, active X2)) (active# U21(X1, X2) -> active# X1, active# plus(X1, X2) -> plus#(active X1, X2)) (active# U21(X1, X2) -> active# X1, active# U51(X1, X2, X3) -> active# X1) (active# U21(X1, X2) -> active# X1, active# U51(X1, X2, X3) -> U51#(active X1, X2, X3)) (active# U21(X1, X2) -> active# X1, active# U51(tt(), M, N) -> s# plus(N, M)) (active# U21(X1, X2) -> active# X1, active# U51(tt(), M, N) -> plus#(N, M)) (active# U21(X1, X2) -> active# X1, active# U61 X -> active# X) (active# U21(X1, X2) -> active# X1, active# U61 X -> U61# active X) (active# U21(X1, X2) -> active# X1, active# x(N, s M) -> 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) -> U71#(and(and(isNat M, isNatKind M), and(isNat N, isNatKind N)), M, N)) (active# U21(X1, X2) -> active# X1, active# x(N, s M) -> and#(isNat N, isNatKind N)) (active# U21(X1, X2) -> active# X1, active# x(N, s M) -> and#(isNat M, isNatKind M)) (active# U21(X1, X2) -> active# X1, active# x(N, s M) -> and#(and(isNat M, isNatKind M), and(isNat N, isNatKind N))) (active# U21(X1, X2) -> active# X1, active# x(N, s M) -> isNatKind# N) (active# U21(X1, X2) -> active# X1, active# x(N, s M) -> isNatKind# M) (active# U21(X1, X2) -> active# X1, active# x(N, 0()) -> isNat# N) (active# U21(X1, X2) -> active# X1, active# x(N, 0()) -> U61# and(isNat N, isNatKind N)) (active# U21(X1, X2) -> active# X1, active# x(N, 0()) -> and#(isNat N, isNatKind N)) (active# U21(X1, X2) -> active# X1, active# x(N, 0()) -> isNatKind# N) (active# U21(X1, X2) -> active# X1, active# x(X1, X2) -> active# X1) (active# U21(X1, X2) -> active# X1, active# x(X1, X2) -> active# X2) (active# U21(X1, X2) -> active# X1, active# x(X1, X2) -> x#(X1, active X2)) (active# U21(X1, X2) -> active# X1, active# x(X1, X2) -> x#(active X1, X2)) (active# U21(X1, X2) -> active# X1, active# U71(X1, X2, X3) -> active# X1) (active# U21(X1, X2) -> active# X1, active# U71(X1, X2, X3) -> U71#(active X1, X2, X3)) (active# U21(X1, X2) -> active# X1, active# U71(tt(), M, N) -> plus#(x(N, M), N)) (active# U21(X1, X2) -> active# X1, active# U71(tt(), M, N) -> x#(N, M)) (active# U21(X1, X2) -> active# X1, active# and(X1, X2) -> active# X1) (active# U21(X1, X2) -> active# X1, active# and(X1, X2) -> and#(active X1, X2)) (active# U21(X1, X2) -> active# X1, active# isNatKind s V1 -> isNatKind# V1) (active# U21(X1, X2) -> active# X1, active# isNatKind plus(V1, V2) -> and#(isNatKind V1, isNatKind V2)) (active# U21(X1, X2) -> active# X1, active# isNatKind plus(V1, V2) -> isNatKind# V1) (active# U21(X1, X2) -> active# X1, active# isNatKind plus(V1, V2) -> isNatKind# V2) (active# U21(X1, X2) -> active# X1, active# isNatKind x(V1, V2) -> and#(isNatKind V1, isNatKind V2)) (active# U21(X1, X2) -> active# X1, active# isNatKind x(V1, V2) -> isNatKind# V1) (active# U21(X1, X2) -> active# X1, active# isNatKind x(V1, V2) -> isNatKind# V2) (active# U12(X1, X2) -> active# X1, active# U12(X1, X2) -> U12#(active X1, X2)) (active# U12(X1, X2) -> active# X1, active# U12(X1, X2) -> active# X1) (active# U12(X1, X2) -> active# X1, active# U12(tt(), V2) -> isNat# V2) (active# U12(X1, X2) -> active# X1, active# U12(tt(), V2) -> U13# isNat V2) (active# U12(X1, X2) -> active# X1, active# isNat s V1 -> U21#(isNatKind V1, V1)) (active# U12(X1, X2) -> active# X1, active# isNat s V1 -> isNatKind# V1) (active# U12(X1, X2) -> active# X1, active# isNat plus(V1, V2) -> U11#(and(isNatKind V1, isNatKind V2), V1, V2)) (active# U12(X1, X2) -> active# X1, active# isNat plus(V1, V2) -> and#(isNatKind V1, isNatKind V2)) (active# U12(X1, X2) -> active# X1, active# isNat plus(V1, V2) -> isNatKind# V1) (active# U12(X1, X2) -> active# X1, active# isNat plus(V1, V2) -> isNatKind# V2) (active# U12(X1, X2) -> active# X1, active# isNat x(V1, V2) -> U31#(and(isNatKind V1, isNatKind V2), V1, V2)) (active# U12(X1, X2) -> active# X1, active# isNat x(V1, V2) -> and#(isNatKind V1, isNatKind V2)) (active# U12(X1, X2) -> active# X1, active# isNat x(V1, V2) -> isNatKind# V1) (active# U12(X1, X2) -> active# X1, active# isNat x(V1, V2) -> isNatKind# V2) (active# U12(X1, X2) -> active# X1, active# U11(X1, X2, X3) -> active# X1) (active# U12(X1, X2) -> active# X1, active# U11(X1, X2, X3) -> U11#(active X1, X2, X3)) (active# U12(X1, X2) -> active# X1, active# U11(tt(), V1, V2) -> U12#(isNat V1, V2)) (active# U12(X1, X2) -> active# X1, active# U11(tt(), V1, V2) -> isNat# V1) (active# U12(X1, X2) -> active# X1, active# U13 X -> active# X) (active# U12(X1, X2) -> active# X1, active# U13 X -> U13# active X) (active# U12(X1, X2) -> active# X1, active# U22 X -> active# X) (active# U12(X1, X2) -> active# X1, active# U22 X -> U22# active X) (active# U12(X1, X2) -> active# X1, active# U21(X1, X2) -> active# X1) (active# U12(X1, X2) -> active# X1, active# U21(X1, X2) -> U21#(active X1, X2)) (active# U12(X1, X2) -> active# X1, active# U21(tt(), V1) -> isNat# V1) (active# U12(X1, X2) -> active# X1, active# U21(tt(), V1) -> U22# isNat V1) (active# U12(X1, X2) -> active# X1, active# U32(X1, X2) -> active# X1) (active# U12(X1, X2) -> active# X1, active# U32(X1, X2) -> U32#(active X1, X2)) (active# U12(X1, X2) -> active# X1, active# U32(tt(), V2) -> isNat# V2) (active# U12(X1, X2) -> active# X1, active# U32(tt(), V2) -> U33# isNat V2) (active# U12(X1, X2) -> active# X1, active# U31(X1, X2, X3) -> active# X1) (active# U12(X1, X2) -> active# X1, active# U31(X1, X2, X3) -> U31#(active X1, X2, X3)) (active# U12(X1, X2) -> active# X1, active# U31(tt(), V1, V2) -> isNat# V1) (active# U12(X1, X2) -> active# X1, active# U31(tt(), V1, V2) -> U32#(isNat V1, V2)) (active# U12(X1, X2) -> active# X1, active# U33 X -> active# X) (active# U12(X1, X2) -> active# X1, active# U33 X -> U33# active X) (active# U12(X1, X2) -> active# X1, active# U41(X1, X2) -> active# X1) (active# U12(X1, X2) -> active# X1, active# U41(X1, X2) -> U41#(active X1, X2)) (active# U12(X1, X2) -> active# X1, active# s X -> active# X) (active# U12(X1, X2) -> active# X1, active# s X -> s# active X) (active# U12(X1, X2) -> active# X1, active# plus(N, s M) -> isNat# N) (active# U12(X1, X2) -> active# X1, active# plus(N, s M) -> isNat# M) (active# U12(X1, X2) -> active# X1, active# plus(N, s M) -> U51#(and(and(isNat M, isNatKind M), and(isNat N, isNatKind N)), M, N)) (active# U12(X1, X2) -> active# X1, active# plus(N, s M) -> and#(isNat N, isNatKind N)) (active# U12(X1, X2) -> active# X1, active# plus(N, s M) -> and#(isNat M, isNatKind M)) (active# U12(X1, X2) -> active# X1, active# plus(N, s M) -> and#(and(isNat M, isNatKind M), and(isNat N, isNatKind N))) (active# U12(X1, X2) -> active# X1, active# plus(N, s M) -> isNatKind# N) (active# U12(X1, X2) -> active# X1, active# plus(N, s M) -> isNatKind# M) (active# U12(X1, X2) -> active# X1, active# plus(N, 0()) -> isNat# N) (active# U12(X1, X2) -> active# X1, active# plus(N, 0()) -> U41#(and(isNat N, isNatKind N), N)) (active# U12(X1, X2) -> active# X1, active# plus(N, 0()) -> and#(isNat N, isNatKind N)) (active# U12(X1, X2) -> active# X1, active# plus(N, 0()) -> isNatKind# N) (active# U12(X1, X2) -> active# X1, active# plus(X1, X2) -> active# X1) (active# U12(X1, X2) -> active# X1, active# plus(X1, X2) -> active# X2) (active# U12(X1, X2) -> active# X1, active# plus(X1, X2) -> plus#(X1, active X2)) (active# U12(X1, X2) -> active# X1, active# plus(X1, X2) -> plus#(active X1, X2)) (active# U12(X1, X2) -> active# X1, active# U51(X1, X2, X3) -> active# X1) (active# U12(X1, X2) -> active# X1, active# U51(X1, X2, X3) -> U51#(active X1, X2, X3)) (active# U12(X1, X2) -> active# X1, active# U51(tt(), M, N) -> s# plus(N, M)) (active# U12(X1, X2) -> active# X1, active# U51(tt(), M, N) -> plus#(N, M)) (active# U12(X1, X2) -> active# X1, active# U61 X -> active# X) (active# U12(X1, X2) -> active# X1, active# U61 X -> U61# active X) (active# U12(X1, X2) -> active# X1, active# x(N, s M) -> isNat# N) (active# U12(X1, X2) -> active# X1, active# x(N, s M) -> isNat# M) (active# U12(X1, X2) -> active# X1, active# x(N, s M) -> U71#(and(and(isNat M, isNatKind M), and(isNat N, isNatKind N)), M, N)) (active# U12(X1, X2) -> active# X1, active# x(N, s M) -> and#(isNat N, isNatKind N)) (active# U12(X1, X2) -> active# X1, active# x(N, s M) -> and#(isNat M, isNatKind M)) (active# U12(X1, X2) -> active# X1, active# x(N, s M) -> and#(and(isNat M, isNatKind M), and(isNat N, isNatKind N))) (active# U12(X1, X2) -> active# X1, active# x(N, s M) -> isNatKind# N) (active# U12(X1, X2) -> active# X1, active# x(N, s M) -> isNatKind# M) (active# U12(X1, X2) -> active# X1, active# x(N, 0()) -> isNat# N) (active# U12(X1, X2) -> active# X1, active# x(N, 0()) -> U61# and(isNat N, isNatKind N)) (active# U12(X1, X2) -> active# X1, active# x(N, 0()) -> and#(isNat N, isNatKind N)) (active# U12(X1, X2) -> active# X1, active# x(N, 0()) -> isNatKind# N) (active# U12(X1, X2) -> active# X1, active# x(X1, X2) -> active# X1) (active# U12(X1, X2) -> active# X1, active# x(X1, X2) -> active# X2) (active# U12(X1, X2) -> active# X1, active# x(X1, X2) -> x#(X1, active X2)) (active# U12(X1, X2) -> active# X1, active# x(X1, X2) -> x#(active X1, X2)) (active# U12(X1, X2) -> active# X1, active# U71(X1, X2, X3) -> active# X1) (active# U12(X1, X2) -> active# X1, active# U71(X1, X2, X3) -> U71#(active X1, X2, X3)) (active# U12(X1, X2) -> active# X1, active# U71(tt(), M, N) -> plus#(x(N, M), N)) (active# U12(X1, X2) -> active# X1, active# U71(tt(), M, N) -> x#(N, M)) (active# U12(X1, X2) -> active# X1, active# and(X1, X2) -> active# X1) (active# U12(X1, X2) -> active# X1, active# and(X1, X2) -> and#(active X1, X2)) (active# U12(X1, X2) -> active# X1, active# isNatKind s V1 -> isNatKind# V1) (active# U12(X1, X2) -> active# X1, active# isNatKind plus(V1, V2) -> and#(isNatKind V1, isNatKind V2)) (active# U12(X1, X2) -> active# X1, active# isNatKind plus(V1, V2) -> isNatKind# V1) (active# U12(X1, X2) -> active# X1, active# isNatKind plus(V1, V2) -> isNatKind# V2) (active# U12(X1, X2) -> active# X1, active# isNatKind x(V1, V2) -> and#(isNatKind V1, isNatKind V2)) (active# U12(X1, X2) -> active# X1, active# isNatKind x(V1, V2) -> isNatKind# V1) (active# U12(X1, X2) -> active# X1, active# isNatKind x(V1, V2) -> isNatKind# V2) } STATUS: arrows: 0.888751 SCCS (21): Scc: {top# mark X -> top# proper X, top# ok X -> top# active X} Scc: { proper# U12(X1, X2) -> proper# X1, proper# U12(X1, X2) -> proper# X2, proper# isNat X -> proper# X, proper# U11(X1, X2, X3) -> proper# X1, proper# U11(X1, X2, X3) -> proper# X2, proper# U11(X1, X2, X3) -> proper# X3, proper# U13 X -> proper# X, proper# U22 X -> proper# X, proper# U21(X1, X2) -> proper# X1, proper# U21(X1, X2) -> proper# X2, proper# U32(X1, X2) -> proper# X1, proper# U32(X1, X2) -> proper# X2, proper# U31(X1, X2, X3) -> proper# X1, proper# U31(X1, X2, X3) -> proper# X2, proper# U31(X1, X2, X3) -> proper# X3, proper# U33 X -> proper# X, proper# U41(X1, X2) -> proper# X1, proper# U41(X1, X2) -> proper# X2, proper# s X -> proper# X, proper# plus(X1, X2) -> proper# X1, proper# plus(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X3, proper# U61 X -> proper# X, proper# x(X1, X2) -> proper# X1, proper# x(X1, X2) -> proper# X2, proper# U71(X1, X2, X3) -> proper# X1, proper# U71(X1, X2, X3) -> proper# X2, proper# U71(X1, X2, X3) -> proper# X3, proper# and(X1, X2) -> proper# X1, proper# and(X1, X2) -> proper# X2, proper# isNatKind X -> proper# X} Scc: { active# U12(X1, X2) -> active# X1, active# U11(X1, X2, X3) -> active# X1, active# U13 X -> active# X, active# U22 X -> active# X, active# U21(X1, X2) -> active# X1, active# U32(X1, X2) -> active# X1, active# U31(X1, X2, X3) -> active# X1, active# U33 X -> active# X, active# U41(X1, X2) -> active# X1, active# s X -> active# X, active# plus(X1, X2) -> active# X1, active# plus(X1, X2) -> active# X2, active# U51(X1, X2, X3) -> active# X1, active# U61 X -> active# X, active# x(X1, X2) -> active# X1, active# x(X1, X2) -> active# X2, active# U71(X1, X2, X3) -> active# X1, active# and(X1, X2) -> active# X1} Scc: { x#(X1, mark X2) -> x#(X1, X2), x#(mark X1, X2) -> x#(X1, X2), x#(ok X1, ok X2) -> x#(X1, X2)} Scc: { U71#(mark X1, X2, X3) -> U71#(X1, X2, X3), U71#(ok X1, ok X2, ok X3) -> U71#(X1, X2, X3)} Scc: {U61# mark X -> U61# X, U61# ok X -> U61# X} Scc: { plus#(X1, mark X2) -> plus#(X1, X2), plus#(mark X1, X2) -> plus#(X1, X2), plus#(ok X1, ok X2) -> plus#(X1, X2)} Scc: { U51#(mark X1, X2, X3) -> U51#(X1, X2, X3), U51#(ok X1, ok X2, ok X3) -> U51#(X1, X2, X3)} Scc: {s# mark X -> s# X, s# ok X -> s# X} Scc: { U41#(mark X1, X2) -> U41#(X1, X2), U41#(ok X1, ok X2) -> U41#(X1, X2)} Scc: {U33# mark X -> U33# X, U33# ok X -> U33# X} Scc: { U32#(mark X1, X2) -> U32#(X1, X2), U32#(ok X1, ok X2) -> U32#(X1, X2)} Scc: {U22# mark X -> U22# X, U22# ok X -> U22# X} Scc: { U31#(mark X1, X2, X3) -> U31#(X1, X2, X3), U31#(ok X1, ok X2, ok X3) -> U31#(X1, X2, X3)} Scc: { and#(mark X1, X2) -> and#(X1, X2), and#(ok X1, ok X2) -> and#(X1, X2)} Scc: { U11#(mark X1, X2, X3) -> U11#(X1, X2, X3), U11#(ok X1, ok X2, ok X3) -> U11#(X1, X2, X3)} Scc: {isNatKind# ok X -> isNatKind# X} Scc: { U21#(mark X1, X2) -> U21#(X1, X2), U21#(ok X1, ok X2) -> U21#(X1, X2)} Scc: {U13# mark X -> U13# X, U13# ok X -> U13# X} Scc: {isNat# ok X -> isNat# X} Scc: { U12#(mark X1, X2) -> U12#(X1, X2), U12#(ok X1, ok X2) -> U12#(X1, X2)} SCC (2): Strict: {top# mark X -> top# proper X, top# ok X -> top# active X} Weak: { U12(mark X1, X2) -> mark U12(X1, X2), U12(ok X1, ok X2) -> ok U12(X1, X2), isNat ok X -> ok isNat X, active U12(X1, X2) -> U12(active X1, X2), active U12(tt(), V2) -> mark U13 isNat V2, active isNat s V1 -> mark U21(isNatKind V1, V1), active isNat plus(V1, V2) -> mark U11(and(isNatKind V1, isNatKind V2), V1, V2), active isNat 0() -> mark tt(), active isNat x(V1, V2) -> mark U31(and(isNatKind V1, isNatKind V2), V1, V2), active U11(X1, X2, X3) -> U11(active X1, X2, X3), active U11(tt(), V1, V2) -> mark U12(isNat V1, V2), active U13 X -> U13 active X, active U13 tt() -> mark tt(), active U22 X -> U22 active X, active U22 tt() -> mark tt(), active U21(X1, X2) -> U21(active X1, X2), active U21(tt(), V1) -> mark U22 isNat V1, active U32(X1, X2) -> U32(active X1, X2), active U32(tt(), V2) -> mark U33 isNat V2, active U31(X1, X2, X3) -> U31(active X1, X2, X3), active U31(tt(), V1, V2) -> mark U32(isNat V1, V2), active U33 X -> U33 active X, active U33 tt() -> mark tt(), active U41(X1, X2) -> U41(active X1, X2), active U41(tt(), N) -> mark N, active s X -> s active X, active plus(N, s M) -> mark U51(and(and(isNat M, isNatKind M), and(isNat N, isNatKind N)), M, N), active plus(N, 0()) -> mark U41(and(isNat N, isNatKind N), N), active plus(X1, X2) -> plus(X1, active X2), active plus(X1, X2) -> plus(active X1, X2), active U51(X1, X2, X3) -> U51(active X1, X2, X3), active U51(tt(), M, N) -> mark s plus(N, M), active U61 X -> U61 active X, active U61 tt() -> mark 0(), active x(N, s M) -> mark U71(and(and(isNat M, isNatKind M), and(isNat N, isNatKind N)), M, N), active x(N, 0()) -> mark U61 and(isNat N, isNatKind N), active x(X1, X2) -> x(X1, active X2), active x(X1, X2) -> x(active X1, X2), active U71(X1, X2, X3) -> U71(active X1, X2, X3), active U71(tt(), M, N) -> mark plus(x(N, M), N), active and(X1, X2) -> and(active X1, X2), active and(tt(), X) -> mark X, active isNatKind s V1 -> mark isNatKind V1, active isNatKind plus(V1, V2) -> mark and(isNatKind V1, isNatKind V2), active isNatKind 0() -> mark tt(), active isNatKind x(V1, V2) -> mark and(isNatKind V1, isNatKind V2), U11(mark X1, X2, X3) -> mark U11(X1, X2, X3), U11(ok X1, ok X2, ok X3) -> ok U11(X1, X2, X3), U13 mark X -> mark U13 X, U13 ok X -> ok U13 X, U22 mark X -> mark U22 X, U22 ok X -> ok U22 X, U21(mark X1, X2) -> mark U21(X1, X2), U21(ok X1, ok X2) -> ok U21(X1, X2), U32(mark X1, X2) -> mark U32(X1, X2), U32(ok X1, ok X2) -> ok U32(X1, X2), U31(mark X1, X2, X3) -> mark U31(X1, X2, X3), U31(ok X1, ok X2, ok X3) -> ok U31(X1, X2, X3), U33 mark X -> mark U33 X, U33 ok X -> ok U33 X, U41(mark X1, X2) -> mark U41(X1, X2), U41(ok X1, ok X2) -> ok U41(X1, X2), s mark X -> mark s X, s ok X -> ok s X, plus(X1, mark X2) -> mark plus(X1, X2), plus(mark X1, X2) -> mark plus(X1, X2), plus(ok X1, ok X2) -> ok plus(X1, X2), U51(mark X1, X2, X3) -> mark U51(X1, X2, X3), U51(ok X1, ok X2, ok X3) -> ok U51(X1, X2, X3), U61 mark X -> mark U61 X, U61 ok X -> ok U61 X, x(X1, mark X2) -> mark x(X1, X2), x(mark X1, X2) -> mark x(X1, X2), x(ok X1, ok X2) -> ok x(X1, X2), U71(mark X1, X2, X3) -> mark U71(X1, X2, X3), U71(ok X1, ok X2, ok X3) -> ok U71(X1, X2, X3), and(mark X1, X2) -> mark and(X1, X2), and(ok X1, ok X2) -> ok and(X1, X2), isNatKind ok X -> ok isNatKind X, proper U12(X1, X2) -> U12(proper X1, proper X2), proper isNat X -> isNat proper X, proper U11(X1, X2, X3) -> U11(proper X1, proper X2, proper X3), proper tt() -> ok tt(), proper U13 X -> U13 proper X, proper U22 X -> U22 proper X, proper U21(X1, X2) -> U21(proper X1, proper X2), proper U32(X1, X2) -> U32(proper X1, proper X2), proper U31(X1, X2, X3) -> U31(proper X1, proper X2, proper X3), proper U33 X -> U33 proper X, proper U41(X1, X2) -> U41(proper X1, proper X2), proper s X -> s proper X, proper plus(X1, X2) -> plus(proper X1, proper X2), proper U51(X1, X2, X3) -> U51(proper X1, proper X2, proper X3), proper 0() -> ok 0(), proper U61 X -> U61 proper X, proper x(X1, X2) -> x(proper X1, proper X2), proper U71(X1, X2, X3) -> U71(proper X1, proper X2, proper X3), proper and(X1, X2) -> and(proper X1, proper X2), proper isNatKind X -> isNatKind proper X, top mark X -> top proper X, top ok X -> top active X} Open SCC (33): Strict: { proper# U12(X1, X2) -> proper# X1, proper# U12(X1, X2) -> proper# X2, proper# isNat X -> proper# X, proper# U11(X1, X2, X3) -> proper# X1, proper# U11(X1, X2, X3) -> proper# X2, proper# U11(X1, X2, X3) -> proper# X3, proper# U13 X -> proper# X, proper# U22 X -> proper# X, proper# U21(X1, X2) -> proper# X1, proper# U21(X1, X2) -> proper# X2, proper# U32(X1, X2) -> proper# X1, proper# U32(X1, X2) -> proper# X2, proper# U31(X1, X2, X3) -> proper# X1, proper# U31(X1, X2, X3) -> proper# X2, proper# U31(X1, X2, X3) -> proper# X3, proper# U33 X -> proper# X, proper# U41(X1, X2) -> proper# X1, proper# U41(X1, X2) -> proper# X2, proper# s X -> proper# X, proper# plus(X1, X2) -> proper# X1, proper# plus(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X3, proper# U61 X -> proper# X, proper# x(X1, X2) -> proper# X1, proper# x(X1, X2) -> proper# X2, proper# U71(X1, X2, X3) -> proper# X1, proper# U71(X1, X2, X3) -> proper# X2, proper# U71(X1, X2, X3) -> proper# X3, proper# and(X1, X2) -> proper# X1, proper# and(X1, X2) -> proper# X2, proper# isNatKind X -> proper# X} Weak: { U12(mark X1, X2) -> mark U12(X1, X2), U12(ok X1, ok X2) -> ok U12(X1, X2), isNat ok X -> ok isNat X, active U12(X1, X2) -> U12(active X1, X2), active U12(tt(), V2) -> mark U13 isNat V2, active isNat s V1 -> mark U21(isNatKind V1, V1), active isNat plus(V1, V2) -> mark U11(and(isNatKind V1, isNatKind V2), V1, V2), active isNat 0() -> mark tt(), active isNat x(V1, V2) -> mark U31(and(isNatKind V1, isNatKind V2), V1, V2), active U11(X1, X2, X3) -> U11(active X1, X2, X3), active U11(tt(), V1, V2) -> mark U12(isNat V1, V2), active U13 X -> U13 active X, active U13 tt() -> mark tt(), active U22 X -> U22 active X, active U22 tt() -> mark tt(), active U21(X1, X2) -> U21(active X1, X2), active U21(tt(), V1) -> mark U22 isNat V1, active U32(X1, X2) -> U32(active X1, X2), active U32(tt(), V2) -> mark U33 isNat V2, active U31(X1, X2, X3) -> U31(active X1, X2, X3), active U31(tt(), V1, V2) -> mark U32(isNat V1, V2), active U33 X -> U33 active X, active U33 tt() -> mark tt(), active U41(X1, X2) -> U41(active X1, X2), active U41(tt(), N) -> mark N, active s X -> s active X, active plus(N, s M) -> mark U51(and(and(isNat M, isNatKind M), and(isNat N, isNatKind N)), M, N), active plus(N, 0()) -> mark U41(and(isNat N, isNatKind N), N), active plus(X1, X2) -> plus(X1, active X2), active plus(X1, X2) -> plus(active X1, X2), active U51(X1, X2, X3) -> U51(active X1, X2, X3), active U51(tt(), M, N) -> mark s plus(N, M), active U61 X -> U61 active X, active U61 tt() -> mark 0(), active x(N, s M) -> mark U71(and(and(isNat M, isNatKind M), and(isNat N, isNatKind N)), M, N), active x(N, 0()) -> mark U61 and(isNat N, isNatKind N), active x(X1, X2) -> x(X1, active X2), active x(X1, X2) -> x(active X1, X2), active U71(X1, X2, X3) -> U71(active X1, X2, X3), active U71(tt(), M, N) -> mark plus(x(N, M), N), active and(X1, X2) -> and(active X1, X2), active and(tt(), X) -> mark X, active isNatKind s V1 -> mark isNatKind V1, active isNatKind plus(V1, V2) -> mark and(isNatKind V1, isNatKind V2), active isNatKind 0() -> mark tt(), active isNatKind x(V1, V2) -> mark and(isNatKind V1, isNatKind V2), U11(mark X1, X2, X3) -> mark U11(X1, X2, X3), U11(ok X1, ok X2, ok X3) -> ok U11(X1, X2, X3), U13 mark X -> mark U13 X, U13 ok X -> ok U13 X, U22 mark X -> mark U22 X, U22 ok X -> ok U22 X, U21(mark X1, X2) -> mark U21(X1, X2), U21(ok X1, ok X2) -> ok U21(X1, X2), U32(mark X1, X2) -> mark U32(X1, X2), U32(ok X1, ok X2) -> ok U32(X1, X2), U31(mark X1, X2, X3) -> mark U31(X1, X2, X3), U31(ok X1, ok X2, ok X3) -> ok U31(X1, X2, X3), U33 mark X -> mark U33 X, U33 ok X -> ok U33 X, U41(mark X1, X2) -> mark U41(X1, X2), U41(ok X1, ok X2) -> ok U41(X1, X2), s mark X -> mark s X, s ok X -> ok s X, plus(X1, mark X2) -> mark plus(X1, X2), plus(mark X1, X2) -> mark plus(X1, X2), plus(ok X1, ok X2) -> ok plus(X1, X2), U51(mark X1, X2, X3) -> mark U51(X1, X2, X3), U51(ok X1, ok X2, ok X3) -> ok U51(X1, X2, X3), U61 mark X -> mark U61 X, U61 ok X -> ok U61 X, x(X1, mark X2) -> mark x(X1, X2), x(mark X1, X2) -> mark x(X1, X2), x(ok X1, ok X2) -> ok x(X1, X2), U71(mark X1, X2, X3) -> mark U71(X1, X2, X3), U71(ok X1, ok X2, ok X3) -> ok U71(X1, X2, X3), and(mark X1, X2) -> mark and(X1, X2), and(ok X1, ok X2) -> ok and(X1, X2), isNatKind ok X -> ok isNatKind X, proper U12(X1, X2) -> U12(proper X1, proper X2), proper isNat X -> isNat proper X, proper U11(X1, X2, X3) -> U11(proper X1, proper X2, proper X3), proper tt() -> ok tt(), proper U13 X -> U13 proper X, proper U22 X -> U22 proper X, proper U21(X1, X2) -> U21(proper X1, proper X2), proper U32(X1, X2) -> U32(proper X1, proper X2), proper U31(X1, X2, X3) -> U31(proper X1, proper X2, proper X3), proper U33 X -> U33 proper X, proper U41(X1, X2) -> U41(proper X1, proper X2), proper s X -> s proper X, proper plus(X1, X2) -> plus(proper X1, proper X2), proper U51(X1, X2, X3) -> U51(proper X1, proper X2, proper X3), proper 0() -> ok 0(), proper U61 X -> U61 proper X, proper x(X1, X2) -> x(proper X1, proper X2), proper U71(X1, X2, X3) -> U71(proper X1, proper X2, proper X3), proper and(X1, X2) -> and(proper X1, proper X2), proper isNatKind X -> isNatKind proper X, top mark X -> top proper X, top ok X -> top active X} Open SCC (18): Strict: { active# U12(X1, X2) -> active# X1, active# U11(X1, X2, X3) -> active# X1, active# U13 X -> active# X, active# U22 X -> active# X, active# U21(X1, X2) -> active# X1, active# U32(X1, X2) -> active# X1, active# U31(X1, X2, X3) -> active# X1, active# U33 X -> active# X, active# U41(X1, X2) -> active# X1, active# s X -> active# X, active# plus(X1, X2) -> active# X1, active# plus(X1, X2) -> active# X2, active# U51(X1, X2, X3) -> active# X1, active# U61 X -> active# X, active# x(X1, X2) -> active# X1, active# x(X1, X2) -> active# X2, active# U71(X1, X2, X3) -> active# X1, active# and(X1, X2) -> active# X1} Weak: { U12(mark X1, X2) -> mark U12(X1, X2), U12(ok X1, ok X2) -> ok U12(X1, X2), isNat ok X -> ok isNat X, active U12(X1, X2) -> U12(active X1, X2), active U12(tt(), V2) -> mark U13 isNat V2, active isNat s V1 -> mark U21(isNatKind V1, V1), active isNat plus(V1, V2) -> mark U11(and(isNatKind V1, isNatKind V2), V1, V2), active isNat 0() -> mark tt(), active isNat x(V1, V2) -> mark U31(and(isNatKind V1, isNatKind V2), V1, V2), active U11(X1, X2, X3) -> U11(active X1, X2, X3), active U11(tt(), V1, V2) -> mark U12(isNat V1, V2), active U13 X -> U13 active X, active U13 tt() -> mark tt(), active U22 X -> U22 active X, active U22 tt() -> mark tt(), active U21(X1, X2) -> U21(active X1, X2), active U21(tt(), V1) -> mark U22 isNat V1, active U32(X1, X2) -> U32(active X1, X2), active U32(tt(), V2) -> mark U33 isNat V2, active U31(X1, X2, X3) -> U31(active X1, X2, X3), active U31(tt(), V1, V2) -> mark U32(isNat V1, V2), active U33 X -> U33 active X, active U33 tt() -> mark tt(), active U41(X1, X2) -> U41(active X1, X2), active U41(tt(), N) -> mark N, active s X -> s active X, active plus(N, s M) -> mark U51(and(and(isNat M, isNatKind M), and(isNat N, isNatKind N)), M, N), active plus(N, 0()) -> mark U41(and(isNat N, isNatKind N), N), active plus(X1, X2) -> plus(X1, active X2), active plus(X1, X2) -> plus(active X1, X2), active U51(X1, X2, X3) -> U51(active X1, X2, X3), active U51(tt(), M, N) -> mark s plus(N, M), active U61 X -> U61 active X, active U61 tt() -> mark 0(), active x(N, s M) -> mark U71(and(and(isNat M, isNatKind M), and(isNat N, isNatKind N)), M, N), active x(N, 0()) -> mark U61 and(isNat N, isNatKind N), active x(X1, X2) -> x(X1, active X2), active x(X1, X2) -> x(active X1, X2), active U71(X1, X2, X3) -> U71(active X1, X2, X3), active U71(tt(), M, N) -> mark plus(x(N, M), N), active and(X1, X2) -> and(active X1, X2), active and(tt(), X) -> mark X, active isNatKind s V1 -> mark isNatKind V1, active isNatKind plus(V1, V2) -> mark and(isNatKind V1, isNatKind V2), active isNatKind 0() -> mark tt(), active isNatKind x(V1, V2) -> mark and(isNatKind V1, isNatKind V2), U11(mark X1, X2, X3) -> mark U11(X1, X2, X3), U11(ok X1, ok X2, ok X3) -> ok U11(X1, X2, X3), U13 mark X -> mark U13 X, U13 ok X -> ok U13 X, U22 mark X -> mark U22 X, U22 ok X -> ok U22 X, U21(mark X1, X2) -> mark U21(X1, X2), U21(ok X1, ok X2) -> ok U21(X1, X2), U32(mark X1, X2) -> mark U32(X1, X2), U32(ok X1, ok X2) -> ok U32(X1, X2), U31(mark X1, X2, X3) -> mark U31(X1, X2, X3), U31(ok X1, ok X2, ok X3) -> ok U31(X1, X2, X3), U33 mark X -> mark U33 X, U33 ok X -> ok U33 X, U41(mark X1, X2) -> mark U41(X1, X2), U41(ok X1, ok X2) -> ok U41(X1, X2), s mark X -> mark s X, s ok X -> ok s X, plus(X1, mark X2) -> mark plus(X1, X2), plus(mark X1, X2) -> mark plus(X1, X2), plus(ok X1, ok X2) -> ok plus(X1, X2), U51(mark X1, X2, X3) -> mark U51(X1, X2, X3), U51(ok X1, ok X2, ok X3) -> ok U51(X1, X2, X3), U61 mark X -> mark U61 X, U61 ok X -> ok U61 X, x(X1, mark X2) -> mark x(X1, X2), x(mark X1, X2) -> mark x(X1, X2), x(ok X1, ok X2) -> ok x(X1, X2), U71(mark X1, X2, X3) -> mark U71(X1, X2, X3), U71(ok X1, ok X2, ok X3) -> ok U71(X1, X2, X3), and(mark X1, X2) -> mark and(X1, X2), and(ok X1, ok X2) -> ok and(X1, X2), isNatKind ok X -> ok isNatKind X, proper U12(X1, X2) -> U12(proper X1, proper X2), proper isNat X -> isNat proper X, proper U11(X1, X2, X3) -> U11(proper X1, proper X2, proper X3), proper tt() -> ok tt(), proper U13 X -> U13 proper X, proper U22 X -> U22 proper X, proper U21(X1, X2) -> U21(proper X1, proper X2), proper U32(X1, X2) -> U32(proper X1, proper X2), proper U31(X1, X2, X3) -> U31(proper X1, proper X2, proper X3), proper U33 X -> U33 proper X, proper U41(X1, X2) -> U41(proper X1, proper X2), proper s X -> s proper X, proper plus(X1, X2) -> plus(proper X1, proper X2), proper U51(X1, X2, X3) -> U51(proper X1, proper X2, proper X3), proper 0() -> ok 0(), proper U61 X -> U61 proper X, proper x(X1, X2) -> x(proper X1, proper X2), proper U71(X1, X2, X3) -> U71(proper X1, proper X2, proper X3), proper and(X1, X2) -> and(proper X1, proper X2), proper isNatKind X -> isNatKind proper X, top mark X -> top proper X, top ok X -> top active X} 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: { U12(mark X1, X2) -> mark U12(X1, X2), U12(ok X1, ok X2) -> ok U12(X1, X2), isNat ok X -> ok isNat X, active U12(X1, X2) -> U12(active X1, X2), active U12(tt(), V2) -> mark U13 isNat V2, active isNat s V1 -> mark U21(isNatKind V1, V1), active isNat plus(V1, V2) -> mark U11(and(isNatKind V1, isNatKind V2), V1, V2), active isNat 0() -> mark tt(), active isNat x(V1, V2) -> mark U31(and(isNatKind V1, isNatKind V2), V1, V2), active U11(X1, X2, X3) -> U11(active X1, X2, X3), active U11(tt(), V1, V2) -> mark U12(isNat V1, V2), active U13 X -> U13 active X, active U13 tt() -> mark tt(), active U22 X -> U22 active X, active U22 tt() -> mark tt(), active U21(X1, X2) -> U21(active X1, X2), active U21(tt(), V1) -> mark U22 isNat V1, active U32(X1, X2) -> U32(active X1, X2), active U32(tt(), V2) -> mark U33 isNat V2, active U31(X1, X2, X3) -> U31(active X1, X2, X3), active U31(tt(), V1, V2) -> mark U32(isNat V1, V2), active U33 X -> U33 active X, active U33 tt() -> mark tt(), active U41(X1, X2) -> U41(active X1, X2), active U41(tt(), N) -> mark N, active s X -> s active X, active plus(N, s M) -> mark U51(and(and(isNat M, isNatKind M), and(isNat N, isNatKind N)), M, N), active plus(N, 0()) -> mark U41(and(isNat N, isNatKind N), N), active plus(X1, X2) -> plus(X1, active X2), active plus(X1, X2) -> plus(active X1, X2), active U51(X1, X2, X3) -> U51(active X1, X2, X3), active U51(tt(), M, N) -> mark s plus(N, M), active U61 X -> U61 active X, active U61 tt() -> mark 0(), active x(N, s M) -> mark U71(and(and(isNat M, isNatKind M), and(isNat N, isNatKind N)), M, N), active x(N, 0()) -> mark U61 and(isNat N, isNatKind N), active x(X1, X2) -> x(X1, active X2), active x(X1, X2) -> x(active X1, X2), active U71(X1, X2, X3) -> U71(active X1, X2, X3), active U71(tt(), M, N) -> mark plus(x(N, M), N), active and(X1, X2) -> and(active X1, X2), active and(tt(), X) -> mark X, active isNatKind s V1 -> mark isNatKind V1, active isNatKind plus(V1, V2) -> mark and(isNatKind V1, isNatKind V2), active isNatKind 0() -> mark tt(), active isNatKind x(V1, V2) -> mark and(isNatKind V1, isNatKind V2), U11(mark X1, X2, X3) -> mark U11(X1, X2, X3), U11(ok X1, ok X2, ok X3) -> ok U11(X1, X2, X3), U13 mark X -> mark U13 X, U13 ok X -> ok U13 X, U22 mark X -> mark U22 X, U22 ok X -> ok U22 X, U21(mark X1, X2) -> mark U21(X1, X2), U21(ok X1, ok X2) -> ok U21(X1, X2), U32(mark X1, X2) -> mark U32(X1, X2), U32(ok X1, ok X2) -> ok U32(X1, X2), U31(mark X1, X2, X3) -> mark U31(X1, X2, X3), U31(ok X1, ok X2, ok X3) -> ok U31(X1, X2, X3), U33 mark X -> mark U33 X, U33 ok X -> ok U33 X, U41(mark X1, X2) -> mark U41(X1, X2), U41(ok X1, ok X2) -> ok U41(X1, X2), s mark X -> mark s X, s ok X -> ok s X, plus(X1, mark X2) -> mark plus(X1, X2), plus(mark X1, X2) -> mark plus(X1, X2), plus(ok X1, ok X2) -> ok plus(X1, X2), U51(mark X1, X2, X3) -> mark U51(X1, X2, X3), U51(ok X1, ok X2, ok X3) -> ok U51(X1, X2, X3), U61 mark X -> mark U61 X, U61 ok X -> ok U61 X, x(X1, mark X2) -> mark x(X1, X2), x(mark X1, X2) -> mark x(X1, X2), x(ok X1, ok X2) -> ok x(X1, X2), U71(mark X1, X2, X3) -> mark U71(X1, X2, X3), U71(ok X1, ok X2, ok X3) -> ok U71(X1, X2, X3), and(mark X1, X2) -> mark and(X1, X2), and(ok X1, ok X2) -> ok and(X1, X2), isNatKind ok X -> ok isNatKind X, proper U12(X1, X2) -> U12(proper X1, proper X2), proper isNat X -> isNat proper X, proper U11(X1, X2, X3) -> U11(proper X1, proper X2, proper X3), proper tt() -> ok tt(), proper U13 X -> U13 proper X, proper U22 X -> U22 proper X, proper U21(X1, X2) -> U21(proper X1, proper X2), proper U32(X1, X2) -> U32(proper X1, proper X2), proper U31(X1, X2, X3) -> U31(proper X1, proper X2, proper X3), proper U33 X -> U33 proper X, proper U41(X1, X2) -> U41(proper X1, proper X2), proper s X -> s proper X, proper plus(X1, X2) -> plus(proper X1, proper X2), proper U51(X1, X2, X3) -> U51(proper X1, proper X2, proper X3), proper 0() -> ok 0(), proper U61 X -> U61 proper X, proper x(X1, X2) -> x(proper X1, proper X2), proper U71(X1, X2, X3) -> U71(proper X1, proper X2, proper X3), proper and(X1, X2) -> and(proper X1, proper X2), proper isNatKind X -> isNatKind proper X, top mark X -> top proper X, top ok X -> top active X} Open SCC (2): Strict: { U71#(mark X1, X2, X3) -> U71#(X1, X2, X3), U71#(ok X1, ok X2, ok X3) -> U71#(X1, X2, X3)} Weak: { U12(mark X1, X2) -> mark U12(X1, X2), U12(ok X1, ok X2) -> ok U12(X1, X2), isNat ok X -> ok isNat X, active U12(X1, X2) -> U12(active X1, X2), active U12(tt(), V2) -> mark U13 isNat V2, active isNat s V1 -> mark U21(isNatKind V1, V1), active isNat plus(V1, V2) -> mark U11(and(isNatKind V1, isNatKind V2), V1, V2), active isNat 0() -> mark tt(), active isNat x(V1, V2) -> mark U31(and(isNatKind V1, isNatKind V2), V1, V2), active U11(X1, X2, X3) -> U11(active X1, X2, X3), active U11(tt(), V1, V2) -> mark U12(isNat V1, V2), active U13 X -> U13 active X, active U13 tt() -> mark tt(), active U22 X -> U22 active X, active U22 tt() -> mark tt(), active U21(X1, X2) -> U21(active X1, X2), active U21(tt(), V1) -> mark U22 isNat V1, active U32(X1, X2) -> U32(active X1, X2), active U32(tt(), V2) -> mark U33 isNat V2, active U31(X1, X2, X3) -> U31(active X1, X2, X3), active U31(tt(), V1, V2) -> mark U32(isNat V1, V2), active U33 X -> U33 active X, active U33 tt() -> mark tt(), active U41(X1, X2) -> U41(active X1, X2), active U41(tt(), N) -> mark N, active s X -> s active X, active plus(N, s M) -> mark U51(and(and(isNat M, isNatKind M), and(isNat N, isNatKind N)), M, N), active plus(N, 0()) -> mark U41(and(isNat N, isNatKind N), N), active plus(X1, X2) -> plus(X1, active X2), active plus(X1, X2) -> plus(active X1, X2), active U51(X1, X2, X3) -> U51(active X1, X2, X3), active U51(tt(), M, N) -> mark s plus(N, M), active U61 X -> U61 active X, active U61 tt() -> mark 0(), active x(N, s M) -> mark U71(and(and(isNat M, isNatKind M), and(isNat N, isNatKind N)), M, N), active x(N, 0()) -> mark U61 and(isNat N, isNatKind N), active x(X1, X2) -> x(X1, active X2), active x(X1, X2) -> x(active X1, X2), active U71(X1, X2, X3) -> U71(active X1, X2, X3), active U71(tt(), M, N) -> mark plus(x(N, M), N), active and(X1, X2) -> and(active X1, X2), active and(tt(), X) -> mark X, active isNatKind s V1 -> mark isNatKind V1, active isNatKind plus(V1, V2) -> mark and(isNatKind V1, isNatKind V2), active isNatKind 0() -> mark tt(), active isNatKind x(V1, V2) -> mark and(isNatKind V1, isNatKind V2), U11(mark X1, X2, X3) -> mark U11(X1, X2, X3), U11(ok X1, ok X2, ok X3) -> ok U11(X1, X2, X3), U13 mark X -> mark U13 X, U13 ok X -> ok U13 X, U22 mark X -> mark U22 X, U22 ok X -> ok U22 X, U21(mark X1, X2) -> mark U21(X1, X2), U21(ok X1, ok X2) -> ok U21(X1, X2), U32(mark X1, X2) -> mark U32(X1, X2), U32(ok X1, ok X2) -> ok U32(X1, X2), U31(mark X1, X2, X3) -> mark U31(X1, X2, X3), U31(ok X1, ok X2, ok X3) -> ok U31(X1, X2, X3), U33 mark X -> mark U33 X, U33 ok X -> ok U33 X, U41(mark X1, X2) -> mark U41(X1, X2), U41(ok X1, ok X2) -> ok U41(X1, X2), s mark X -> mark s X, s ok X -> ok s X, plus(X1, mark X2) -> mark plus(X1, X2), plus(mark X1, X2) -> mark plus(X1, X2), plus(ok X1, ok X2) -> ok plus(X1, X2), U51(mark X1, X2, X3) -> mark U51(X1, X2, X3), U51(ok X1, ok X2, ok X3) -> ok U51(X1, X2, X3), U61 mark X -> mark U61 X, U61 ok X -> ok U61 X, x(X1, mark X2) -> mark x(X1, X2), x(mark X1, X2) -> mark x(X1, X2), x(ok X1, ok X2) -> ok x(X1, X2), U71(mark X1, X2, X3) -> mark U71(X1, X2, X3), U71(ok X1, ok X2, ok X3) -> ok U71(X1, X2, X3), and(mark X1, X2) -> mark and(X1, X2), and(ok X1, ok X2) -> ok and(X1, X2), isNatKind ok X -> ok isNatKind X, proper U12(X1, X2) -> U12(proper X1, proper X2), proper isNat X -> isNat proper X, proper U11(X1, X2, X3) -> U11(proper X1, proper X2, proper X3), proper tt() -> ok tt(), proper U13 X -> U13 proper X, proper U22 X -> U22 proper X, proper U21(X1, X2) -> U21(proper X1, proper X2), proper U32(X1, X2) -> U32(proper X1, proper X2), proper U31(X1, X2, X3) -> U31(proper X1, proper X2, proper X3), proper U33 X -> U33 proper X, proper U41(X1, X2) -> U41(proper X1, proper X2), proper s X -> s proper X, proper plus(X1, X2) -> plus(proper X1, proper X2), proper U51(X1, X2, X3) -> U51(proper X1, proper X2, proper X3), proper 0() -> ok 0(), proper U61 X -> U61 proper X, proper x(X1, X2) -> x(proper X1, proper X2), proper U71(X1, X2, X3) -> U71(proper X1, proper X2, proper X3), proper and(X1, X2) -> and(proper X1, proper X2), proper isNatKind X -> isNatKind proper X, top mark X -> top proper X, top ok X -> top active X} Open SCC (2): Strict: {U61# mark X -> U61# X, U61# ok X -> U61# X} Weak: { U12(mark X1, X2) -> mark U12(X1, X2), U12(ok X1, ok X2) -> ok U12(X1, X2), isNat ok X -> ok isNat X, active U12(X1, X2) -> U12(active X1, X2), active U12(tt(), V2) -> mark U13 isNat V2, active isNat s V1 -> mark U21(isNatKind V1, V1), active isNat plus(V1, V2) -> mark U11(and(isNatKind V1, isNatKind V2), V1, V2), active isNat 0() -> mark tt(), active isNat x(V1, V2) -> mark U31(and(isNatKind V1, isNatKind V2), V1, V2), active U11(X1, X2, X3) -> U11(active X1, X2, X3), active U11(tt(), V1, V2) -> mark U12(isNat V1, V2), active U13 X -> U13 active X, active U13 tt() -> mark tt(), active U22 X -> U22 active X, active U22 tt() -> mark tt(), active U21(X1, X2) -> U21(active X1, X2), active U21(tt(), V1) -> mark U22 isNat V1, active U32(X1, X2) -> U32(active X1, X2), active U32(tt(), V2) -> mark U33 isNat V2, active U31(X1, X2, X3) -> U31(active X1, X2, X3), active U31(tt(), V1, V2) -> mark U32(isNat V1, V2), active U33 X -> U33 active X, active U33 tt() -> mark tt(), active U41(X1, X2) -> U41(active X1, X2), active U41(tt(), N) -> mark N, active s X -> s active X, active plus(N, s M) -> mark U51(and(and(isNat M, isNatKind M), and(isNat N, isNatKind N)), M, N), active plus(N, 0()) -> mark U41(and(isNat N, isNatKind N), N), active plus(X1, X2) -> plus(X1, active X2), active plus(X1, X2) -> plus(active X1, X2), active U51(X1, X2, X3) -> U51(active X1, X2, X3), active U51(tt(), M, N) -> mark s plus(N, M), active U61 X -> U61 active X, active U61 tt() -> mark 0(), active x(N, s M) -> mark U71(and(and(isNat M, isNatKind M), and(isNat N, isNatKind N)), M, N), active x(N, 0()) -> mark U61 and(isNat N, isNatKind N), active x(X1, X2) -> x(X1, active X2), active x(X1, X2) -> x(active X1, X2), active U71(X1, X2, X3) -> U71(active X1, X2, X3), active U71(tt(), M, N) -> mark plus(x(N, M), N), active and(X1, X2) -> and(active X1, X2), active and(tt(), X) -> mark X, active isNatKind s V1 -> mark isNatKind V1, active isNatKind plus(V1, V2) -> mark and(isNatKind V1, isNatKind V2), active isNatKind 0() -> mark tt(), active isNatKind x(V1, V2) -> mark and(isNatKind V1, isNatKind V2), U11(mark X1, X2, X3) -> mark U11(X1, X2, X3), U11(ok X1, ok X2, ok X3) -> ok U11(X1, X2, X3), U13 mark X -> mark U13 X, U13 ok X -> ok U13 X, U22 mark X -> mark U22 X, U22 ok X -> ok U22 X, U21(mark X1, X2) -> mark U21(X1, X2), U21(ok X1, ok X2) -> ok U21(X1, X2), U32(mark X1, X2) -> mark U32(X1, X2), U32(ok X1, ok X2) -> ok U32(X1, X2), U31(mark X1, X2, X3) -> mark U31(X1, X2, X3), U31(ok X1, ok X2, ok X3) -> ok U31(X1, X2, X3), U33 mark X -> mark U33 X, U33 ok X -> ok U33 X, U41(mark X1, X2) -> mark U41(X1, X2), U41(ok X1, ok X2) -> ok U41(X1, X2), s mark X -> mark s X, s ok X -> ok s X, plus(X1, mark X2) -> mark plus(X1, X2), plus(mark X1, X2) -> mark plus(X1, X2), plus(ok X1, ok X2) -> ok plus(X1, X2), U51(mark X1, X2, X3) -> mark U51(X1, X2, X3), U51(ok X1, ok X2, ok X3) -> ok U51(X1, X2, X3), U61 mark X -> mark U61 X, U61 ok X -> ok U61 X, x(X1, mark X2) -> mark x(X1, X2), x(mark X1, X2) -> mark x(X1, X2), x(ok X1, ok X2) -> ok x(X1, X2), U71(mark X1, X2, X3) -> mark U71(X1, X2, X3), U71(ok X1, ok X2, ok X3) -> ok U71(X1, X2, X3), and(mark X1, X2) -> mark and(X1, X2), and(ok X1, ok X2) -> ok and(X1, X2), isNatKind ok X -> ok isNatKind X, proper U12(X1, X2) -> U12(proper X1, proper X2), proper isNat X -> isNat proper X, proper U11(X1, X2, X3) -> U11(proper X1, proper X2, proper X3), proper tt() -> ok tt(), proper U13 X -> U13 proper X, proper U22 X -> U22 proper X, proper U21(X1, X2) -> U21(proper X1, proper X2), proper U32(X1, X2) -> U32(proper X1, proper X2), proper U31(X1, X2, X3) -> U31(proper X1, proper X2, proper X3), proper U33 X -> U33 proper X, proper U41(X1, X2) -> U41(proper X1, proper X2), proper s X -> s proper X, proper plus(X1, X2) -> plus(proper X1, proper X2), proper U51(X1, X2, X3) -> U51(proper X1, proper X2, proper X3), proper 0() -> ok 0(), proper U61 X -> U61 proper X, proper x(X1, X2) -> x(proper X1, proper X2), proper U71(X1, X2, X3) -> U71(proper X1, proper X2, proper X3), proper and(X1, X2) -> and(proper X1, proper X2), proper isNatKind X -> isNatKind proper X, top mark X -> top proper X, top ok X -> top active X} 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: { U12(mark X1, X2) -> mark U12(X1, X2), U12(ok X1, ok X2) -> ok U12(X1, X2), isNat ok X -> ok isNat X, active U12(X1, X2) -> U12(active X1, X2), active U12(tt(), V2) -> mark U13 isNat V2, active isNat s V1 -> mark U21(isNatKind V1, V1), active isNat plus(V1, V2) -> mark U11(and(isNatKind V1, isNatKind V2), V1, V2), active isNat 0() -> mark tt(), active isNat x(V1, V2) -> mark U31(and(isNatKind V1, isNatKind V2), V1, V2), active U11(X1, X2, X3) -> U11(active X1, X2, X3), active U11(tt(), V1, V2) -> mark U12(isNat V1, V2), active U13 X -> U13 active X, active U13 tt() -> mark tt(), active U22 X -> U22 active X, active U22 tt() -> mark tt(), active U21(X1, X2) -> U21(active X1, X2), active U21(tt(), V1) -> mark U22 isNat V1, active U32(X1, X2) -> U32(active X1, X2), active U32(tt(), V2) -> mark U33 isNat V2, active U31(X1, X2, X3) -> U31(active X1, X2, X3), active U31(tt(), V1, V2) -> mark U32(isNat V1, V2), active U33 X -> U33 active X, active U33 tt() -> mark tt(), active U41(X1, X2) -> U41(active X1, X2), active U41(tt(), N) -> mark N, active s X -> s active X, active plus(N, s M) -> mark U51(and(and(isNat M, isNatKind M), and(isNat N, isNatKind N)), M, N), active plus(N, 0()) -> mark U41(and(isNat N, isNatKind N), N), active plus(X1, X2) -> plus(X1, active X2), active plus(X1, X2) -> plus(active X1, X2), active U51(X1, X2, X3) -> U51(active X1, X2, X3), active U51(tt(), M, N) -> mark s plus(N, M), active U61 X -> U61 active X, active U61 tt() -> mark 0(), active x(N, s M) -> mark U71(and(and(isNat M, isNatKind M), and(isNat N, isNatKind N)), M, N), active x(N, 0()) -> mark U61 and(isNat N, isNatKind N), active x(X1, X2) -> x(X1, active X2), active x(X1, X2) -> x(active X1, X2), active U71(X1, X2, X3) -> U71(active X1, X2, X3), active U71(tt(), M, N) -> mark plus(x(N, M), N), active and(X1, X2) -> and(active X1, X2), active and(tt(), X) -> mark X, active isNatKind s V1 -> mark isNatKind V1, active isNatKind plus(V1, V2) -> mark and(isNatKind V1, isNatKind V2), active isNatKind 0() -> mark tt(), active isNatKind x(V1, V2) -> mark and(isNatKind V1, isNatKind V2), U11(mark X1, X2, X3) -> mark U11(X1, X2, X3), U11(ok X1, ok X2, ok X3) -> ok U11(X1, X2, X3), U13 mark X -> mark U13 X, U13 ok X -> ok U13 X, U22 mark X -> mark U22 X, U22 ok X -> ok U22 X, U21(mark X1, X2) -> mark U21(X1, X2), U21(ok X1, ok X2) -> ok U21(X1, X2), U32(mark X1, X2) -> mark U32(X1, X2), U32(ok X1, ok X2) -> ok U32(X1, X2), U31(mark X1, X2, X3) -> mark U31(X1, X2, X3), U31(ok X1, ok X2, ok X3) -> ok U31(X1, X2, X3), U33 mark X -> mark U33 X, U33 ok X -> ok U33 X, U41(mark X1, X2) -> mark U41(X1, X2), U41(ok X1, ok X2) -> ok U41(X1, X2), s mark X -> mark s X, s ok X -> ok s X, plus(X1, mark X2) -> mark plus(X1, X2), plus(mark X1, X2) -> mark plus(X1, X2), plus(ok X1, ok X2) -> ok plus(X1, X2), U51(mark X1, X2, X3) -> mark U51(X1, X2, X3), U51(ok X1, ok X2, ok X3) -> ok U51(X1, X2, X3), U61 mark X -> mark U61 X, U61 ok X -> ok U61 X, x(X1, mark X2) -> mark x(X1, X2), x(mark X1, X2) -> mark x(X1, X2), x(ok X1, ok X2) -> ok x(X1, X2), U71(mark X1, X2, X3) -> mark U71(X1, X2, X3), U71(ok X1, ok X2, ok X3) -> ok U71(X1, X2, X3), and(mark X1, X2) -> mark and(X1, X2), and(ok X1, ok X2) -> ok and(X1, X2), isNatKind ok X -> ok isNatKind X, proper U12(X1, X2) -> U12(proper X1, proper X2), proper isNat X -> isNat proper X, proper U11(X1, X2, X3) -> U11(proper X1, proper X2, proper X3), proper tt() -> ok tt(), proper U13 X -> U13 proper X, proper U22 X -> U22 proper X, proper U21(X1, X2) -> U21(proper X1, proper X2), proper U32(X1, X2) -> U32(proper X1, proper X2), proper U31(X1, X2, X3) -> U31(proper X1, proper X2, proper X3), proper U33 X -> U33 proper X, proper U41(X1, X2) -> U41(proper X1, proper X2), proper s X -> s proper X, proper plus(X1, X2) -> plus(proper X1, proper X2), proper U51(X1, X2, X3) -> U51(proper X1, proper X2, proper X3), proper 0() -> ok 0(), proper U61 X -> U61 proper X, proper x(X1, X2) -> x(proper X1, proper X2), proper U71(X1, X2, X3) -> U71(proper X1, proper X2, proper X3), proper and(X1, X2) -> and(proper X1, proper X2), proper isNatKind X -> isNatKind proper X, top mark X -> top proper X, top ok X -> top active X} Open SCC (2): Strict: { U51#(mark X1, X2, X3) -> U51#(X1, X2, X3), U51#(ok X1, ok X2, ok X3) -> U51#(X1, X2, X3)} Weak: { U12(mark X1, X2) -> mark U12(X1, X2), U12(ok X1, ok X2) -> ok U12(X1, X2), isNat ok X -> ok isNat X, active U12(X1, X2) -> U12(active X1, X2), active U12(tt(), V2) -> mark U13 isNat V2, active isNat s V1 -> mark U21(isNatKind V1, V1), active isNat plus(V1, V2) -> mark U11(and(isNatKind V1, isNatKind V2), V1, V2), active isNat 0() -> mark tt(), active isNat x(V1, V2) -> mark U31(and(isNatKind V1, isNatKind V2), V1, V2), active U11(X1, X2, X3) -> U11(active X1, X2, X3), active U11(tt(), V1, V2) -> mark U12(isNat V1, V2), active U13 X -> U13 active X, active U13 tt() -> mark tt(), active U22 X -> U22 active X, active U22 tt() -> mark tt(), active U21(X1, X2) -> U21(active X1, X2), active U21(tt(), V1) -> mark U22 isNat V1, active U32(X1, X2) -> U32(active X1, X2), active U32(tt(), V2) -> mark U33 isNat V2, active U31(X1, X2, X3) -> U31(active X1, X2, X3), active U31(tt(), V1, V2) -> mark U32(isNat V1, V2), active U33 X -> U33 active X, active U33 tt() -> mark tt(), active U41(X1, X2) -> U41(active X1, X2), active U41(tt(), N) -> mark N, active s X -> s active X, active plus(N, s M) -> mark U51(and(and(isNat M, isNatKind M), and(isNat N, isNatKind N)), M, N), active plus(N, 0()) -> mark U41(and(isNat N, isNatKind N), N), active plus(X1, X2) -> plus(X1, active X2), active plus(X1, X2) -> plus(active X1, X2), active U51(X1, X2, X3) -> U51(active X1, X2, X3), active U51(tt(), M, N) -> mark s plus(N, M), active U61 X -> U61 active X, active U61 tt() -> mark 0(), active x(N, s M) -> mark U71(and(and(isNat M, isNatKind M), and(isNat N, isNatKind N)), M, N), active x(N, 0()) -> mark U61 and(isNat N, isNatKind N), active x(X1, X2) -> x(X1, active X2), active x(X1, X2) -> x(active X1, X2), active U71(X1, X2, X3) -> U71(active X1, X2, X3), active U71(tt(), M, N) -> mark plus(x(N, M), N), active and(X1, X2) -> and(active X1, X2), active and(tt(), X) -> mark X, active isNatKind s V1 -> mark isNatKind V1, active isNatKind plus(V1, V2) -> mark and(isNatKind V1, isNatKind V2), active isNatKind 0() -> mark tt(), active isNatKind x(V1, V2) -> mark and(isNatKind V1, isNatKind V2), U11(mark X1, X2, X3) -> mark U11(X1, X2, X3), U11(ok X1, ok X2, ok X3) -> ok U11(X1, X2, X3), U13 mark X -> mark U13 X, U13 ok X -> ok U13 X, U22 mark X -> mark U22 X, U22 ok X -> ok U22 X, U21(mark X1, X2) -> mark U21(X1, X2), U21(ok X1, ok X2) -> ok U21(X1, X2), U32(mark X1, X2) -> mark U32(X1, X2), U32(ok X1, ok X2) -> ok U32(X1, X2), U31(mark X1, X2, X3) -> mark U31(X1, X2, X3), U31(ok X1, ok X2, ok X3) -> ok U31(X1, X2, X3), U33 mark X -> mark U33 X, U33 ok X -> ok U33 X, U41(mark X1, X2) -> mark U41(X1, X2), U41(ok X1, ok X2) -> ok U41(X1, X2), s mark X -> mark s X, s ok X -> ok s X, plus(X1, mark X2) -> mark plus(X1, X2), plus(mark X1, X2) -> mark plus(X1, X2), plus(ok X1, ok X2) -> ok plus(X1, X2), U51(mark X1, X2, X3) -> mark U51(X1, X2, X3), U51(ok X1, ok X2, ok X3) -> ok U51(X1, X2, X3), U61 mark X -> mark U61 X, U61 ok X -> ok U61 X, x(X1, mark X2) -> mark x(X1, X2), x(mark X1, X2) -> mark x(X1, X2), x(ok X1, ok X2) -> ok x(X1, X2), U71(mark X1, X2, X3) -> mark U71(X1, X2, X3), U71(ok X1, ok X2, ok X3) -> ok U71(X1, X2, X3), and(mark X1, X2) -> mark and(X1, X2), and(ok X1, ok X2) -> ok and(X1, X2), isNatKind ok X -> ok isNatKind X, proper U12(X1, X2) -> U12(proper X1, proper X2), proper isNat X -> isNat proper X, proper U11(X1, X2, X3) -> U11(proper X1, proper X2, proper X3), proper tt() -> ok tt(), proper U13 X -> U13 proper X, proper U22 X -> U22 proper X, proper U21(X1, X2) -> U21(proper X1, proper X2), proper U32(X1, X2) -> U32(proper X1, proper X2), proper U31(X1, X2, X3) -> U31(proper X1, proper X2, proper X3), proper U33 X -> U33 proper X, proper U41(X1, X2) -> U41(proper X1, proper X2), proper s X -> s proper X, proper plus(X1, X2) -> plus(proper X1, proper X2), proper U51(X1, X2, X3) -> U51(proper X1, proper X2, proper X3), proper 0() -> ok 0(), proper U61 X -> U61 proper X, proper x(X1, X2) -> x(proper X1, proper X2), proper U71(X1, X2, X3) -> U71(proper X1, proper X2, proper X3), proper and(X1, X2) -> and(proper X1, proper X2), proper isNatKind X -> isNatKind proper X, top mark X -> top proper X, top ok X -> top active X} Open SCC (2): Strict: {s# mark X -> s# X, s# ok X -> s# X} Weak: { U12(mark X1, X2) -> mark U12(X1, X2), U12(ok X1, ok X2) -> ok U12(X1, X2), isNat ok X -> ok isNat X, active U12(X1, X2) -> U12(active X1, X2), active U12(tt(), V2) -> mark U13 isNat V2, active isNat s V1 -> mark U21(isNatKind V1, V1), active isNat plus(V1, V2) -> mark U11(and(isNatKind V1, isNatKind V2), V1, V2), active isNat 0() -> mark tt(), active isNat x(V1, V2) -> mark U31(and(isNatKind V1, isNatKind V2), V1, V2), active U11(X1, X2, X3) -> U11(active X1, X2, X3), active U11(tt(), V1, V2) -> mark U12(isNat V1, V2), active U13 X -> U13 active X, active U13 tt() -> mark tt(), active U22 X -> U22 active X, active U22 tt() -> mark tt(), active U21(X1, X2) -> U21(active X1, X2), active U21(tt(), V1) -> mark U22 isNat V1, active U32(X1, X2) -> U32(active X1, X2), active U32(tt(), V2) -> mark U33 isNat V2, active U31(X1, X2, X3) -> U31(active X1, X2, X3), active U31(tt(), V1, V2) -> mark U32(isNat V1, V2), active U33 X -> U33 active X, active U33 tt() -> mark tt(), active U41(X1, X2) -> U41(active X1, X2), active U41(tt(), N) -> mark N, active s X -> s active X, active plus(N, s M) -> mark U51(and(and(isNat M, isNatKind M), and(isNat N, isNatKind N)), M, N), active plus(N, 0()) -> mark U41(and(isNat N, isNatKind N), N), active plus(X1, X2) -> plus(X1, active X2), active plus(X1, X2) -> plus(active X1, X2), active U51(X1, X2, X3) -> U51(active X1, X2, X3), active U51(tt(), M, N) -> mark s plus(N, M), active U61 X -> U61 active X, active U61 tt() -> mark 0(), active x(N, s M) -> mark U71(and(and(isNat M, isNatKind M), and(isNat N, isNatKind N)), M, N), active x(N, 0()) -> mark U61 and(isNat N, isNatKind N), active x(X1, X2) -> x(X1, active X2), active x(X1, X2) -> x(active X1, X2), active U71(X1, X2, X3) -> U71(active X1, X2, X3), active U71(tt(), M, N) -> mark plus(x(N, M), N), active and(X1, X2) -> and(active X1, X2), active and(tt(), X) -> mark X, active isNatKind s V1 -> mark isNatKind V1, active isNatKind plus(V1, V2) -> mark and(isNatKind V1, isNatKind V2), active isNatKind 0() -> mark tt(), active isNatKind x(V1, V2) -> mark and(isNatKind V1, isNatKind V2), U11(mark X1, X2, X3) -> mark U11(X1, X2, X3), U11(ok X1, ok X2, ok X3) -> ok U11(X1, X2, X3), U13 mark X -> mark U13 X, U13 ok X -> ok U13 X, U22 mark X -> mark U22 X, U22 ok X -> ok U22 X, U21(mark X1, X2) -> mark U21(X1, X2), U21(ok X1, ok X2) -> ok U21(X1, X2), U32(mark X1, X2) -> mark U32(X1, X2), U32(ok X1, ok X2) -> ok U32(X1, X2), U31(mark X1, X2, X3) -> mark U31(X1, X2, X3), U31(ok X1, ok X2, ok X3) -> ok U31(X1, X2, X3), U33 mark X -> mark U33 X, U33 ok X -> ok U33 X, U41(mark X1, X2) -> mark U41(X1, X2), U41(ok X1, ok X2) -> ok U41(X1, X2), s mark X -> mark s X, s ok X -> ok s X, plus(X1, mark X2) -> mark plus(X1, X2), plus(mark X1, X2) -> mark plus(X1, X2), plus(ok X1, ok X2) -> ok plus(X1, X2), U51(mark X1, X2, X3) -> mark U51(X1, X2, X3), U51(ok X1, ok X2, ok X3) -> ok U51(X1, X2, X3), U61 mark X -> mark U61 X, U61 ok X -> ok U61 X, x(X1, mark X2) -> mark x(X1, X2), x(mark X1, X2) -> mark x(X1, X2), x(ok X1, ok X2) -> ok x(X1, X2), U71(mark X1, X2, X3) -> mark U71(X1, X2, X3), U71(ok X1, ok X2, ok X3) -> ok U71(X1, X2, X3), and(mark X1, X2) -> mark and(X1, X2), and(ok X1, ok X2) -> ok and(X1, X2), isNatKind ok X -> ok isNatKind X, proper U12(X1, X2) -> U12(proper X1, proper X2), proper isNat X -> isNat proper X, proper U11(X1, X2, X3) -> U11(proper X1, proper X2, proper X3), proper tt() -> ok tt(), proper U13 X -> U13 proper X, proper U22 X -> U22 proper X, proper U21(X1, X2) -> U21(proper X1, proper X2), proper U32(X1, X2) -> U32(proper X1, proper X2), proper U31(X1, X2, X3) -> U31(proper X1, proper X2, proper X3), proper U33 X -> U33 proper X, proper U41(X1, X2) -> U41(proper X1, proper X2), proper s X -> s proper X, proper plus(X1, X2) -> plus(proper X1, proper X2), proper U51(X1, X2, X3) -> U51(proper X1, proper X2, proper X3), proper 0() -> ok 0(), proper U61 X -> U61 proper X, proper x(X1, X2) -> x(proper X1, proper X2), proper U71(X1, X2, X3) -> U71(proper X1, proper X2, proper X3), proper and(X1, X2) -> and(proper X1, proper X2), proper isNatKind X -> isNatKind proper X, top mark X -> top proper X, top ok X -> top active X} Open SCC (2): Strict: { U41#(mark X1, X2) -> U41#(X1, X2), U41#(ok X1, ok X2) -> U41#(X1, X2)} Weak: { U12(mark X1, X2) -> mark U12(X1, X2), U12(ok X1, ok X2) -> ok U12(X1, X2), isNat ok X -> ok isNat X, active U12(X1, X2) -> U12(active X1, X2), active U12(tt(), V2) -> mark U13 isNat V2, active isNat s V1 -> mark U21(isNatKind V1, V1), active isNat plus(V1, V2) -> mark U11(and(isNatKind V1, isNatKind V2), V1, V2), active isNat 0() -> mark tt(), active isNat x(V1, V2) -> mark U31(and(isNatKind V1, isNatKind V2), V1, V2), active U11(X1, X2, X3) -> U11(active X1, X2, X3), active U11(tt(), V1, V2) -> mark U12(isNat V1, V2), active U13 X -> U13 active X, active U13 tt() -> mark tt(), active U22 X -> U22 active X, active U22 tt() -> mark tt(), active U21(X1, X2) -> U21(active X1, X2), active U21(tt(), V1) -> mark U22 isNat V1, active U32(X1, X2) -> U32(active X1, X2), active U32(tt(), V2) -> mark U33 isNat V2, active U31(X1, X2, X3) -> U31(active X1, X2, X3), active U31(tt(), V1, V2) -> mark U32(isNat V1, V2), active U33 X -> U33 active X, active U33 tt() -> mark tt(), active U41(X1, X2) -> U41(active X1, X2), active U41(tt(), N) -> mark N, active s X -> s active X, active plus(N, s M) -> mark U51(and(and(isNat M, isNatKind M), and(isNat N, isNatKind N)), M, N), active plus(N, 0()) -> mark U41(and(isNat N, isNatKind N), N), active plus(X1, X2) -> plus(X1, active X2), active plus(X1, X2) -> plus(active X1, X2), active U51(X1, X2, X3) -> U51(active X1, X2, X3), active U51(tt(), M, N) -> mark s plus(N, M), active U61 X -> U61 active X, active U61 tt() -> mark 0(), active x(N, s M) -> mark U71(and(and(isNat M, isNatKind M), and(isNat N, isNatKind N)), M, N), active x(N, 0()) -> mark U61 and(isNat N, isNatKind N), active x(X1, X2) -> x(X1, active X2), active x(X1, X2) -> x(active X1, X2), active U71(X1, X2, X3) -> U71(active X1, X2, X3), active U71(tt(), M, N) -> mark plus(x(N, M), N), active and(X1, X2) -> and(active X1, X2), active and(tt(), X) -> mark X, active isNatKind s V1 -> mark isNatKind V1, active isNatKind plus(V1, V2) -> mark and(isNatKind V1, isNatKind V2), active isNatKind 0() -> mark tt(), active isNatKind x(V1, V2) -> mark and(isNatKind V1, isNatKind V2), U11(mark X1, X2, X3) -> mark U11(X1, X2, X3), U11(ok X1, ok X2, ok X3) -> ok U11(X1, X2, X3), U13 mark X -> mark U13 X, U13 ok X -> ok U13 X, U22 mark X -> mark U22 X, U22 ok X -> ok U22 X, U21(mark X1, X2) -> mark U21(X1, X2), U21(ok X1, ok X2) -> ok U21(X1, X2), U32(mark X1, X2) -> mark U32(X1, X2), U32(ok X1, ok X2) -> ok U32(X1, X2), U31(mark X1, X2, X3) -> mark U31(X1, X2, X3), U31(ok X1, ok X2, ok X3) -> ok U31(X1, X2, X3), U33 mark X -> mark U33 X, U33 ok X -> ok U33 X, U41(mark X1, X2) -> mark U41(X1, X2), U41(ok X1, ok X2) -> ok U41(X1, X2), s mark X -> mark s X, s ok X -> ok s X, plus(X1, mark X2) -> mark plus(X1, X2), plus(mark X1, X2) -> mark plus(X1, X2), plus(ok X1, ok X2) -> ok plus(X1, X2), U51(mark X1, X2, X3) -> mark U51(X1, X2, X3), U51(ok X1, ok X2, ok X3) -> ok U51(X1, X2, X3), U61 mark X -> mark U61 X, U61 ok X -> ok U61 X, x(X1, mark X2) -> mark x(X1, X2), x(mark X1, X2) -> mark x(X1, X2), x(ok X1, ok X2) -> ok x(X1, X2), U71(mark X1, X2, X3) -> mark U71(X1, X2, X3), U71(ok X1, ok X2, ok X3) -> ok U71(X1, X2, X3), and(mark X1, X2) -> mark and(X1, X2), and(ok X1, ok X2) -> ok and(X1, X2), isNatKind ok X -> ok isNatKind X, proper U12(X1, X2) -> U12(proper X1, proper X2), proper isNat X -> isNat proper X, proper U11(X1, X2, X3) -> U11(proper X1, proper X2, proper X3), proper tt() -> ok tt(), proper U13 X -> U13 proper X, proper U22 X -> U22 proper X, proper U21(X1, X2) -> U21(proper X1, proper X2), proper U32(X1, X2) -> U32(proper X1, proper X2), proper U31(X1, X2, X3) -> U31(proper X1, proper X2, proper X3), proper U33 X -> U33 proper X, proper U41(X1, X2) -> U41(proper X1, proper X2), proper s X -> s proper X, proper plus(X1, X2) -> plus(proper X1, proper X2), proper U51(X1, X2, X3) -> U51(proper X1, proper X2, proper X3), proper 0() -> ok 0(), proper U61 X -> U61 proper X, proper x(X1, X2) -> x(proper X1, proper X2), proper U71(X1, X2, X3) -> U71(proper X1, proper X2, proper X3), proper and(X1, X2) -> and(proper X1, proper X2), proper isNatKind X -> isNatKind proper X, top mark X -> top proper X, top ok X -> top active X} Open SCC (2): Strict: {U33# mark X -> U33# X, U33# ok X -> U33# X} Weak: { U12(mark X1, X2) -> mark U12(X1, X2), U12(ok X1, ok X2) -> ok U12(X1, X2), isNat ok X -> ok isNat X, active U12(X1, X2) -> U12(active X1, X2), active U12(tt(), V2) -> mark U13 isNat V2, active isNat s V1 -> mark U21(isNatKind V1, V1), active isNat plus(V1, V2) -> mark U11(and(isNatKind V1, isNatKind V2), V1, V2), active isNat 0() -> mark tt(), active isNat x(V1, V2) -> mark U31(and(isNatKind V1, isNatKind V2), V1, V2), active U11(X1, X2, X3) -> U11(active X1, X2, X3), active U11(tt(), V1, V2) -> mark U12(isNat V1, V2), active U13 X -> U13 active X, active U13 tt() -> mark tt(), active U22 X -> U22 active X, active U22 tt() -> mark tt(), active U21(X1, X2) -> U21(active X1, X2), active U21(tt(), V1) -> mark U22 isNat V1, active U32(X1, X2) -> U32(active X1, X2), active U32(tt(), V2) -> mark U33 isNat V2, active U31(X1, X2, X3) -> U31(active X1, X2, X3), active U31(tt(), V1, V2) -> mark U32(isNat V1, V2), active U33 X -> U33 active X, active U33 tt() -> mark tt(), active U41(X1, X2) -> U41(active X1, X2), active U41(tt(), N) -> mark N, active s X -> s active X, active plus(N, s M) -> mark U51(and(and(isNat M, isNatKind M), and(isNat N, isNatKind N)), M, N), active plus(N, 0()) -> mark U41(and(isNat N, isNatKind N), N), active plus(X1, X2) -> plus(X1, active X2), active plus(X1, X2) -> plus(active X1, X2), active U51(X1, X2, X3) -> U51(active X1, X2, X3), active U51(tt(), M, N) -> mark s plus(N, M), active U61 X -> U61 active X, active U61 tt() -> mark 0(), active x(N, s M) -> mark U71(and(and(isNat M, isNatKind M), and(isNat N, isNatKind N)), M, N), active x(N, 0()) -> mark U61 and(isNat N, isNatKind N), active x(X1, X2) -> x(X1, active X2), active x(X1, X2) -> x(active X1, X2), active U71(X1, X2, X3) -> U71(active X1, X2, X3), active U71(tt(), M, N) -> mark plus(x(N, M), N), active and(X1, X2) -> and(active X1, X2), active and(tt(), X) -> mark X, active isNatKind s V1 -> mark isNatKind V1, active isNatKind plus(V1, V2) -> mark and(isNatKind V1, isNatKind V2), active isNatKind 0() -> mark tt(), active isNatKind x(V1, V2) -> mark and(isNatKind V1, isNatKind V2), U11(mark X1, X2, X3) -> mark U11(X1, X2, X3), U11(ok X1, ok X2, ok X3) -> ok U11(X1, X2, X3), U13 mark X -> mark U13 X, U13 ok X -> ok U13 X, U22 mark X -> mark U22 X, U22 ok X -> ok U22 X, U21(mark X1, X2) -> mark U21(X1, X2), U21(ok X1, ok X2) -> ok U21(X1, X2), U32(mark X1, X2) -> mark U32(X1, X2), U32(ok X1, ok X2) -> ok U32(X1, X2), U31(mark X1, X2, X3) -> mark U31(X1, X2, X3), U31(ok X1, ok X2, ok X3) -> ok U31(X1, X2, X3), U33 mark X -> mark U33 X, U33 ok X -> ok U33 X, U41(mark X1, X2) -> mark U41(X1, X2), U41(ok X1, ok X2) -> ok U41(X1, X2), s mark X -> mark s X, s ok X -> ok s X, plus(X1, mark X2) -> mark plus(X1, X2), plus(mark X1, X2) -> mark plus(X1, X2), plus(ok X1, ok X2) -> ok plus(X1, X2), U51(mark X1, X2, X3) -> mark U51(X1, X2, X3), U51(ok X1, ok X2, ok X3) -> ok U51(X1, X2, X3), U61 mark X -> mark U61 X, U61 ok X -> ok U61 X, x(X1, mark X2) -> mark x(X1, X2), x(mark X1, X2) -> mark x(X1, X2), x(ok X1, ok X2) -> ok x(X1, X2), U71(mark X1, X2, X3) -> mark U71(X1, X2, X3), U71(ok X1, ok X2, ok X3) -> ok U71(X1, X2, X3), and(mark X1, X2) -> mark and(X1, X2), and(ok X1, ok X2) -> ok and(X1, X2), isNatKind ok X -> ok isNatKind X, proper U12(X1, X2) -> U12(proper X1, proper X2), proper isNat X -> isNat proper X, proper U11(X1, X2, X3) -> U11(proper X1, proper X2, proper X3), proper tt() -> ok tt(), proper U13 X -> U13 proper X, proper U22 X -> U22 proper X, proper U21(X1, X2) -> U21(proper X1, proper X2), proper U32(X1, X2) -> U32(proper X1, proper X2), proper U31(X1, X2, X3) -> U31(proper X1, proper X2, proper X3), proper U33 X -> U33 proper X, proper U41(X1, X2) -> U41(proper X1, proper X2), proper s X -> s proper X, proper plus(X1, X2) -> plus(proper X1, proper X2), proper U51(X1, X2, X3) -> U51(proper X1, proper X2, proper X3), proper 0() -> ok 0(), proper U61 X -> U61 proper X, proper x(X1, X2) -> x(proper X1, proper X2), proper U71(X1, X2, X3) -> U71(proper X1, proper X2, proper X3), proper and(X1, X2) -> and(proper X1, proper X2), proper isNatKind X -> isNatKind proper X, top mark X -> top proper X, top ok X -> top active X} Open SCC (2): Strict: { U32#(mark X1, X2) -> U32#(X1, X2), U32#(ok X1, ok X2) -> U32#(X1, X2)} Weak: { U12(mark X1, X2) -> mark U12(X1, X2), U12(ok X1, ok X2) -> ok U12(X1, X2), isNat ok X -> ok isNat X, active U12(X1, X2) -> U12(active X1, X2), active U12(tt(), V2) -> mark U13 isNat V2, active isNat s V1 -> mark U21(isNatKind V1, V1), active isNat plus(V1, V2) -> mark U11(and(isNatKind V1, isNatKind V2), V1, V2), active isNat 0() -> mark tt(), active isNat x(V1, V2) -> mark U31(and(isNatKind V1, isNatKind V2), V1, V2), active U11(X1, X2, X3) -> U11(active X1, X2, X3), active U11(tt(), V1, V2) -> mark U12(isNat V1, V2), active U13 X -> U13 active X, active U13 tt() -> mark tt(), active U22 X -> U22 active X, active U22 tt() -> mark tt(), active U21(X1, X2) -> U21(active X1, X2), active U21(tt(), V1) -> mark U22 isNat V1, active U32(X1, X2) -> U32(active X1, X2), active U32(tt(), V2) -> mark U33 isNat V2, active U31(X1, X2, X3) -> U31(active X1, X2, X3), active U31(tt(), V1, V2) -> mark U32(isNat V1, V2), active U33 X -> U33 active X, active U33 tt() -> mark tt(), active U41(X1, X2) -> U41(active X1, X2), active U41(tt(), N) -> mark N, active s X -> s active X, active plus(N, s M) -> mark U51(and(and(isNat M, isNatKind M), and(isNat N, isNatKind N)), M, N), active plus(N, 0()) -> mark U41(and(isNat N, isNatKind N), N), active plus(X1, X2) -> plus(X1, active X2), active plus(X1, X2) -> plus(active X1, X2), active U51(X1, X2, X3) -> U51(active X1, X2, X3), active U51(tt(), M, N) -> mark s plus(N, M), active U61 X -> U61 active X, active U61 tt() -> mark 0(), active x(N, s M) -> mark U71(and(and(isNat M, isNatKind M), and(isNat N, isNatKind N)), M, N), active x(N, 0()) -> mark U61 and(isNat N, isNatKind N), active x(X1, X2) -> x(X1, active X2), active x(X1, X2) -> x(active X1, X2), active U71(X1, X2, X3) -> U71(active X1, X2, X3), active U71(tt(), M, N) -> mark plus(x(N, M), N), active and(X1, X2) -> and(active X1, X2), active and(tt(), X) -> mark X, active isNatKind s V1 -> mark isNatKind V1, active isNatKind plus(V1, V2) -> mark and(isNatKind V1, isNatKind V2), active isNatKind 0() -> mark tt(), active isNatKind x(V1, V2) -> mark and(isNatKind V1, isNatKind V2), U11(mark X1, X2, X3) -> mark U11(X1, X2, X3), U11(ok X1, ok X2, ok X3) -> ok U11(X1, X2, X3), U13 mark X -> mark U13 X, U13 ok X -> ok U13 X, U22 mark X -> mark U22 X, U22 ok X -> ok U22 X, U21(mark X1, X2) -> mark U21(X1, X2), U21(ok X1, ok X2) -> ok U21(X1, X2), U32(mark X1, X2) -> mark U32(X1, X2), U32(ok X1, ok X2) -> ok U32(X1, X2), U31(mark X1, X2, X3) -> mark U31(X1, X2, X3), U31(ok X1, ok X2, ok X3) -> ok U31(X1, X2, X3), U33 mark X -> mark U33 X, U33 ok X -> ok U33 X, U41(mark X1, X2) -> mark U41(X1, X2), U41(ok X1, ok X2) -> ok U41(X1, X2), s mark X -> mark s X, s ok X -> ok s X, plus(X1, mark X2) -> mark plus(X1, X2), plus(mark X1, X2) -> mark plus(X1, X2), plus(ok X1, ok X2) -> ok plus(X1, X2), U51(mark X1, X2, X3) -> mark U51(X1, X2, X3), U51(ok X1, ok X2, ok X3) -> ok U51(X1, X2, X3), U61 mark X -> mark U61 X, U61 ok X -> ok U61 X, x(X1, mark X2) -> mark x(X1, X2), x(mark X1, X2) -> mark x(X1, X2), x(ok X1, ok X2) -> ok x(X1, X2), U71(mark X1, X2, X3) -> mark U71(X1, X2, X3), U71(ok X1, ok X2, ok X3) -> ok U71(X1, X2, X3), and(mark X1, X2) -> mark and(X1, X2), and(ok X1, ok X2) -> ok and(X1, X2), isNatKind ok X -> ok isNatKind X, proper U12(X1, X2) -> U12(proper X1, proper X2), proper isNat X -> isNat proper X, proper U11(X1, X2, X3) -> U11(proper X1, proper X2, proper X3), proper tt() -> ok tt(), proper U13 X -> U13 proper X, proper U22 X -> U22 proper X, proper U21(X1, X2) -> U21(proper X1, proper X2), proper U32(X1, X2) -> U32(proper X1, proper X2), proper U31(X1, X2, X3) -> U31(proper X1, proper X2, proper X3), proper U33 X -> U33 proper X, proper U41(X1, X2) -> U41(proper X1, proper X2), proper s X -> s proper X, proper plus(X1, X2) -> plus(proper X1, proper X2), proper U51(X1, X2, X3) -> U51(proper X1, proper X2, proper X3), proper 0() -> ok 0(), proper U61 X -> U61 proper X, proper x(X1, X2) -> x(proper X1, proper X2), proper U71(X1, X2, X3) -> U71(proper X1, proper X2, proper X3), proper and(X1, X2) -> and(proper X1, proper X2), proper isNatKind X -> isNatKind proper X, top mark X -> top proper X, top ok X -> top active X} Open SCC (2): Strict: {U22# mark X -> U22# X, U22# ok X -> U22# X} Weak: { U12(mark X1, X2) -> mark U12(X1, X2), U12(ok X1, ok X2) -> ok U12(X1, X2), isNat ok X -> ok isNat X, active U12(X1, X2) -> U12(active X1, X2), active U12(tt(), V2) -> mark U13 isNat V2, active isNat s V1 -> mark U21(isNatKind V1, V1), active isNat plus(V1, V2) -> mark U11(and(isNatKind V1, isNatKind V2), V1, V2), active isNat 0() -> mark tt(), active isNat x(V1, V2) -> mark U31(and(isNatKind V1, isNatKind V2), V1, V2), active U11(X1, X2, X3) -> U11(active X1, X2, X3), active U11(tt(), V1, V2) -> mark U12(isNat V1, V2), active U13 X -> U13 active X, active U13 tt() -> mark tt(), active U22 X -> U22 active X, active U22 tt() -> mark tt(), active U21(X1, X2) -> U21(active X1, X2), active U21(tt(), V1) -> mark U22 isNat V1, active U32(X1, X2) -> U32(active X1, X2), active U32(tt(), V2) -> mark U33 isNat V2, active U31(X1, X2, X3) -> U31(active X1, X2, X3), active U31(tt(), V1, V2) -> mark U32(isNat V1, V2), active U33 X -> U33 active X, active U33 tt() -> mark tt(), active U41(X1, X2) -> U41(active X1, X2), active U41(tt(), N) -> mark N, active s X -> s active X, active plus(N, s M) -> mark U51(and(and(isNat M, isNatKind M), and(isNat N, isNatKind N)), M, N), active plus(N, 0()) -> mark U41(and(isNat N, isNatKind N), N), active plus(X1, X2) -> plus(X1, active X2), active plus(X1, X2) -> plus(active X1, X2), active U51(X1, X2, X3) -> U51(active X1, X2, X3), active U51(tt(), M, N) -> mark s plus(N, M), active U61 X -> U61 active X, active U61 tt() -> mark 0(), active x(N, s M) -> mark U71(and(and(isNat M, isNatKind M), and(isNat N, isNatKind N)), M, N), active x(N, 0()) -> mark U61 and(isNat N, isNatKind N), active x(X1, X2) -> x(X1, active X2), active x(X1, X2) -> x(active X1, X2), active U71(X1, X2, X3) -> U71(active X1, X2, X3), active U71(tt(), M, N) -> mark plus(x(N, M), N), active and(X1, X2) -> and(active X1, X2), active and(tt(), X) -> mark X, active isNatKind s V1 -> mark isNatKind V1, active isNatKind plus(V1, V2) -> mark and(isNatKind V1, isNatKind V2), active isNatKind 0() -> mark tt(), active isNatKind x(V1, V2) -> mark and(isNatKind V1, isNatKind V2), U11(mark X1, X2, X3) -> mark U11(X1, X2, X3), U11(ok X1, ok X2, ok X3) -> ok U11(X1, X2, X3), U13 mark X -> mark U13 X, U13 ok X -> ok U13 X, U22 mark X -> mark U22 X, U22 ok X -> ok U22 X, U21(mark X1, X2) -> mark U21(X1, X2), U21(ok X1, ok X2) -> ok U21(X1, X2), U32(mark X1, X2) -> mark U32(X1, X2), U32(ok X1, ok X2) -> ok U32(X1, X2), U31(mark X1, X2, X3) -> mark U31(X1, X2, X3), U31(ok X1, ok X2, ok X3) -> ok U31(X1, X2, X3), U33 mark X -> mark U33 X, U33 ok X -> ok U33 X, U41(mark X1, X2) -> mark U41(X1, X2), U41(ok X1, ok X2) -> ok U41(X1, X2), s mark X -> mark s X, s ok X -> ok s X, plus(X1, mark X2) -> mark plus(X1, X2), plus(mark X1, X2) -> mark plus(X1, X2), plus(ok X1, ok X2) -> ok plus(X1, X2), U51(mark X1, X2, X3) -> mark U51(X1, X2, X3), U51(ok X1, ok X2, ok X3) -> ok U51(X1, X2, X3), U61 mark X -> mark U61 X, U61 ok X -> ok U61 X, x(X1, mark X2) -> mark x(X1, X2), x(mark X1, X2) -> mark x(X1, X2), x(ok X1, ok X2) -> ok x(X1, X2), U71(mark X1, X2, X3) -> mark U71(X1, X2, X3), U71(ok X1, ok X2, ok X3) -> ok U71(X1, X2, X3), and(mark X1, X2) -> mark and(X1, X2), and(ok X1, ok X2) -> ok and(X1, X2), isNatKind ok X -> ok isNatKind X, proper U12(X1, X2) -> U12(proper X1, proper X2), proper isNat X -> isNat proper X, proper U11(X1, X2, X3) -> U11(proper X1, proper X2, proper X3), proper tt() -> ok tt(), proper U13 X -> U13 proper X, proper U22 X -> U22 proper X, proper U21(X1, X2) -> U21(proper X1, proper X2), proper U32(X1, X2) -> U32(proper X1, proper X2), proper U31(X1, X2, X3) -> U31(proper X1, proper X2, proper X3), proper U33 X -> U33 proper X, proper U41(X1, X2) -> U41(proper X1, proper X2), proper s X -> s proper X, proper plus(X1, X2) -> plus(proper X1, proper X2), proper U51(X1, X2, X3) -> U51(proper X1, proper X2, proper X3), proper 0() -> ok 0(), proper U61 X -> U61 proper X, proper x(X1, X2) -> x(proper X1, proper X2), proper U71(X1, X2, X3) -> U71(proper X1, proper X2, proper X3), proper and(X1, X2) -> and(proper X1, proper X2), proper isNatKind X -> isNatKind proper X, top mark X -> top proper X, top ok X -> top active X} 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: { U12(mark X1, X2) -> mark U12(X1, X2), U12(ok X1, ok X2) -> ok U12(X1, X2), isNat ok X -> ok isNat X, active U12(X1, X2) -> U12(active X1, X2), active U12(tt(), V2) -> mark U13 isNat V2, active isNat s V1 -> mark U21(isNatKind V1, V1), active isNat plus(V1, V2) -> mark U11(and(isNatKind V1, isNatKind V2), V1, V2), active isNat 0() -> mark tt(), active isNat x(V1, V2) -> mark U31(and(isNatKind V1, isNatKind V2), V1, V2), active U11(X1, X2, X3) -> U11(active X1, X2, X3), active U11(tt(), V1, V2) -> mark U12(isNat V1, V2), active U13 X -> U13 active X, active U13 tt() -> mark tt(), active U22 X -> U22 active X, active U22 tt() -> mark tt(), active U21(X1, X2) -> U21(active X1, X2), active U21(tt(), V1) -> mark U22 isNat V1, active U32(X1, X2) -> U32(active X1, X2), active U32(tt(), V2) -> mark U33 isNat V2, active U31(X1, X2, X3) -> U31(active X1, X2, X3), active U31(tt(), V1, V2) -> mark U32(isNat V1, V2), active U33 X -> U33 active X, active U33 tt() -> mark tt(), active U41(X1, X2) -> U41(active X1, X2), active U41(tt(), N) -> mark N, active s X -> s active X, active plus(N, s M) -> mark U51(and(and(isNat M, isNatKind M), and(isNat N, isNatKind N)), M, N), active plus(N, 0()) -> mark U41(and(isNat N, isNatKind N), N), active plus(X1, X2) -> plus(X1, active X2), active plus(X1, X2) -> plus(active X1, X2), active U51(X1, X2, X3) -> U51(active X1, X2, X3), active U51(tt(), M, N) -> mark s plus(N, M), active U61 X -> U61 active X, active U61 tt() -> mark 0(), active x(N, s M) -> mark U71(and(and(isNat M, isNatKind M), and(isNat N, isNatKind N)), M, N), active x(N, 0()) -> mark U61 and(isNat N, isNatKind N), active x(X1, X2) -> x(X1, active X2), active x(X1, X2) -> x(active X1, X2), active U71(X1, X2, X3) -> U71(active X1, X2, X3), active U71(tt(), M, N) -> mark plus(x(N, M), N), active and(X1, X2) -> and(active X1, X2), active and(tt(), X) -> mark X, active isNatKind s V1 -> mark isNatKind V1, active isNatKind plus(V1, V2) -> mark and(isNatKind V1, isNatKind V2), active isNatKind 0() -> mark tt(), active isNatKind x(V1, V2) -> mark and(isNatKind V1, isNatKind V2), U11(mark X1, X2, X3) -> mark U11(X1, X2, X3), U11(ok X1, ok X2, ok X3) -> ok U11(X1, X2, X3), U13 mark X -> mark U13 X, U13 ok X -> ok U13 X, U22 mark X -> mark U22 X, U22 ok X -> ok U22 X, U21(mark X1, X2) -> mark U21(X1, X2), U21(ok X1, ok X2) -> ok U21(X1, X2), U32(mark X1, X2) -> mark U32(X1, X2), U32(ok X1, ok X2) -> ok U32(X1, X2), U31(mark X1, X2, X3) -> mark U31(X1, X2, X3), U31(ok X1, ok X2, ok X3) -> ok U31(X1, X2, X3), U33 mark X -> mark U33 X, U33 ok X -> ok U33 X, U41(mark X1, X2) -> mark U41(X1, X2), U41(ok X1, ok X2) -> ok U41(X1, X2), s mark X -> mark s X, s ok X -> ok s X, plus(X1, mark X2) -> mark plus(X1, X2), plus(mark X1, X2) -> mark plus(X1, X2), plus(ok X1, ok X2) -> ok plus(X1, X2), U51(mark X1, X2, X3) -> mark U51(X1, X2, X3), U51(ok X1, ok X2, ok X3) -> ok U51(X1, X2, X3), U61 mark X -> mark U61 X, U61 ok X -> ok U61 X, x(X1, mark X2) -> mark x(X1, X2), x(mark X1, X2) -> mark x(X1, X2), x(ok X1, ok X2) -> ok x(X1, X2), U71(mark X1, X2, X3) -> mark U71(X1, X2, X3), U71(ok X1, ok X2, ok X3) -> ok U71(X1, X2, X3), and(mark X1, X2) -> mark and(X1, X2), and(ok X1, ok X2) -> ok and(X1, X2), isNatKind ok X -> ok isNatKind X, proper U12(X1, X2) -> U12(proper X1, proper X2), proper isNat X -> isNat proper X, proper U11(X1, X2, X3) -> U11(proper X1, proper X2, proper X3), proper tt() -> ok tt(), proper U13 X -> U13 proper X, proper U22 X -> U22 proper X, proper U21(X1, X2) -> U21(proper X1, proper X2), proper U32(X1, X2) -> U32(proper X1, proper X2), proper U31(X1, X2, X3) -> U31(proper X1, proper X2, proper X3), proper U33 X -> U33 proper X, proper U41(X1, X2) -> U41(proper X1, proper X2), proper s X -> s proper X, proper plus(X1, X2) -> plus(proper X1, proper X2), proper U51(X1, X2, X3) -> U51(proper X1, proper X2, proper X3), proper 0() -> ok 0(), proper U61 X -> U61 proper X, proper x(X1, X2) -> x(proper X1, proper X2), proper U71(X1, X2, X3) -> U71(proper X1, proper X2, proper X3), proper and(X1, X2) -> and(proper X1, proper X2), proper isNatKind X -> isNatKind proper X, top mark X -> top proper X, top ok X -> top active X} Open SCC (2): Strict: { and#(mark X1, X2) -> and#(X1, X2), and#(ok X1, ok X2) -> and#(X1, X2)} Weak: { U12(mark X1, X2) -> mark U12(X1, X2), U12(ok X1, ok X2) -> ok U12(X1, X2), isNat ok X -> ok isNat X, active U12(X1, X2) -> U12(active X1, X2), active U12(tt(), V2) -> mark U13 isNat V2, active isNat s V1 -> mark U21(isNatKind V1, V1), active isNat plus(V1, V2) -> mark U11(and(isNatKind V1, isNatKind V2), V1, V2), active isNat 0() -> mark tt(), active isNat x(V1, V2) -> mark U31(and(isNatKind V1, isNatKind V2), V1, V2), active U11(X1, X2, X3) -> U11(active X1, X2, X3), active U11(tt(), V1, V2) -> mark U12(isNat V1, V2), active U13 X -> U13 active X, active U13 tt() -> mark tt(), active U22 X -> U22 active X, active U22 tt() -> mark tt(), active U21(X1, X2) -> U21(active X1, X2), active U21(tt(), V1) -> mark U22 isNat V1, active U32(X1, X2) -> U32(active X1, X2), active U32(tt(), V2) -> mark U33 isNat V2, active U31(X1, X2, X3) -> U31(active X1, X2, X3), active U31(tt(), V1, V2) -> mark U32(isNat V1, V2), active U33 X -> U33 active X, active U33 tt() -> mark tt(), active U41(X1, X2) -> U41(active X1, X2), active U41(tt(), N) -> mark N, active s X -> s active X, active plus(N, s M) -> mark U51(and(and(isNat M, isNatKind M), and(isNat N, isNatKind N)), M, N), active plus(N, 0()) -> mark U41(and(isNat N, isNatKind N), N), active plus(X1, X2) -> plus(X1, active X2), active plus(X1, X2) -> plus(active X1, X2), active U51(X1, X2, X3) -> U51(active X1, X2, X3), active U51(tt(), M, N) -> mark s plus(N, M), active U61 X -> U61 active X, active U61 tt() -> mark 0(), active x(N, s M) -> mark U71(and(and(isNat M, isNatKind M), and(isNat N, isNatKind N)), M, N), active x(N, 0()) -> mark U61 and(isNat N, isNatKind N), active x(X1, X2) -> x(X1, active X2), active x(X1, X2) -> x(active X1, X2), active U71(X1, X2, X3) -> U71(active X1, X2, X3), active U71(tt(), M, N) -> mark plus(x(N, M), N), active and(X1, X2) -> and(active X1, X2), active and(tt(), X) -> mark X, active isNatKind s V1 -> mark isNatKind V1, active isNatKind plus(V1, V2) -> mark and(isNatKind V1, isNatKind V2), active isNatKind 0() -> mark tt(), active isNatKind x(V1, V2) -> mark and(isNatKind V1, isNatKind V2), U11(mark X1, X2, X3) -> mark U11(X1, X2, X3), U11(ok X1, ok X2, ok X3) -> ok U11(X1, X2, X3), U13 mark X -> mark U13 X, U13 ok X -> ok U13 X, U22 mark X -> mark U22 X, U22 ok X -> ok U22 X, U21(mark X1, X2) -> mark U21(X1, X2), U21(ok X1, ok X2) -> ok U21(X1, X2), U32(mark X1, X2) -> mark U32(X1, X2), U32(ok X1, ok X2) -> ok U32(X1, X2), U31(mark X1, X2, X3) -> mark U31(X1, X2, X3), U31(ok X1, ok X2, ok X3) -> ok U31(X1, X2, X3), U33 mark X -> mark U33 X, U33 ok X -> ok U33 X, U41(mark X1, X2) -> mark U41(X1, X2), U41(ok X1, ok X2) -> ok U41(X1, X2), s mark X -> mark s X, s ok X -> ok s X, plus(X1, mark X2) -> mark plus(X1, X2), plus(mark X1, X2) -> mark plus(X1, X2), plus(ok X1, ok X2) -> ok plus(X1, X2), U51(mark X1, X2, X3) -> mark U51(X1, X2, X3), U51(ok X1, ok X2, ok X3) -> ok U51(X1, X2, X3), U61 mark X -> mark U61 X, U61 ok X -> ok U61 X, x(X1, mark X2) -> mark x(X1, X2), x(mark X1, X2) -> mark x(X1, X2), x(ok X1, ok X2) -> ok x(X1, X2), U71(mark X1, X2, X3) -> mark U71(X1, X2, X3), U71(ok X1, ok X2, ok X3) -> ok U71(X1, X2, X3), and(mark X1, X2) -> mark and(X1, X2), and(ok X1, ok X2) -> ok and(X1, X2), isNatKind ok X -> ok isNatKind X, proper U12(X1, X2) -> U12(proper X1, proper X2), proper isNat X -> isNat proper X, proper U11(X1, X2, X3) -> U11(proper X1, proper X2, proper X3), proper tt() -> ok tt(), proper U13 X -> U13 proper X, proper U22 X -> U22 proper X, proper U21(X1, X2) -> U21(proper X1, proper X2), proper U32(X1, X2) -> U32(proper X1, proper X2), proper U31(X1, X2, X3) -> U31(proper X1, proper X2, proper X3), proper U33 X -> U33 proper X, proper U41(X1, X2) -> U41(proper X1, proper X2), proper s X -> s proper X, proper plus(X1, X2) -> plus(proper X1, proper X2), proper U51(X1, X2, X3) -> U51(proper X1, proper X2, proper X3), proper 0() -> ok 0(), proper U61 X -> U61 proper X, proper x(X1, X2) -> x(proper X1, proper X2), proper U71(X1, X2, X3) -> U71(proper X1, proper X2, proper X3), proper and(X1, X2) -> and(proper X1, proper X2), proper isNatKind X -> isNatKind proper X, top mark X -> top proper X, top ok X -> top active X} 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: { U12(mark X1, X2) -> mark U12(X1, X2), U12(ok X1, ok X2) -> ok U12(X1, X2), isNat ok X -> ok isNat X, active U12(X1, X2) -> U12(active X1, X2), active U12(tt(), V2) -> mark U13 isNat V2, active isNat s V1 -> mark U21(isNatKind V1, V1), active isNat plus(V1, V2) -> mark U11(and(isNatKind V1, isNatKind V2), V1, V2), active isNat 0() -> mark tt(), active isNat x(V1, V2) -> mark U31(and(isNatKind V1, isNatKind V2), V1, V2), active U11(X1, X2, X3) -> U11(active X1, X2, X3), active U11(tt(), V1, V2) -> mark U12(isNat V1, V2), active U13 X -> U13 active X, active U13 tt() -> mark tt(), active U22 X -> U22 active X, active U22 tt() -> mark tt(), active U21(X1, X2) -> U21(active X1, X2), active U21(tt(), V1) -> mark U22 isNat V1, active U32(X1, X2) -> U32(active X1, X2), active U32(tt(), V2) -> mark U33 isNat V2, active U31(X1, X2, X3) -> U31(active X1, X2, X3), active U31(tt(), V1, V2) -> mark U32(isNat V1, V2), active U33 X -> U33 active X, active U33 tt() -> mark tt(), active U41(X1, X2) -> U41(active X1, X2), active U41(tt(), N) -> mark N, active s X -> s active X, active plus(N, s M) -> mark U51(and(and(isNat M, isNatKind M), and(isNat N, isNatKind N)), M, N), active plus(N, 0()) -> mark U41(and(isNat N, isNatKind N), N), active plus(X1, X2) -> plus(X1, active X2), active plus(X1, X2) -> plus(active X1, X2), active U51(X1, X2, X3) -> U51(active X1, X2, X3), active U51(tt(), M, N) -> mark s plus(N, M), active U61 X -> U61 active X, active U61 tt() -> mark 0(), active x(N, s M) -> mark U71(and(and(isNat M, isNatKind M), and(isNat N, isNatKind N)), M, N), active x(N, 0()) -> mark U61 and(isNat N, isNatKind N), active x(X1, X2) -> x(X1, active X2), active x(X1, X2) -> x(active X1, X2), active U71(X1, X2, X3) -> U71(active X1, X2, X3), active U71(tt(), M, N) -> mark plus(x(N, M), N), active and(X1, X2) -> and(active X1, X2), active and(tt(), X) -> mark X, active isNatKind s V1 -> mark isNatKind V1, active isNatKind plus(V1, V2) -> mark and(isNatKind V1, isNatKind V2), active isNatKind 0() -> mark tt(), active isNatKind x(V1, V2) -> mark and(isNatKind V1, isNatKind V2), U11(mark X1, X2, X3) -> mark U11(X1, X2, X3), U11(ok X1, ok X2, ok X3) -> ok U11(X1, X2, X3), U13 mark X -> mark U13 X, U13 ok X -> ok U13 X, U22 mark X -> mark U22 X, U22 ok X -> ok U22 X, U21(mark X1, X2) -> mark U21(X1, X2), U21(ok X1, ok X2) -> ok U21(X1, X2), U32(mark X1, X2) -> mark U32(X1, X2), U32(ok X1, ok X2) -> ok U32(X1, X2), U31(mark X1, X2, X3) -> mark U31(X1, X2, X3), U31(ok X1, ok X2, ok X3) -> ok U31(X1, X2, X3), U33 mark X -> mark U33 X, U33 ok X -> ok U33 X, U41(mark X1, X2) -> mark U41(X1, X2), U41(ok X1, ok X2) -> ok U41(X1, X2), s mark X -> mark s X, s ok X -> ok s X, plus(X1, mark X2) -> mark plus(X1, X2), plus(mark X1, X2) -> mark plus(X1, X2), plus(ok X1, ok X2) -> ok plus(X1, X2), U51(mark X1, X2, X3) -> mark U51(X1, X2, X3), U51(ok X1, ok X2, ok X3) -> ok U51(X1, X2, X3), U61 mark X -> mark U61 X, U61 ok X -> ok U61 X, x(X1, mark X2) -> mark x(X1, X2), x(mark X1, X2) -> mark x(X1, X2), x(ok X1, ok X2) -> ok x(X1, X2), U71(mark X1, X2, X3) -> mark U71(X1, X2, X3), U71(ok X1, ok X2, ok X3) -> ok U71(X1, X2, X3), and(mark X1, X2) -> mark and(X1, X2), and(ok X1, ok X2) -> ok and(X1, X2), isNatKind ok X -> ok isNatKind X, proper U12(X1, X2) -> U12(proper X1, proper X2), proper isNat X -> isNat proper X, proper U11(X1, X2, X3) -> U11(proper X1, proper X2, proper X3), proper tt() -> ok tt(), proper U13 X -> U13 proper X, proper U22 X -> U22 proper X, proper U21(X1, X2) -> U21(proper X1, proper X2), proper U32(X1, X2) -> U32(proper X1, proper X2), proper U31(X1, X2, X3) -> U31(proper X1, proper X2, proper X3), proper U33 X -> U33 proper X, proper U41(X1, X2) -> U41(proper X1, proper X2), proper s X -> s proper X, proper plus(X1, X2) -> plus(proper X1, proper X2), proper U51(X1, X2, X3) -> U51(proper X1, proper X2, proper X3), proper 0() -> ok 0(), proper U61 X -> U61 proper X, proper x(X1, X2) -> x(proper X1, proper X2), proper U71(X1, X2, X3) -> U71(proper X1, proper X2, proper X3), proper and(X1, X2) -> and(proper X1, proper X2), proper isNatKind X -> isNatKind proper X, top mark X -> top proper X, top ok X -> top active X} Open SCC (1): Strict: {isNatKind# ok X -> isNatKind# X} Weak: { U12(mark X1, X2) -> mark U12(X1, X2), U12(ok X1, ok X2) -> ok U12(X1, X2), isNat ok X -> ok isNat X, active U12(X1, X2) -> U12(active X1, X2), active U12(tt(), V2) -> mark U13 isNat V2, active isNat s V1 -> mark U21(isNatKind V1, V1), active isNat plus(V1, V2) -> mark U11(and(isNatKind V1, isNatKind V2), V1, V2), active isNat 0() -> mark tt(), active isNat x(V1, V2) -> mark U31(and(isNatKind V1, isNatKind V2), V1, V2), active U11(X1, X2, X3) -> U11(active X1, X2, X3), active U11(tt(), V1, V2) -> mark U12(isNat V1, V2), active U13 X -> U13 active X, active U13 tt() -> mark tt(), active U22 X -> U22 active X, active U22 tt() -> mark tt(), active U21(X1, X2) -> U21(active X1, X2), active U21(tt(), V1) -> mark U22 isNat V1, active U32(X1, X2) -> U32(active X1, X2), active U32(tt(), V2) -> mark U33 isNat V2, active U31(X1, X2, X3) -> U31(active X1, X2, X3), active U31(tt(), V1, V2) -> mark U32(isNat V1, V2), active U33 X -> U33 active X, active U33 tt() -> mark tt(), active U41(X1, X2) -> U41(active X1, X2), active U41(tt(), N) -> mark N, active s X -> s active X, active plus(N, s M) -> mark U51(and(and(isNat M, isNatKind M), and(isNat N, isNatKind N)), M, N), active plus(N, 0()) -> mark U41(and(isNat N, isNatKind N), N), active plus(X1, X2) -> plus(X1, active X2), active plus(X1, X2) -> plus(active X1, X2), active U51(X1, X2, X3) -> U51(active X1, X2, X3), active U51(tt(), M, N) -> mark s plus(N, M), active U61 X -> U61 active X, active U61 tt() -> mark 0(), active x(N, s M) -> mark U71(and(and(isNat M, isNatKind M), and(isNat N, isNatKind N)), M, N), active x(N, 0()) -> mark U61 and(isNat N, isNatKind N), active x(X1, X2) -> x(X1, active X2), active x(X1, X2) -> x(active X1, X2), active U71(X1, X2, X3) -> U71(active X1, X2, X3), active U71(tt(), M, N) -> mark plus(x(N, M), N), active and(X1, X2) -> and(active X1, X2), active and(tt(), X) -> mark X, active isNatKind s V1 -> mark isNatKind V1, active isNatKind plus(V1, V2) -> mark and(isNatKind V1, isNatKind V2), active isNatKind 0() -> mark tt(), active isNatKind x(V1, V2) -> mark and(isNatKind V1, isNatKind V2), U11(mark X1, X2, X3) -> mark U11(X1, X2, X3), U11(ok X1, ok X2, ok X3) -> ok U11(X1, X2, X3), U13 mark X -> mark U13 X, U13 ok X -> ok U13 X, U22 mark X -> mark U22 X, U22 ok X -> ok U22 X, U21(mark X1, X2) -> mark U21(X1, X2), U21(ok X1, ok X2) -> ok U21(X1, X2), U32(mark X1, X2) -> mark U32(X1, X2), U32(ok X1, ok X2) -> ok U32(X1, X2), U31(mark X1, X2, X3) -> mark U31(X1, X2, X3), U31(ok X1, ok X2, ok X3) -> ok U31(X1, X2, X3), U33 mark X -> mark U33 X, U33 ok X -> ok U33 X, U41(mark X1, X2) -> mark U41(X1, X2), U41(ok X1, ok X2) -> ok U41(X1, X2), s mark X -> mark s X, s ok X -> ok s X, plus(X1, mark X2) -> mark plus(X1, X2), plus(mark X1, X2) -> mark plus(X1, X2), plus(ok X1, ok X2) -> ok plus(X1, X2), U51(mark X1, X2, X3) -> mark U51(X1, X2, X3), U51(ok X1, ok X2, ok X3) -> ok U51(X1, X2, X3), U61 mark X -> mark U61 X, U61 ok X -> ok U61 X, x(X1, mark X2) -> mark x(X1, X2), x(mark X1, X2) -> mark x(X1, X2), x(ok X1, ok X2) -> ok x(X1, X2), U71(mark X1, X2, X3) -> mark U71(X1, X2, X3), U71(ok X1, ok X2, ok X3) -> ok U71(X1, X2, X3), and(mark X1, X2) -> mark and(X1, X2), and(ok X1, ok X2) -> ok and(X1, X2), isNatKind ok X -> ok isNatKind X, proper U12(X1, X2) -> U12(proper X1, proper X2), proper isNat X -> isNat proper X, proper U11(X1, X2, X3) -> U11(proper X1, proper X2, proper X3), proper tt() -> ok tt(), proper U13 X -> U13 proper X, proper U22 X -> U22 proper X, proper U21(X1, X2) -> U21(proper X1, proper X2), proper U32(X1, X2) -> U32(proper X1, proper X2), proper U31(X1, X2, X3) -> U31(proper X1, proper X2, proper X3), proper U33 X -> U33 proper X, proper U41(X1, X2) -> U41(proper X1, proper X2), proper s X -> s proper X, proper plus(X1, X2) -> plus(proper X1, proper X2), proper U51(X1, X2, X3) -> U51(proper X1, proper X2, proper X3), proper 0() -> ok 0(), proper U61 X -> U61 proper X, proper x(X1, X2) -> x(proper X1, proper X2), proper U71(X1, X2, X3) -> U71(proper X1, proper X2, proper X3), proper and(X1, X2) -> and(proper X1, proper X2), proper isNatKind X -> isNatKind proper X, top mark X -> top proper X, top ok X -> top active X} Open SCC (2): Strict: { U21#(mark X1, X2) -> U21#(X1, X2), U21#(ok X1, ok X2) -> U21#(X1, X2)} Weak: { U12(mark X1, X2) -> mark U12(X1, X2), U12(ok X1, ok X2) -> ok U12(X1, X2), isNat ok X -> ok isNat X, active U12(X1, X2) -> U12(active X1, X2), active U12(tt(), V2) -> mark U13 isNat V2, active isNat s V1 -> mark U21(isNatKind V1, V1), active isNat plus(V1, V2) -> mark U11(and(isNatKind V1, isNatKind V2), V1, V2), active isNat 0() -> mark tt(), active isNat x(V1, V2) -> mark U31(and(isNatKind V1, isNatKind V2), V1, V2), active U11(X1, X2, X3) -> U11(active X1, X2, X3), active U11(tt(), V1, V2) -> mark U12(isNat V1, V2), active U13 X -> U13 active X, active U13 tt() -> mark tt(), active U22 X -> U22 active X, active U22 tt() -> mark tt(), active U21(X1, X2) -> U21(active X1, X2), active U21(tt(), V1) -> mark U22 isNat V1, active U32(X1, X2) -> U32(active X1, X2), active U32(tt(), V2) -> mark U33 isNat V2, active U31(X1, X2, X3) -> U31(active X1, X2, X3), active U31(tt(), V1, V2) -> mark U32(isNat V1, V2), active U33 X -> U33 active X, active U33 tt() -> mark tt(), active U41(X1, X2) -> U41(active X1, X2), active U41(tt(), N) -> mark N, active s X -> s active X, active plus(N, s M) -> mark U51(and(and(isNat M, isNatKind M), and(isNat N, isNatKind N)), M, N), active plus(N, 0()) -> mark U41(and(isNat N, isNatKind N), N), active plus(X1, X2) -> plus(X1, active X2), active plus(X1, X2) -> plus(active X1, X2), active U51(X1, X2, X3) -> U51(active X1, X2, X3), active U51(tt(), M, N) -> mark s plus(N, M), active U61 X -> U61 active X, active U61 tt() -> mark 0(), active x(N, s M) -> mark U71(and(and(isNat M, isNatKind M), and(isNat N, isNatKind N)), M, N), active x(N, 0()) -> mark U61 and(isNat N, isNatKind N), active x(X1, X2) -> x(X1, active X2), active x(X1, X2) -> x(active X1, X2), active U71(X1, X2, X3) -> U71(active X1, X2, X3), active U71(tt(), M, N) -> mark plus(x(N, M), N), active and(X1, X2) -> and(active X1, X2), active and(tt(), X) -> mark X, active isNatKind s V1 -> mark isNatKind V1, active isNatKind plus(V1, V2) -> mark and(isNatKind V1, isNatKind V2), active isNatKind 0() -> mark tt(), active isNatKind x(V1, V2) -> mark and(isNatKind V1, isNatKind V2), U11(mark X1, X2, X3) -> mark U11(X1, X2, X3), U11(ok X1, ok X2, ok X3) -> ok U11(X1, X2, X3), U13 mark X -> mark U13 X, U13 ok X -> ok U13 X, U22 mark X -> mark U22 X, U22 ok X -> ok U22 X, U21(mark X1, X2) -> mark U21(X1, X2), U21(ok X1, ok X2) -> ok U21(X1, X2), U32(mark X1, X2) -> mark U32(X1, X2), U32(ok X1, ok X2) -> ok U32(X1, X2), U31(mark X1, X2, X3) -> mark U31(X1, X2, X3), U31(ok X1, ok X2, ok X3) -> ok U31(X1, X2, X3), U33 mark X -> mark U33 X, U33 ok X -> ok U33 X, U41(mark X1, X2) -> mark U41(X1, X2), U41(ok X1, ok X2) -> ok U41(X1, X2), s mark X -> mark s X, s ok X -> ok s X, plus(X1, mark X2) -> mark plus(X1, X2), plus(mark X1, X2) -> mark plus(X1, X2), plus(ok X1, ok X2) -> ok plus(X1, X2), U51(mark X1, X2, X3) -> mark U51(X1, X2, X3), U51(ok X1, ok X2, ok X3) -> ok U51(X1, X2, X3), U61 mark X -> mark U61 X, U61 ok X -> ok U61 X, x(X1, mark X2) -> mark x(X1, X2), x(mark X1, X2) -> mark x(X1, X2), x(ok X1, ok X2) -> ok x(X1, X2), U71(mark X1, X2, X3) -> mark U71(X1, X2, X3), U71(ok X1, ok X2, ok X3) -> ok U71(X1, X2, X3), and(mark X1, X2) -> mark and(X1, X2), and(ok X1, ok X2) -> ok and(X1, X2), isNatKind ok X -> ok isNatKind X, proper U12(X1, X2) -> U12(proper X1, proper X2), proper isNat X -> isNat proper X, proper U11(X1, X2, X3) -> U11(proper X1, proper X2, proper X3), proper tt() -> ok tt(), proper U13 X -> U13 proper X, proper U22 X -> U22 proper X, proper U21(X1, X2) -> U21(proper X1, proper X2), proper U32(X1, X2) -> U32(proper X1, proper X2), proper U31(X1, X2, X3) -> U31(proper X1, proper X2, proper X3), proper U33 X -> U33 proper X, proper U41(X1, X2) -> U41(proper X1, proper X2), proper s X -> s proper X, proper plus(X1, X2) -> plus(proper X1, proper X2), proper U51(X1, X2, X3) -> U51(proper X1, proper X2, proper X3), proper 0() -> ok 0(), proper U61 X -> U61 proper X, proper x(X1, X2) -> x(proper X1, proper X2), proper U71(X1, X2, X3) -> U71(proper X1, proper X2, proper X3), proper and(X1, X2) -> and(proper X1, proper X2), proper isNatKind X -> isNatKind proper X, top mark X -> top proper X, top ok X -> top active X} Open SCC (2): Strict: {U13# mark X -> U13# X, U13# ok X -> U13# X} Weak: { U12(mark X1, X2) -> mark U12(X1, X2), U12(ok X1, ok X2) -> ok U12(X1, X2), isNat ok X -> ok isNat X, active U12(X1, X2) -> U12(active X1, X2), active U12(tt(), V2) -> mark U13 isNat V2, active isNat s V1 -> mark U21(isNatKind V1, V1), active isNat plus(V1, V2) -> mark U11(and(isNatKind V1, isNatKind V2), V1, V2), active isNat 0() -> mark tt(), active isNat x(V1, V2) -> mark U31(and(isNatKind V1, isNatKind V2), V1, V2), active U11(X1, X2, X3) -> U11(active X1, X2, X3), active U11(tt(), V1, V2) -> mark U12(isNat V1, V2), active U13 X -> U13 active X, active U13 tt() -> mark tt(), active U22 X -> U22 active X, active U22 tt() -> mark tt(), active U21(X1, X2) -> U21(active X1, X2), active U21(tt(), V1) -> mark U22 isNat V1, active U32(X1, X2) -> U32(active X1, X2), active U32(tt(), V2) -> mark U33 isNat V2, active U31(X1, X2, X3) -> U31(active X1, X2, X3), active U31(tt(), V1, V2) -> mark U32(isNat V1, V2), active U33 X -> U33 active X, active U33 tt() -> mark tt(), active U41(X1, X2) -> U41(active X1, X2), active U41(tt(), N) -> mark N, active s X -> s active X, active plus(N, s M) -> mark U51(and(and(isNat M, isNatKind M), and(isNat N, isNatKind N)), M, N), active plus(N, 0()) -> mark U41(and(isNat N, isNatKind N), N), active plus(X1, X2) -> plus(X1, active X2), active plus(X1, X2) -> plus(active X1, X2), active U51(X1, X2, X3) -> U51(active X1, X2, X3), active U51(tt(), M, N) -> mark s plus(N, M), active U61 X -> U61 active X, active U61 tt() -> mark 0(), active x(N, s M) -> mark U71(and(and(isNat M, isNatKind M), and(isNat N, isNatKind N)), M, N), active x(N, 0()) -> mark U61 and(isNat N, isNatKind N), active x(X1, X2) -> x(X1, active X2), active x(X1, X2) -> x(active X1, X2), active U71(X1, X2, X3) -> U71(active X1, X2, X3), active U71(tt(), M, N) -> mark plus(x(N, M), N), active and(X1, X2) -> and(active X1, X2), active and(tt(), X) -> mark X, active isNatKind s V1 -> mark isNatKind V1, active isNatKind plus(V1, V2) -> mark and(isNatKind V1, isNatKind V2), active isNatKind 0() -> mark tt(), active isNatKind x(V1, V2) -> mark and(isNatKind V1, isNatKind V2), U11(mark X1, X2, X3) -> mark U11(X1, X2, X3), U11(ok X1, ok X2, ok X3) -> ok U11(X1, X2, X3), U13 mark X -> mark U13 X, U13 ok X -> ok U13 X, U22 mark X -> mark U22 X, U22 ok X -> ok U22 X, U21(mark X1, X2) -> mark U21(X1, X2), U21(ok X1, ok X2) -> ok U21(X1, X2), U32(mark X1, X2) -> mark U32(X1, X2), U32(ok X1, ok X2) -> ok U32(X1, X2), U31(mark X1, X2, X3) -> mark U31(X1, X2, X3), U31(ok X1, ok X2, ok X3) -> ok U31(X1, X2, X3), U33 mark X -> mark U33 X, U33 ok X -> ok U33 X, U41(mark X1, X2) -> mark U41(X1, X2), U41(ok X1, ok X2) -> ok U41(X1, X2), s mark X -> mark s X, s ok X -> ok s X, plus(X1, mark X2) -> mark plus(X1, X2), plus(mark X1, X2) -> mark plus(X1, X2), plus(ok X1, ok X2) -> ok plus(X1, X2), U51(mark X1, X2, X3) -> mark U51(X1, X2, X3), U51(ok X1, ok X2, ok X3) -> ok U51(X1, X2, X3), U61 mark X -> mark U61 X, U61 ok X -> ok U61 X, x(X1, mark X2) -> mark x(X1, X2), x(mark X1, X2) -> mark x(X1, X2), x(ok X1, ok X2) -> ok x(X1, X2), U71(mark X1, X2, X3) -> mark U71(X1, X2, X3), U71(ok X1, ok X2, ok X3) -> ok U71(X1, X2, X3), and(mark X1, X2) -> mark and(X1, X2), and(ok X1, ok X2) -> ok and(X1, X2), isNatKind ok X -> ok isNatKind X, proper U12(X1, X2) -> U12(proper X1, proper X2), proper isNat X -> isNat proper X, proper U11(X1, X2, X3) -> U11(proper X1, proper X2, proper X3), proper tt() -> ok tt(), proper U13 X -> U13 proper X, proper U22 X -> U22 proper X, proper U21(X1, X2) -> U21(proper X1, proper X2), proper U32(X1, X2) -> U32(proper X1, proper X2), proper U31(X1, X2, X3) -> U31(proper X1, proper X2, proper X3), proper U33 X -> U33 proper X, proper U41(X1, X2) -> U41(proper X1, proper X2), proper s X -> s proper X, proper plus(X1, X2) -> plus(proper X1, proper X2), proper U51(X1, X2, X3) -> U51(proper X1, proper X2, proper X3), proper 0() -> ok 0(), proper U61 X -> U61 proper X, proper x(X1, X2) -> x(proper X1, proper X2), proper U71(X1, X2, X3) -> U71(proper X1, proper X2, proper X3), proper and(X1, X2) -> and(proper X1, proper X2), proper isNatKind X -> isNatKind proper X, top mark X -> top proper X, top ok X -> top active X} Open SCC (1): Strict: {isNat# ok X -> isNat# X} Weak: { U12(mark X1, X2) -> mark U12(X1, X2), U12(ok X1, ok X2) -> ok U12(X1, X2), isNat ok X -> ok isNat X, active U12(X1, X2) -> U12(active X1, X2), active U12(tt(), V2) -> mark U13 isNat V2, active isNat s V1 -> mark U21(isNatKind V1, V1), active isNat plus(V1, V2) -> mark U11(and(isNatKind V1, isNatKind V2), V1, V2), active isNat 0() -> mark tt(), active isNat x(V1, V2) -> mark U31(and(isNatKind V1, isNatKind V2), V1, V2), active U11(X1, X2, X3) -> U11(active X1, X2, X3), active U11(tt(), V1, V2) -> mark U12(isNat V1, V2), active U13 X -> U13 active X, active U13 tt() -> mark tt(), active U22 X -> U22 active X, active U22 tt() -> mark tt(), active U21(X1, X2) -> U21(active X1, X2), active U21(tt(), V1) -> mark U22 isNat V1, active U32(X1, X2) -> U32(active X1, X2), active U32(tt(), V2) -> mark U33 isNat V2, active U31(X1, X2, X3) -> U31(active X1, X2, X3), active U31(tt(), V1, V2) -> mark U32(isNat V1, V2), active U33 X -> U33 active X, active U33 tt() -> mark tt(), active U41(X1, X2) -> U41(active X1, X2), active U41(tt(), N) -> mark N, active s X -> s active X, active plus(N, s M) -> mark U51(and(and(isNat M, isNatKind M), and(isNat N, isNatKind N)), M, N), active plus(N, 0()) -> mark U41(and(isNat N, isNatKind N), N), active plus(X1, X2) -> plus(X1, active X2), active plus(X1, X2) -> plus(active X1, X2), active U51(X1, X2, X3) -> U51(active X1, X2, X3), active U51(tt(), M, N) -> mark s plus(N, M), active U61 X -> U61 active X, active U61 tt() -> mark 0(), active x(N, s M) -> mark U71(and(and(isNat M, isNatKind M), and(isNat N, isNatKind N)), M, N), active x(N, 0()) -> mark U61 and(isNat N, isNatKind N), active x(X1, X2) -> x(X1, active X2), active x(X1, X2) -> x(active X1, X2), active U71(X1, X2, X3) -> U71(active X1, X2, X3), active U71(tt(), M, N) -> mark plus(x(N, M), N), active and(X1, X2) -> and(active X1, X2), active and(tt(), X) -> mark X, active isNatKind s V1 -> mark isNatKind V1, active isNatKind plus(V1, V2) -> mark and(isNatKind V1, isNatKind V2), active isNatKind 0() -> mark tt(), active isNatKind x(V1, V2) -> mark and(isNatKind V1, isNatKind V2), U11(mark X1, X2, X3) -> mark U11(X1, X2, X3), U11(ok X1, ok X2, ok X3) -> ok U11(X1, X2, X3), U13 mark X -> mark U13 X, U13 ok X -> ok U13 X, U22 mark X -> mark U22 X, U22 ok X -> ok U22 X, U21(mark X1, X2) -> mark U21(X1, X2), U21(ok X1, ok X2) -> ok U21(X1, X2), U32(mark X1, X2) -> mark U32(X1, X2), U32(ok X1, ok X2) -> ok U32(X1, X2), U31(mark X1, X2, X3) -> mark U31(X1, X2, X3), U31(ok X1, ok X2, ok X3) -> ok U31(X1, X2, X3), U33 mark X -> mark U33 X, U33 ok X -> ok U33 X, U41(mark X1, X2) -> mark U41(X1, X2), U41(ok X1, ok X2) -> ok U41(X1, X2), s mark X -> mark s X, s ok X -> ok s X, plus(X1, mark X2) -> mark plus(X1, X2), plus(mark X1, X2) -> mark plus(X1, X2), plus(ok X1, ok X2) -> ok plus(X1, X2), U51(mark X1, X2, X3) -> mark U51(X1, X2, X3), U51(ok X1, ok X2, ok X3) -> ok U51(X1, X2, X3), U61 mark X -> mark U61 X, U61 ok X -> ok U61 X, x(X1, mark X2) -> mark x(X1, X2), x(mark X1, X2) -> mark x(X1, X2), x(ok X1, ok X2) -> ok x(X1, X2), U71(mark X1, X2, X3) -> mark U71(X1, X2, X3), U71(ok X1, ok X2, ok X3) -> ok U71(X1, X2, X3), and(mark X1, X2) -> mark and(X1, X2), and(ok X1, ok X2) -> ok and(X1, X2), isNatKind ok X -> ok isNatKind X, proper U12(X1, X2) -> U12(proper X1, proper X2), proper isNat X -> isNat proper X, proper U11(X1, X2, X3) -> U11(proper X1, proper X2, proper X3), proper tt() -> ok tt(), proper U13 X -> U13 proper X, proper U22 X -> U22 proper X, proper U21(X1, X2) -> U21(proper X1, proper X2), proper U32(X1, X2) -> U32(proper X1, proper X2), proper U31(X1, X2, X3) -> U31(proper X1, proper X2, proper X3), proper U33 X -> U33 proper X, proper U41(X1, X2) -> U41(proper X1, proper X2), proper s X -> s proper X, proper plus(X1, X2) -> plus(proper X1, proper X2), proper U51(X1, X2, X3) -> U51(proper X1, proper X2, proper X3), proper 0() -> ok 0(), proper U61 X -> U61 proper X, proper x(X1, X2) -> x(proper X1, proper X2), proper U71(X1, X2, X3) -> U71(proper X1, proper X2, proper X3), proper and(X1, X2) -> and(proper X1, proper X2), proper isNatKind X -> isNatKind proper X, top mark X -> top proper X, top ok X -> top active X} Open SCC (2): Strict: { U12#(mark X1, X2) -> U12#(X1, X2), U12#(ok X1, ok X2) -> U12#(X1, X2)} Weak: { U12(mark X1, X2) -> mark U12(X1, X2), U12(ok X1, ok X2) -> ok U12(X1, X2), isNat ok X -> ok isNat X, active U12(X1, X2) -> U12(active X1, X2), active U12(tt(), V2) -> mark U13 isNat V2, active isNat s V1 -> mark U21(isNatKind V1, V1), active isNat plus(V1, V2) -> mark U11(and(isNatKind V1, isNatKind V2), V1, V2), active isNat 0() -> mark tt(), active isNat x(V1, V2) -> mark U31(and(isNatKind V1, isNatKind V2), V1, V2), active U11(X1, X2, X3) -> U11(active X1, X2, X3), active U11(tt(), V1, V2) -> mark U12(isNat V1, V2), active U13 X -> U13 active X, active U13 tt() -> mark tt(), active U22 X -> U22 active X, active U22 tt() -> mark tt(), active U21(X1, X2) -> U21(active X1, X2), active U21(tt(), V1) -> mark U22 isNat V1, active U32(X1, X2) -> U32(active X1, X2), active U32(tt(), V2) -> mark U33 isNat V2, active U31(X1, X2, X3) -> U31(active X1, X2, X3), active U31(tt(), V1, V2) -> mark U32(isNat V1, V2), active U33 X -> U33 active X, active U33 tt() -> mark tt(), active U41(X1, X2) -> U41(active X1, X2), active U41(tt(), N) -> mark N, active s X -> s active X, active plus(N, s M) -> mark U51(and(and(isNat M, isNatKind M), and(isNat N, isNatKind N)), M, N), active plus(N, 0()) -> mark U41(and(isNat N, isNatKind N), N), active plus(X1, X2) -> plus(X1, active X2), active plus(X1, X2) -> plus(active X1, X2), active U51(X1, X2, X3) -> U51(active X1, X2, X3), active U51(tt(), M, N) -> mark s plus(N, M), active U61 X -> U61 active X, active U61 tt() -> mark 0(), active x(N, s M) -> mark U71(and(and(isNat M, isNatKind M), and(isNat N, isNatKind N)), M, N), active x(N, 0()) -> mark U61 and(isNat N, isNatKind N), active x(X1, X2) -> x(X1, active X2), active x(X1, X2) -> x(active X1, X2), active U71(X1, X2, X3) -> U71(active X1, X2, X3), active U71(tt(), M, N) -> mark plus(x(N, M), N), active and(X1, X2) -> and(active X1, X2), active and(tt(), X) -> mark X, active isNatKind s V1 -> mark isNatKind V1, active isNatKind plus(V1, V2) -> mark and(isNatKind V1, isNatKind V2), active isNatKind 0() -> mark tt(), active isNatKind x(V1, V2) -> mark and(isNatKind V1, isNatKind V2), U11(mark X1, X2, X3) -> mark U11(X1, X2, X3), U11(ok X1, ok X2, ok X3) -> ok U11(X1, X2, X3), U13 mark X -> mark U13 X, U13 ok X -> ok U13 X, U22 mark X -> mark U22 X, U22 ok X -> ok U22 X, U21(mark X1, X2) -> mark U21(X1, X2), U21(ok X1, ok X2) -> ok U21(X1, X2), U32(mark X1, X2) -> mark U32(X1, X2), U32(ok X1, ok X2) -> ok U32(X1, X2), U31(mark X1, X2, X3) -> mark U31(X1, X2, X3), U31(ok X1, ok X2, ok X3) -> ok U31(X1, X2, X3), U33 mark X -> mark U33 X, U33 ok X -> ok U33 X, U41(mark X1, X2) -> mark U41(X1, X2), U41(ok X1, ok X2) -> ok U41(X1, X2), s mark X -> mark s X, s ok X -> ok s X, plus(X1, mark X2) -> mark plus(X1, X2), plus(mark X1, X2) -> mark plus(X1, X2), plus(ok X1, ok X2) -> ok plus(X1, X2), U51(mark X1, X2, X3) -> mark U51(X1, X2, X3), U51(ok X1, ok X2, ok X3) -> ok U51(X1, X2, X3), U61 mark X -> mark U61 X, U61 ok X -> ok U61 X, x(X1, mark X2) -> mark x(X1, X2), x(mark X1, X2) -> mark x(X1, X2), x(ok X1, ok X2) -> ok x(X1, X2), U71(mark X1, X2, X3) -> mark U71(X1, X2, X3), U71(ok X1, ok X2, ok X3) -> ok U71(X1, X2, X3), and(mark X1, X2) -> mark and(X1, X2), and(ok X1, ok X2) -> ok and(X1, X2), isNatKind ok X -> ok isNatKind X, proper U12(X1, X2) -> U12(proper X1, proper X2), proper isNat X -> isNat proper X, proper U11(X1, X2, X3) -> U11(proper X1, proper X2, proper X3), proper tt() -> ok tt(), proper U13 X -> U13 proper X, proper U22 X -> U22 proper X, proper U21(X1, X2) -> U21(proper X1, proper X2), proper U32(X1, X2) -> U32(proper X1, proper X2), proper U31(X1, X2, X3) -> U31(proper X1, proper X2, proper X3), proper U33 X -> U33 proper X, proper U41(X1, X2) -> U41(proper X1, proper X2), proper s X -> s proper X, proper plus(X1, X2) -> plus(proper X1, proper X2), proper U51(X1, X2, X3) -> U51(proper X1, proper X2, proper X3), proper 0() -> ok 0(), proper U61 X -> U61 proper X, proper x(X1, X2) -> x(proper X1, proper X2), proper U71(X1, X2, X3) -> U71(proper X1, proper X2, proper X3), proper and(X1, X2) -> and(proper X1, proper X2), proper isNatKind X -> isNatKind proper X, top mark X -> top proper X, top ok X -> top active X} Open