TIMEOUT

The TRS could not be proven terminating. The proof attempt took 60018 ms.

The following DP Processors were used


Problem 1 remains open; application of the following processors failed [DependencyGraph (timeout)].

The following open problems remain:



Open Dependency Pair Problem 1

Dependency Pairs

proper#(U92(X)) → U92#(proper(X))proper#(U41(X1, X2)) → proper#(X2)
U34#(ok(X1), ok(X2), ok(X3)) → U34#(X1, X2, X3)proper#(U41(X1, X2)) → proper#(X1)
proper#(U11(X1, X2, X3)) → proper#(X3)proper#(U15(X1, X2)) → proper#(X1)
active#(U35(tt, V2)) → isNat#(V2)proper#(U91(X1, X2)) → proper#(X2)
active#(isNatKind(s(V1))) → U51#(isNatKind(V1))U51#(ok(X)) → U51#(X)
active#(U15(tt, V2)) → U16#(isNat(V2))proper#(U31(X1, X2, X3)) → proper#(X2)
proper#(U62(X)) → proper#(X)U72#(mark(X1), X2) → U72#(X1, X2)
proper#(U11(X1, X2, X3)) → proper#(X2)proper#(U32(X1, X2, X3)) → proper#(X2)
active#(U34(X1, X2, X3)) → U34#(active(X1), X2, X3)active#(U34(tt, V1, V2)) → U35#(isNat(V1), V2)
top#(mark(X)) → proper#(X)active#(U13(X1, X2, X3)) → active#(X1)
proper#(U72(X1, X2)) → proper#(X2)isNatKind#(ok(X)) → isNatKind#(X)
proper#(U104(X1, X2, X3)) → proper#(X2)active#(U101(X1, X2, X3)) → U101#(active(X1), X2, X3)
proper#(U71(X1, X2)) → U71#(proper(X1), proper(X2))active#(U81(X1, X2, X3)) → active#(X1)
active#(U61(X1, X2)) → active#(X1)proper#(U104(X1, X2, X3)) → proper#(X1)
active#(U61(tt, V2)) → isNatKind#(V2)U36#(mark(X)) → U36#(X)
active#(U21(tt, V1)) → isNatKind#(V1)active#(U12(X1, X2, X3)) → active#(X1)
active#(U41(X1, X2)) → active#(X1)proper#(U35(X1, X2)) → proper#(X2)
proper#(U33(X1, X2, X3)) → U33#(proper(X1), proper(X2), proper(X3))proper#(U101(X1, X2, X3)) → proper#(X2)
active#(plus(X1, X2)) → active#(X2)active#(U72(X1, X2)) → active#(X1)
proper#(U23(X)) → U23#(proper(X))proper#(U82(X1, X2, X3)) → proper#(X1)
proper#(U12(X1, X2, X3)) → proper#(X1)U102#(mark(X1), X2, X3) → U102#(X1, X2, X3)
proper#(U104(X1, X2, X3)) → U104#(proper(X1), proper(X2), proper(X3))proper#(isNatKind(X)) → isNatKind#(proper(X))
active#(U15(tt, V2)) → isNat#(V2)active#(U102(X1, X2, X3)) → U102#(active(X1), X2, X3)
active#(U91(tt, N)) → isNatKind#(N)U104#(ok(X1), ok(X2), ok(X3)) → U104#(X1, X2, X3)
U15#(ok(X1), ok(X2)) → U15#(X1, X2)active#(U34(X1, X2, X3)) → active#(X1)
proper#(U16(X)) → U16#(proper(X))U14#(mark(X1), X2, X3) → U14#(X1, X2, X3)
active#(U12(X1, X2, X3)) → U12#(active(X1), X2, X3)active#(isNat(x(V1, V2))) → isNatKind#(V1)
active#(U12(tt, V1, V2)) → U13#(isNatKind(V2), V1, V2)active#(U22(X1, X2)) → active#(X1)
active#(U83(X1, X2, X3)) → U83#(active(X1), X2, X3)U101#(ok(X1), ok(X2), ok(X3)) → U101#(X1, X2, X3)
proper#(U22(X1, X2)) → U22#(proper(X1), proper(X2))active#(U71(tt, N)) → U72#(isNatKind(N), N)
plus#(ok(X1), ok(X2)) → plus#(X1, X2)active#(U21(X1, X2)) → U21#(active(X1), X2)
active#(U32(X1, X2, X3)) → U32#(active(X1), X2, X3)proper#(U33(X1, X2, X3)) → proper#(X1)
proper#(isNat(X)) → proper#(X)proper#(U101(X1, X2, X3)) → proper#(X1)
U15#(mark(X1), X2) → U15#(X1, X2)U91#(ok(X1), ok(X2)) → U91#(X1, X2)
active#(U83(X1, X2, X3)) → active#(X1)U22#(ok(X1), ok(X2)) → U22#(X1, X2)
proper#(U34(X1, X2, X3)) → proper#(X1)active#(x(N, s(M))) → isNat#(M)
active#(isNat(s(V1))) → U21#(isNatKind(V1), V1)proper#(U13(X1, X2, X3)) → proper#(X1)
proper#(U21(X1, X2)) → proper#(X1)proper#(U103(X1, X2, X3)) → U103#(proper(X1), proper(X2), proper(X3))
active#(x(N, s(M))) → U101#(isNat(M), M, N)active#(U104(tt, M, N)) → plus#(x(N, M), N)
proper#(U13(X1, X2, X3)) → U13#(proper(X1), proper(X2), proper(X3))proper#(U32(X1, X2, X3)) → U32#(proper(X1), proper(X2), proper(X3))
proper#(U81(X1, X2, X3)) → U81#(proper(X1), proper(X2), proper(X3))active#(U22(X1, X2)) → U22#(active(X1), X2)
proper#(U32(X1, X2, X3)) → proper#(X3)proper#(U92(X)) → proper#(X)
active#(U102(tt, M, N)) → U103#(isNat(N), M, N)active#(U33(X1, X2, X3)) → active#(X1)
proper#(U72(X1, X2)) → U72#(proper(X1), proper(X2))U71#(ok(X1), ok(X2)) → U71#(X1, X2)
active#(isNat(plus(V1, V2))) → U11#(isNatKind(V1), V1, V2)proper#(U71(X1, X2)) → proper#(X2)
active#(U21(tt, V1)) → U22#(isNatKind(V1), V1)active#(U33(X1, X2, X3)) → U33#(active(X1), X2, X3)
active#(U41(X1, X2)) → U41#(active(X1), X2)active#(U83(tt, M, N)) → isNatKind#(N)
U16#(mark(X)) → U16#(X)U34#(mark(X1), X2, X3) → U34#(X1, X2, X3)
U91#(mark(X1), X2) → U91#(X1, X2)proper#(U61(X1, X2)) → proper#(X2)
U61#(mark(X1), X2) → U61#(X1, X2)proper#(U14(X1, X2, X3)) → proper#(X1)
proper#(plus(X1, X2)) → proper#(X1)active#(U103(tt, M, N)) → U104#(isNatKind(N), M, N)
active#(U101(X1, X2, X3)) → active#(X1)proper#(U81(X1, X2, X3)) → proper#(X2)
proper#(U104(X1, X2, X3)) → proper#(X3)active#(U36(X)) → U36#(active(X))
proper#(U103(X1, X2, X3)) → proper#(X3)U61#(ok(X1), ok(X2)) → U61#(X1, X2)
proper#(U16(X)) → proper#(X)U11#(mark(X1), X2, X3) → U11#(X1, X2, X3)
proper#(U35(X1, X2)) → proper#(X1)proper#(U12(X1, X2, X3)) → proper#(X3)
active#(x(X1, X2)) → x#(X1, active(X2))active#(U22(tt, V1)) → U23#(isNat(V1))
proper#(s(X)) → proper#(X)active#(plus(X1, X2)) → active#(X1)
proper#(U33(X1, X2, X3)) → proper#(X3)active#(U14(X1, X2, X3)) → active#(X1)
U84#(ok(X1), ok(X2), ok(X3)) → U84#(X1, X2, X3)active#(U13(X1, X2, X3)) → U13#(active(X1), X2, X3)
proper#(U81(X1, X2, X3)) → proper#(X3)active#(U82(X1, X2, X3)) → active#(X1)
active#(U11(X1, X2, X3)) → U11#(active(X1), X2, X3)active#(U103(X1, X2, X3)) → U103#(active(X1), X2, X3)
U31#(ok(X1), ok(X2), ok(X3)) → U31#(X1, X2, X3)active#(U16(X)) → U16#(active(X))
active#(x(X1, X2)) → x#(active(X1), X2)proper#(U42(X)) → proper#(X)
active#(U12(tt, V1, V2)) → isNatKind#(V2)proper#(U15(X1, X2)) → proper#(X2)
active#(isNat(plus(V1, V2))) → isNatKind#(V1)proper#(U51(X)) → proper#(X)
active#(U84(tt, M, N)) → plus#(N, M)U41#(ok(X1), ok(X2)) → U41#(X1, X2)
active#(U33(tt, V1, V2)) → U34#(isNatKind(V2), V1, V2)proper#(U81(X1, X2, X3)) → proper#(X1)
U41#(mark(X1), X2) → U41#(X1, X2)proper#(plus(X1, X2)) → proper#(X2)
active#(U104(tt, M, N)) → x#(N, M)U103#(ok(X1), ok(X2), ok(X3)) → U103#(X1, X2, X3)
proper#(U91(X1, X2)) → U91#(proper(X1), proper(X2))active#(U82(tt, M, N)) → U83#(isNat(N), M, N)
active#(U71(X1, X2)) → active#(X1)active#(U103(X1, X2, X3)) → active#(X1)
proper#(U84(X1, X2, X3)) → proper#(X3)proper#(U84(X1, X2, X3)) → proper#(X1)
active#(isNat(x(V1, V2))) → U31#(isNatKind(V1), V1, V2)U104#(mark(X1), X2, X3) → U104#(X1, X2, X3)
proper#(U41(X1, X2)) → U41#(proper(X1), proper(X2))proper#(x(X1, X2)) → proper#(X2)
active#(U102(tt, M, N)) → isNat#(N)proper#(U11(X1, X2, X3)) → U11#(proper(X1), proper(X2), proper(X3))
U72#(ok(X1), ok(X2)) → U72#(X1, X2)active#(U91(X1, X2)) → U91#(active(X1), X2)
s#(mark(X)) → s#(X)proper#(U84(X1, X2, X3)) → proper#(X2)
active#(s(X)) → active#(X)U14#(ok(X1), ok(X2), ok(X3)) → U14#(X1, X2, X3)
U83#(mark(X1), X2, X3) → U83#(X1, X2, X3)U32#(mark(X1), X2, X3) → U32#(X1, X2, X3)
active#(U104(X1, X2, X3)) → U104#(active(X1), X2, X3)active#(U102(X1, X2, X3)) → active#(X1)
U35#(ok(X1), ok(X2)) → U35#(X1, X2)U21#(ok(X1), ok(X2)) → U21#(X1, X2)
active#(U82(X1, X2, X3)) → U82#(active(X1), X2, X3)active#(U101(tt, M, N)) → isNatKind#(M)
active#(U35(tt, V2)) → U36#(isNat(V2))active#(isNatKind(plus(V1, V2))) → U41#(isNatKind(V1), V2)
active#(U35(X1, X2)) → active#(X1)active#(isNatKind(x(V1, V2))) → U61#(isNatKind(V1), V2)
active#(isNatKind(plus(V1, V2))) → isNatKind#(V1)active#(U15(X1, X2)) → active#(X1)
active#(U104(X1, X2, X3)) → active#(X1)active#(U84(tt, M, N)) → s#(plus(N, M))
active#(U13(tt, V1, V2)) → U14#(isNatKind(V2), V1, V2)proper#(isNatKind(X)) → proper#(X)
proper#(U42(X)) → U42#(proper(X))proper#(U33(X1, X2, X3)) → proper#(X2)
active#(x(N, 0)) → U91#(isNat(N), N)active#(U42(X)) → U42#(active(X))
x#(ok(X1), ok(X2)) → x#(X1, X2)x#(X1, mark(X2)) → x#(X1, X2)
proper#(U34(X1, X2, X3)) → U34#(proper(X1), proper(X2), proper(X3))active#(U32(X1, X2, X3)) → active#(X1)
proper#(U23(X)) → proper#(X)active#(plus(N, 0)) → isNat#(N)
proper#(U13(X1, X2, X3)) → proper#(X2)active#(U22(tt, V1)) → isNat#(V1)
active#(U32(tt, V1, V2)) → isNatKind#(V2)active#(U51(X)) → U51#(active(X))
U12#(mark(X1), X2, X3) → U12#(X1, X2, X3)active#(U62(X)) → active#(X)
isNat#(ok(X)) → isNat#(X)active#(plus(N, s(M))) → U81#(isNat(M), M, N)
active#(U35(X1, X2)) → U35#(active(X1), X2)active#(isNat(s(V1))) → isNatKind#(V1)
active#(U11(tt, V1, V2)) → isNatKind#(V1)active#(U92(X)) → active#(X)
active#(U103(tt, M, N)) → isNatKind#(N)active#(U14(tt, V1, V2)) → U15#(isNat(V1), V2)
active#(U31(X1, X2, X3)) → active#(X1)proper#(U34(X1, X2, X3)) → proper#(X2)
U11#(ok(X1), ok(X2), ok(X3)) → U11#(X1, X2, X3)U33#(mark(X1), X2, X3) → U33#(X1, X2, X3)
proper#(U101(X1, X2, X3)) → proper#(X3)proper#(U62(X)) → U62#(proper(X))
U51#(mark(X)) → U51#(X)plus#(mark(X1), X2) → plus#(X1, X2)
U13#(mark(X1), X2, X3) → U13#(X1, X2, X3)proper#(U15(X1, X2)) → U15#(proper(X1), proper(X2))
U103#(mark(X1), X2, X3) → U103#(X1, X2, X3)active#(U15(X1, X2)) → U15#(active(X1), X2)
active#(x(N, 0)) → isNat#(N)active#(U31(tt, V1, V2)) → isNatKind#(V1)
U22#(mark(X1), X2) → U22#(X1, X2)U13#(ok(X1), ok(X2), ok(X3)) → U13#(X1, X2, X3)
active#(U92(X)) → U92#(active(X))proper#(U103(X1, X2, X3)) → proper#(X2)
top#(ok(X)) → active#(X)active#(U91(X1, X2)) → active#(X1)
U82#(mark(X1), X2, X3) → U82#(X1, X2, X3)proper#(U103(X1, X2, X3)) → proper#(X1)
x#(mark(X1), X2) → x#(X1, X2)proper#(U91(X1, X2)) → proper#(X1)
active#(U31(X1, X2, X3)) → U31#(active(X1), X2, X3)U62#(mark(X)) → U62#(X)
U83#(ok(X1), ok(X2), ok(X3)) → U83#(X1, X2, X3)active#(U41(tt, V2)) → U42#(isNatKind(V2))
U71#(mark(X1), X2) → U71#(X1, X2)proper#(U13(X1, X2, X3)) → proper#(X3)
active#(U101(tt, M, N)) → U102#(isNatKind(M), M, N)proper#(isNat(X)) → isNat#(proper(X))
active#(U33(tt, V1, V2)) → isNatKind#(V2)U42#(ok(X)) → U42#(X)
proper#(U102(X1, X2, X3)) → U102#(proper(X1), proper(X2), proper(X3))U33#(ok(X1), ok(X2), ok(X3)) → U33#(X1, X2, X3)
active#(U14(X1, X2, X3)) → U14#(active(X1), X2, X3)proper#(U12(X1, X2, X3)) → proper#(X2)
proper#(U12(X1, X2, X3)) → U12#(proper(X1), proper(X2), proper(X3))active#(U81(tt, M, N)) → U82#(isNatKind(M), M, N)
proper#(U72(X1, X2)) → proper#(X1)proper#(U31(X1, X2, X3)) → proper#(X1)
active#(s(X)) → s#(active(X))s#(ok(X)) → s#(X)
U81#(ok(X1), ok(X2), ok(X3)) → U81#(X1, X2, X3)proper#(U11(X1, X2, X3)) → proper#(X1)
proper#(U14(X1, X2, X3)) → proper#(X3)proper#(U14(X1, X2, X3)) → proper#(X2)
active#(plus(N, s(M))) → isNat#(M)active#(U72(X1, X2)) → U72#(active(X1), X2)
proper#(s(X)) → s#(proper(X))active#(U23(X)) → active#(X)
active#(x(X1, X2)) → active#(X2)U36#(ok(X)) → U36#(X)
active#(U61(tt, V2)) → U62#(isNatKind(V2))top#(ok(X)) → top#(active(X))
U92#(mark(X)) → U92#(X)U23#(mark(X)) → U23#(X)
U102#(ok(X1), ok(X2), ok(X3)) → U102#(X1, X2, X3)proper#(U83(X1, X2, X3)) → proper#(X1)
U42#(mark(X)) → U42#(X)active#(U61(X1, X2)) → U61#(active(X1), X2)
active#(U13(tt, V1, V2)) → isNatKind#(V2)U82#(ok(X1), ok(X2), ok(X3)) → U82#(X1, X2, X3)
active#(U81(tt, M, N)) → isNatKind#(M)active#(U36(X)) → active#(X)
plus#(X1, mark(X2)) → plus#(X1, X2)proper#(U83(X1, X2, X3)) → proper#(X2)
proper#(U36(X)) → U36#(proper(X))active#(U23(X)) → U23#(active(X))
U81#(mark(X1), X2, X3) → U81#(X1, X2, X3)U84#(mark(X1), X2, X3) → U84#(X1, X2, X3)
proper#(plus(X1, X2)) → plus#(proper(X1), proper(X2))active#(U62(X)) → U62#(active(X))
U32#(ok(X1), ok(X2), ok(X3)) → U32#(X1, X2, X3)top#(mark(X)) → top#(proper(X))
active#(U31(tt, V1, V2)) → U32#(isNatKind(V1), V1, V2)active#(U84(X1, X2, X3)) → active#(X1)
proper#(U51(X)) → U51#(proper(X))proper#(U14(X1, X2, X3)) → U14#(proper(X1), proper(X2), proper(X3))
proper#(U22(X1, X2)) → proper#(X2)U62#(ok(X)) → U62#(X)
proper#(U102(X1, X2, X3)) → proper#(X3)proper#(U84(X1, X2, X3)) → U84#(proper(X1), proper(X2), proper(X3))
active#(U16(X)) → active#(X)active#(U82(tt, M, N)) → isNat#(N)
active#(U11(X1, X2, X3)) → active#(X1)proper#(U101(X1, X2, X3)) → U101#(proper(X1), proper(X2), proper(X3))
active#(U32(tt, V1, V2)) → U33#(isNatKind(V2), V1, V2)U12#(ok(X1), ok(X2), ok(X3)) → U12#(X1, X2, X3)
proper#(U82(X1, X2, X3)) → U82#(proper(X1), proper(X2), proper(X3))proper#(U32(X1, X2, X3)) → proper#(X1)
active#(U34(tt, V1, V2)) → isNat#(V1)active#(U71(tt, N)) → isNatKind#(N)
active#(U81(X1, X2, X3)) → U81#(active(X1), X2, X3)proper#(U82(X1, X2, X3)) → proper#(X3)
proper#(U61(X1, X2)) → U61#(proper(X1), proper(X2))active#(U84(X1, X2, X3)) → U84#(active(X1), X2, X3)
proper#(U102(X1, X2, X3)) → proper#(X1)U92#(ok(X)) → U92#(X)
active#(U71(X1, X2)) → U71#(active(X1), X2)active#(U42(X)) → active#(X)
proper#(U83(X1, X2, X3)) → U83#(proper(X1), proper(X2), proper(X3))proper#(x(X1, X2)) → proper#(X1)
U101#(mark(X1), X2, X3) → U101#(X1, X2, X3)proper#(U21(X1, X2)) → proper#(X2)
proper#(U22(X1, X2)) → proper#(X1)active#(plus(N, 0)) → U71#(isNat(N), N)
proper#(U71(X1, X2)) → proper#(X1)proper#(U31(X1, X2, X3)) → U31#(proper(X1), proper(X2), proper(X3))
proper#(U102(X1, X2, X3)) → proper#(X2)active#(isNatKind(x(V1, V2))) → isNatKind#(V1)
U23#(ok(X)) → U23#(X)active#(U14(tt, V1, V2)) → isNat#(V1)
proper#(x(X1, X2)) → x#(proper(X1), proper(X2))proper#(U31(X1, X2, X3)) → proper#(X3)
active#(isNatKind(s(V1))) → isNatKind#(V1)proper#(U21(X1, X2)) → U21#(proper(X1), proper(X2))
proper#(U34(X1, X2, X3)) → proper#(X3)U35#(mark(X1), X2) → U35#(X1, X2)
active#(x(X1, X2)) → active#(X1)active#(U91(tt, N)) → U92#(isNatKind(N))
active#(U11(tt, V1, V2)) → U12#(isNatKind(V1), V1, V2)active#(U41(tt, V2)) → isNatKind#(V2)
proper#(U61(X1, X2)) → proper#(X1)active#(plus(X1, X2)) → plus#(X1, active(X2))
U16#(ok(X)) → U16#(X)active#(U21(X1, X2)) → active#(X1)
active#(U83(tt, M, N)) → U84#(isNatKind(N), M, N)proper#(U82(X1, X2, X3)) → proper#(X2)
active#(plus(X1, X2)) → plus#(active(X1), X2)U21#(mark(X1), X2) → U21#(X1, X2)
active#(U51(X)) → active#(X)U31#(mark(X1), X2, X3) → U31#(X1, X2, X3)
proper#(U36(X)) → proper#(X)proper#(U35(X1, X2)) → U35#(proper(X1), proper(X2))
proper#(U83(X1, X2, X3)) → proper#(X3)

Rewrite Rules

active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))top(ok(X)) → top(active(X))

Original Signature

Termination of terms over the following signature is verified: U104, isNat, U62, U61, U42, U92, U41, U91, ok, proper, U23, U21, top, U22, plus, isNatKind, U83, U84, mark, U71, U36, U72, 0, s, U51, U14, tt, U15, U82, U16, U81, U11, active, U12, U13, U31, U102, U32, U103, U33, U34, x, U101, U35