TIMEOUT
The TRS could not be proven terminating. The proof attempt took 60002 ms.
The following DP Processors were used
Problem 1 was processed with processor DependencyGraph (39570ms).
| Problem 2 was processed with processor DependencyGraph (13665ms).
| | Problem 38 remains open; application of the following processors failed [].
| Problem 3 remains open; application of the following processors failed [SubtermCriterion (1ms), DependencyGraph (timeout)].
| Problem 4 remains open; application of the following processors failed [SubtermCriterion (2ms)].
| Problem 5 remains open; application of the following processors failed [SubtermCriterion (5ms)].
| Problem 6 remains open; application of the following processors failed [SubtermCriterion (3ms)].
| Problem 7 remains open; application of the following processors failed [SubtermCriterion (2ms)].
| Problem 8 remains open; application of the following processors failed [SubtermCriterion (3ms)].
| Problem 9 was processed with processor SubtermCriterion (3ms).
| | Problem 37 remains open; application of the following processors failed [].
| Problem 10 remains open; application of the following processors failed [SubtermCriterion (3ms)].
| Problem 11 remains open; application of the following processors failed [SubtermCriterion (2ms)].
| Problem 12 remains open; application of the following processors failed [SubtermCriterion (4ms)].
| Problem 13 remains open; application of the following processors failed [SubtermCriterion (9ms)].
| Problem 14 remains open; application of the following processors failed [SubtermCriterion (2ms)].
| Problem 15 remains open; application of the following processors failed [SubtermCriterion (1ms)].
| Problem 16 remains open; application of the following processors failed [SubtermCriterion (2ms)].
| Problem 17 remains open; application of the following processors failed [SubtermCriterion (3ms)].
| Problem 18 remains open; application of the following processors failed [SubtermCriterion (2ms)].
| Problem 19 remains open; application of the following processors failed [SubtermCriterion (2ms)].
| Problem 20 remains open; application of the following processors failed [SubtermCriterion (2ms)].
| Problem 21 remains open; application of the following processors failed [SubtermCriterion (2ms)].
| Problem 22 remains open; application of the following processors failed [SubtermCriterion (6ms)].
| Problem 23 remains open; application of the following processors failed [SubtermCriterion (2ms)].
| Problem 24 remains open; application of the following processors failed [SubtermCriterion (1ms)].
| Problem 25 remains open; application of the following processors failed [SubtermCriterion (3ms)].
| Problem 26 remains open; application of the following processors failed [SubtermCriterion (2ms)].
| Problem 27 remains open; application of the following processors failed [SubtermCriterion (2ms)].
| Problem 28 remains open; application of the following processors failed [SubtermCriterion (2ms)].
| Problem 29 remains open; application of the following processors failed [SubtermCriterion (2ms)].
| Problem 30 remains open; application of the following processors failed [SubtermCriterion (2ms)].
| Problem 31 remains open; application of the following processors failed [SubtermCriterion (2ms)].
| Problem 32 remains open; application of the following processors failed [SubtermCriterion (1ms)].
| Problem 33 remains open; application of the following processors failed [SubtermCriterion (2ms)].
| Problem 34 remains open; application of the following processors failed [SubtermCriterion (3ms)].
| Problem 35 remains open; application of the following processors failed [SubtermCriterion (2ms)].
| Problem 36 remains open; application of the following processors failed [SubtermCriterion (1ms)].
The following open problems remain:
Open Dependency Pair Problem 2
Dependency Pairs
mark#(U101(X1, X2, X3)) | → | mark#(X1) | | mark#(U62(X)) | → | a__U62#(mark(X)) |
mark#(U84(X1, X2, X3)) | → | mark#(X1) | | mark#(U35(X1, X2)) | → | a__U35#(mark(X1), X2) |
mark#(U32(X1, X2, X3)) | → | mark#(X1) | | mark#(U103(X1, X2, X3)) | → | mark#(X1) |
a__U84#(tt, M, N) | → | mark#(N) | | mark#(U104(X1, X2, X3)) | → | mark#(X1) |
mark#(U22(X1, X2)) | → | a__U22#(mark(X1), X2) | | a__U104#(tt, M, N) | → | mark#(N) |
a__U101#(tt, M, N) | → | a__U102#(a__isNatKind(M), M, N) | | a__plus#(N, s(M)) | → | a__U81#(a__isNat(M), M, N) |
a__U103#(tt, M, N) | → | a__U104#(a__isNatKind(N), M, N) | | mark#(U33(X1, X2, X3)) | → | mark#(X1) |
mark#(s(X)) | → | mark#(X) | | a__plus#(N, 0) | → | a__U71#(a__isNat(N), N) |
a__U84#(tt, M, N) | → | mark#(M) | | mark#(U71(X1, X2)) | → | a__U71#(mark(X1), X2) |
mark#(U84(X1, X2, X3)) | → | a__U84#(mark(X1), X2, X3) | | mark#(U13(X1, X2, X3)) | → | mark#(X1) |
mark#(U72(X1, X2)) | → | mark#(X1) | | mark#(plus(X1, X2)) | → | a__plus#(mark(X1), mark(X2)) |
mark#(U82(X1, X2, X3)) | → | mark#(X1) | | mark#(U71(X1, X2)) | → | mark#(X1) |
mark#(U31(X1, X2, X3)) | → | mark#(X1) | | mark#(U101(X1, X2, X3)) | → | a__U101#(mark(X1), X2, X3) |
mark#(plus(X1, X2)) | → | mark#(X1) | | mark#(U51(X)) | → | mark#(X) |
mark#(U15(X1, X2)) | → | mark#(X1) | | mark#(U34(X1, X2, X3)) | → | mark#(X1) |
mark#(x(X1, X2)) | → | mark#(X2) | | mark#(U104(X1, X2, X3)) | → | a__U104#(mark(X1), X2, X3) |
mark#(U62(X)) | → | mark#(X) | | a__U72#(tt, N) | → | mark#(N) |
a__U104#(tt, M, N) | → | a__plus#(a__x(mark(N), mark(M)), mark(N)) | | a__U81#(tt, M, N) | → | a__U82#(a__isNatKind(M), M, N) |
mark#(U32(X1, X2, X3)) | → | a__U32#(mark(X1), X2, X3) | | mark#(U103(X1, X2, X3)) | → | a__U103#(mark(X1), X2, X3) |
mark#(U11(X1, X2, X3)) | → | a__U11#(mark(X1), X2, X3) | | mark#(U11(X1, X2, X3)) | → | mark#(X1) |
mark#(U61(X1, X2)) | → | mark#(X1) | | a__U71#(tt, N) | → | a__U72#(a__isNatKind(N), N) |
mark#(U91(X1, X2)) | → | mark#(X1) | | a__x#(N, s(M)) | → | a__U101#(a__isNat(M), M, N) |
mark#(x(X1, X2)) | → | a__x#(mark(X1), mark(X2)) | | mark#(U83(X1, X2, X3)) | → | a__U83#(mark(X1), X2, X3) |
a__U104#(tt, M, N) | → | a__x#(mark(N), mark(M)) | | mark#(U21(X1, X2)) | → | mark#(X1) |
mark#(U42(X)) | → | mark#(X) | | mark#(U35(X1, X2)) | → | mark#(X1) |
mark#(U81(X1, X2, X3)) | → | mark#(X1) | | mark#(U14(X1, X2, X3)) | → | mark#(X1) |
mark#(U16(X)) | → | mark#(X) | | a__U104#(tt, M, N) | → | mark#(M) |
mark#(U23(X)) | → | mark#(X) | | mark#(U83(X1, X2, X3)) | → | mark#(X1) |
mark#(U22(X1, X2)) | → | mark#(X1) | | mark#(plus(X1, X2)) | → | mark#(X2) |
mark#(U102(X1, X2, X3)) | → | mark#(X1) | | mark#(U82(X1, X2, X3)) | → | a__U82#(mark(X1), X2, X3) |
mark#(U102(X1, X2, X3)) | → | a__U102#(mark(X1), X2, X3) | | mark#(U41(X1, X2)) | → | mark#(X1) |
mark#(U33(X1, X2, X3)) | → | a__U33#(mark(X1), X2, X3) | | mark#(U12(X1, X2, X3)) | → | mark#(X1) |
a__U84#(tt, M, N) | → | a__plus#(mark(N), mark(M)) | | mark#(U72(X1, X2)) | → | a__U72#(mark(X1), X2) |
a__U82#(tt, M, N) | → | a__U83#(a__isNat(N), M, N) | | mark#(U21(X1, X2)) | → | a__U21#(mark(X1), X2) |
mark#(U92(X)) | → | mark#(X) | | mark#(U36(X)) | → | mark#(X) |
a__U102#(tt, M, N) | → | a__U103#(a__isNat(N), M, N) | | mark#(U81(X1, X2, X3)) | → | a__U81#(mark(X1), X2, X3) |
mark#(x(X1, X2)) | → | mark#(X1) | | a__U83#(tt, M, N) | → | a__U84#(a__isNatKind(N), M, N) |
Rewrite Rules
a__U101(tt, M, N) | → | a__U102(a__isNatKind(M), M, N) | | a__U102(tt, M, N) | → | a__U103(a__isNat(N), M, N) |
a__U103(tt, M, N) | → | a__U104(a__isNatKind(N), M, N) | | a__U104(tt, M, N) | → | a__plus(a__x(mark(N), mark(M)), mark(N)) |
a__U11(tt, V1, V2) | → | a__U12(a__isNatKind(V1), V1, V2) | | a__U12(tt, V1, V2) | → | a__U13(a__isNatKind(V2), V1, V2) |
a__U13(tt, V1, V2) | → | a__U14(a__isNatKind(V2), V1, V2) | | a__U14(tt, V1, V2) | → | a__U15(a__isNat(V1), V2) |
a__U15(tt, V2) | → | a__U16(a__isNat(V2)) | | a__U16(tt) | → | tt |
a__U21(tt, V1) | → | a__U22(a__isNatKind(V1), V1) | | a__U22(tt, V1) | → | a__U23(a__isNat(V1)) |
a__U23(tt) | → | tt | | a__U31(tt, V1, V2) | → | a__U32(a__isNatKind(V1), V1, V2) |
a__U32(tt, V1, V2) | → | a__U33(a__isNatKind(V2), V1, V2) | | a__U33(tt, V1, V2) | → | a__U34(a__isNatKind(V2), V1, V2) |
a__U34(tt, V1, V2) | → | a__U35(a__isNat(V1), V2) | | a__U35(tt, V2) | → | a__U36(a__isNat(V2)) |
a__U36(tt) | → | tt | | a__U41(tt, V2) | → | a__U42(a__isNatKind(V2)) |
a__U42(tt) | → | tt | | a__U51(tt) | → | tt |
a__U61(tt, V2) | → | a__U62(a__isNatKind(V2)) | | a__U62(tt) | → | tt |
a__U71(tt, N) | → | a__U72(a__isNatKind(N), N) | | a__U72(tt, N) | → | mark(N) |
a__U81(tt, M, N) | → | a__U82(a__isNatKind(M), M, N) | | a__U82(tt, M, N) | → | a__U83(a__isNat(N), M, N) |
a__U83(tt, M, N) | → | a__U84(a__isNatKind(N), M, N) | | a__U84(tt, M, N) | → | s(a__plus(mark(N), mark(M))) |
a__U91(tt, N) | → | a__U92(a__isNatKind(N)) | | a__U92(tt) | → | 0 |
a__isNat(0) | → | tt | | a__isNat(plus(V1, V2)) | → | a__U11(a__isNatKind(V1), V1, V2) |
a__isNat(s(V1)) | → | a__U21(a__isNatKind(V1), V1) | | a__isNat(x(V1, V2)) | → | a__U31(a__isNatKind(V1), V1, V2) |
a__isNatKind(0) | → | tt | | a__isNatKind(plus(V1, V2)) | → | a__U41(a__isNatKind(V1), V2) |
a__isNatKind(s(V1)) | → | a__U51(a__isNatKind(V1)) | | a__isNatKind(x(V1, V2)) | → | a__U61(a__isNatKind(V1), V2) |
a__plus(N, 0) | → | a__U71(a__isNat(N), N) | | a__plus(N, s(M)) | → | a__U81(a__isNat(M), M, N) |
a__x(N, 0) | → | a__U91(a__isNat(N), N) | | a__x(N, s(M)) | → | a__U101(a__isNat(M), M, N) |
mark(U101(X1, X2, X3)) | → | a__U101(mark(X1), X2, X3) | | mark(U102(X1, X2, X3)) | → | a__U102(mark(X1), X2, X3) |
mark(isNatKind(X)) | → | a__isNatKind(X) | | mark(U103(X1, X2, X3)) | → | a__U103(mark(X1), X2, X3) |
mark(isNat(X)) | → | a__isNat(X) | | mark(U104(X1, X2, X3)) | → | a__U104(mark(X1), X2, X3) |
mark(plus(X1, X2)) | → | a__plus(mark(X1), mark(X2)) | | mark(x(X1, X2)) | → | a__x(mark(X1), mark(X2)) |
mark(U11(X1, X2, X3)) | → | a__U11(mark(X1), X2, X3) | | mark(U12(X1, X2, X3)) | → | a__U12(mark(X1), X2, X3) |
mark(U13(X1, X2, X3)) | → | a__U13(mark(X1), X2, X3) | | mark(U14(X1, X2, X3)) | → | a__U14(mark(X1), X2, X3) |
mark(U15(X1, X2)) | → | a__U15(mark(X1), X2) | | mark(U16(X)) | → | a__U16(mark(X)) |
mark(U21(X1, X2)) | → | a__U21(mark(X1), X2) | | mark(U22(X1, X2)) | → | a__U22(mark(X1), X2) |
mark(U23(X)) | → | a__U23(mark(X)) | | mark(U31(X1, X2, X3)) | → | a__U31(mark(X1), X2, X3) |
mark(U32(X1, X2, X3)) | → | a__U32(mark(X1), X2, X3) | | mark(U33(X1, X2, X3)) | → | a__U33(mark(X1), X2, X3) |
mark(U34(X1, X2, X3)) | → | a__U34(mark(X1), X2, X3) | | mark(U35(X1, X2)) | → | a__U35(mark(X1), X2) |
mark(U36(X)) | → | a__U36(mark(X)) | | mark(U41(X1, X2)) | → | a__U41(mark(X1), X2) |
mark(U42(X)) | → | a__U42(mark(X)) | | mark(U51(X)) | → | a__U51(mark(X)) |
mark(U61(X1, X2)) | → | a__U61(mark(X1), X2) | | mark(U62(X)) | → | a__U62(mark(X)) |
mark(U71(X1, X2)) | → | a__U71(mark(X1), X2) | | mark(U72(X1, X2)) | → | a__U72(mark(X1), X2) |
mark(U81(X1, X2, X3)) | → | a__U81(mark(X1), X2, X3) | | mark(U82(X1, X2, X3)) | → | a__U82(mark(X1), X2, X3) |
mark(U83(X1, X2, X3)) | → | a__U83(mark(X1), X2, X3) | | mark(U84(X1, X2, X3)) | → | a__U84(mark(X1), X2, X3) |
mark(U91(X1, X2)) | → | a__U91(mark(X1), X2) | | mark(U92(X)) | → | a__U92(mark(X)) |
mark(tt) | → | tt | | mark(s(X)) | → | s(mark(X)) |
mark(0) | → | 0 | | a__U101(X1, X2, X3) | → | U101(X1, X2, X3) |
a__U102(X1, X2, X3) | → | U102(X1, X2, X3) | | a__isNatKind(X) | → | isNatKind(X) |
a__U103(X1, X2, X3) | → | U103(X1, X2, X3) | | a__isNat(X) | → | isNat(X) |
a__U104(X1, X2, X3) | → | U104(X1, X2, X3) | | a__plus(X1, X2) | → | plus(X1, X2) |
a__x(X1, X2) | → | x(X1, X2) | | a__U11(X1, X2, X3) | → | U11(X1, X2, X3) |
a__U12(X1, X2, X3) | → | U12(X1, X2, X3) | | a__U13(X1, X2, X3) | → | U13(X1, X2, X3) |
a__U14(X1, X2, X3) | → | U14(X1, X2, X3) | | a__U15(X1, X2) | → | U15(X1, X2) |
a__U16(X) | → | U16(X) | | a__U21(X1, X2) | → | U21(X1, X2) |
a__U22(X1, X2) | → | U22(X1, X2) | | a__U23(X) | → | U23(X) |
a__U31(X1, X2, X3) | → | U31(X1, X2, X3) | | a__U32(X1, X2, X3) | → | U32(X1, X2, X3) |
a__U33(X1, X2, X3) | → | U33(X1, X2, X3) | | a__U34(X1, X2, X3) | → | U34(X1, X2, X3) |
a__U35(X1, X2) | → | U35(X1, X2) | | a__U36(X) | → | U36(X) |
a__U41(X1, X2) | → | U41(X1, X2) | | a__U42(X) | → | U42(X) |
a__U51(X) | → | U51(X) | | a__U61(X1, X2) | → | U61(X1, X2) |
a__U62(X) | → | U62(X) | | a__U71(X1, X2) | → | U71(X1, X2) |
a__U72(X1, X2) | → | U72(X1, X2) | | a__U81(X1, X2, X3) | → | U81(X1, X2, X3) |
a__U82(X1, X2, X3) | → | U82(X1, X2, X3) | | a__U83(X1, X2, X3) | → | U83(X1, X2, X3) |
a__U84(X1, X2, X3) | → | U84(X1, X2, X3) | | a__U91(X1, X2) | → | U91(X1, X2) |
a__U92(X) | → | U92(X) |
Original Signature
Termination of terms over the following signature is verified: U104, U62, U61, a__U41, a__U72, a__U42, a__U71, U23, U21, U22, plus, a__U84, isNatKind, mark, U71, U36, U72, 0, a__isNat, a__U32, a__U83, a__U31, a__U82, a__U81, U31, U32, a__U36, U33, a__U35, U34, a__U34, a__U104, U35, a__U33, a__U103, a__U51, isNat, U42, a__U91, U92, U41, a__U92, U91, a__U23, a__U22, a__U102, a__U101, a__U21, a__U62, U83, a__plus, U84, U51, U14, s, U15, tt, U82, U16, a__U16, U81, a__U15, a__U14, a__U13, U11, U12, a__U12, U13, a__U11, a__U61, U102, a__x, U103, a__isNatKind, x, U101
Open Dependency Pair Problem 3
Dependency Pairs
mark#(U101(X1, X2, X3)) | → | mark#(X1) | | a__U71#(tt, N) | → | a__isNatKind#(N) |
mark#(U62(X)) | → | a__U62#(mark(X)) | | mark#(U84(X1, X2, X3)) | → | mark#(X1) |
mark#(U35(X1, X2)) | → | a__U35#(mark(X1), X2) | | mark#(U32(X1, X2, X3)) | → | mark#(X1) |
mark#(U103(X1, X2, X3)) | → | mark#(X1) | | a__U84#(tt, M, N) | → | mark#(N) |
mark#(U104(X1, X2, X3)) | → | mark#(X1) | | mark#(U22(X1, X2)) | → | a__U22#(mark(X1), X2) |
a__U104#(tt, M, N) | → | mark#(N) | | a__U101#(tt, M, N) | → | a__U102#(a__isNatKind(M), M, N) |
a__plus#(N, s(M)) | → | a__U81#(a__isNat(M), M, N) | | a__U103#(tt, M, N) | → | a__U104#(a__isNatKind(N), M, N) |
mark#(U33(X1, X2, X3)) | → | mark#(X1) | | mark#(U41(X1, X2)) | → | a__U41#(mark(X1), X2) |
mark#(s(X)) | → | mark#(X) | | a__plus#(N, 0) | → | a__U71#(a__isNat(N), N) |
a__U84#(tt, M, N) | → | mark#(M) | | mark#(U71(X1, X2)) | → | a__U71#(mark(X1), X2) |
mark#(U84(X1, X2, X3)) | → | a__U84#(mark(X1), X2, X3) | | mark#(U13(X1, X2, X3)) | → | mark#(X1) |
mark#(U72(X1, X2)) | → | mark#(X1) | | mark#(plus(X1, X2)) | → | a__plus#(mark(X1), mark(X2)) |
mark#(U82(X1, X2, X3)) | → | mark#(X1) | | mark#(U71(X1, X2)) | → | mark#(X1) |
mark#(U92(X)) | → | a__U92#(mark(X)) | | mark#(U31(X1, X2, X3)) | → | mark#(X1) |
mark#(U101(X1, X2, X3)) | → | a__U101#(mark(X1), X2, X3) | | mark#(plus(X1, X2)) | → | mark#(X1) |
mark#(U15(X1, X2)) | → | mark#(X1) | | mark#(U51(X)) | → | mark#(X) |
mark#(U34(X1, X2, X3)) | → | mark#(X1) | | mark#(x(X1, X2)) | → | mark#(X2) |
mark#(U104(X1, X2, X3)) | → | a__U104#(mark(X1), X2, X3) | | mark#(U62(X)) | → | mark#(X) |
a__U72#(tt, N) | → | mark#(N) | | a__U104#(tt, M, N) | → | a__plus#(a__x(mark(N), mark(M)), mark(N)) |
a__U81#(tt, M, N) | → | a__U82#(a__isNatKind(M), M, N) | | mark#(U32(X1, X2, X3)) | → | a__U32#(mark(X1), X2, X3) |
mark#(U103(X1, X2, X3)) | → | a__U103#(mark(X1), X2, X3) | | mark#(U11(X1, X2, X3)) | → | mark#(X1) |
mark#(U61(X1, X2)) | → | mark#(X1) | | a__U71#(tt, N) | → | a__U72#(a__isNatKind(N), N) |
mark#(U91(X1, X2)) | → | mark#(X1) | | a__x#(N, s(M)) | → | a__U101#(a__isNat(M), M, N) |
mark#(x(X1, X2)) | → | a__x#(mark(X1), mark(X2)) | | mark#(U83(X1, X2, X3)) | → | a__U83#(mark(X1), X2, X3) |
a__U104#(tt, M, N) | → | a__x#(mark(N), mark(M)) | | mark#(U21(X1, X2)) | → | mark#(X1) |
mark#(U42(X)) | → | mark#(X) | | mark#(U35(X1, X2)) | → | mark#(X1) |
mark#(U14(X1, X2, X3)) | → | mark#(X1) | | mark#(U81(X1, X2, X3)) | → | mark#(X1) |
mark#(U16(X)) | → | mark#(X) | | a__U104#(tt, M, N) | → | mark#(M) |
mark#(U22(X1, X2)) | → | mark#(X1) | | mark#(U23(X)) | → | mark#(X) |
mark#(U83(X1, X2, X3)) | → | mark#(X1) | | mark#(plus(X1, X2)) | → | mark#(X2) |
mark#(U102(X1, X2, X3)) | → | mark#(X1) | | mark#(U82(X1, X2, X3)) | → | a__U82#(mark(X1), X2, X3) |
mark#(U102(X1, X2, X3)) | → | a__U102#(mark(X1), X2, X3) | | mark#(U41(X1, X2)) | → | mark#(X1) |
mark#(U12(X1, X2, X3)) | → | mark#(X1) | | mark#(U33(X1, X2, X3)) | → | a__U33#(mark(X1), X2, X3) |
a__U84#(tt, M, N) | → | a__plus#(mark(N), mark(M)) | | mark#(U72(X1, X2)) | → | a__U72#(mark(X1), X2) |
a__U82#(tt, M, N) | → | a__U83#(a__isNat(N), M, N) | | mark#(U92(X)) | → | mark#(X) |
mark#(U21(X1, X2)) | → | a__U21#(mark(X1), X2) | | mark#(U36(X)) | → | mark#(X) |
a__U102#(tt, M, N) | → | a__U103#(a__isNat(N), M, N) | | mark#(U81(X1, X2, X3)) | → | a__U81#(mark(X1), X2, X3) |
mark#(x(X1, X2)) | → | mark#(X1) | | a__U83#(tt, M, N) | → | a__U84#(a__isNatKind(N), M, N) |
Rewrite Rules
a__U101(tt, M, N) | → | a__U102(a__isNatKind(M), M, N) | | a__U102(tt, M, N) | → | a__U103(a__isNat(N), M, N) |
a__U103(tt, M, N) | → | a__U104(a__isNatKind(N), M, N) | | a__U104(tt, M, N) | → | a__plus(a__x(mark(N), mark(M)), mark(N)) |
a__U11(tt, V1, V2) | → | a__U12(a__isNatKind(V1), V1, V2) | | a__U12(tt, V1, V2) | → | a__U13(a__isNatKind(V2), V1, V2) |
a__U13(tt, V1, V2) | → | a__U14(a__isNatKind(V2), V1, V2) | | a__U14(tt, V1, V2) | → | a__U15(a__isNat(V1), V2) |
a__U15(tt, V2) | → | a__U16(a__isNat(V2)) | | a__U16(tt) | → | tt |
a__U21(tt, V1) | → | a__U22(a__isNatKind(V1), V1) | | a__U22(tt, V1) | → | a__U23(a__isNat(V1)) |
a__U23(tt) | → | tt | | a__U31(tt, V1, V2) | → | a__U32(a__isNatKind(V1), V1, V2) |
a__U32(tt, V1, V2) | → | a__U33(a__isNatKind(V2), V1, V2) | | a__U33(tt, V1, V2) | → | a__U34(a__isNatKind(V2), V1, V2) |
a__U34(tt, V1, V2) | → | a__U35(a__isNat(V1), V2) | | a__U35(tt, V2) | → | a__U36(a__isNat(V2)) |
a__U36(tt) | → | tt | | a__U41(tt, V2) | → | a__U42(a__isNatKind(V2)) |
a__U42(tt) | → | tt | | a__U51(tt) | → | tt |
a__U61(tt, V2) | → | a__U62(a__isNatKind(V2)) | | a__U62(tt) | → | tt |
a__U71(tt, N) | → | a__U72(a__isNatKind(N), N) | | a__U72(tt, N) | → | mark(N) |
a__U81(tt, M, N) | → | a__U82(a__isNatKind(M), M, N) | | a__U82(tt, M, N) | → | a__U83(a__isNat(N), M, N) |
a__U83(tt, M, N) | → | a__U84(a__isNatKind(N), M, N) | | a__U84(tt, M, N) | → | s(a__plus(mark(N), mark(M))) |
a__U91(tt, N) | → | a__U92(a__isNatKind(N)) | | a__U92(tt) | → | 0 |
a__isNat(0) | → | tt | | a__isNat(plus(V1, V2)) | → | a__U11(a__isNatKind(V1), V1, V2) |
a__isNat(s(V1)) | → | a__U21(a__isNatKind(V1), V1) | | a__isNat(x(V1, V2)) | → | a__U31(a__isNatKind(V1), V1, V2) |
a__isNatKind(0) | → | tt | | a__isNatKind(plus(V1, V2)) | → | a__U41(a__isNatKind(V1), V2) |
a__isNatKind(s(V1)) | → | a__U51(a__isNatKind(V1)) | | a__isNatKind(x(V1, V2)) | → | a__U61(a__isNatKind(V1), V2) |
a__plus(N, 0) | → | a__U71(a__isNat(N), N) | | a__plus(N, s(M)) | → | a__U81(a__isNat(M), M, N) |
a__x(N, 0) | → | a__U91(a__isNat(N), N) | | a__x(N, s(M)) | → | a__U101(a__isNat(M), M, N) |
mark(U101(X1, X2, X3)) | → | a__U101(mark(X1), X2, X3) | | mark(U102(X1, X2, X3)) | → | a__U102(mark(X1), X2, X3) |
mark(isNatKind(X)) | → | a__isNatKind(X) | | mark(U103(X1, X2, X3)) | → | a__U103(mark(X1), X2, X3) |
mark(isNat(X)) | → | a__isNat(X) | | mark(U104(X1, X2, X3)) | → | a__U104(mark(X1), X2, X3) |
mark(plus(X1, X2)) | → | a__plus(mark(X1), mark(X2)) | | mark(x(X1, X2)) | → | a__x(mark(X1), mark(X2)) |
mark(U11(X1, X2, X3)) | → | a__U11(mark(X1), X2, X3) | | mark(U12(X1, X2, X3)) | → | a__U12(mark(X1), X2, X3) |
mark(U13(X1, X2, X3)) | → | a__U13(mark(X1), X2, X3) | | mark(U14(X1, X2, X3)) | → | a__U14(mark(X1), X2, X3) |
mark(U15(X1, X2)) | → | a__U15(mark(X1), X2) | | mark(U16(X)) | → | a__U16(mark(X)) |
mark(U21(X1, X2)) | → | a__U21(mark(X1), X2) | | mark(U22(X1, X2)) | → | a__U22(mark(X1), X2) |
mark(U23(X)) | → | a__U23(mark(X)) | | mark(U31(X1, X2, X3)) | → | a__U31(mark(X1), X2, X3) |
mark(U32(X1, X2, X3)) | → | a__U32(mark(X1), X2, X3) | | mark(U33(X1, X2, X3)) | → | a__U33(mark(X1), X2, X3) |
mark(U34(X1, X2, X3)) | → | a__U34(mark(X1), X2, X3) | | mark(U35(X1, X2)) | → | a__U35(mark(X1), X2) |
mark(U36(X)) | → | a__U36(mark(X)) | | mark(U41(X1, X2)) | → | a__U41(mark(X1), X2) |
mark(U42(X)) | → | a__U42(mark(X)) | | mark(U51(X)) | → | a__U51(mark(X)) |
mark(U61(X1, X2)) | → | a__U61(mark(X1), X2) | | mark(U62(X)) | → | a__U62(mark(X)) |
mark(U71(X1, X2)) | → | a__U71(mark(X1), X2) | | mark(U72(X1, X2)) | → | a__U72(mark(X1), X2) |
mark(U81(X1, X2, X3)) | → | a__U81(mark(X1), X2, X3) | | mark(U82(X1, X2, X3)) | → | a__U82(mark(X1), X2, X3) |
mark(U83(X1, X2, X3)) | → | a__U83(mark(X1), X2, X3) | | mark(U84(X1, X2, X3)) | → | a__U84(mark(X1), X2, X3) |
mark(U91(X1, X2)) | → | a__U91(mark(X1), X2) | | mark(U92(X)) | → | a__U92(mark(X)) |
mark(tt) | → | tt | | mark(s(X)) | → | s(mark(X)) |
mark(0) | → | 0 | | a__U101(X1, X2, X3) | → | U101(X1, X2, X3) |
a__U102(X1, X2, X3) | → | U102(X1, X2, X3) | | a__isNatKind(X) | → | isNatKind(X) |
a__U103(X1, X2, X3) | → | U103(X1, X2, X3) | | a__isNat(X) | → | isNat(X) |
a__U104(X1, X2, X3) | → | U104(X1, X2, X3) | | a__plus(X1, X2) | → | plus(X1, X2) |
a__x(X1, X2) | → | x(X1, X2) | | a__U11(X1, X2, X3) | → | U11(X1, X2, X3) |
a__U12(X1, X2, X3) | → | U12(X1, X2, X3) | | a__U13(X1, X2, X3) | → | U13(X1, X2, X3) |
a__U14(X1, X2, X3) | → | U14(X1, X2, X3) | | a__U15(X1, X2) | → | U15(X1, X2) |
a__U16(X) | → | U16(X) | | a__U21(X1, X2) | → | U21(X1, X2) |
a__U22(X1, X2) | → | U22(X1, X2) | | a__U23(X) | → | U23(X) |
a__U31(X1, X2, X3) | → | U31(X1, X2, X3) | | a__U32(X1, X2, X3) | → | U32(X1, X2, X3) |
a__U33(X1, X2, X3) | → | U33(X1, X2, X3) | | a__U34(X1, X2, X3) | → | U34(X1, X2, X3) |
a__U35(X1, X2) | → | U35(X1, X2) | | a__U36(X) | → | U36(X) |
a__U41(X1, X2) | → | U41(X1, X2) | | a__U42(X) | → | U42(X) |
a__U51(X) | → | U51(X) | | a__U61(X1, X2) | → | U61(X1, X2) |
a__U62(X) | → | U62(X) | | a__U71(X1, X2) | → | U71(X1, X2) |
a__U72(X1, X2) | → | U72(X1, X2) | | a__U81(X1, X2, X3) | → | U81(X1, X2, X3) |
a__U82(X1, X2, X3) | → | U82(X1, X2, X3) | | a__U83(X1, X2, X3) | → | U83(X1, X2, X3) |
a__U84(X1, X2, X3) | → | U84(X1, X2, X3) | | a__U91(X1, X2) | → | U91(X1, X2) |
a__U92(X) | → | U92(X) |
Original Signature
Termination of terms over the following signature is verified: U104, U62, U61, a__U41, a__U72, a__U42, a__U71, U23, U21, U22, plus, a__U84, isNatKind, mark, U71, U36, U72, 0, a__isNat, a__U32, a__U83, a__U31, a__U82, a__U81, U31, U32, a__U36, U33, a__U35, U34, a__U34, a__U104, U35, a__U33, a__U103, a__U51, isNat, U42, a__U91, U92, U41, a__U92, U91, a__U23, a__U22, a__U102, a__U101, a__U21, a__U62, U83, a__plus, U84, U51, U14, s, U15, tt, U82, U16, a__U16, U81, a__U15, a__U14, a__U13, U11, U12, a__U12, U13, a__U11, a__U61, U102, a__x, U103, a__isNatKind, x, U101
Open Dependency Pair Problem 4
Dependency Pairs
mark#(U101(X1, X2, X3)) | → | mark#(X1) | | mark#(U62(X)) | → | a__U62#(mark(X)) |
mark#(U35(X1, X2)) | → | a__U35#(mark(X1), X2) | | mark#(U84(X1, X2, X3)) | → | mark#(X1) |
mark#(U32(X1, X2, X3)) | → | mark#(X1) | | mark#(U103(X1, X2, X3)) | → | mark#(X1) |
a__U84#(tt, M, N) | → | mark#(N) | | mark#(U104(X1, X2, X3)) | → | mark#(X1) |
mark#(U22(X1, X2)) | → | a__U22#(mark(X1), X2) | | a__U104#(tt, M, N) | → | mark#(N) |
a__U101#(tt, M, N) | → | a__U102#(a__isNatKind(M), M, N) | | a__plus#(N, s(M)) | → | a__U81#(a__isNat(M), M, N) |
a__U103#(tt, M, N) | → | a__U104#(a__isNatKind(N), M, N) | | mark#(U33(X1, X2, X3)) | → | mark#(X1) |
mark#(U41(X1, X2)) | → | a__U41#(mark(X1), X2) | | mark#(s(X)) | → | mark#(X) |
a__plus#(N, 0) | → | a__U71#(a__isNat(N), N) | | a__U84#(tt, M, N) | → | mark#(M) |
mark#(U71(X1, X2)) | → | a__U71#(mark(X1), X2) | | mark#(U84(X1, X2, X3)) | → | a__U84#(mark(X1), X2, X3) |
mark#(U13(X1, X2, X3)) | → | mark#(X1) | | mark#(U72(X1, X2)) | → | mark#(X1) |
mark#(plus(X1, X2)) | → | a__plus#(mark(X1), mark(X2)) | | mark#(U82(X1, X2, X3)) | → | mark#(X1) |
mark#(U71(X1, X2)) | → | mark#(X1) | | mark#(U92(X)) | → | a__U92#(mark(X)) |
mark#(U31(X1, X2, X3)) | → | mark#(X1) | | mark#(U101(X1, X2, X3)) | → | a__U101#(mark(X1), X2, X3) |
mark#(plus(X1, X2)) | → | mark#(X1) | | mark#(U15(X1, X2)) | → | mark#(X1) |
mark#(U51(X)) | → | mark#(X) | | mark#(U34(X1, X2, X3)) | → | mark#(X1) |
mark#(x(X1, X2)) | → | mark#(X2) | | mark#(U104(X1, X2, X3)) | → | a__U104#(mark(X1), X2, X3) |
mark#(U62(X)) | → | mark#(X) | | a__U72#(tt, N) | → | mark#(N) |
a__U104#(tt, M, N) | → | a__plus#(a__x(mark(N), mark(M)), mark(N)) | | a__U81#(tt, M, N) | → | a__U82#(a__isNatKind(M), M, N) |
mark#(U32(X1, X2, X3)) | → | a__U32#(mark(X1), X2, X3) | | mark#(U103(X1, X2, X3)) | → | a__U103#(mark(X1), X2, X3) |
mark#(U11(X1, X2, X3)) | → | mark#(X1) | | mark#(U61(X1, X2)) | → | mark#(X1) |
a__U71#(tt, N) | → | a__U72#(a__isNatKind(N), N) | | mark#(U91(X1, X2)) | → | mark#(X1) |
a__x#(N, s(M)) | → | a__U101#(a__isNat(M), M, N) | | mark#(x(X1, X2)) | → | a__x#(mark(X1), mark(X2)) |
mark#(U83(X1, X2, X3)) | → | a__U83#(mark(X1), X2, X3) | | a__U104#(tt, M, N) | → | a__x#(mark(N), mark(M)) |
mark#(U21(X1, X2)) | → | mark#(X1) | | mark#(U42(X)) | → | mark#(X) |
mark#(U35(X1, X2)) | → | mark#(X1) | | mark#(U14(X1, X2, X3)) | → | mark#(X1) |
mark#(U81(X1, X2, X3)) | → | mark#(X1) | | mark#(U16(X)) | → | mark#(X) |
a__U104#(tt, M, N) | → | mark#(M) | | mark#(U22(X1, X2)) | → | mark#(X1) |
mark#(U23(X)) | → | mark#(X) | | mark#(U83(X1, X2, X3)) | → | mark#(X1) |
mark#(plus(X1, X2)) | → | mark#(X2) | | mark#(U102(X1, X2, X3)) | → | mark#(X1) |
mark#(U82(X1, X2, X3)) | → | a__U82#(mark(X1), X2, X3) | | mark#(U102(X1, X2, X3)) | → | a__U102#(mark(X1), X2, X3) |
mark#(U41(X1, X2)) | → | mark#(X1) | | mark#(U12(X1, X2, X3)) | → | mark#(X1) |
mark#(U33(X1, X2, X3)) | → | a__U33#(mark(X1), X2, X3) | | a__U84#(tt, M, N) | → | a__plus#(mark(N), mark(M)) |
mark#(U72(X1, X2)) | → | a__U72#(mark(X1), X2) | | a__U82#(tt, M, N) | → | a__U83#(a__isNat(N), M, N) |
mark#(U92(X)) | → | mark#(X) | | mark#(U21(X1, X2)) | → | a__U21#(mark(X1), X2) |
mark#(U36(X)) | → | mark#(X) | | a__U102#(tt, M, N) | → | a__U103#(a__isNat(N), M, N) |
mark#(U81(X1, X2, X3)) | → | a__U81#(mark(X1), X2, X3) | | mark#(x(X1, X2)) | → | mark#(X1) |
a__U83#(tt, M, N) | → | a__U84#(a__isNatKind(N), M, N) |
Rewrite Rules
a__U101(tt, M, N) | → | a__U102(a__isNatKind(M), M, N) | | a__U102(tt, M, N) | → | a__U103(a__isNat(N), M, N) |
a__U103(tt, M, N) | → | a__U104(a__isNatKind(N), M, N) | | a__U104(tt, M, N) | → | a__plus(a__x(mark(N), mark(M)), mark(N)) |
a__U11(tt, V1, V2) | → | a__U12(a__isNatKind(V1), V1, V2) | | a__U12(tt, V1, V2) | → | a__U13(a__isNatKind(V2), V1, V2) |
a__U13(tt, V1, V2) | → | a__U14(a__isNatKind(V2), V1, V2) | | a__U14(tt, V1, V2) | → | a__U15(a__isNat(V1), V2) |
a__U15(tt, V2) | → | a__U16(a__isNat(V2)) | | a__U16(tt) | → | tt |
a__U21(tt, V1) | → | a__U22(a__isNatKind(V1), V1) | | a__U22(tt, V1) | → | a__U23(a__isNat(V1)) |
a__U23(tt) | → | tt | | a__U31(tt, V1, V2) | → | a__U32(a__isNatKind(V1), V1, V2) |
a__U32(tt, V1, V2) | → | a__U33(a__isNatKind(V2), V1, V2) | | a__U33(tt, V1, V2) | → | a__U34(a__isNatKind(V2), V1, V2) |
a__U34(tt, V1, V2) | → | a__U35(a__isNat(V1), V2) | | a__U35(tt, V2) | → | a__U36(a__isNat(V2)) |
a__U36(tt) | → | tt | | a__U41(tt, V2) | → | a__U42(a__isNatKind(V2)) |
a__U42(tt) | → | tt | | a__U51(tt) | → | tt |
a__U61(tt, V2) | → | a__U62(a__isNatKind(V2)) | | a__U62(tt) | → | tt |
a__U71(tt, N) | → | a__U72(a__isNatKind(N), N) | | a__U72(tt, N) | → | mark(N) |
a__U81(tt, M, N) | → | a__U82(a__isNatKind(M), M, N) | | a__U82(tt, M, N) | → | a__U83(a__isNat(N), M, N) |
a__U83(tt, M, N) | → | a__U84(a__isNatKind(N), M, N) | | a__U84(tt, M, N) | → | s(a__plus(mark(N), mark(M))) |
a__U91(tt, N) | → | a__U92(a__isNatKind(N)) | | a__U92(tt) | → | 0 |
a__isNat(0) | → | tt | | a__isNat(plus(V1, V2)) | → | a__U11(a__isNatKind(V1), V1, V2) |
a__isNat(s(V1)) | → | a__U21(a__isNatKind(V1), V1) | | a__isNat(x(V1, V2)) | → | a__U31(a__isNatKind(V1), V1, V2) |
a__isNatKind(0) | → | tt | | a__isNatKind(plus(V1, V2)) | → | a__U41(a__isNatKind(V1), V2) |
a__isNatKind(s(V1)) | → | a__U51(a__isNatKind(V1)) | | a__isNatKind(x(V1, V2)) | → | a__U61(a__isNatKind(V1), V2) |
a__plus(N, 0) | → | a__U71(a__isNat(N), N) | | a__plus(N, s(M)) | → | a__U81(a__isNat(M), M, N) |
a__x(N, 0) | → | a__U91(a__isNat(N), N) | | a__x(N, s(M)) | → | a__U101(a__isNat(M), M, N) |
mark(U101(X1, X2, X3)) | → | a__U101(mark(X1), X2, X3) | | mark(U102(X1, X2, X3)) | → | a__U102(mark(X1), X2, X3) |
mark(isNatKind(X)) | → | a__isNatKind(X) | | mark(U103(X1, X2, X3)) | → | a__U103(mark(X1), X2, X3) |
mark(isNat(X)) | → | a__isNat(X) | | mark(U104(X1, X2, X3)) | → | a__U104(mark(X1), X2, X3) |
mark(plus(X1, X2)) | → | a__plus(mark(X1), mark(X2)) | | mark(x(X1, X2)) | → | a__x(mark(X1), mark(X2)) |
mark(U11(X1, X2, X3)) | → | a__U11(mark(X1), X2, X3) | | mark(U12(X1, X2, X3)) | → | a__U12(mark(X1), X2, X3) |
mark(U13(X1, X2, X3)) | → | a__U13(mark(X1), X2, X3) | | mark(U14(X1, X2, X3)) | → | a__U14(mark(X1), X2, X3) |
mark(U15(X1, X2)) | → | a__U15(mark(X1), X2) | | mark(U16(X)) | → | a__U16(mark(X)) |
mark(U21(X1, X2)) | → | a__U21(mark(X1), X2) | | mark(U22(X1, X2)) | → | a__U22(mark(X1), X2) |
mark(U23(X)) | → | a__U23(mark(X)) | | mark(U31(X1, X2, X3)) | → | a__U31(mark(X1), X2, X3) |
mark(U32(X1, X2, X3)) | → | a__U32(mark(X1), X2, X3) | | mark(U33(X1, X2, X3)) | → | a__U33(mark(X1), X2, X3) |
mark(U34(X1, X2, X3)) | → | a__U34(mark(X1), X2, X3) | | mark(U35(X1, X2)) | → | a__U35(mark(X1), X2) |
mark(U36(X)) | → | a__U36(mark(X)) | | mark(U41(X1, X2)) | → | a__U41(mark(X1), X2) |
mark(U42(X)) | → | a__U42(mark(X)) | | mark(U51(X)) | → | a__U51(mark(X)) |
mark(U61(X1, X2)) | → | a__U61(mark(X1), X2) | | mark(U62(X)) | → | a__U62(mark(X)) |
mark(U71(X1, X2)) | → | a__U71(mark(X1), X2) | | mark(U72(X1, X2)) | → | a__U72(mark(X1), X2) |
mark(U81(X1, X2, X3)) | → | a__U81(mark(X1), X2, X3) | | mark(U82(X1, X2, X3)) | → | a__U82(mark(X1), X2, X3) |
mark(U83(X1, X2, X3)) | → | a__U83(mark(X1), X2, X3) | | mark(U84(X1, X2, X3)) | → | a__U84(mark(X1), X2, X3) |
mark(U91(X1, X2)) | → | a__U91(mark(X1), X2) | | mark(U92(X)) | → | a__U92(mark(X)) |
mark(tt) | → | tt | | mark(s(X)) | → | s(mark(X)) |
mark(0) | → | 0 | | a__U101(X1, X2, X3) | → | U101(X1, X2, X3) |
a__U102(X1, X2, X3) | → | U102(X1, X2, X3) | | a__isNatKind(X) | → | isNatKind(X) |
a__U103(X1, X2, X3) | → | U103(X1, X2, X3) | | a__isNat(X) | → | isNat(X) |
a__U104(X1, X2, X3) | → | U104(X1, X2, X3) | | a__plus(X1, X2) | → | plus(X1, X2) |
a__x(X1, X2) | → | x(X1, X2) | | a__U11(X1, X2, X3) | → | U11(X1, X2, X3) |
a__U12(X1, X2, X3) | → | U12(X1, X2, X3) | | a__U13(X1, X2, X3) | → | U13(X1, X2, X3) |
a__U14(X1, X2, X3) | → | U14(X1, X2, X3) | | a__U15(X1, X2) | → | U15(X1, X2) |
a__U16(X) | → | U16(X) | | a__U21(X1, X2) | → | U21(X1, X2) |
a__U22(X1, X2) | → | U22(X1, X2) | | a__U23(X) | → | U23(X) |
a__U31(X1, X2, X3) | → | U31(X1, X2, X3) | | a__U32(X1, X2, X3) | → | U32(X1, X2, X3) |
a__U33(X1, X2, X3) | → | U33(X1, X2, X3) | | a__U34(X1, X2, X3) | → | U34(X1, X2, X3) |
a__U35(X1, X2) | → | U35(X1, X2) | | a__U36(X) | → | U36(X) |
a__U41(X1, X2) | → | U41(X1, X2) | | a__U42(X) | → | U42(X) |
a__U51(X) | → | U51(X) | | a__U61(X1, X2) | → | U61(X1, X2) |
a__U62(X) | → | U62(X) | | a__U71(X1, X2) | → | U71(X1, X2) |
a__U72(X1, X2) | → | U72(X1, X2) | | a__U81(X1, X2, X3) | → | U81(X1, X2, X3) |
a__U82(X1, X2, X3) | → | U82(X1, X2, X3) | | a__U83(X1, X2, X3) | → | U83(X1, X2, X3) |
a__U84(X1, X2, X3) | → | U84(X1, X2, X3) | | a__U91(X1, X2) | → | U91(X1, X2) |
a__U92(X) | → | U92(X) |
Original Signature
Termination of terms over the following signature is verified: U104, U62, U61, a__U41, a__U72, a__U42, a__U71, U23, U21, U22, plus, a__U84, isNatKind, mark, U71, U36, U72, 0, a__isNat, a__U32, a__U83, a__U31, a__U82, a__U81, U31, U32, a__U36, U33, a__U35, U34, a__U34, a__U104, U35, a__U33, a__U103, a__U51, isNat, U42, a__U91, U92, U41, a__U92, U91, a__U23, a__U22, a__U102, a__U101, a__U21, a__U62, U83, a__plus, U84, U51, U14, s, U15, tt, U82, U16, a__U16, U81, a__U15, a__U14, a__U13, U11, U12, a__U12, U13, a__U11, a__U61, U102, a__x, U103, a__isNatKind, x, U101
Open Dependency Pair Problem 5
Dependency Pairs
mark#(U101(X1, X2, X3)) | → | mark#(X1) | | a__U71#(tt, N) | → | a__isNatKind#(N) |
mark#(U35(X1, X2)) | → | a__U35#(mark(X1), X2) | | mark#(U84(X1, X2, X3)) | → | mark#(X1) |
mark#(U32(X1, X2, X3)) | → | mark#(X1) | | a__U84#(tt, M, N) | → | mark#(N) |
mark#(U103(X1, X2, X3)) | → | mark#(X1) | | mark#(U104(X1, X2, X3)) | → | mark#(X1) |
mark#(U22(X1, X2)) | → | a__U22#(mark(X1), X2) | | a__U104#(tt, M, N) | → | mark#(N) |
a__U101#(tt, M, N) | → | a__U102#(a__isNatKind(M), M, N) | | a__plus#(N, s(M)) | → | a__U81#(a__isNat(M), M, N) |
a__U103#(tt, M, N) | → | a__U104#(a__isNatKind(N), M, N) | | mark#(U33(X1, X2, X3)) | → | mark#(X1) |
mark#(U41(X1, X2)) | → | a__U41#(mark(X1), X2) | | mark#(s(X)) | → | mark#(X) |
a__plus#(N, 0) | → | a__U71#(a__isNat(N), N) | | a__U84#(tt, M, N) | → | mark#(M) |
mark#(U71(X1, X2)) | → | a__U71#(mark(X1), X2) | | mark#(U84(X1, X2, X3)) | → | a__U84#(mark(X1), X2, X3) |
mark#(U13(X1, X2, X3)) | → | mark#(X1) | | mark#(U72(X1, X2)) | → | mark#(X1) |
mark#(plus(X1, X2)) | → | a__plus#(mark(X1), mark(X2)) | | mark#(U82(X1, X2, X3)) | → | mark#(X1) |
mark#(U71(X1, X2)) | → | mark#(X1) | | mark#(U92(X)) | → | a__U92#(mark(X)) |
mark#(U31(X1, X2, X3)) | → | mark#(X1) | | mark#(U101(X1, X2, X3)) | → | a__U101#(mark(X1), X2, X3) |
mark#(plus(X1, X2)) | → | mark#(X1) | | mark#(U15(X1, X2)) | → | mark#(X1) |
mark#(U51(X)) | → | mark#(X) | | mark#(U34(X1, X2, X3)) | → | mark#(X1) |
mark#(x(X1, X2)) | → | mark#(X2) | | mark#(U104(X1, X2, X3)) | → | a__U104#(mark(X1), X2, X3) |
mark#(U62(X)) | → | mark#(X) | | a__U72#(tt, N) | → | mark#(N) |
a__U104#(tt, M, N) | → | a__plus#(a__x(mark(N), mark(M)), mark(N)) | | a__U81#(tt, M, N) | → | a__U82#(a__isNatKind(M), M, N) |
mark#(U32(X1, X2, X3)) | → | a__U32#(mark(X1), X2, X3) | | mark#(U103(X1, X2, X3)) | → | a__U103#(mark(X1), X2, X3) |
mark#(U11(X1, X2, X3)) | → | mark#(X1) | | mark#(U61(X1, X2)) | → | mark#(X1) |
a__U71#(tt, N) | → | a__U72#(a__isNatKind(N), N) | | mark#(U91(X1, X2)) | → | mark#(X1) |
a__x#(N, s(M)) | → | a__U101#(a__isNat(M), M, N) | | mark#(x(X1, X2)) | → | a__x#(mark(X1), mark(X2)) |
mark#(U83(X1, X2, X3)) | → | a__U83#(mark(X1), X2, X3) | | a__U104#(tt, M, N) | → | a__x#(mark(N), mark(M)) |
mark#(U21(X1, X2)) | → | mark#(X1) | | mark#(U42(X)) | → | mark#(X) |
mark#(U35(X1, X2)) | → | mark#(X1) | | mark#(U14(X1, X2, X3)) | → | mark#(X1) |
mark#(U81(X1, X2, X3)) | → | mark#(X1) | | mark#(U16(X)) | → | mark#(X) |
a__U104#(tt, M, N) | → | mark#(M) | | mark#(U22(X1, X2)) | → | mark#(X1) |
mark#(U23(X)) | → | mark#(X) | | mark#(U83(X1, X2, X3)) | → | mark#(X1) |
mark#(plus(X1, X2)) | → | mark#(X2) | | mark#(U102(X1, X2, X3)) | → | mark#(X1) |
mark#(U82(X1, X2, X3)) | → | a__U82#(mark(X1), X2, X3) | | mark#(U102(X1, X2, X3)) | → | a__U102#(mark(X1), X2, X3) |
mark#(U41(X1, X2)) | → | mark#(X1) | | mark#(U12(X1, X2, X3)) | → | mark#(X1) |
mark#(U33(X1, X2, X3)) | → | a__U33#(mark(X1), X2, X3) | | a__U84#(tt, M, N) | → | a__plus#(mark(N), mark(M)) |
mark#(U72(X1, X2)) | → | a__U72#(mark(X1), X2) | | a__U82#(tt, M, N) | → | a__U83#(a__isNat(N), M, N) |
mark#(U92(X)) | → | mark#(X) | | mark#(U21(X1, X2)) | → | a__U21#(mark(X1), X2) |
mark#(U36(X)) | → | mark#(X) | | a__U102#(tt, M, N) | → | a__U103#(a__isNat(N), M, N) |
mark#(U81(X1, X2, X3)) | → | a__U81#(mark(X1), X2, X3) | | mark#(x(X1, X2)) | → | mark#(X1) |
a__U83#(tt, M, N) | → | a__U84#(a__isNatKind(N), M, N) |
Rewrite Rules
a__U101(tt, M, N) | → | a__U102(a__isNatKind(M), M, N) | | a__U102(tt, M, N) | → | a__U103(a__isNat(N), M, N) |
a__U103(tt, M, N) | → | a__U104(a__isNatKind(N), M, N) | | a__U104(tt, M, N) | → | a__plus(a__x(mark(N), mark(M)), mark(N)) |
a__U11(tt, V1, V2) | → | a__U12(a__isNatKind(V1), V1, V2) | | a__U12(tt, V1, V2) | → | a__U13(a__isNatKind(V2), V1, V2) |
a__U13(tt, V1, V2) | → | a__U14(a__isNatKind(V2), V1, V2) | | a__U14(tt, V1, V2) | → | a__U15(a__isNat(V1), V2) |
a__U15(tt, V2) | → | a__U16(a__isNat(V2)) | | a__U16(tt) | → | tt |
a__U21(tt, V1) | → | a__U22(a__isNatKind(V1), V1) | | a__U22(tt, V1) | → | a__U23(a__isNat(V1)) |
a__U23(tt) | → | tt | | a__U31(tt, V1, V2) | → | a__U32(a__isNatKind(V1), V1, V2) |
a__U32(tt, V1, V2) | → | a__U33(a__isNatKind(V2), V1, V2) | | a__U33(tt, V1, V2) | → | a__U34(a__isNatKind(V2), V1, V2) |
a__U34(tt, V1, V2) | → | a__U35(a__isNat(V1), V2) | | a__U35(tt, V2) | → | a__U36(a__isNat(V2)) |
a__U36(tt) | → | tt | | a__U41(tt, V2) | → | a__U42(a__isNatKind(V2)) |
a__U42(tt) | → | tt | | a__U51(tt) | → | tt |
a__U61(tt, V2) | → | a__U62(a__isNatKind(V2)) | | a__U62(tt) | → | tt |
a__U71(tt, N) | → | a__U72(a__isNatKind(N), N) | | a__U72(tt, N) | → | mark(N) |
a__U81(tt, M, N) | → | a__U82(a__isNatKind(M), M, N) | | a__U82(tt, M, N) | → | a__U83(a__isNat(N), M, N) |
a__U83(tt, M, N) | → | a__U84(a__isNatKind(N), M, N) | | a__U84(tt, M, N) | → | s(a__plus(mark(N), mark(M))) |
a__U91(tt, N) | → | a__U92(a__isNatKind(N)) | | a__U92(tt) | → | 0 |
a__isNat(0) | → | tt | | a__isNat(plus(V1, V2)) | → | a__U11(a__isNatKind(V1), V1, V2) |
a__isNat(s(V1)) | → | a__U21(a__isNatKind(V1), V1) | | a__isNat(x(V1, V2)) | → | a__U31(a__isNatKind(V1), V1, V2) |
a__isNatKind(0) | → | tt | | a__isNatKind(plus(V1, V2)) | → | a__U41(a__isNatKind(V1), V2) |
a__isNatKind(s(V1)) | → | a__U51(a__isNatKind(V1)) | | a__isNatKind(x(V1, V2)) | → | a__U61(a__isNatKind(V1), V2) |
a__plus(N, 0) | → | a__U71(a__isNat(N), N) | | a__plus(N, s(M)) | → | a__U81(a__isNat(M), M, N) |
a__x(N, 0) | → | a__U91(a__isNat(N), N) | | a__x(N, s(M)) | → | a__U101(a__isNat(M), M, N) |
mark(U101(X1, X2, X3)) | → | a__U101(mark(X1), X2, X3) | | mark(U102(X1, X2, X3)) | → | a__U102(mark(X1), X2, X3) |
mark(isNatKind(X)) | → | a__isNatKind(X) | | mark(U103(X1, X2, X3)) | → | a__U103(mark(X1), X2, X3) |
mark(isNat(X)) | → | a__isNat(X) | | mark(U104(X1, X2, X3)) | → | a__U104(mark(X1), X2, X3) |
mark(plus(X1, X2)) | → | a__plus(mark(X1), mark(X2)) | | mark(x(X1, X2)) | → | a__x(mark(X1), mark(X2)) |
mark(U11(X1, X2, X3)) | → | a__U11(mark(X1), X2, X3) | | mark(U12(X1, X2, X3)) | → | a__U12(mark(X1), X2, X3) |
mark(U13(X1, X2, X3)) | → | a__U13(mark(X1), X2, X3) | | mark(U14(X1, X2, X3)) | → | a__U14(mark(X1), X2, X3) |
mark(U15(X1, X2)) | → | a__U15(mark(X1), X2) | | mark(U16(X)) | → | a__U16(mark(X)) |
mark(U21(X1, X2)) | → | a__U21(mark(X1), X2) | | mark(U22(X1, X2)) | → | a__U22(mark(X1), X2) |
mark(U23(X)) | → | a__U23(mark(X)) | | mark(U31(X1, X2, X3)) | → | a__U31(mark(X1), X2, X3) |
mark(U32(X1, X2, X3)) | → | a__U32(mark(X1), X2, X3) | | mark(U33(X1, X2, X3)) | → | a__U33(mark(X1), X2, X3) |
mark(U34(X1, X2, X3)) | → | a__U34(mark(X1), X2, X3) | | mark(U35(X1, X2)) | → | a__U35(mark(X1), X2) |
mark(U36(X)) | → | a__U36(mark(X)) | | mark(U41(X1, X2)) | → | a__U41(mark(X1), X2) |
mark(U42(X)) | → | a__U42(mark(X)) | | mark(U51(X)) | → | a__U51(mark(X)) |
mark(U61(X1, X2)) | → | a__U61(mark(X1), X2) | | mark(U62(X)) | → | a__U62(mark(X)) |
mark(U71(X1, X2)) | → | a__U71(mark(X1), X2) | | mark(U72(X1, X2)) | → | a__U72(mark(X1), X2) |
mark(U81(X1, X2, X3)) | → | a__U81(mark(X1), X2, X3) | | mark(U82(X1, X2, X3)) | → | a__U82(mark(X1), X2, X3) |
mark(U83(X1, X2, X3)) | → | a__U83(mark(X1), X2, X3) | | mark(U84(X1, X2, X3)) | → | a__U84(mark(X1), X2, X3) |
mark(U91(X1, X2)) | → | a__U91(mark(X1), X2) | | mark(U92(X)) | → | a__U92(mark(X)) |
mark(tt) | → | tt | | mark(s(X)) | → | s(mark(X)) |
mark(0) | → | 0 | | a__U101(X1, X2, X3) | → | U101(X1, X2, X3) |
a__U102(X1, X2, X3) | → | U102(X1, X2, X3) | | a__isNatKind(X) | → | isNatKind(X) |
a__U103(X1, X2, X3) | → | U103(X1, X2, X3) | | a__isNat(X) | → | isNat(X) |
a__U104(X1, X2, X3) | → | U104(X1, X2, X3) | | a__plus(X1, X2) | → | plus(X1, X2) |
a__x(X1, X2) | → | x(X1, X2) | | a__U11(X1, X2, X3) | → | U11(X1, X2, X3) |
a__U12(X1, X2, X3) | → | U12(X1, X2, X3) | | a__U13(X1, X2, X3) | → | U13(X1, X2, X3) |
a__U14(X1, X2, X3) | → | U14(X1, X2, X3) | | a__U15(X1, X2) | → | U15(X1, X2) |
a__U16(X) | → | U16(X) | | a__U21(X1, X2) | → | U21(X1, X2) |
a__U22(X1, X2) | → | U22(X1, X2) | | a__U23(X) | → | U23(X) |
a__U31(X1, X2, X3) | → | U31(X1, X2, X3) | | a__U32(X1, X2, X3) | → | U32(X1, X2, X3) |
a__U33(X1, X2, X3) | → | U33(X1, X2, X3) | | a__U34(X1, X2, X3) | → | U34(X1, X2, X3) |
a__U35(X1, X2) | → | U35(X1, X2) | | a__U36(X) | → | U36(X) |
a__U41(X1, X2) | → | U41(X1, X2) | | a__U42(X) | → | U42(X) |
a__U51(X) | → | U51(X) | | a__U61(X1, X2) | → | U61(X1, X2) |
a__U62(X) | → | U62(X) | | a__U71(X1, X2) | → | U71(X1, X2) |
a__U72(X1, X2) | → | U72(X1, X2) | | a__U81(X1, X2, X3) | → | U81(X1, X2, X3) |
a__U82(X1, X2, X3) | → | U82(X1, X2, X3) | | a__U83(X1, X2, X3) | → | U83(X1, X2, X3) |
a__U84(X1, X2, X3) | → | U84(X1, X2, X3) | | a__U91(X1, X2) | → | U91(X1, X2) |
a__U92(X) | → | U92(X) |
Original Signature
Termination of terms over the following signature is verified: U104, U62, U61, a__U41, a__U72, a__U42, a__U71, U23, U21, U22, plus, a__U84, isNatKind, mark, U71, U36, U72, 0, a__isNat, a__U32, a__U83, a__U31, a__U82, a__U81, U31, U32, a__U36, U33, a__U35, U34, a__U34, a__U104, U35, a__U33, a__U103, a__U51, isNat, U42, a__U91, U92, U41, a__U92, U91, a__U23, a__U22, a__U102, a__U101, a__U21, a__U62, U83, a__plus, U84, U51, U14, s, U15, tt, U82, U16, a__U16, U81, a__U15, a__U14, a__U13, U11, U12, a__U12, U13, a__U11, a__U61, U102, a__x, U103, a__isNatKind, x, U101
Open Dependency Pair Problem 6
Dependency Pairs
mark#(U101(X1, X2, X3)) | → | mark#(X1) | | mark#(U84(X1, X2, X3)) | → | mark#(X1) |
mark#(U35(X1, X2)) | → | a__U35#(mark(X1), X2) | | mark#(U32(X1, X2, X3)) | → | mark#(X1) |
mark#(U103(X1, X2, X3)) | → | mark#(X1) | | a__U84#(tt, M, N) | → | mark#(N) |
mark#(U104(X1, X2, X3)) | → | mark#(X1) | | mark#(U22(X1, X2)) | → | a__U22#(mark(X1), X2) |
a__U104#(tt, M, N) | → | mark#(N) | | a__U101#(tt, M, N) | → | a__U102#(a__isNatKind(M), M, N) |
a__plus#(N, s(M)) | → | a__U81#(a__isNat(M), M, N) | | a__U103#(tt, M, N) | → | a__U104#(a__isNatKind(N), M, N) |
mark#(U33(X1, X2, X3)) | → | mark#(X1) | | mark#(U41(X1, X2)) | → | a__U41#(mark(X1), X2) |
mark#(s(X)) | → | mark#(X) | | a__plus#(N, 0) | → | a__U71#(a__isNat(N), N) |
a__U84#(tt, M, N) | → | mark#(M) | | mark#(U71(X1, X2)) | → | a__U71#(mark(X1), X2) |
mark#(U84(X1, X2, X3)) | → | a__U84#(mark(X1), X2, X3) | | mark#(U13(X1, X2, X3)) | → | mark#(X1) |
mark#(U72(X1, X2)) | → | mark#(X1) | | mark#(plus(X1, X2)) | → | a__plus#(mark(X1), mark(X2)) |
mark#(U82(X1, X2, X3)) | → | mark#(X1) | | mark#(U92(X)) | → | a__U92#(mark(X)) |
mark#(U71(X1, X2)) | → | mark#(X1) | | mark#(U31(X1, X2, X3)) | → | mark#(X1) |
mark#(U101(X1, X2, X3)) | → | a__U101#(mark(X1), X2, X3) | | mark#(plus(X1, X2)) | → | mark#(X1) |
mark#(U51(X)) | → | mark#(X) | | mark#(U15(X1, X2)) | → | mark#(X1) |
mark#(U15(X1, X2)) | → | a__U15#(mark(X1), X2) | | mark#(U34(X1, X2, X3)) | → | mark#(X1) |
mark#(x(X1, X2)) | → | mark#(X2) | | mark#(U104(X1, X2, X3)) | → | a__U104#(mark(X1), X2, X3) |
mark#(U62(X)) | → | mark#(X) | | a__U72#(tt, N) | → | mark#(N) |
a__U104#(tt, M, N) | → | a__plus#(a__x(mark(N), mark(M)), mark(N)) | | a__U81#(tt, M, N) | → | a__U82#(a__isNatKind(M), M, N) |
mark#(U103(X1, X2, X3)) | → | a__U103#(mark(X1), X2, X3) | | mark#(U11(X1, X2, X3)) | → | a__U11#(mark(X1), X2, X3) |
mark#(U11(X1, X2, X3)) | → | mark#(X1) | | mark#(U61(X1, X2)) | → | mark#(X1) |
a__U71#(tt, N) | → | a__U72#(a__isNatKind(N), N) | | mark#(U91(X1, X2)) | → | mark#(X1) |
a__x#(N, s(M)) | → | a__U101#(a__isNat(M), M, N) | | mark#(x(X1, X2)) | → | a__x#(mark(X1), mark(X2)) |
mark#(U83(X1, X2, X3)) | → | a__U83#(mark(X1), X2, X3) | | a__U104#(tt, M, N) | → | a__x#(mark(N), mark(M)) |
mark#(U21(X1, X2)) | → | mark#(X1) | | mark#(U42(X)) | → | mark#(X) |
mark#(U35(X1, X2)) | → | mark#(X1) | | mark#(U14(X1, X2, X3)) | → | mark#(X1) |
mark#(U81(X1, X2, X3)) | → | mark#(X1) | | mark#(U16(X)) | → | mark#(X) |
a__U104#(tt, M, N) | → | mark#(M) | | mark#(U22(X1, X2)) | → | mark#(X1) |
mark#(U23(X)) | → | mark#(X) | | mark#(U83(X1, X2, X3)) | → | mark#(X1) |
mark#(plus(X1, X2)) | → | mark#(X2) | | mark#(U102(X1, X2, X3)) | → | mark#(X1) |
mark#(U82(X1, X2, X3)) | → | a__U82#(mark(X1), X2, X3) | | mark#(U102(X1, X2, X3)) | → | a__U102#(mark(X1), X2, X3) |
mark#(U41(X1, X2)) | → | mark#(X1) | | mark#(U12(X1, X2, X3)) | → | mark#(X1) |
mark#(U33(X1, X2, X3)) | → | a__U33#(mark(X1), X2, X3) | | mark#(U34(X1, X2, X3)) | → | a__U34#(mark(X1), X2, X3) |
mark#(U31(X1, X2, X3)) | → | a__U31#(mark(X1), X2, X3) | | a__U84#(tt, M, N) | → | a__plus#(mark(N), mark(M)) |
mark#(U72(X1, X2)) | → | a__U72#(mark(X1), X2) | | a__U82#(tt, M, N) | → | a__U83#(a__isNat(N), M, N) |
mark#(U92(X)) | → | mark#(X) | | mark#(U36(X)) | → | mark#(X) |
a__U102#(tt, M, N) | → | a__U103#(a__isNat(N), M, N) | | mark#(U81(X1, X2, X3)) | → | a__U81#(mark(X1), X2, X3) |
mark#(x(X1, X2)) | → | mark#(X1) | | a__U83#(tt, M, N) | → | a__U84#(a__isNatKind(N), M, N) |
Rewrite Rules
a__U101(tt, M, N) | → | a__U102(a__isNatKind(M), M, N) | | a__U102(tt, M, N) | → | a__U103(a__isNat(N), M, N) |
a__U103(tt, M, N) | → | a__U104(a__isNatKind(N), M, N) | | a__U104(tt, M, N) | → | a__plus(a__x(mark(N), mark(M)), mark(N)) |
a__U11(tt, V1, V2) | → | a__U12(a__isNatKind(V1), V1, V2) | | a__U12(tt, V1, V2) | → | a__U13(a__isNatKind(V2), V1, V2) |
a__U13(tt, V1, V2) | → | a__U14(a__isNatKind(V2), V1, V2) | | a__U14(tt, V1, V2) | → | a__U15(a__isNat(V1), V2) |
a__U15(tt, V2) | → | a__U16(a__isNat(V2)) | | a__U16(tt) | → | tt |
a__U21(tt, V1) | → | a__U22(a__isNatKind(V1), V1) | | a__U22(tt, V1) | → | a__U23(a__isNat(V1)) |
a__U23(tt) | → | tt | | a__U31(tt, V1, V2) | → | a__U32(a__isNatKind(V1), V1, V2) |
a__U32(tt, V1, V2) | → | a__U33(a__isNatKind(V2), V1, V2) | | a__U33(tt, V1, V2) | → | a__U34(a__isNatKind(V2), V1, V2) |
a__U34(tt, V1, V2) | → | a__U35(a__isNat(V1), V2) | | a__U35(tt, V2) | → | a__U36(a__isNat(V2)) |
a__U36(tt) | → | tt | | a__U41(tt, V2) | → | a__U42(a__isNatKind(V2)) |
a__U42(tt) | → | tt | | a__U51(tt) | → | tt |
a__U61(tt, V2) | → | a__U62(a__isNatKind(V2)) | | a__U62(tt) | → | tt |
a__U71(tt, N) | → | a__U72(a__isNatKind(N), N) | | a__U72(tt, N) | → | mark(N) |
a__U81(tt, M, N) | → | a__U82(a__isNatKind(M), M, N) | | a__U82(tt, M, N) | → | a__U83(a__isNat(N), M, N) |
a__U83(tt, M, N) | → | a__U84(a__isNatKind(N), M, N) | | a__U84(tt, M, N) | → | s(a__plus(mark(N), mark(M))) |
a__U91(tt, N) | → | a__U92(a__isNatKind(N)) | | a__U92(tt) | → | 0 |
a__isNat(0) | → | tt | | a__isNat(plus(V1, V2)) | → | a__U11(a__isNatKind(V1), V1, V2) |
a__isNat(s(V1)) | → | a__U21(a__isNatKind(V1), V1) | | a__isNat(x(V1, V2)) | → | a__U31(a__isNatKind(V1), V1, V2) |
a__isNatKind(0) | → | tt | | a__isNatKind(plus(V1, V2)) | → | a__U41(a__isNatKind(V1), V2) |
a__isNatKind(s(V1)) | → | a__U51(a__isNatKind(V1)) | | a__isNatKind(x(V1, V2)) | → | a__U61(a__isNatKind(V1), V2) |
a__plus(N, 0) | → | a__U71(a__isNat(N), N) | | a__plus(N, s(M)) | → | a__U81(a__isNat(M), M, N) |
a__x(N, 0) | → | a__U91(a__isNat(N), N) | | a__x(N, s(M)) | → | a__U101(a__isNat(M), M, N) |
mark(U101(X1, X2, X3)) | → | a__U101(mark(X1), X2, X3) | | mark(U102(X1, X2, X3)) | → | a__U102(mark(X1), X2, X3) |
mark(isNatKind(X)) | → | a__isNatKind(X) | | mark(U103(X1, X2, X3)) | → | a__U103(mark(X1), X2, X3) |
mark(isNat(X)) | → | a__isNat(X) | | mark(U104(X1, X2, X3)) | → | a__U104(mark(X1), X2, X3) |
mark(plus(X1, X2)) | → | a__plus(mark(X1), mark(X2)) | | mark(x(X1, X2)) | → | a__x(mark(X1), mark(X2)) |
mark(U11(X1, X2, X3)) | → | a__U11(mark(X1), X2, X3) | | mark(U12(X1, X2, X3)) | → | a__U12(mark(X1), X2, X3) |
mark(U13(X1, X2, X3)) | → | a__U13(mark(X1), X2, X3) | | mark(U14(X1, X2, X3)) | → | a__U14(mark(X1), X2, X3) |
mark(U15(X1, X2)) | → | a__U15(mark(X1), X2) | | mark(U16(X)) | → | a__U16(mark(X)) |
mark(U21(X1, X2)) | → | a__U21(mark(X1), X2) | | mark(U22(X1, X2)) | → | a__U22(mark(X1), X2) |
mark(U23(X)) | → | a__U23(mark(X)) | | mark(U31(X1, X2, X3)) | → | a__U31(mark(X1), X2, X3) |
mark(U32(X1, X2, X3)) | → | a__U32(mark(X1), X2, X3) | | mark(U33(X1, X2, X3)) | → | a__U33(mark(X1), X2, X3) |
mark(U34(X1, X2, X3)) | → | a__U34(mark(X1), X2, X3) | | mark(U35(X1, X2)) | → | a__U35(mark(X1), X2) |
mark(U36(X)) | → | a__U36(mark(X)) | | mark(U41(X1, X2)) | → | a__U41(mark(X1), X2) |
mark(U42(X)) | → | a__U42(mark(X)) | | mark(U51(X)) | → | a__U51(mark(X)) |
mark(U61(X1, X2)) | → | a__U61(mark(X1), X2) | | mark(U62(X)) | → | a__U62(mark(X)) |
mark(U71(X1, X2)) | → | a__U71(mark(X1), X2) | | mark(U72(X1, X2)) | → | a__U72(mark(X1), X2) |
mark(U81(X1, X2, X3)) | → | a__U81(mark(X1), X2, X3) | | mark(U82(X1, X2, X3)) | → | a__U82(mark(X1), X2, X3) |
mark(U83(X1, X2, X3)) | → | a__U83(mark(X1), X2, X3) | | mark(U84(X1, X2, X3)) | → | a__U84(mark(X1), X2, X3) |
mark(U91(X1, X2)) | → | a__U91(mark(X1), X2) | | mark(U92(X)) | → | a__U92(mark(X)) |
mark(tt) | → | tt | | mark(s(X)) | → | s(mark(X)) |
mark(0) | → | 0 | | a__U101(X1, X2, X3) | → | U101(X1, X2, X3) |
a__U102(X1, X2, X3) | → | U102(X1, X2, X3) | | a__isNatKind(X) | → | isNatKind(X) |
a__U103(X1, X2, X3) | → | U103(X1, X2, X3) | | a__isNat(X) | → | isNat(X) |
a__U104(X1, X2, X3) | → | U104(X1, X2, X3) | | a__plus(X1, X2) | → | plus(X1, X2) |
a__x(X1, X2) | → | x(X1, X2) | | a__U11(X1, X2, X3) | → | U11(X1, X2, X3) |
a__U12(X1, X2, X3) | → | U12(X1, X2, X3) | | a__U13(X1, X2, X3) | → | U13(X1, X2, X3) |
a__U14(X1, X2, X3) | → | U14(X1, X2, X3) | | a__U15(X1, X2) | → | U15(X1, X2) |
a__U16(X) | → | U16(X) | | a__U21(X1, X2) | → | U21(X1, X2) |
a__U22(X1, X2) | → | U22(X1, X2) | | a__U23(X) | → | U23(X) |
a__U31(X1, X2, X3) | → | U31(X1, X2, X3) | | a__U32(X1, X2, X3) | → | U32(X1, X2, X3) |
a__U33(X1, X2, X3) | → | U33(X1, X2, X3) | | a__U34(X1, X2, X3) | → | U34(X1, X2, X3) |
a__U35(X1, X2) | → | U35(X1, X2) | | a__U36(X) | → | U36(X) |
a__U41(X1, X2) | → | U41(X1, X2) | | a__U42(X) | → | U42(X) |
a__U51(X) | → | U51(X) | | a__U61(X1, X2) | → | U61(X1, X2) |
a__U62(X) | → | U62(X) | | a__U71(X1, X2) | → | U71(X1, X2) |
a__U72(X1, X2) | → | U72(X1, X2) | | a__U81(X1, X2, X3) | → | U81(X1, X2, X3) |
a__U82(X1, X2, X3) | → | U82(X1, X2, X3) | | a__U83(X1, X2, X3) | → | U83(X1, X2, X3) |
a__U84(X1, X2, X3) | → | U84(X1, X2, X3) | | a__U91(X1, X2) | → | U91(X1, X2) |
a__U92(X) | → | U92(X) |
Original Signature
Termination of terms over the following signature is verified: U104, U62, U61, a__U41, a__U72, a__U42, a__U71, U23, U21, U22, plus, a__U84, isNatKind, mark, U71, U36, U72, 0, a__isNat, a__U32, a__U83, a__U31, a__U82, a__U81, U31, U32, a__U36, U33, a__U35, U34, a__U34, a__U104, U35, a__U33, a__U103, a__U51, isNat, U42, a__U91, U92, U41, a__U92, U91, a__U23, a__U22, a__U102, a__U101, a__U21, a__U62, U83, a__plus, U84, U51, U14, s, U15, tt, U82, U16, a__U16, U81, a__U15, a__U14, a__U13, U11, U12, a__U12, U13, a__U11, a__U61, U102, a__x, U103, a__isNatKind, x, U101
Open Dependency Pair Problem 7
Dependency Pairs
mark#(U101(X1, X2, X3)) | → | mark#(X1) | | a__U71#(tt, N) | → | a__isNatKind#(N) |
mark#(U84(X1, X2, X3)) | → | mark#(X1) | | mark#(U35(X1, X2)) | → | a__U35#(mark(X1), X2) |
mark#(U32(X1, X2, X3)) | → | mark#(X1) | | a__U84#(tt, M, N) | → | mark#(N) |
mark#(U103(X1, X2, X3)) | → | mark#(X1) | | mark#(U104(X1, X2, X3)) | → | mark#(X1) |
a__U104#(tt, M, N) | → | mark#(N) | | a__U101#(tt, M, N) | → | a__U102#(a__isNatKind(M), M, N) |
a__plus#(N, s(M)) | → | a__U81#(a__isNat(M), M, N) | | a__U103#(tt, M, N) | → | a__U104#(a__isNatKind(N), M, N) |
mark#(U33(X1, X2, X3)) | → | mark#(X1) | | mark#(U41(X1, X2)) | → | a__U41#(mark(X1), X2) |
mark#(s(X)) | → | mark#(X) | | a__plus#(N, 0) | → | a__U71#(a__isNat(N), N) |
a__U84#(tt, M, N) | → | mark#(M) | | mark#(U71(X1, X2)) | → | a__U71#(mark(X1), X2) |
mark#(U84(X1, X2, X3)) | → | a__U84#(mark(X1), X2, X3) | | mark#(U13(X1, X2, X3)) | → | mark#(X1) |
mark#(U72(X1, X2)) | → | mark#(X1) | | mark#(plus(X1, X2)) | → | a__plus#(mark(X1), mark(X2)) |
mark#(U82(X1, X2, X3)) | → | mark#(X1) | | mark#(U71(X1, X2)) | → | mark#(X1) |
mark#(U31(X1, X2, X3)) | → | mark#(X1) | | mark#(U101(X1, X2, X3)) | → | a__U101#(mark(X1), X2, X3) |
mark#(plus(X1, X2)) | → | mark#(X1) | | mark#(U51(X)) | → | mark#(X) |
mark#(U15(X1, X2)) | → | mark#(X1) | | mark#(U34(X1, X2, X3)) | → | mark#(X1) |
mark#(x(X1, X2)) | → | mark#(X2) | | mark#(U104(X1, X2, X3)) | → | a__U104#(mark(X1), X2, X3) |
mark#(U13(X1, X2, X3)) | → | a__U13#(mark(X1), X2, X3) | | mark#(U62(X)) | → | mark#(X) |
a__U72#(tt, N) | → | mark#(N) | | a__U104#(tt, M, N) | → | a__plus#(a__x(mark(N), mark(M)), mark(N)) |
a__U81#(tt, M, N) | → | a__U82#(a__isNatKind(M), M, N) | | mark#(U32(X1, X2, X3)) | → | a__U32#(mark(X1), X2, X3) |
mark#(U103(X1, X2, X3)) | → | a__U103#(mark(X1), X2, X3) | | mark#(U11(X1, X2, X3)) | → | mark#(X1) |
mark#(U61(X1, X2)) | → | mark#(X1) | | a__U71#(tt, N) | → | a__U72#(a__isNatKind(N), N) |
mark#(U91(X1, X2)) | → | mark#(X1) | | a__x#(N, s(M)) | → | a__U101#(a__isNat(M), M, N) |
mark#(x(X1, X2)) | → | a__x#(mark(X1), mark(X2)) | | mark#(U83(X1, X2, X3)) | → | a__U83#(mark(X1), X2, X3) |
a__U104#(tt, M, N) | → | a__x#(mark(N), mark(M)) | | mark#(U21(X1, X2)) | → | mark#(X1) |
mark#(U42(X)) | → | mark#(X) | | mark#(U35(X1, X2)) | → | mark#(X1) |
mark#(U14(X1, X2, X3)) | → | mark#(X1) | | mark#(U81(X1, X2, X3)) | → | mark#(X1) |
mark#(U16(X)) | → | mark#(X) | | a__U104#(tt, M, N) | → | mark#(M) |
mark#(U22(X1, X2)) | → | mark#(X1) | | mark#(U23(X)) | → | mark#(X) |
mark#(U83(X1, X2, X3)) | → | mark#(X1) | | mark#(plus(X1, X2)) | → | mark#(X2) |
mark#(U102(X1, X2, X3)) | → | mark#(X1) | | mark#(U82(X1, X2, X3)) | → | a__U82#(mark(X1), X2, X3) |
mark#(U102(X1, X2, X3)) | → | a__U102#(mark(X1), X2, X3) | | mark#(U41(X1, X2)) | → | mark#(X1) |
mark#(U12(X1, X2, X3)) | → | mark#(X1) | | mark#(U33(X1, X2, X3)) | → | a__U33#(mark(X1), X2, X3) |
a__U84#(tt, M, N) | → | a__plus#(mark(N), mark(M)) | | mark#(U72(X1, X2)) | → | a__U72#(mark(X1), X2) |
a__U82#(tt, M, N) | → | a__U83#(a__isNat(N), M, N) | | mark#(U92(X)) | → | mark#(X) |
mark#(U21(X1, X2)) | → | a__U21#(mark(X1), X2) | | mark#(U36(X)) | → | mark#(X) |
a__U102#(tt, M, N) | → | a__U103#(a__isNat(N), M, N) | | mark#(U81(X1, X2, X3)) | → | a__U81#(mark(X1), X2, X3) |
mark#(x(X1, X2)) | → | mark#(X1) | | a__U83#(tt, M, N) | → | a__U84#(a__isNatKind(N), M, N) |
Rewrite Rules
a__U101(tt, M, N) | → | a__U102(a__isNatKind(M), M, N) | | a__U102(tt, M, N) | → | a__U103(a__isNat(N), M, N) |
a__U103(tt, M, N) | → | a__U104(a__isNatKind(N), M, N) | | a__U104(tt, M, N) | → | a__plus(a__x(mark(N), mark(M)), mark(N)) |
a__U11(tt, V1, V2) | → | a__U12(a__isNatKind(V1), V1, V2) | | a__U12(tt, V1, V2) | → | a__U13(a__isNatKind(V2), V1, V2) |
a__U13(tt, V1, V2) | → | a__U14(a__isNatKind(V2), V1, V2) | | a__U14(tt, V1, V2) | → | a__U15(a__isNat(V1), V2) |
a__U15(tt, V2) | → | a__U16(a__isNat(V2)) | | a__U16(tt) | → | tt |
a__U21(tt, V1) | → | a__U22(a__isNatKind(V1), V1) | | a__U22(tt, V1) | → | a__U23(a__isNat(V1)) |
a__U23(tt) | → | tt | | a__U31(tt, V1, V2) | → | a__U32(a__isNatKind(V1), V1, V2) |
a__U32(tt, V1, V2) | → | a__U33(a__isNatKind(V2), V1, V2) | | a__U33(tt, V1, V2) | → | a__U34(a__isNatKind(V2), V1, V2) |
a__U34(tt, V1, V2) | → | a__U35(a__isNat(V1), V2) | | a__U35(tt, V2) | → | a__U36(a__isNat(V2)) |
a__U36(tt) | → | tt | | a__U41(tt, V2) | → | a__U42(a__isNatKind(V2)) |
a__U42(tt) | → | tt | | a__U51(tt) | → | tt |
a__U61(tt, V2) | → | a__U62(a__isNatKind(V2)) | | a__U62(tt) | → | tt |
a__U71(tt, N) | → | a__U72(a__isNatKind(N), N) | | a__U72(tt, N) | → | mark(N) |
a__U81(tt, M, N) | → | a__U82(a__isNatKind(M), M, N) | | a__U82(tt, M, N) | → | a__U83(a__isNat(N), M, N) |
a__U83(tt, M, N) | → | a__U84(a__isNatKind(N), M, N) | | a__U84(tt, M, N) | → | s(a__plus(mark(N), mark(M))) |
a__U91(tt, N) | → | a__U92(a__isNatKind(N)) | | a__U92(tt) | → | 0 |
a__isNat(0) | → | tt | | a__isNat(plus(V1, V2)) | → | a__U11(a__isNatKind(V1), V1, V2) |
a__isNat(s(V1)) | → | a__U21(a__isNatKind(V1), V1) | | a__isNat(x(V1, V2)) | → | a__U31(a__isNatKind(V1), V1, V2) |
a__isNatKind(0) | → | tt | | a__isNatKind(plus(V1, V2)) | → | a__U41(a__isNatKind(V1), V2) |
a__isNatKind(s(V1)) | → | a__U51(a__isNatKind(V1)) | | a__isNatKind(x(V1, V2)) | → | a__U61(a__isNatKind(V1), V2) |
a__plus(N, 0) | → | a__U71(a__isNat(N), N) | | a__plus(N, s(M)) | → | a__U81(a__isNat(M), M, N) |
a__x(N, 0) | → | a__U91(a__isNat(N), N) | | a__x(N, s(M)) | → | a__U101(a__isNat(M), M, N) |
mark(U101(X1, X2, X3)) | → | a__U101(mark(X1), X2, X3) | | mark(U102(X1, X2, X3)) | → | a__U102(mark(X1), X2, X3) |
mark(isNatKind(X)) | → | a__isNatKind(X) | | mark(U103(X1, X2, X3)) | → | a__U103(mark(X1), X2, X3) |
mark(isNat(X)) | → | a__isNat(X) | | mark(U104(X1, X2, X3)) | → | a__U104(mark(X1), X2, X3) |
mark(plus(X1, X2)) | → | a__plus(mark(X1), mark(X2)) | | mark(x(X1, X2)) | → | a__x(mark(X1), mark(X2)) |
mark(U11(X1, X2, X3)) | → | a__U11(mark(X1), X2, X3) | | mark(U12(X1, X2, X3)) | → | a__U12(mark(X1), X2, X3) |
mark(U13(X1, X2, X3)) | → | a__U13(mark(X1), X2, X3) | | mark(U14(X1, X2, X3)) | → | a__U14(mark(X1), X2, X3) |
mark(U15(X1, X2)) | → | a__U15(mark(X1), X2) | | mark(U16(X)) | → | a__U16(mark(X)) |
mark(U21(X1, X2)) | → | a__U21(mark(X1), X2) | | mark(U22(X1, X2)) | → | a__U22(mark(X1), X2) |
mark(U23(X)) | → | a__U23(mark(X)) | | mark(U31(X1, X2, X3)) | → | a__U31(mark(X1), X2, X3) |
mark(U32(X1, X2, X3)) | → | a__U32(mark(X1), X2, X3) | | mark(U33(X1, X2, X3)) | → | a__U33(mark(X1), X2, X3) |
mark(U34(X1, X2, X3)) | → | a__U34(mark(X1), X2, X3) | | mark(U35(X1, X2)) | → | a__U35(mark(X1), X2) |
mark(U36(X)) | → | a__U36(mark(X)) | | mark(U41(X1, X2)) | → | a__U41(mark(X1), X2) |
mark(U42(X)) | → | a__U42(mark(X)) | | mark(U51(X)) | → | a__U51(mark(X)) |
mark(U61(X1, X2)) | → | a__U61(mark(X1), X2) | | mark(U62(X)) | → | a__U62(mark(X)) |
mark(U71(X1, X2)) | → | a__U71(mark(X1), X2) | | mark(U72(X1, X2)) | → | a__U72(mark(X1), X2) |
mark(U81(X1, X2, X3)) | → | a__U81(mark(X1), X2, X3) | | mark(U82(X1, X2, X3)) | → | a__U82(mark(X1), X2, X3) |
mark(U83(X1, X2, X3)) | → | a__U83(mark(X1), X2, X3) | | mark(U84(X1, X2, X3)) | → | a__U84(mark(X1), X2, X3) |
mark(U91(X1, X2)) | → | a__U91(mark(X1), X2) | | mark(U92(X)) | → | a__U92(mark(X)) |
mark(tt) | → | tt | | mark(s(X)) | → | s(mark(X)) |
mark(0) | → | 0 | | a__U101(X1, X2, X3) | → | U101(X1, X2, X3) |
a__U102(X1, X2, X3) | → | U102(X1, X2, X3) | | a__isNatKind(X) | → | isNatKind(X) |
a__U103(X1, X2, X3) | → | U103(X1, X2, X3) | | a__isNat(X) | → | isNat(X) |
a__U104(X1, X2, X3) | → | U104(X1, X2, X3) | | a__plus(X1, X2) | → | plus(X1, X2) |
a__x(X1, X2) | → | x(X1, X2) | | a__U11(X1, X2, X3) | → | U11(X1, X2, X3) |
a__U12(X1, X2, X3) | → | U12(X1, X2, X3) | | a__U13(X1, X2, X3) | → | U13(X1, X2, X3) |
a__U14(X1, X2, X3) | → | U14(X1, X2, X3) | | a__U15(X1, X2) | → | U15(X1, X2) |
a__U16(X) | → | U16(X) | | a__U21(X1, X2) | → | U21(X1, X2) |
a__U22(X1, X2) | → | U22(X1, X2) | | a__U23(X) | → | U23(X) |
a__U31(X1, X2, X3) | → | U31(X1, X2, X3) | | a__U32(X1, X2, X3) | → | U32(X1, X2, X3) |
a__U33(X1, X2, X3) | → | U33(X1, X2, X3) | | a__U34(X1, X2, X3) | → | U34(X1, X2, X3) |
a__U35(X1, X2) | → | U35(X1, X2) | | a__U36(X) | → | U36(X) |
a__U41(X1, X2) | → | U41(X1, X2) | | a__U42(X) | → | U42(X) |
a__U51(X) | → | U51(X) | | a__U61(X1, X2) | → | U61(X1, X2) |
a__U62(X) | → | U62(X) | | a__U71(X1, X2) | → | U71(X1, X2) |
a__U72(X1, X2) | → | U72(X1, X2) | | a__U81(X1, X2, X3) | → | U81(X1, X2, X3) |
a__U82(X1, X2, X3) | → | U82(X1, X2, X3) | | a__U83(X1, X2, X3) | → | U83(X1, X2, X3) |
a__U84(X1, X2, X3) | → | U84(X1, X2, X3) | | a__U91(X1, X2) | → | U91(X1, X2) |
a__U92(X) | → | U92(X) |
Original Signature
Termination of terms over the following signature is verified: U104, U62, U61, a__U41, a__U72, a__U42, a__U71, U23, U21, U22, plus, a__U84, isNatKind, mark, U71, U36, U72, 0, a__isNat, a__U32, a__U83, a__U31, a__U82, a__U81, U31, U32, a__U36, U33, a__U35, U34, a__U34, a__U104, U35, a__U33, a__U103, a__U51, isNat, U42, a__U91, U92, U41, a__U92, U91, a__U23, a__U22, a__U102, a__U101, a__U21, a__U62, U83, a__plus, U84, U51, U14, s, U15, tt, U82, U16, a__U16, U81, a__U15, a__U14, a__U13, U11, U12, a__U12, U13, a__U11, a__U61, U102, a__x, U103, a__isNatKind, x, U101
Open Dependency Pair Problem 8
Dependency Pairs
mark#(U101(X1, X2, X3)) | → | mark#(X1) | | mark#(U35(X1, X2)) | → | a__U35#(mark(X1), X2) |
mark#(U84(X1, X2, X3)) | → | mark#(X1) | | mark#(U32(X1, X2, X3)) | → | mark#(X1) |
mark#(U103(X1, X2, X3)) | → | mark#(X1) | | a__U84#(tt, M, N) | → | mark#(N) |
mark#(U104(X1, X2, X3)) | → | mark#(X1) | | mark#(U22(X1, X2)) | → | a__U22#(mark(X1), X2) |
a__U104#(tt, M, N) | → | mark#(N) | | a__U101#(tt, M, N) | → | a__U102#(a__isNatKind(M), M, N) |
a__plus#(N, s(M)) | → | a__U81#(a__isNat(M), M, N) | | a__U103#(tt, M, N) | → | a__U104#(a__isNatKind(N), M, N) |
mark#(U33(X1, X2, X3)) | → | mark#(X1) | | mark#(U41(X1, X2)) | → | a__U41#(mark(X1), X2) |
mark#(s(X)) | → | mark#(X) | | a__plus#(N, 0) | → | a__U71#(a__isNat(N), N) |
a__U84#(tt, M, N) | → | mark#(M) | | mark#(U71(X1, X2)) | → | a__U71#(mark(X1), X2) |
mark#(U84(X1, X2, X3)) | → | a__U84#(mark(X1), X2, X3) | | mark#(U13(X1, X2, X3)) | → | mark#(X1) |
mark#(U72(X1, X2)) | → | mark#(X1) | | mark#(plus(X1, X2)) | → | a__plus#(mark(X1), mark(X2)) |
mark#(U82(X1, X2, X3)) | → | mark#(X1) | | mark#(U92(X)) | → | a__U92#(mark(X)) |
mark#(U71(X1, X2)) | → | mark#(X1) | | mark#(U101(X1, X2, X3)) | → | a__U101#(mark(X1), X2, X3) |
mark#(U31(X1, X2, X3)) | → | mark#(X1) | | mark#(plus(X1, X2)) | → | mark#(X1) |
mark#(U51(X)) | → | mark#(X) | | mark#(U15(X1, X2)) | → | mark#(X1) |
mark#(U34(X1, X2, X3)) | → | mark#(X1) | | mark#(U15(X1, X2)) | → | a__U15#(mark(X1), X2) |
mark#(x(X1, X2)) | → | mark#(X2) | | mark#(U104(X1, X2, X3)) | → | a__U104#(mark(X1), X2, X3) |
mark#(U62(X)) | → | mark#(X) | | a__U72#(tt, N) | → | mark#(N) |
a__U104#(tt, M, N) | → | a__plus#(a__x(mark(N), mark(M)), mark(N)) | | a__U81#(tt, M, N) | → | a__U82#(a__isNatKind(M), M, N) |
mark#(U103(X1, X2, X3)) | → | a__U103#(mark(X1), X2, X3) | | mark#(U11(X1, X2, X3)) | → | a__U11#(mark(X1), X2, X3) |
mark#(U11(X1, X2, X3)) | → | mark#(X1) | | mark#(U61(X1, X2)) | → | mark#(X1) |
a__U71#(tt, N) | → | a__U72#(a__isNatKind(N), N) | | mark#(U91(X1, X2)) | → | mark#(X1) |
a__x#(N, s(M)) | → | a__U101#(a__isNat(M), M, N) | | mark#(isNat(X)) | → | a__isNat#(X) |
mark#(x(X1, X2)) | → | a__x#(mark(X1), mark(X2)) | | mark#(U83(X1, X2, X3)) | → | a__U83#(mark(X1), X2, X3) |
a__U104#(tt, M, N) | → | a__x#(mark(N), mark(M)) | | mark#(U21(X1, X2)) | → | mark#(X1) |
mark#(U42(X)) | → | mark#(X) | | mark#(U35(X1, X2)) | → | mark#(X1) |
mark#(U81(X1, X2, X3)) | → | mark#(X1) | | mark#(U14(X1, X2, X3)) | → | mark#(X1) |
mark#(U16(X)) | → | mark#(X) | | a__U104#(tt, M, N) | → | mark#(M) |
mark#(U22(X1, X2)) | → | mark#(X1) | | mark#(U23(X)) | → | mark#(X) |
mark#(U83(X1, X2, X3)) | → | mark#(X1) | | mark#(plus(X1, X2)) | → | mark#(X2) |
mark#(U102(X1, X2, X3)) | → | mark#(X1) | | mark#(U82(X1, X2, X3)) | → | a__U82#(mark(X1), X2, X3) |
mark#(U102(X1, X2, X3)) | → | a__U102#(mark(X1), X2, X3) | | mark#(U41(X1, X2)) | → | mark#(X1) |
mark#(U33(X1, X2, X3)) | → | a__U33#(mark(X1), X2, X3) | | mark#(U34(X1, X2, X3)) | → | a__U34#(mark(X1), X2, X3) |
mark#(U12(X1, X2, X3)) | → | mark#(X1) | | a__U84#(tt, M, N) | → | a__plus#(mark(N), mark(M)) |
mark#(U72(X1, X2)) | → | a__U72#(mark(X1), X2) | | a__U82#(tt, M, N) | → | a__U83#(a__isNat(N), M, N) |
mark#(U92(X)) | → | mark#(X) | | mark#(U21(X1, X2)) | → | a__U21#(mark(X1), X2) |
mark#(U36(X)) | → | mark#(X) | | a__U102#(tt, M, N) | → | a__U103#(a__isNat(N), M, N) |
mark#(U81(X1, X2, X3)) | → | a__U81#(mark(X1), X2, X3) | | mark#(x(X1, X2)) | → | mark#(X1) |
a__U83#(tt, M, N) | → | a__U84#(a__isNatKind(N), M, N) |
Rewrite Rules
a__U101(tt, M, N) | → | a__U102(a__isNatKind(M), M, N) | | a__U102(tt, M, N) | → | a__U103(a__isNat(N), M, N) |
a__U103(tt, M, N) | → | a__U104(a__isNatKind(N), M, N) | | a__U104(tt, M, N) | → | a__plus(a__x(mark(N), mark(M)), mark(N)) |
a__U11(tt, V1, V2) | → | a__U12(a__isNatKind(V1), V1, V2) | | a__U12(tt, V1, V2) | → | a__U13(a__isNatKind(V2), V1, V2) |
a__U13(tt, V1, V2) | → | a__U14(a__isNatKind(V2), V1, V2) | | a__U14(tt, V1, V2) | → | a__U15(a__isNat(V1), V2) |
a__U15(tt, V2) | → | a__U16(a__isNat(V2)) | | a__U16(tt) | → | tt |
a__U21(tt, V1) | → | a__U22(a__isNatKind(V1), V1) | | a__U22(tt, V1) | → | a__U23(a__isNat(V1)) |
a__U23(tt) | → | tt | | a__U31(tt, V1, V2) | → | a__U32(a__isNatKind(V1), V1, V2) |
a__U32(tt, V1, V2) | → | a__U33(a__isNatKind(V2), V1, V2) | | a__U33(tt, V1, V2) | → | a__U34(a__isNatKind(V2), V1, V2) |
a__U34(tt, V1, V2) | → | a__U35(a__isNat(V1), V2) | | a__U35(tt, V2) | → | a__U36(a__isNat(V2)) |
a__U36(tt) | → | tt | | a__U41(tt, V2) | → | a__U42(a__isNatKind(V2)) |
a__U42(tt) | → | tt | | a__U51(tt) | → | tt |
a__U61(tt, V2) | → | a__U62(a__isNatKind(V2)) | | a__U62(tt) | → | tt |
a__U71(tt, N) | → | a__U72(a__isNatKind(N), N) | | a__U72(tt, N) | → | mark(N) |
a__U81(tt, M, N) | → | a__U82(a__isNatKind(M), M, N) | | a__U82(tt, M, N) | → | a__U83(a__isNat(N), M, N) |
a__U83(tt, M, N) | → | a__U84(a__isNatKind(N), M, N) | | a__U84(tt, M, N) | → | s(a__plus(mark(N), mark(M))) |
a__U91(tt, N) | → | a__U92(a__isNatKind(N)) | | a__U92(tt) | → | 0 |
a__isNat(0) | → | tt | | a__isNat(plus(V1, V2)) | → | a__U11(a__isNatKind(V1), V1, V2) |
a__isNat(s(V1)) | → | a__U21(a__isNatKind(V1), V1) | | a__isNat(x(V1, V2)) | → | a__U31(a__isNatKind(V1), V1, V2) |
a__isNatKind(0) | → | tt | | a__isNatKind(plus(V1, V2)) | → | a__U41(a__isNatKind(V1), V2) |
a__isNatKind(s(V1)) | → | a__U51(a__isNatKind(V1)) | | a__isNatKind(x(V1, V2)) | → | a__U61(a__isNatKind(V1), V2) |
a__plus(N, 0) | → | a__U71(a__isNat(N), N) | | a__plus(N, s(M)) | → | a__U81(a__isNat(M), M, N) |
a__x(N, 0) | → | a__U91(a__isNat(N), N) | | a__x(N, s(M)) | → | a__U101(a__isNat(M), M, N) |
mark(U101(X1, X2, X3)) | → | a__U101(mark(X1), X2, X3) | | mark(U102(X1, X2, X3)) | → | a__U102(mark(X1), X2, X3) |
mark(isNatKind(X)) | → | a__isNatKind(X) | | mark(U103(X1, X2, X3)) | → | a__U103(mark(X1), X2, X3) |
mark(isNat(X)) | → | a__isNat(X) | | mark(U104(X1, X2, X3)) | → | a__U104(mark(X1), X2, X3) |
mark(plus(X1, X2)) | → | a__plus(mark(X1), mark(X2)) | | mark(x(X1, X2)) | → | a__x(mark(X1), mark(X2)) |
mark(U11(X1, X2, X3)) | → | a__U11(mark(X1), X2, X3) | | mark(U12(X1, X2, X3)) | → | a__U12(mark(X1), X2, X3) |
mark(U13(X1, X2, X3)) | → | a__U13(mark(X1), X2, X3) | | mark(U14(X1, X2, X3)) | → | a__U14(mark(X1), X2, X3) |
mark(U15(X1, X2)) | → | a__U15(mark(X1), X2) | | mark(U16(X)) | → | a__U16(mark(X)) |
mark(U21(X1, X2)) | → | a__U21(mark(X1), X2) | | mark(U22(X1, X2)) | → | a__U22(mark(X1), X2) |
mark(U23(X)) | → | a__U23(mark(X)) | | mark(U31(X1, X2, X3)) | → | a__U31(mark(X1), X2, X3) |
mark(U32(X1, X2, X3)) | → | a__U32(mark(X1), X2, X3) | | mark(U33(X1, X2, X3)) | → | a__U33(mark(X1), X2, X3) |
mark(U34(X1, X2, X3)) | → | a__U34(mark(X1), X2, X3) | | mark(U35(X1, X2)) | → | a__U35(mark(X1), X2) |
mark(U36(X)) | → | a__U36(mark(X)) | | mark(U41(X1, X2)) | → | a__U41(mark(X1), X2) |
mark(U42(X)) | → | a__U42(mark(X)) | | mark(U51(X)) | → | a__U51(mark(X)) |
mark(U61(X1, X2)) | → | a__U61(mark(X1), X2) | | mark(U62(X)) | → | a__U62(mark(X)) |
mark(U71(X1, X2)) | → | a__U71(mark(X1), X2) | | mark(U72(X1, X2)) | → | a__U72(mark(X1), X2) |
mark(U81(X1, X2, X3)) | → | a__U81(mark(X1), X2, X3) | | mark(U82(X1, X2, X3)) | → | a__U82(mark(X1), X2, X3) |
mark(U83(X1, X2, X3)) | → | a__U83(mark(X1), X2, X3) | | mark(U84(X1, X2, X3)) | → | a__U84(mark(X1), X2, X3) |
mark(U91(X1, X2)) | → | a__U91(mark(X1), X2) | | mark(U92(X)) | → | a__U92(mark(X)) |
mark(tt) | → | tt | | mark(s(X)) | → | s(mark(X)) |
mark(0) | → | 0 | | a__U101(X1, X2, X3) | → | U101(X1, X2, X3) |
a__U102(X1, X2, X3) | → | U102(X1, X2, X3) | | a__isNatKind(X) | → | isNatKind(X) |
a__U103(X1, X2, X3) | → | U103(X1, X2, X3) | | a__isNat(X) | → | isNat(X) |
a__U104(X1, X2, X3) | → | U104(X1, X2, X3) | | a__plus(X1, X2) | → | plus(X1, X2) |
a__x(X1, X2) | → | x(X1, X2) | | a__U11(X1, X2, X3) | → | U11(X1, X2, X3) |
a__U12(X1, X2, X3) | → | U12(X1, X2, X3) | | a__U13(X1, X2, X3) | → | U13(X1, X2, X3) |
a__U14(X1, X2, X3) | → | U14(X1, X2, X3) | | a__U15(X1, X2) | → | U15(X1, X2) |
a__U16(X) | → | U16(X) | | a__U21(X1, X2) | → | U21(X1, X2) |
a__U22(X1, X2) | → | U22(X1, X2) | | a__U23(X) | → | U23(X) |
a__U31(X1, X2, X3) | → | U31(X1, X2, X3) | | a__U32(X1, X2, X3) | → | U32(X1, X2, X3) |
a__U33(X1, X2, X3) | → | U33(X1, X2, X3) | | a__U34(X1, X2, X3) | → | U34(X1, X2, X3) |
a__U35(X1, X2) | → | U35(X1, X2) | | a__U36(X) | → | U36(X) |
a__U41(X1, X2) | → | U41(X1, X2) | | a__U42(X) | → | U42(X) |
a__U51(X) | → | U51(X) | | a__U61(X1, X2) | → | U61(X1, X2) |
a__U62(X) | → | U62(X) | | a__U71(X1, X2) | → | U71(X1, X2) |
a__U72(X1, X2) | → | U72(X1, X2) | | a__U81(X1, X2, X3) | → | U81(X1, X2, X3) |
a__U82(X1, X2, X3) | → | U82(X1, X2, X3) | | a__U83(X1, X2, X3) | → | U83(X1, X2, X3) |
a__U84(X1, X2, X3) | → | U84(X1, X2, X3) | | a__U91(X1, X2) | → | U91(X1, X2) |
a__U92(X) | → | U92(X) |
Original Signature
Termination of terms over the following signature is verified: U104, U62, U61, a__U41, a__U72, a__U42, a__U71, U23, U21, U22, plus, a__U84, isNatKind, mark, U71, U36, U72, 0, a__isNat, a__U32, a__U83, a__U31, a__U82, a__U81, U31, U32, a__U36, U33, a__U35, U34, a__U34, a__U104, U35, a__U33, a__U103, a__U51, isNat, U42, a__U91, U92, U41, a__U92, U91, a__U23, a__U22, a__U102, a__U101, a__U21, a__U62, U83, a__plus, U84, U51, U14, s, U15, tt, U82, U16, a__U16, U81, a__U15, a__U14, a__U13, U11, U12, a__U12, U13, a__U11, a__U61, U102, a__x, U103, a__isNatKind, x, U101
Open Dependency Pair Problem 9
Dependency Pairs
a__isNatKind#(plus(V1, V2)) | → | a__U41#(a__isNatKind(V1), V2) | | a__U41#(tt, V2) | → | a__isNatKind#(V2) |
a__isNatKind#(x(V1, V2)) | → | a__isNatKind#(V1) | | a__U61#(tt, V2) | → | a__isNatKind#(V2) |
a__isNatKind#(x(V1, V2)) | → | a__U61#(a__isNatKind(V1), V2) | | a__isNatKind#(plus(V1, V2)) | → | a__isNatKind#(V1) |
a__isNatKind#(s(V1)) | → | a__isNatKind#(V1) |
Rewrite Rules
a__U101(tt, M, N) | → | a__U102(a__isNatKind(M), M, N) | | a__U102(tt, M, N) | → | a__U103(a__isNat(N), M, N) |
a__U103(tt, M, N) | → | a__U104(a__isNatKind(N), M, N) | | a__U104(tt, M, N) | → | a__plus(a__x(mark(N), mark(M)), mark(N)) |
a__U11(tt, V1, V2) | → | a__U12(a__isNatKind(V1), V1, V2) | | a__U12(tt, V1, V2) | → | a__U13(a__isNatKind(V2), V1, V2) |
a__U13(tt, V1, V2) | → | a__U14(a__isNatKind(V2), V1, V2) | | a__U14(tt, V1, V2) | → | a__U15(a__isNat(V1), V2) |
a__U15(tt, V2) | → | a__U16(a__isNat(V2)) | | a__U16(tt) | → | tt |
a__U21(tt, V1) | → | a__U22(a__isNatKind(V1), V1) | | a__U22(tt, V1) | → | a__U23(a__isNat(V1)) |
a__U23(tt) | → | tt | | a__U31(tt, V1, V2) | → | a__U32(a__isNatKind(V1), V1, V2) |
a__U32(tt, V1, V2) | → | a__U33(a__isNatKind(V2), V1, V2) | | a__U33(tt, V1, V2) | → | a__U34(a__isNatKind(V2), V1, V2) |
a__U34(tt, V1, V2) | → | a__U35(a__isNat(V1), V2) | | a__U35(tt, V2) | → | a__U36(a__isNat(V2)) |
a__U36(tt) | → | tt | | a__U41(tt, V2) | → | a__U42(a__isNatKind(V2)) |
a__U42(tt) | → | tt | | a__U51(tt) | → | tt |
a__U61(tt, V2) | → | a__U62(a__isNatKind(V2)) | | a__U62(tt) | → | tt |
a__U71(tt, N) | → | a__U72(a__isNatKind(N), N) | | a__U72(tt, N) | → | mark(N) |
a__U81(tt, M, N) | → | a__U82(a__isNatKind(M), M, N) | | a__U82(tt, M, N) | → | a__U83(a__isNat(N), M, N) |
a__U83(tt, M, N) | → | a__U84(a__isNatKind(N), M, N) | | a__U84(tt, M, N) | → | s(a__plus(mark(N), mark(M))) |
a__U91(tt, N) | → | a__U92(a__isNatKind(N)) | | a__U92(tt) | → | 0 |
a__isNat(0) | → | tt | | a__isNat(plus(V1, V2)) | → | a__U11(a__isNatKind(V1), V1, V2) |
a__isNat(s(V1)) | → | a__U21(a__isNatKind(V1), V1) | | a__isNat(x(V1, V2)) | → | a__U31(a__isNatKind(V1), V1, V2) |
a__isNatKind(0) | → | tt | | a__isNatKind(plus(V1, V2)) | → | a__U41(a__isNatKind(V1), V2) |
a__isNatKind(s(V1)) | → | a__U51(a__isNatKind(V1)) | | a__isNatKind(x(V1, V2)) | → | a__U61(a__isNatKind(V1), V2) |
a__plus(N, 0) | → | a__U71(a__isNat(N), N) | | a__plus(N, s(M)) | → | a__U81(a__isNat(M), M, N) |
a__x(N, 0) | → | a__U91(a__isNat(N), N) | | a__x(N, s(M)) | → | a__U101(a__isNat(M), M, N) |
mark(U101(X1, X2, X3)) | → | a__U101(mark(X1), X2, X3) | | mark(U102(X1, X2, X3)) | → | a__U102(mark(X1), X2, X3) |
mark(isNatKind(X)) | → | a__isNatKind(X) | | mark(U103(X1, X2, X3)) | → | a__U103(mark(X1), X2, X3) |
mark(isNat(X)) | → | a__isNat(X) | | mark(U104(X1, X2, X3)) | → | a__U104(mark(X1), X2, X3) |
mark(plus(X1, X2)) | → | a__plus(mark(X1), mark(X2)) | | mark(x(X1, X2)) | → | a__x(mark(X1), mark(X2)) |
mark(U11(X1, X2, X3)) | → | a__U11(mark(X1), X2, X3) | | mark(U12(X1, X2, X3)) | → | a__U12(mark(X1), X2, X3) |
mark(U13(X1, X2, X3)) | → | a__U13(mark(X1), X2, X3) | | mark(U14(X1, X2, X3)) | → | a__U14(mark(X1), X2, X3) |
mark(U15(X1, X2)) | → | a__U15(mark(X1), X2) | | mark(U16(X)) | → | a__U16(mark(X)) |
mark(U21(X1, X2)) | → | a__U21(mark(X1), X2) | | mark(U22(X1, X2)) | → | a__U22(mark(X1), X2) |
mark(U23(X)) | → | a__U23(mark(X)) | | mark(U31(X1, X2, X3)) | → | a__U31(mark(X1), X2, X3) |
mark(U32(X1, X2, X3)) | → | a__U32(mark(X1), X2, X3) | | mark(U33(X1, X2, X3)) | → | a__U33(mark(X1), X2, X3) |
mark(U34(X1, X2, X3)) | → | a__U34(mark(X1), X2, X3) | | mark(U35(X1, X2)) | → | a__U35(mark(X1), X2) |
mark(U36(X)) | → | a__U36(mark(X)) | | mark(U41(X1, X2)) | → | a__U41(mark(X1), X2) |
mark(U42(X)) | → | a__U42(mark(X)) | | mark(U51(X)) | → | a__U51(mark(X)) |
mark(U61(X1, X2)) | → | a__U61(mark(X1), X2) | | mark(U62(X)) | → | a__U62(mark(X)) |
mark(U71(X1, X2)) | → | a__U71(mark(X1), X2) | | mark(U72(X1, X2)) | → | a__U72(mark(X1), X2) |
mark(U81(X1, X2, X3)) | → | a__U81(mark(X1), X2, X3) | | mark(U82(X1, X2, X3)) | → | a__U82(mark(X1), X2, X3) |
mark(U83(X1, X2, X3)) | → | a__U83(mark(X1), X2, X3) | | mark(U84(X1, X2, X3)) | → | a__U84(mark(X1), X2, X3) |
mark(U91(X1, X2)) | → | a__U91(mark(X1), X2) | | mark(U92(X)) | → | a__U92(mark(X)) |
mark(tt) | → | tt | | mark(s(X)) | → | s(mark(X)) |
mark(0) | → | 0 | | a__U101(X1, X2, X3) | → | U101(X1, X2, X3) |
a__U102(X1, X2, X3) | → | U102(X1, X2, X3) | | a__isNatKind(X) | → | isNatKind(X) |
a__U103(X1, X2, X3) | → | U103(X1, X2, X3) | | a__isNat(X) | → | isNat(X) |
a__U104(X1, X2, X3) | → | U104(X1, X2, X3) | | a__plus(X1, X2) | → | plus(X1, X2) |
a__x(X1, X2) | → | x(X1, X2) | | a__U11(X1, X2, X3) | → | U11(X1, X2, X3) |
a__U12(X1, X2, X3) | → | U12(X1, X2, X3) | | a__U13(X1, X2, X3) | → | U13(X1, X2, X3) |
a__U14(X1, X2, X3) | → | U14(X1, X2, X3) | | a__U15(X1, X2) | → | U15(X1, X2) |
a__U16(X) | → | U16(X) | | a__U21(X1, X2) | → | U21(X1, X2) |
a__U22(X1, X2) | → | U22(X1, X2) | | a__U23(X) | → | U23(X) |
a__U31(X1, X2, X3) | → | U31(X1, X2, X3) | | a__U32(X1, X2, X3) | → | U32(X1, X2, X3) |
a__U33(X1, X2, X3) | → | U33(X1, X2, X3) | | a__U34(X1, X2, X3) | → | U34(X1, X2, X3) |
a__U35(X1, X2) | → | U35(X1, X2) | | a__U36(X) | → | U36(X) |
a__U41(X1, X2) | → | U41(X1, X2) | | a__U42(X) | → | U42(X) |
a__U51(X) | → | U51(X) | | a__U61(X1, X2) | → | U61(X1, X2) |
a__U62(X) | → | U62(X) | | a__U71(X1, X2) | → | U71(X1, X2) |
a__U72(X1, X2) | → | U72(X1, X2) | | a__U81(X1, X2, X3) | → | U81(X1, X2, X3) |
a__U82(X1, X2, X3) | → | U82(X1, X2, X3) | | a__U83(X1, X2, X3) | → | U83(X1, X2, X3) |
a__U84(X1, X2, X3) | → | U84(X1, X2, X3) | | a__U91(X1, X2) | → | U91(X1, X2) |
a__U92(X) | → | U92(X) |
Original Signature
Termination of terms over the following signature is verified: U104, U62, U61, a__U41, a__U72, a__U42, a__U71, U23, U21, U22, plus, a__U84, isNatKind, mark, U71, U36, U72, 0, a__isNat, a__U32, a__U83, a__U31, a__U82, a__U81, U31, U32, a__U36, U33, a__U35, U34, a__U34, a__U104, U35, a__U33, a__U103, a__U51, isNat, U42, a__U91, U92, U41, a__U92, U91, a__U23, a__U22, a__U102, a__U101, a__U21, a__U62, U83, a__plus, U84, U51, U14, s, U15, tt, U82, U16, a__U16, U81, a__U15, a__U14, a__U13, U11, U12, a__U12, U13, a__U11, a__U61, U102, a__x, U103, a__isNatKind, x, U101
Open Dependency Pair Problem 10
Dependency Pairs
mark#(U101(X1, X2, X3)) | → | mark#(X1) | | mark#(U84(X1, X2, X3)) | → | mark#(X1) |
mark#(U35(X1, X2)) | → | a__U35#(mark(X1), X2) | | mark#(U32(X1, X2, X3)) | → | mark#(X1) |
mark#(U103(X1, X2, X3)) | → | mark#(X1) | | a__U84#(tt, M, N) | → | mark#(N) |
mark#(U104(X1, X2, X3)) | → | mark#(X1) | | mark#(U22(X1, X2)) | → | a__U22#(mark(X1), X2) |
a__U104#(tt, M, N) | → | mark#(N) | | a__U101#(tt, M, N) | → | a__U102#(a__isNatKind(M), M, N) |
a__plus#(N, s(M)) | → | a__U81#(a__isNat(M), M, N) | | a__U103#(tt, M, N) | → | a__U104#(a__isNatKind(N), M, N) |
mark#(U12(X1, X2, X3)) | → | a__U12#(mark(X1), X2, X3) | | mark#(U33(X1, X2, X3)) | → | mark#(X1) |
mark#(s(X)) | → | mark#(X) | | a__plus#(N, 0) | → | a__U71#(a__isNat(N), N) |
a__U84#(tt, M, N) | → | mark#(M) | | mark#(U71(X1, X2)) | → | a__U71#(mark(X1), X2) |
mark#(U84(X1, X2, X3)) | → | a__U84#(mark(X1), X2, X3) | | mark#(U13(X1, X2, X3)) | → | mark#(X1) |
mark#(U72(X1, X2)) | → | mark#(X1) | | mark#(plus(X1, X2)) | → | a__plus#(mark(X1), mark(X2)) |
mark#(U82(X1, X2, X3)) | → | mark#(X1) | | mark#(U71(X1, X2)) | → | mark#(X1) |
mark#(U92(X)) | → | a__U92#(mark(X)) | | mark#(U31(X1, X2, X3)) | → | mark#(X1) |
mark#(U101(X1, X2, X3)) | → | a__U101#(mark(X1), X2, X3) | | mark#(plus(X1, X2)) | → | mark#(X1) |
mark#(U15(X1, X2)) | → | mark#(X1) | | mark#(U51(X)) | → | mark#(X) |
mark#(U34(X1, X2, X3)) | → | mark#(X1) | | mark#(x(X1, X2)) | → | mark#(X2) |
mark#(U104(X1, X2, X3)) | → | a__U104#(mark(X1), X2, X3) | | mark#(U62(X)) | → | mark#(X) |
a__U72#(tt, N) | → | mark#(N) | | a__U104#(tt, M, N) | → | a__plus#(a__x(mark(N), mark(M)), mark(N)) |
a__U81#(tt, M, N) | → | a__U82#(a__isNatKind(M), M, N) | | mark#(U103(X1, X2, X3)) | → | a__U103#(mark(X1), X2, X3) |
mark#(U11(X1, X2, X3)) | → | a__U11#(mark(X1), X2, X3) | | mark#(U11(X1, X2, X3)) | → | mark#(X1) |
mark#(U61(X1, X2)) | → | mark#(X1) | | a__U71#(tt, N) | → | a__U72#(a__isNatKind(N), N) |
mark#(U91(X1, X2)) | → | mark#(X1) | | a__x#(N, s(M)) | → | a__U101#(a__isNat(M), M, N) |
mark#(x(X1, X2)) | → | a__x#(mark(X1), mark(X2)) | | mark#(U83(X1, X2, X3)) | → | a__U83#(mark(X1), X2, X3) |
a__U104#(tt, M, N) | → | a__x#(mark(N), mark(M)) | | mark#(U21(X1, X2)) | → | mark#(X1) |
mark#(U42(X)) | → | mark#(X) | | mark#(U35(X1, X2)) | → | mark#(X1) |
mark#(U14(X1, X2, X3)) | → | mark#(X1) | | mark#(U81(X1, X2, X3)) | → | mark#(X1) |
mark#(U16(X)) | → | mark#(X) | | a__U104#(tt, M, N) | → | mark#(M) |
mark#(U22(X1, X2)) | → | mark#(X1) | | mark#(U23(X)) | → | mark#(X) |
mark#(U83(X1, X2, X3)) | → | mark#(X1) | | mark#(plus(X1, X2)) | → | mark#(X2) |
mark#(U102(X1, X2, X3)) | → | mark#(X1) | | mark#(U82(X1, X2, X3)) | → | a__U82#(mark(X1), X2, X3) |
mark#(U102(X1, X2, X3)) | → | a__U102#(mark(X1), X2, X3) | | mark#(U41(X1, X2)) | → | mark#(X1) |
mark#(U12(X1, X2, X3)) | → | mark#(X1) | | mark#(U34(X1, X2, X3)) | → | a__U34#(mark(X1), X2, X3) |
mark#(U31(X1, X2, X3)) | → | a__U31#(mark(X1), X2, X3) | | a__U84#(tt, M, N) | → | a__plus#(mark(N), mark(M)) |
mark#(U72(X1, X2)) | → | a__U72#(mark(X1), X2) | | a__U82#(tt, M, N) | → | a__U83#(a__isNat(N), M, N) |
mark#(U92(X)) | → | mark#(X) | | mark#(U21(X1, X2)) | → | a__U21#(mark(X1), X2) |
mark#(U36(X)) | → | mark#(X) | | a__U102#(tt, M, N) | → | a__U103#(a__isNat(N), M, N) |
mark#(U81(X1, X2, X3)) | → | a__U81#(mark(X1), X2, X3) | | mark#(x(X1, X2)) | → | mark#(X1) |
a__U83#(tt, M, N) | → | a__U84#(a__isNatKind(N), M, N) |
Rewrite Rules
a__U101(tt, M, N) | → | a__U102(a__isNatKind(M), M, N) | | a__U102(tt, M, N) | → | a__U103(a__isNat(N), M, N) |
a__U103(tt, M, N) | → | a__U104(a__isNatKind(N), M, N) | | a__U104(tt, M, N) | → | a__plus(a__x(mark(N), mark(M)), mark(N)) |
a__U11(tt, V1, V2) | → | a__U12(a__isNatKind(V1), V1, V2) | | a__U12(tt, V1, V2) | → | a__U13(a__isNatKind(V2), V1, V2) |
a__U13(tt, V1, V2) | → | a__U14(a__isNatKind(V2), V1, V2) | | a__U14(tt, V1, V2) | → | a__U15(a__isNat(V1), V2) |
a__U15(tt, V2) | → | a__U16(a__isNat(V2)) | | a__U16(tt) | → | tt |
a__U21(tt, V1) | → | a__U22(a__isNatKind(V1), V1) | | a__U22(tt, V1) | → | a__U23(a__isNat(V1)) |
a__U23(tt) | → | tt | | a__U31(tt, V1, V2) | → | a__U32(a__isNatKind(V1), V1, V2) |
a__U32(tt, V1, V2) | → | a__U33(a__isNatKind(V2), V1, V2) | | a__U33(tt, V1, V2) | → | a__U34(a__isNatKind(V2), V1, V2) |
a__U34(tt, V1, V2) | → | a__U35(a__isNat(V1), V2) | | a__U35(tt, V2) | → | a__U36(a__isNat(V2)) |
a__U36(tt) | → | tt | | a__U41(tt, V2) | → | a__U42(a__isNatKind(V2)) |
a__U42(tt) | → | tt | | a__U51(tt) | → | tt |
a__U61(tt, V2) | → | a__U62(a__isNatKind(V2)) | | a__U62(tt) | → | tt |
a__U71(tt, N) | → | a__U72(a__isNatKind(N), N) | | a__U72(tt, N) | → | mark(N) |
a__U81(tt, M, N) | → | a__U82(a__isNatKind(M), M, N) | | a__U82(tt, M, N) | → | a__U83(a__isNat(N), M, N) |
a__U83(tt, M, N) | → | a__U84(a__isNatKind(N), M, N) | | a__U84(tt, M, N) | → | s(a__plus(mark(N), mark(M))) |
a__U91(tt, N) | → | a__U92(a__isNatKind(N)) | | a__U92(tt) | → | 0 |
a__isNat(0) | → | tt | | a__isNat(plus(V1, V2)) | → | a__U11(a__isNatKind(V1), V1, V2) |
a__isNat(s(V1)) | → | a__U21(a__isNatKind(V1), V1) | | a__isNat(x(V1, V2)) | → | a__U31(a__isNatKind(V1), V1, V2) |
a__isNatKind(0) | → | tt | | a__isNatKind(plus(V1, V2)) | → | a__U41(a__isNatKind(V1), V2) |
a__isNatKind(s(V1)) | → | a__U51(a__isNatKind(V1)) | | a__isNatKind(x(V1, V2)) | → | a__U61(a__isNatKind(V1), V2) |
a__plus(N, 0) | → | a__U71(a__isNat(N), N) | | a__plus(N, s(M)) | → | a__U81(a__isNat(M), M, N) |
a__x(N, 0) | → | a__U91(a__isNat(N), N) | | a__x(N, s(M)) | → | a__U101(a__isNat(M), M, N) |
mark(U101(X1, X2, X3)) | → | a__U101(mark(X1), X2, X3) | | mark(U102(X1, X2, X3)) | → | a__U102(mark(X1), X2, X3) |
mark(isNatKind(X)) | → | a__isNatKind(X) | | mark(U103(X1, X2, X3)) | → | a__U103(mark(X1), X2, X3) |
mark(isNat(X)) | → | a__isNat(X) | | mark(U104(X1, X2, X3)) | → | a__U104(mark(X1), X2, X3) |
mark(plus(X1, X2)) | → | a__plus(mark(X1), mark(X2)) | | mark(x(X1, X2)) | → | a__x(mark(X1), mark(X2)) |
mark(U11(X1, X2, X3)) | → | a__U11(mark(X1), X2, X3) | | mark(U12(X1, X2, X3)) | → | a__U12(mark(X1), X2, X3) |
mark(U13(X1, X2, X3)) | → | a__U13(mark(X1), X2, X3) | | mark(U14(X1, X2, X3)) | → | a__U14(mark(X1), X2, X3) |
mark(U15(X1, X2)) | → | a__U15(mark(X1), X2) | | mark(U16(X)) | → | a__U16(mark(X)) |
mark(U21(X1, X2)) | → | a__U21(mark(X1), X2) | | mark(U22(X1, X2)) | → | a__U22(mark(X1), X2) |
mark(U23(X)) | → | a__U23(mark(X)) | | mark(U31(X1, X2, X3)) | → | a__U31(mark(X1), X2, X3) |
mark(U32(X1, X2, X3)) | → | a__U32(mark(X1), X2, X3) | | mark(U33(X1, X2, X3)) | → | a__U33(mark(X1), X2, X3) |
mark(U34(X1, X2, X3)) | → | a__U34(mark(X1), X2, X3) | | mark(U35(X1, X2)) | → | a__U35(mark(X1), X2) |
mark(U36(X)) | → | a__U36(mark(X)) | | mark(U41(X1, X2)) | → | a__U41(mark(X1), X2) |
mark(U42(X)) | → | a__U42(mark(X)) | | mark(U51(X)) | → | a__U51(mark(X)) |
mark(U61(X1, X2)) | → | a__U61(mark(X1), X2) | | mark(U62(X)) | → | a__U62(mark(X)) |
mark(U71(X1, X2)) | → | a__U71(mark(X1), X2) | | mark(U72(X1, X2)) | → | a__U72(mark(X1), X2) |
mark(U81(X1, X2, X3)) | → | a__U81(mark(X1), X2, X3) | | mark(U82(X1, X2, X3)) | → | a__U82(mark(X1), X2, X3) |
mark(U83(X1, X2, X3)) | → | a__U83(mark(X1), X2, X3) | | mark(U84(X1, X2, X3)) | → | a__U84(mark(X1), X2, X3) |
mark(U91(X1, X2)) | → | a__U91(mark(X1), X2) | | mark(U92(X)) | → | a__U92(mark(X)) |
mark(tt) | → | tt | | mark(s(X)) | → | s(mark(X)) |
mark(0) | → | 0 | | a__U101(X1, X2, X3) | → | U101(X1, X2, X3) |
a__U102(X1, X2, X3) | → | U102(X1, X2, X3) | | a__isNatKind(X) | → | isNatKind(X) |
a__U103(X1, X2, X3) | → | U103(X1, X2, X3) | | a__isNat(X) | → | isNat(X) |
a__U104(X1, X2, X3) | → | U104(X1, X2, X3) | | a__plus(X1, X2) | → | plus(X1, X2) |
a__x(X1, X2) | → | x(X1, X2) | | a__U11(X1, X2, X3) | → | U11(X1, X2, X3) |
a__U12(X1, X2, X3) | → | U12(X1, X2, X3) | | a__U13(X1, X2, X3) | → | U13(X1, X2, X3) |
a__U14(X1, X2, X3) | → | U14(X1, X2, X3) | | a__U15(X1, X2) | → | U15(X1, X2) |
a__U16(X) | → | U16(X) | | a__U21(X1, X2) | → | U21(X1, X2) |
a__U22(X1, X2) | → | U22(X1, X2) | | a__U23(X) | → | U23(X) |
a__U31(X1, X2, X3) | → | U31(X1, X2, X3) | | a__U32(X1, X2, X3) | → | U32(X1, X2, X3) |
a__U33(X1, X2, X3) | → | U33(X1, X2, X3) | | a__U34(X1, X2, X3) | → | U34(X1, X2, X3) |
a__U35(X1, X2) | → | U35(X1, X2) | | a__U36(X) | → | U36(X) |
a__U41(X1, X2) | → | U41(X1, X2) | | a__U42(X) | → | U42(X) |
a__U51(X) | → | U51(X) | | a__U61(X1, X2) | → | U61(X1, X2) |
a__U62(X) | → | U62(X) | | a__U71(X1, X2) | → | U71(X1, X2) |
a__U72(X1, X2) | → | U72(X1, X2) | | a__U81(X1, X2, X3) | → | U81(X1, X2, X3) |
a__U82(X1, X2, X3) | → | U82(X1, X2, X3) | | a__U83(X1, X2, X3) | → | U83(X1, X2, X3) |
a__U84(X1, X2, X3) | → | U84(X1, X2, X3) | | a__U91(X1, X2) | → | U91(X1, X2) |
a__U92(X) | → | U92(X) |
Original Signature
Termination of terms over the following signature is verified: U104, U62, U61, a__U41, a__U72, a__U42, a__U71, U23, U21, U22, plus, a__U84, isNatKind, mark, U71, U36, U72, 0, a__isNat, a__U32, a__U83, a__U31, a__U82, a__U81, U31, U32, a__U36, U33, a__U35, U34, a__U34, a__U104, U35, a__U33, a__U103, a__U51, isNat, U42, a__U91, U92, U41, a__U92, U91, a__U23, a__U22, a__U102, a__U101, a__U21, a__U62, U83, a__plus, U84, U51, U14, s, U15, tt, U82, U16, a__U16, U81, a__U15, a__U14, a__U13, U11, U12, a__U12, U13, a__U11, a__U61, U102, a__x, U103, a__isNatKind, x, U101
Open Dependency Pair Problem 11
Dependency Pairs
mark#(U101(X1, X2, X3)) | → | mark#(X1) | | mark#(U84(X1, X2, X3)) | → | mark#(X1) |
mark#(U35(X1, X2)) | → | a__U35#(mark(X1), X2) | | mark#(U32(X1, X2, X3)) | → | mark#(X1) |
mark#(U103(X1, X2, X3)) | → | mark#(X1) | | a__U84#(tt, M, N) | → | mark#(N) |
mark#(U104(X1, X2, X3)) | → | mark#(X1) | | mark#(U22(X1, X2)) | → | a__U22#(mark(X1), X2) |
a__U104#(tt, M, N) | → | mark#(N) | | mark#(U23(X)) | → | a__U23#(mark(X)) |
a__U101#(tt, M, N) | → | a__U102#(a__isNatKind(M), M, N) | | a__plus#(N, s(M)) | → | a__U81#(a__isNat(M), M, N) |
a__U103#(tt, M, N) | → | a__U104#(a__isNatKind(N), M, N) | | mark#(U12(X1, X2, X3)) | → | a__U12#(mark(X1), X2, X3) |
mark#(U33(X1, X2, X3)) | → | mark#(X1) | | mark#(s(X)) | → | mark#(X) |
a__plus#(N, 0) | → | a__U71#(a__isNat(N), N) | | a__U84#(tt, M, N) | → | mark#(M) |
mark#(U71(X1, X2)) | → | a__U71#(mark(X1), X2) | | mark#(U84(X1, X2, X3)) | → | a__U84#(mark(X1), X2, X3) |
mark#(U13(X1, X2, X3)) | → | mark#(X1) | | mark#(U72(X1, X2)) | → | mark#(X1) |
mark#(plus(X1, X2)) | → | a__plus#(mark(X1), mark(X2)) | | mark#(U82(X1, X2, X3)) | → | mark#(X1) |
mark#(U92(X)) | → | a__U92#(mark(X)) | | mark#(U71(X1, X2)) | → | mark#(X1) |
mark#(U101(X1, X2, X3)) | → | a__U101#(mark(X1), X2, X3) | | mark#(U31(X1, X2, X3)) | → | mark#(X1) |
mark#(plus(X1, X2)) | → | mark#(X1) | | mark#(U51(X)) | → | mark#(X) |
mark#(U15(X1, X2)) | → | mark#(X1) | | mark#(U34(X1, X2, X3)) | → | mark#(X1) |
mark#(U15(X1, X2)) | → | a__U15#(mark(X1), X2) | | mark#(x(X1, X2)) | → | mark#(X2) |
mark#(U104(X1, X2, X3)) | → | a__U104#(mark(X1), X2, X3) | | mark#(U62(X)) | → | mark#(X) |
a__U72#(tt, N) | → | mark#(N) | | a__U104#(tt, M, N) | → | a__plus#(a__x(mark(N), mark(M)), mark(N)) |
a__U81#(tt, M, N) | → | a__U82#(a__isNatKind(M), M, N) | | mark#(U103(X1, X2, X3)) | → | a__U103#(mark(X1), X2, X3) |
mark#(U11(X1, X2, X3)) | → | a__U11#(mark(X1), X2, X3) | | mark#(U11(X1, X2, X3)) | → | mark#(X1) |
mark#(U61(X1, X2)) | → | mark#(X1) | | a__U71#(tt, N) | → | a__U72#(a__isNatKind(N), N) |
mark#(U91(X1, X2)) | → | mark#(X1) | | a__x#(N, s(M)) | → | a__U101#(a__isNat(M), M, N) |
mark#(x(X1, X2)) | → | a__x#(mark(X1), mark(X2)) | | mark#(U83(X1, X2, X3)) | → | a__U83#(mark(X1), X2, X3) |
a__U104#(tt, M, N) | → | a__x#(mark(N), mark(M)) | | mark#(U21(X1, X2)) | → | mark#(X1) |
mark#(U42(X)) | → | mark#(X) | | mark#(U35(X1, X2)) | → | mark#(X1) |
mark#(U81(X1, X2, X3)) | → | mark#(X1) | | mark#(U14(X1, X2, X3)) | → | mark#(X1) |
mark#(U16(X)) | → | mark#(X) | | a__U104#(tt, M, N) | → | mark#(M) |
mark#(U22(X1, X2)) | → | mark#(X1) | | mark#(U23(X)) | → | mark#(X) |
mark#(U83(X1, X2, X3)) | → | mark#(X1) | | mark#(plus(X1, X2)) | → | mark#(X2) |
mark#(U102(X1, X2, X3)) | → | mark#(X1) | | mark#(U82(X1, X2, X3)) | → | a__U82#(mark(X1), X2, X3) |
mark#(U102(X1, X2, X3)) | → | a__U102#(mark(X1), X2, X3) | | mark#(U41(X1, X2)) | → | mark#(X1) |
mark#(U12(X1, X2, X3)) | → | mark#(X1) | | mark#(U34(X1, X2, X3)) | → | a__U34#(mark(X1), X2, X3) |
a__U84#(tt, M, N) | → | a__plus#(mark(N), mark(M)) | | mark#(U72(X1, X2)) | → | a__U72#(mark(X1), X2) |
a__U82#(tt, M, N) | → | a__U83#(a__isNat(N), M, N) | | mark#(U92(X)) | → | mark#(X) |
mark#(U36(X)) | → | mark#(X) | | a__U102#(tt, M, N) | → | a__U103#(a__isNat(N), M, N) |
mark#(U81(X1, X2, X3)) | → | a__U81#(mark(X1), X2, X3) | | mark#(x(X1, X2)) | → | mark#(X1) |
a__U83#(tt, M, N) | → | a__U84#(a__isNatKind(N), M, N) |
Rewrite Rules
a__U101(tt, M, N) | → | a__U102(a__isNatKind(M), M, N) | | a__U102(tt, M, N) | → | a__U103(a__isNat(N), M, N) |
a__U103(tt, M, N) | → | a__U104(a__isNatKind(N), M, N) | | a__U104(tt, M, N) | → | a__plus(a__x(mark(N), mark(M)), mark(N)) |
a__U11(tt, V1, V2) | → | a__U12(a__isNatKind(V1), V1, V2) | | a__U12(tt, V1, V2) | → | a__U13(a__isNatKind(V2), V1, V2) |
a__U13(tt, V1, V2) | → | a__U14(a__isNatKind(V2), V1, V2) | | a__U14(tt, V1, V2) | → | a__U15(a__isNat(V1), V2) |
a__U15(tt, V2) | → | a__U16(a__isNat(V2)) | | a__U16(tt) | → | tt |
a__U21(tt, V1) | → | a__U22(a__isNatKind(V1), V1) | | a__U22(tt, V1) | → | a__U23(a__isNat(V1)) |
a__U23(tt) | → | tt | | a__U31(tt, V1, V2) | → | a__U32(a__isNatKind(V1), V1, V2) |
a__U32(tt, V1, V2) | → | a__U33(a__isNatKind(V2), V1, V2) | | a__U33(tt, V1, V2) | → | a__U34(a__isNatKind(V2), V1, V2) |
a__U34(tt, V1, V2) | → | a__U35(a__isNat(V1), V2) | | a__U35(tt, V2) | → | a__U36(a__isNat(V2)) |
a__U36(tt) | → | tt | | a__U41(tt, V2) | → | a__U42(a__isNatKind(V2)) |
a__U42(tt) | → | tt | | a__U51(tt) | → | tt |
a__U61(tt, V2) | → | a__U62(a__isNatKind(V2)) | | a__U62(tt) | → | tt |
a__U71(tt, N) | → | a__U72(a__isNatKind(N), N) | | a__U72(tt, N) | → | mark(N) |
a__U81(tt, M, N) | → | a__U82(a__isNatKind(M), M, N) | | a__U82(tt, M, N) | → | a__U83(a__isNat(N), M, N) |
a__U83(tt, M, N) | → | a__U84(a__isNatKind(N), M, N) | | a__U84(tt, M, N) | → | s(a__plus(mark(N), mark(M))) |
a__U91(tt, N) | → | a__U92(a__isNatKind(N)) | | a__U92(tt) | → | 0 |
a__isNat(0) | → | tt | | a__isNat(plus(V1, V2)) | → | a__U11(a__isNatKind(V1), V1, V2) |
a__isNat(s(V1)) | → | a__U21(a__isNatKind(V1), V1) | | a__isNat(x(V1, V2)) | → | a__U31(a__isNatKind(V1), V1, V2) |
a__isNatKind(0) | → | tt | | a__isNatKind(plus(V1, V2)) | → | a__U41(a__isNatKind(V1), V2) |
a__isNatKind(s(V1)) | → | a__U51(a__isNatKind(V1)) | | a__isNatKind(x(V1, V2)) | → | a__U61(a__isNatKind(V1), V2) |
a__plus(N, 0) | → | a__U71(a__isNat(N), N) | | a__plus(N, s(M)) | → | a__U81(a__isNat(M), M, N) |
a__x(N, 0) | → | a__U91(a__isNat(N), N) | | a__x(N, s(M)) | → | a__U101(a__isNat(M), M, N) |
mark(U101(X1, X2, X3)) | → | a__U101(mark(X1), X2, X3) | | mark(U102(X1, X2, X3)) | → | a__U102(mark(X1), X2, X3) |
mark(isNatKind(X)) | → | a__isNatKind(X) | | mark(U103(X1, X2, X3)) | → | a__U103(mark(X1), X2, X3) |
mark(isNat(X)) | → | a__isNat(X) | | mark(U104(X1, X2, X3)) | → | a__U104(mark(X1), X2, X3) |
mark(plus(X1, X2)) | → | a__plus(mark(X1), mark(X2)) | | mark(x(X1, X2)) | → | a__x(mark(X1), mark(X2)) |
mark(U11(X1, X2, X3)) | → | a__U11(mark(X1), X2, X3) | | mark(U12(X1, X2, X3)) | → | a__U12(mark(X1), X2, X3) |
mark(U13(X1, X2, X3)) | → | a__U13(mark(X1), X2, X3) | | mark(U14(X1, X2, X3)) | → | a__U14(mark(X1), X2, X3) |
mark(U15(X1, X2)) | → | a__U15(mark(X1), X2) | | mark(U16(X)) | → | a__U16(mark(X)) |
mark(U21(X1, X2)) | → | a__U21(mark(X1), X2) | | mark(U22(X1, X2)) | → | a__U22(mark(X1), X2) |
mark(U23(X)) | → | a__U23(mark(X)) | | mark(U31(X1, X2, X3)) | → | a__U31(mark(X1), X2, X3) |
mark(U32(X1, X2, X3)) | → | a__U32(mark(X1), X2, X3) | | mark(U33(X1, X2, X3)) | → | a__U33(mark(X1), X2, X3) |
mark(U34(X1, X2, X3)) | → | a__U34(mark(X1), X2, X3) | | mark(U35(X1, X2)) | → | a__U35(mark(X1), X2) |
mark(U36(X)) | → | a__U36(mark(X)) | | mark(U41(X1, X2)) | → | a__U41(mark(X1), X2) |
mark(U42(X)) | → | a__U42(mark(X)) | | mark(U51(X)) | → | a__U51(mark(X)) |
mark(U61(X1, X2)) | → | a__U61(mark(X1), X2) | | mark(U62(X)) | → | a__U62(mark(X)) |
mark(U71(X1, X2)) | → | a__U71(mark(X1), X2) | | mark(U72(X1, X2)) | → | a__U72(mark(X1), X2) |
mark(U81(X1, X2, X3)) | → | a__U81(mark(X1), X2, X3) | | mark(U82(X1, X2, X3)) | → | a__U82(mark(X1), X2, X3) |
mark(U83(X1, X2, X3)) | → | a__U83(mark(X1), X2, X3) | | mark(U84(X1, X2, X3)) | → | a__U84(mark(X1), X2, X3) |
mark(U91(X1, X2)) | → | a__U91(mark(X1), X2) | | mark(U92(X)) | → | a__U92(mark(X)) |
mark(tt) | → | tt | | mark(s(X)) | → | s(mark(X)) |
mark(0) | → | 0 | | a__U101(X1, X2, X3) | → | U101(X1, X2, X3) |
a__U102(X1, X2, X3) | → | U102(X1, X2, X3) | | a__isNatKind(X) | → | isNatKind(X) |
a__U103(X1, X2, X3) | → | U103(X1, X2, X3) | | a__isNat(X) | → | isNat(X) |
a__U104(X1, X2, X3) | → | U104(X1, X2, X3) | | a__plus(X1, X2) | → | plus(X1, X2) |
a__x(X1, X2) | → | x(X1, X2) | | a__U11(X1, X2, X3) | → | U11(X1, X2, X3) |
a__U12(X1, X2, X3) | → | U12(X1, X2, X3) | | a__U13(X1, X2, X3) | → | U13(X1, X2, X3) |
a__U14(X1, X2, X3) | → | U14(X1, X2, X3) | | a__U15(X1, X2) | → | U15(X1, X2) |
a__U16(X) | → | U16(X) | | a__U21(X1, X2) | → | U21(X1, X2) |
a__U22(X1, X2) | → | U22(X1, X2) | | a__U23(X) | → | U23(X) |
a__U31(X1, X2, X3) | → | U31(X1, X2, X3) | | a__U32(X1, X2, X3) | → | U32(X1, X2, X3) |
a__U33(X1, X2, X3) | → | U33(X1, X2, X3) | | a__U34(X1, X2, X3) | → | U34(X1, X2, X3) |
a__U35(X1, X2) | → | U35(X1, X2) | | a__U36(X) | → | U36(X) |
a__U41(X1, X2) | → | U41(X1, X2) | | a__U42(X) | → | U42(X) |
a__U51(X) | → | U51(X) | | a__U61(X1, X2) | → | U61(X1, X2) |
a__U62(X) | → | U62(X) | | a__U71(X1, X2) | → | U71(X1, X2) |
a__U72(X1, X2) | → | U72(X1, X2) | | a__U81(X1, X2, X3) | → | U81(X1, X2, X3) |
a__U82(X1, X2, X3) | → | U82(X1, X2, X3) | | a__U83(X1, X2, X3) | → | U83(X1, X2, X3) |
a__U84(X1, X2, X3) | → | U84(X1, X2, X3) | | a__U91(X1, X2) | → | U91(X1, X2) |
a__U92(X) | → | U92(X) |
Original Signature
Termination of terms over the following signature is verified: U104, U62, U61, a__U41, a__U72, a__U42, a__U71, U23, U21, U22, plus, a__U84, isNatKind, mark, U71, U36, U72, 0, a__isNat, a__U32, a__U83, a__U31, a__U82, a__U81, U31, U32, a__U36, U33, a__U35, U34, a__U34, a__U104, U35, a__U33, a__U103, a__U51, isNat, U42, a__U91, U92, U41, a__U92, U91, a__U23, a__U22, a__U102, a__U101, a__U21, a__U62, U83, a__plus, U84, U51, U14, s, U15, tt, U82, U16, a__U16, U81, a__U15, a__U14, a__U13, U11, U12, a__U12, U13, a__U11, a__U61, U102, a__x, U103, a__isNatKind, x, U101
Open Dependency Pair Problem 12
Dependency Pairs
mark#(U101(X1, X2, X3)) | → | mark#(X1) | | mark#(U84(X1, X2, X3)) | → | mark#(X1) |
mark#(U35(X1, X2)) | → | a__U35#(mark(X1), X2) | | mark#(U32(X1, X2, X3)) | → | mark#(X1) |
mark#(U103(X1, X2, X3)) | → | mark#(X1) | | mark#(U104(X1, X2, X3)) | → | mark#(X1) |
a__U84#(tt, M, N) | → | mark#(N) | | mark#(U22(X1, X2)) | → | a__U22#(mark(X1), X2) |
a__U104#(tt, M, N) | → | mark#(N) | | a__U101#(tt, M, N) | → | a__U102#(a__isNatKind(M), M, N) |
a__plus#(N, s(M)) | → | a__U81#(a__isNat(M), M, N) | | a__U103#(tt, M, N) | → | a__U104#(a__isNatKind(N), M, N) |
mark#(U33(X1, X2, X3)) | → | mark#(X1) | | mark#(s(X)) | → | mark#(X) |
a__plus#(N, 0) | → | a__U71#(a__isNat(N), N) | | a__U84#(tt, M, N) | → | mark#(M) |
mark#(U71(X1, X2)) | → | a__U71#(mark(X1), X2) | | mark#(U84(X1, X2, X3)) | → | a__U84#(mark(X1), X2, X3) |
mark#(U13(X1, X2, X3)) | → | mark#(X1) | | mark#(U72(X1, X2)) | → | mark#(X1) |
mark#(plus(X1, X2)) | → | a__plus#(mark(X1), mark(X2)) | | mark#(U82(X1, X2, X3)) | → | mark#(X1) |
mark#(U71(X1, X2)) | → | mark#(X1) | | mark#(U92(X)) | → | a__U92#(mark(X)) |
mark#(U31(X1, X2, X3)) | → | mark#(X1) | | mark#(U101(X1, X2, X3)) | → | a__U101#(mark(X1), X2, X3) |
mark#(plus(X1, X2)) | → | mark#(X1) | | mark#(U51(X)) | → | mark#(X) |
mark#(U15(X1, X2)) | → | mark#(X1) | | mark#(U34(X1, X2, X3)) | → | mark#(X1) |
mark#(x(X1, X2)) | → | mark#(X2) | | mark#(U15(X1, X2)) | → | a__U15#(mark(X1), X2) |
mark#(U104(X1, X2, X3)) | → | a__U104#(mark(X1), X2, X3) | | mark#(U62(X)) | → | mark#(X) |
a__U72#(tt, N) | → | mark#(N) | | a__U104#(tt, M, N) | → | a__plus#(a__x(mark(N), mark(M)), mark(N)) |
a__U81#(tt, M, N) | → | a__U82#(a__isNatKind(M), M, N) | | mark#(U103(X1, X2, X3)) | → | a__U103#(mark(X1), X2, X3) |
mark#(U11(X1, X2, X3)) | → | a__U11#(mark(X1), X2, X3) | | mark#(U11(X1, X2, X3)) | → | mark#(X1) |
mark#(U61(X1, X2)) | → | mark#(X1) | | a__U71#(tt, N) | → | a__U72#(a__isNatKind(N), N) |
mark#(U91(X1, X2)) | → | mark#(X1) | | a__x#(N, s(M)) | → | a__U101#(a__isNat(M), M, N) |
mark#(x(X1, X2)) | → | a__x#(mark(X1), mark(X2)) | | mark#(U83(X1, X2, X3)) | → | a__U83#(mark(X1), X2, X3) |
a__U104#(tt, M, N) | → | a__x#(mark(N), mark(M)) | | mark#(U21(X1, X2)) | → | mark#(X1) |
mark#(U42(X)) | → | mark#(X) | | mark#(U35(X1, X2)) | → | mark#(X1) |
mark#(U81(X1, X2, X3)) | → | mark#(X1) | | mark#(U14(X1, X2, X3)) | → | mark#(X1) |
mark#(U16(X)) | → | mark#(X) | | a__U104#(tt, M, N) | → | mark#(M) |
mark#(U23(X)) | → | mark#(X) | | mark#(U22(X1, X2)) | → | mark#(X1) |
mark#(U83(X1, X2, X3)) | → | mark#(X1) | | mark#(plus(X1, X2)) | → | mark#(X2) |
mark#(U102(X1, X2, X3)) | → | mark#(X1) | | mark#(U82(X1, X2, X3)) | → | a__U82#(mark(X1), X2, X3) |
mark#(U102(X1, X2, X3)) | → | a__U102#(mark(X1), X2, X3) | | mark#(U41(X1, X2)) | → | mark#(X1) |
mark#(U12(X1, X2, X3)) | → | mark#(X1) | | mark#(U34(X1, X2, X3)) | → | a__U34#(mark(X1), X2, X3) |
a__U84#(tt, M, N) | → | a__plus#(mark(N), mark(M)) | | mark#(U72(X1, X2)) | → | a__U72#(mark(X1), X2) |
a__U82#(tt, M, N) | → | a__U83#(a__isNat(N), M, N) | | a__x#(N, s(M)) | → | a__isNat#(M) |
mark#(U92(X)) | → | mark#(X) | | mark#(U36(X)) | → | mark#(X) |
a__U102#(tt, M, N) | → | a__U103#(a__isNat(N), M, N) | | mark#(U81(X1, X2, X3)) | → | a__U81#(mark(X1), X2, X3) |
mark#(x(X1, X2)) | → | mark#(X1) | | a__U83#(tt, M, N) | → | a__U84#(a__isNatKind(N), M, N) |
Rewrite Rules
a__U101(tt, M, N) | → | a__U102(a__isNatKind(M), M, N) | | a__U102(tt, M, N) | → | a__U103(a__isNat(N), M, N) |
a__U103(tt, M, N) | → | a__U104(a__isNatKind(N), M, N) | | a__U104(tt, M, N) | → | a__plus(a__x(mark(N), mark(M)), mark(N)) |
a__U11(tt, V1, V2) | → | a__U12(a__isNatKind(V1), V1, V2) | | a__U12(tt, V1, V2) | → | a__U13(a__isNatKind(V2), V1, V2) |
a__U13(tt, V1, V2) | → | a__U14(a__isNatKind(V2), V1, V2) | | a__U14(tt, V1, V2) | → | a__U15(a__isNat(V1), V2) |
a__U15(tt, V2) | → | a__U16(a__isNat(V2)) | | a__U16(tt) | → | tt |
a__U21(tt, V1) | → | a__U22(a__isNatKind(V1), V1) | | a__U22(tt, V1) | → | a__U23(a__isNat(V1)) |
a__U23(tt) | → | tt | | a__U31(tt, V1, V2) | → | a__U32(a__isNatKind(V1), V1, V2) |
a__U32(tt, V1, V2) | → | a__U33(a__isNatKind(V2), V1, V2) | | a__U33(tt, V1, V2) | → | a__U34(a__isNatKind(V2), V1, V2) |
a__U34(tt, V1, V2) | → | a__U35(a__isNat(V1), V2) | | a__U35(tt, V2) | → | a__U36(a__isNat(V2)) |
a__U36(tt) | → | tt | | a__U41(tt, V2) | → | a__U42(a__isNatKind(V2)) |
a__U42(tt) | → | tt | | a__U51(tt) | → | tt |
a__U61(tt, V2) | → | a__U62(a__isNatKind(V2)) | | a__U62(tt) | → | tt |
a__U71(tt, N) | → | a__U72(a__isNatKind(N), N) | | a__U72(tt, N) | → | mark(N) |
a__U81(tt, M, N) | → | a__U82(a__isNatKind(M), M, N) | | a__U82(tt, M, N) | → | a__U83(a__isNat(N), M, N) |
a__U83(tt, M, N) | → | a__U84(a__isNatKind(N), M, N) | | a__U84(tt, M, N) | → | s(a__plus(mark(N), mark(M))) |
a__U91(tt, N) | → | a__U92(a__isNatKind(N)) | | a__U92(tt) | → | 0 |
a__isNat(0) | → | tt | | a__isNat(plus(V1, V2)) | → | a__U11(a__isNatKind(V1), V1, V2) |
a__isNat(s(V1)) | → | a__U21(a__isNatKind(V1), V1) | | a__isNat(x(V1, V2)) | → | a__U31(a__isNatKind(V1), V1, V2) |
a__isNatKind(0) | → | tt | | a__isNatKind(plus(V1, V2)) | → | a__U41(a__isNatKind(V1), V2) |
a__isNatKind(s(V1)) | → | a__U51(a__isNatKind(V1)) | | a__isNatKind(x(V1, V2)) | → | a__U61(a__isNatKind(V1), V2) |
a__plus(N, 0) | → | a__U71(a__isNat(N), N) | | a__plus(N, s(M)) | → | a__U81(a__isNat(M), M, N) |
a__x(N, 0) | → | a__U91(a__isNat(N), N) | | a__x(N, s(M)) | → | a__U101(a__isNat(M), M, N) |
mark(U101(X1, X2, X3)) | → | a__U101(mark(X1), X2, X3) | | mark(U102(X1, X2, X3)) | → | a__U102(mark(X1), X2, X3) |
mark(isNatKind(X)) | → | a__isNatKind(X) | | mark(U103(X1, X2, X3)) | → | a__U103(mark(X1), X2, X3) |
mark(isNat(X)) | → | a__isNat(X) | | mark(U104(X1, X2, X3)) | → | a__U104(mark(X1), X2, X3) |
mark(plus(X1, X2)) | → | a__plus(mark(X1), mark(X2)) | | mark(x(X1, X2)) | → | a__x(mark(X1), mark(X2)) |
mark(U11(X1, X2, X3)) | → | a__U11(mark(X1), X2, X3) | | mark(U12(X1, X2, X3)) | → | a__U12(mark(X1), X2, X3) |
mark(U13(X1, X2, X3)) | → | a__U13(mark(X1), X2, X3) | | mark(U14(X1, X2, X3)) | → | a__U14(mark(X1), X2, X3) |
mark(U15(X1, X2)) | → | a__U15(mark(X1), X2) | | mark(U16(X)) | → | a__U16(mark(X)) |
mark(U21(X1, X2)) | → | a__U21(mark(X1), X2) | | mark(U22(X1, X2)) | → | a__U22(mark(X1), X2) |
mark(U23(X)) | → | a__U23(mark(X)) | | mark(U31(X1, X2, X3)) | → | a__U31(mark(X1), X2, X3) |
mark(U32(X1, X2, X3)) | → | a__U32(mark(X1), X2, X3) | | mark(U33(X1, X2, X3)) | → | a__U33(mark(X1), X2, X3) |
mark(U34(X1, X2, X3)) | → | a__U34(mark(X1), X2, X3) | | mark(U35(X1, X2)) | → | a__U35(mark(X1), X2) |
mark(U36(X)) | → | a__U36(mark(X)) | | mark(U41(X1, X2)) | → | a__U41(mark(X1), X2) |
mark(U42(X)) | → | a__U42(mark(X)) | | mark(U51(X)) | → | a__U51(mark(X)) |
mark(U61(X1, X2)) | → | a__U61(mark(X1), X2) | | mark(U62(X)) | → | a__U62(mark(X)) |
mark(U71(X1, X2)) | → | a__U71(mark(X1), X2) | | mark(U72(X1, X2)) | → | a__U72(mark(X1), X2) |
mark(U81(X1, X2, X3)) | → | a__U81(mark(X1), X2, X3) | | mark(U82(X1, X2, X3)) | → | a__U82(mark(X1), X2, X3) |
mark(U83(X1, X2, X3)) | → | a__U83(mark(X1), X2, X3) | | mark(U84(X1, X2, X3)) | → | a__U84(mark(X1), X2, X3) |
mark(U91(X1, X2)) | → | a__U91(mark(X1), X2) | | mark(U92(X)) | → | a__U92(mark(X)) |
mark(tt) | → | tt | | mark(s(X)) | → | s(mark(X)) |
mark(0) | → | 0 | | a__U101(X1, X2, X3) | → | U101(X1, X2, X3) |
a__U102(X1, X2, X3) | → | U102(X1, X2, X3) | | a__isNatKind(X) | → | isNatKind(X) |
a__U103(X1, X2, X3) | → | U103(X1, X2, X3) | | a__isNat(X) | → | isNat(X) |
a__U104(X1, X2, X3) | → | U104(X1, X2, X3) | | a__plus(X1, X2) | → | plus(X1, X2) |
a__x(X1, X2) | → | x(X1, X2) | | a__U11(X1, X2, X3) | → | U11(X1, X2, X3) |
a__U12(X1, X2, X3) | → | U12(X1, X2, X3) | | a__U13(X1, X2, X3) | → | U13(X1, X2, X3) |
a__U14(X1, X2, X3) | → | U14(X1, X2, X3) | | a__U15(X1, X2) | → | U15(X1, X2) |
a__U16(X) | → | U16(X) | | a__U21(X1, X2) | → | U21(X1, X2) |
a__U22(X1, X2) | → | U22(X1, X2) | | a__U23(X) | → | U23(X) |
a__U31(X1, X2, X3) | → | U31(X1, X2, X3) | | a__U32(X1, X2, X3) | → | U32(X1, X2, X3) |
a__U33(X1, X2, X3) | → | U33(X1, X2, X3) | | a__U34(X1, X2, X3) | → | U34(X1, X2, X3) |
a__U35(X1, X2) | → | U35(X1, X2) | | a__U36(X) | → | U36(X) |
a__U41(X1, X2) | → | U41(X1, X2) | | a__U42(X) | → | U42(X) |
a__U51(X) | → | U51(X) | | a__U61(X1, X2) | → | U61(X1, X2) |
a__U62(X) | → | U62(X) | | a__U71(X1, X2) | → | U71(X1, X2) |
a__U72(X1, X2) | → | U72(X1, X2) | | a__U81(X1, X2, X3) | → | U81(X1, X2, X3) |
a__U82(X1, X2, X3) | → | U82(X1, X2, X3) | | a__U83(X1, X2, X3) | → | U83(X1, X2, X3) |
a__U84(X1, X2, X3) | → | U84(X1, X2, X3) | | a__U91(X1, X2) | → | U91(X1, X2) |
a__U92(X) | → | U92(X) |
Original Signature
Termination of terms over the following signature is verified: U104, U62, U61, a__U41, a__U72, a__U42, a__U71, U23, U21, U22, plus, a__U84, isNatKind, mark, U71, U36, U72, 0, a__isNat, a__U32, a__U83, a__U31, a__U82, a__U81, U31, U32, a__U36, U33, a__U35, U34, a__U34, a__U104, U35, a__U33, a__U103, a__U51, isNat, U42, a__U91, U92, U41, a__U92, U91, a__U23, a__U22, a__U102, a__U101, a__U21, a__U62, U83, a__plus, U84, U51, U14, s, U15, tt, U82, U16, a__U16, U81, a__U15, a__U14, a__U13, U11, U12, a__U12, U13, a__U11, a__U61, U102, a__x, U103, a__isNatKind, x, U101
Open Dependency Pair Problem 13
Dependency Pairs
mark#(U101(X1, X2, X3)) | → | mark#(X1) | | mark#(U84(X1, X2, X3)) | → | mark#(X1) |
mark#(U32(X1, X2, X3)) | → | mark#(X1) | | a__U84#(tt, M, N) | → | mark#(N) |
mark#(U103(X1, X2, X3)) | → | mark#(X1) | | mark#(U104(X1, X2, X3)) | → | mark#(X1) |
mark#(U22(X1, X2)) | → | a__U22#(mark(X1), X2) | | a__U104#(tt, M, N) | → | mark#(N) |
a__U101#(tt, M, N) | → | a__U102#(a__isNatKind(M), M, N) | | a__plus#(N, s(M)) | → | a__U81#(a__isNat(M), M, N) |
a__U103#(tt, M, N) | → | a__U104#(a__isNatKind(N), M, N) | | mark#(U12(X1, X2, X3)) | → | a__U12#(mark(X1), X2, X3) |
mark#(U33(X1, X2, X3)) | → | mark#(X1) | | mark#(U41(X1, X2)) | → | a__U41#(mark(X1), X2) |
mark#(s(X)) | → | mark#(X) | | a__plus#(N, 0) | → | a__U71#(a__isNat(N), N) |
a__U84#(tt, M, N) | → | mark#(M) | | mark#(U71(X1, X2)) | → | a__U71#(mark(X1), X2) |
mark#(U84(X1, X2, X3)) | → | a__U84#(mark(X1), X2, X3) | | mark#(U13(X1, X2, X3)) | → | mark#(X1) |
mark#(U72(X1, X2)) | → | mark#(X1) | | mark#(plus(X1, X2)) | → | a__plus#(mark(X1), mark(X2)) |
mark#(U82(X1, X2, X3)) | → | mark#(X1) | | mark#(U71(X1, X2)) | → | mark#(X1) |
mark#(U101(X1, X2, X3)) | → | a__U101#(mark(X1), X2, X3) | | mark#(U31(X1, X2, X3)) | → | mark#(X1) |
mark#(plus(X1, X2)) | → | mark#(X1) | | mark#(U51(X)) | → | mark#(X) |
mark#(U15(X1, X2)) | → | mark#(X1) | | mark#(U34(X1, X2, X3)) | → | mark#(X1) |
mark#(U15(X1, X2)) | → | a__U15#(mark(X1), X2) | | mark#(x(X1, X2)) | → | mark#(X2) |
mark#(U104(X1, X2, X3)) | → | a__U104#(mark(X1), X2, X3) | | mark#(U62(X)) | → | mark#(X) |
a__U72#(tt, N) | → | mark#(N) | | a__U104#(tt, M, N) | → | a__plus#(a__x(mark(N), mark(M)), mark(N)) |
a__U81#(tt, M, N) | → | a__U82#(a__isNatKind(M), M, N) | | mark#(U103(X1, X2, X3)) | → | a__U103#(mark(X1), X2, X3) |
mark#(U11(X1, X2, X3)) | → | mark#(X1) | | mark#(U61(X1, X2)) | → | mark#(X1) |
a__U71#(tt, N) | → | a__U72#(a__isNatKind(N), N) | | mark#(U91(X1, X2)) | → | mark#(X1) |
a__x#(N, s(M)) | → | a__U101#(a__isNat(M), M, N) | | mark#(x(X1, X2)) | → | a__x#(mark(X1), mark(X2)) |
mark#(U83(X1, X2, X3)) | → | a__U83#(mark(X1), X2, X3) | | a__U104#(tt, M, N) | → | a__x#(mark(N), mark(M)) |
mark#(U21(X1, X2)) | → | mark#(X1) | | mark#(U42(X)) | → | mark#(X) |
mark#(U35(X1, X2)) | → | mark#(X1) | | mark#(U81(X1, X2, X3)) | → | mark#(X1) |
mark#(U14(X1, X2, X3)) | → | mark#(X1) | | mark#(U16(X)) | → | mark#(X) |
a__U104#(tt, M, N) | → | mark#(M) | | mark#(U22(X1, X2)) | → | mark#(X1) |
mark#(U23(X)) | → | mark#(X) | | mark#(U83(X1, X2, X3)) | → | mark#(X1) |
mark#(plus(X1, X2)) | → | mark#(X2) | | mark#(U102(X1, X2, X3)) | → | mark#(X1) |
mark#(U82(X1, X2, X3)) | → | a__U82#(mark(X1), X2, X3) | | mark#(U102(X1, X2, X3)) | → | a__U102#(mark(X1), X2, X3) |
mark#(U41(X1, X2)) | → | mark#(X1) | | mark#(U34(X1, X2, X3)) | → | a__U34#(mark(X1), X2, X3) |
mark#(U33(X1, X2, X3)) | → | a__U33#(mark(X1), X2, X3) | | mark#(U12(X1, X2, X3)) | → | mark#(X1) |
a__U84#(tt, M, N) | → | a__plus#(mark(N), mark(M)) | | mark#(U72(X1, X2)) | → | a__U72#(mark(X1), X2) |
a__U82#(tt, M, N) | → | a__U83#(a__isNat(N), M, N) | | mark#(U92(X)) | → | mark#(X) |
mark#(U21(X1, X2)) | → | a__U21#(mark(X1), X2) | | mark#(U36(X)) | → | mark#(X) |
a__U102#(tt, M, N) | → | a__U103#(a__isNat(N), M, N) | | mark#(U81(X1, X2, X3)) | → | a__U81#(mark(X1), X2, X3) |
mark#(x(X1, X2)) | → | mark#(X1) | | a__U83#(tt, M, N) | → | a__U84#(a__isNatKind(N), M, N) |
Rewrite Rules
a__U101(tt, M, N) | → | a__U102(a__isNatKind(M), M, N) | | a__U102(tt, M, N) | → | a__U103(a__isNat(N), M, N) |
a__U103(tt, M, N) | → | a__U104(a__isNatKind(N), M, N) | | a__U104(tt, M, N) | → | a__plus(a__x(mark(N), mark(M)), mark(N)) |
a__U11(tt, V1, V2) | → | a__U12(a__isNatKind(V1), V1, V2) | | a__U12(tt, V1, V2) | → | a__U13(a__isNatKind(V2), V1, V2) |
a__U13(tt, V1, V2) | → | a__U14(a__isNatKind(V2), V1, V2) | | a__U14(tt, V1, V2) | → | a__U15(a__isNat(V1), V2) |
a__U15(tt, V2) | → | a__U16(a__isNat(V2)) | | a__U16(tt) | → | tt |
a__U21(tt, V1) | → | a__U22(a__isNatKind(V1), V1) | | a__U22(tt, V1) | → | a__U23(a__isNat(V1)) |
a__U23(tt) | → | tt | | a__U31(tt, V1, V2) | → | a__U32(a__isNatKind(V1), V1, V2) |
a__U32(tt, V1, V2) | → | a__U33(a__isNatKind(V2), V1, V2) | | a__U33(tt, V1, V2) | → | a__U34(a__isNatKind(V2), V1, V2) |
a__U34(tt, V1, V2) | → | a__U35(a__isNat(V1), V2) | | a__U35(tt, V2) | → | a__U36(a__isNat(V2)) |
a__U36(tt) | → | tt | | a__U41(tt, V2) | → | a__U42(a__isNatKind(V2)) |
a__U42(tt) | → | tt | | a__U51(tt) | → | tt |
a__U61(tt, V2) | → | a__U62(a__isNatKind(V2)) | | a__U62(tt) | → | tt |
a__U71(tt, N) | → | a__U72(a__isNatKind(N), N) | | a__U72(tt, N) | → | mark(N) |
a__U81(tt, M, N) | → | a__U82(a__isNatKind(M), M, N) | | a__U82(tt, M, N) | → | a__U83(a__isNat(N), M, N) |
a__U83(tt, M, N) | → | a__U84(a__isNatKind(N), M, N) | | a__U84(tt, M, N) | → | s(a__plus(mark(N), mark(M))) |
a__U91(tt, N) | → | a__U92(a__isNatKind(N)) | | a__U92(tt) | → | 0 |
a__isNat(0) | → | tt | | a__isNat(plus(V1, V2)) | → | a__U11(a__isNatKind(V1), V1, V2) |
a__isNat(s(V1)) | → | a__U21(a__isNatKind(V1), V1) | | a__isNat(x(V1, V2)) | → | a__U31(a__isNatKind(V1), V1, V2) |
a__isNatKind(0) | → | tt | | a__isNatKind(plus(V1, V2)) | → | a__U41(a__isNatKind(V1), V2) |
a__isNatKind(s(V1)) | → | a__U51(a__isNatKind(V1)) | | a__isNatKind(x(V1, V2)) | → | a__U61(a__isNatKind(V1), V2) |
a__plus(N, 0) | → | a__U71(a__isNat(N), N) | | a__plus(N, s(M)) | → | a__U81(a__isNat(M), M, N) |
a__x(N, 0) | → | a__U91(a__isNat(N), N) | | a__x(N, s(M)) | → | a__U101(a__isNat(M), M, N) |
mark(U101(X1, X2, X3)) | → | a__U101(mark(X1), X2, X3) | | mark(U102(X1, X2, X3)) | → | a__U102(mark(X1), X2, X3) |
mark(isNatKind(X)) | → | a__isNatKind(X) | | mark(U103(X1, X2, X3)) | → | a__U103(mark(X1), X2, X3) |
mark(isNat(X)) | → | a__isNat(X) | | mark(U104(X1, X2, X3)) | → | a__U104(mark(X1), X2, X3) |
mark(plus(X1, X2)) | → | a__plus(mark(X1), mark(X2)) | | mark(x(X1, X2)) | → | a__x(mark(X1), mark(X2)) |
mark(U11(X1, X2, X3)) | → | a__U11(mark(X1), X2, X3) | | mark(U12(X1, X2, X3)) | → | a__U12(mark(X1), X2, X3) |
mark(U13(X1, X2, X3)) | → | a__U13(mark(X1), X2, X3) | | mark(U14(X1, X2, X3)) | → | a__U14(mark(X1), X2, X3) |
mark(U15(X1, X2)) | → | a__U15(mark(X1), X2) | | mark(U16(X)) | → | a__U16(mark(X)) |
mark(U21(X1, X2)) | → | a__U21(mark(X1), X2) | | mark(U22(X1, X2)) | → | a__U22(mark(X1), X2) |
mark(U23(X)) | → | a__U23(mark(X)) | | mark(U31(X1, X2, X3)) | → | a__U31(mark(X1), X2, X3) |
mark(U32(X1, X2, X3)) | → | a__U32(mark(X1), X2, X3) | | mark(U33(X1, X2, X3)) | → | a__U33(mark(X1), X2, X3) |
mark(U34(X1, X2, X3)) | → | a__U34(mark(X1), X2, X3) | | mark(U35(X1, X2)) | → | a__U35(mark(X1), X2) |
mark(U36(X)) | → | a__U36(mark(X)) | | mark(U41(X1, X2)) | → | a__U41(mark(X1), X2) |
mark(U42(X)) | → | a__U42(mark(X)) | | mark(U51(X)) | → | a__U51(mark(X)) |
mark(U61(X1, X2)) | → | a__U61(mark(X1), X2) | | mark(U62(X)) | → | a__U62(mark(X)) |
mark(U71(X1, X2)) | → | a__U71(mark(X1), X2) | | mark(U72(X1, X2)) | → | a__U72(mark(X1), X2) |
mark(U81(X1, X2, X3)) | → | a__U81(mark(X1), X2, X3) | | mark(U82(X1, X2, X3)) | → | a__U82(mark(X1), X2, X3) |
mark(U83(X1, X2, X3)) | → | a__U83(mark(X1), X2, X3) | | mark(U84(X1, X2, X3)) | → | a__U84(mark(X1), X2, X3) |
mark(U91(X1, X2)) | → | a__U91(mark(X1), X2) | | mark(U92(X)) | → | a__U92(mark(X)) |
mark(tt) | → | tt | | mark(s(X)) | → | s(mark(X)) |
mark(0) | → | 0 | | a__U101(X1, X2, X3) | → | U101(X1, X2, X3) |
a__U102(X1, X2, X3) | → | U102(X1, X2, X3) | | a__isNatKind(X) | → | isNatKind(X) |
a__U103(X1, X2, X3) | → | U103(X1, X2, X3) | | a__isNat(X) | → | isNat(X) |
a__U104(X1, X2, X3) | → | U104(X1, X2, X3) | | a__plus(X1, X2) | → | plus(X1, X2) |
a__x(X1, X2) | → | x(X1, X2) | | a__U11(X1, X2, X3) | → | U11(X1, X2, X3) |
a__U12(X1, X2, X3) | → | U12(X1, X2, X3) | | a__U13(X1, X2, X3) | → | U13(X1, X2, X3) |
a__U14(X1, X2, X3) | → | U14(X1, X2, X3) | | a__U15(X1, X2) | → | U15(X1, X2) |
a__U16(X) | → | U16(X) | | a__U21(X1, X2) | → | U21(X1, X2) |
a__U22(X1, X2) | → | U22(X1, X2) | | a__U23(X) | → | U23(X) |
a__U31(X1, X2, X3) | → | U31(X1, X2, X3) | | a__U32(X1, X2, X3) | → | U32(X1, X2, X3) |
a__U33(X1, X2, X3) | → | U33(X1, X2, X3) | | a__U34(X1, X2, X3) | → | U34(X1, X2, X3) |
a__U35(X1, X2) | → | U35(X1, X2) | | a__U36(X) | → | U36(X) |
a__U41(X1, X2) | → | U41(X1, X2) | | a__U42(X) | → | U42(X) |
a__U51(X) | → | U51(X) | | a__U61(X1, X2) | → | U61(X1, X2) |
a__U62(X) | → | U62(X) | | a__U71(X1, X2) | → | U71(X1, X2) |
a__U72(X1, X2) | → | U72(X1, X2) | | a__U81(X1, X2, X3) | → | U81(X1, X2, X3) |
a__U82(X1, X2, X3) | → | U82(X1, X2, X3) | | a__U83(X1, X2, X3) | → | U83(X1, X2, X3) |
a__U84(X1, X2, X3) | → | U84(X1, X2, X3) | | a__U91(X1, X2) | → | U91(X1, X2) |
a__U92(X) | → | U92(X) |
Original Signature
Termination of terms over the following signature is verified: U104, U62, U61, a__U41, a__U72, a__U42, a__U71, U23, U21, U22, plus, a__U84, isNatKind, mark, U71, U36, U72, 0, a__isNat, a__U32, a__U83, a__U31, a__U82, a__U81, U31, U32, a__U36, U33, a__U35, U34, a__U34, a__U104, U35, a__U33, a__U103, a__U51, isNat, U42, a__U91, U92, U41, a__U92, U91, a__U23, a__U22, a__U102, a__U101, a__U21, a__U62, U83, a__plus, U84, U51, U14, s, U15, tt, U82, U16, a__U16, U81, a__U15, a__U14, a__U13, U11, U12, a__U12, U13, a__U11, a__U61, U102, a__x, U103, a__isNatKind, x, U101
Open Dependency Pair Problem 14
Dependency Pairs
mark#(U101(X1, X2, X3)) | → | mark#(X1) | | a__U71#(tt, N) | → | a__isNatKind#(N) |
mark#(U62(X)) | → | a__U62#(mark(X)) | | mark#(U84(X1, X2, X3)) | → | mark#(X1) |
mark#(U35(X1, X2)) | → | a__U35#(mark(X1), X2) | | mark#(U32(X1, X2, X3)) | → | mark#(X1) |
a__U84#(tt, M, N) | → | mark#(N) | | mark#(U103(X1, X2, X3)) | → | mark#(X1) |
mark#(U104(X1, X2, X3)) | → | mark#(X1) | | mark#(U22(X1, X2)) | → | a__U22#(mark(X1), X2) |
a__U104#(tt, M, N) | → | mark#(N) | | a__U101#(tt, M, N) | → | a__U102#(a__isNatKind(M), M, N) |
a__plus#(N, s(M)) | → | a__U81#(a__isNat(M), M, N) | | a__U103#(tt, M, N) | → | a__U104#(a__isNatKind(N), M, N) |
mark#(U33(X1, X2, X3)) | → | mark#(X1) | | mark#(U41(X1, X2)) | → | a__U41#(mark(X1), X2) |
mark#(s(X)) | → | mark#(X) | | a__plus#(N, 0) | → | a__U71#(a__isNat(N), N) |
a__U84#(tt, M, N) | → | mark#(M) | | mark#(U71(X1, X2)) | → | a__U71#(mark(X1), X2) |
mark#(U84(X1, X2, X3)) | → | a__U84#(mark(X1), X2, X3) | | mark#(U13(X1, X2, X3)) | → | mark#(X1) |
mark#(U72(X1, X2)) | → | mark#(X1) | | mark#(plus(X1, X2)) | → | a__plus#(mark(X1), mark(X2)) |
mark#(U82(X1, X2, X3)) | → | mark#(X1) | | mark#(U71(X1, X2)) | → | mark#(X1) |
mark#(U31(X1, X2, X3)) | → | mark#(X1) | | mark#(U101(X1, X2, X3)) | → | a__U101#(mark(X1), X2, X3) |
mark#(plus(X1, X2)) | → | mark#(X1) | | mark#(U51(X)) | → | mark#(X) |
mark#(U15(X1, X2)) | → | mark#(X1) | | mark#(U34(X1, X2, X3)) | → | mark#(X1) |
mark#(x(X1, X2)) | → | mark#(X2) | | mark#(U104(X1, X2, X3)) | → | a__U104#(mark(X1), X2, X3) |
mark#(U62(X)) | → | mark#(X) | | a__U72#(tt, N) | → | mark#(N) |
a__U104#(tt, M, N) | → | a__plus#(a__x(mark(N), mark(M)), mark(N)) | | a__U81#(tt, M, N) | → | a__U82#(a__isNatKind(M), M, N) |
mark#(U32(X1, X2, X3)) | → | a__U32#(mark(X1), X2, X3) | | mark#(U103(X1, X2, X3)) | → | a__U103#(mark(X1), X2, X3) |
mark#(U11(X1, X2, X3)) | → | mark#(X1) | | mark#(U61(X1, X2)) | → | mark#(X1) |
a__U71#(tt, N) | → | a__U72#(a__isNatKind(N), N) | | mark#(U91(X1, X2)) | → | mark#(X1) |
a__x#(N, s(M)) | → | a__U101#(a__isNat(M), M, N) | | mark#(x(X1, X2)) | → | a__x#(mark(X1), mark(X2)) |
mark#(U83(X1, X2, X3)) | → | a__U83#(mark(X1), X2, X3) | | a__U104#(tt, M, N) | → | a__x#(mark(N), mark(M)) |
mark#(U21(X1, X2)) | → | mark#(X1) | | mark#(U42(X)) | → | mark#(X) |
mark#(U35(X1, X2)) | → | mark#(X1) | | mark#(U81(X1, X2, X3)) | → | mark#(X1) |
mark#(U14(X1, X2, X3)) | → | mark#(X1) | | mark#(U16(X)) | → | mark#(X) |
a__U104#(tt, M, N) | → | mark#(M) | | mark#(U22(X1, X2)) | → | mark#(X1) |
mark#(U23(X)) | → | mark#(X) | | mark#(U83(X1, X2, X3)) | → | mark#(X1) |
mark#(plus(X1, X2)) | → | mark#(X2) | | mark#(U102(X1, X2, X3)) | → | mark#(X1) |
mark#(U82(X1, X2, X3)) | → | a__U82#(mark(X1), X2, X3) | | mark#(U102(X1, X2, X3)) | → | a__U102#(mark(X1), X2, X3) |
mark#(U41(X1, X2)) | → | mark#(X1) | | mark#(U12(X1, X2, X3)) | → | mark#(X1) |
mark#(U33(X1, X2, X3)) | → | a__U33#(mark(X1), X2, X3) | | a__U84#(tt, M, N) | → | a__plus#(mark(N), mark(M)) |
mark#(U72(X1, X2)) | → | a__U72#(mark(X1), X2) | | a__U82#(tt, M, N) | → | a__U83#(a__isNat(N), M, N) |
mark#(U92(X)) | → | mark#(X) | | mark#(U21(X1, X2)) | → | a__U21#(mark(X1), X2) |
mark#(U36(X)) | → | mark#(X) | | a__U102#(tt, M, N) | → | a__U103#(a__isNat(N), M, N) |
mark#(U81(X1, X2, X3)) | → | a__U81#(mark(X1), X2, X3) | | mark#(x(X1, X2)) | → | mark#(X1) |
a__U83#(tt, M, N) | → | a__U84#(a__isNatKind(N), M, N) |
Rewrite Rules
a__U101(tt, M, N) | → | a__U102(a__isNatKind(M), M, N) | | a__U102(tt, M, N) | → | a__U103(a__isNat(N), M, N) |
a__U103(tt, M, N) | → | a__U104(a__isNatKind(N), M, N) | | a__U104(tt, M, N) | → | a__plus(a__x(mark(N), mark(M)), mark(N)) |
a__U11(tt, V1, V2) | → | a__U12(a__isNatKind(V1), V1, V2) | | a__U12(tt, V1, V2) | → | a__U13(a__isNatKind(V2), V1, V2) |
a__U13(tt, V1, V2) | → | a__U14(a__isNatKind(V2), V1, V2) | | a__U14(tt, V1, V2) | → | a__U15(a__isNat(V1), V2) |
a__U15(tt, V2) | → | a__U16(a__isNat(V2)) | | a__U16(tt) | → | tt |
a__U21(tt, V1) | → | a__U22(a__isNatKind(V1), V1) | | a__U22(tt, V1) | → | a__U23(a__isNat(V1)) |
a__U23(tt) | → | tt | | a__U31(tt, V1, V2) | → | a__U32(a__isNatKind(V1), V1, V2) |
a__U32(tt, V1, V2) | → | a__U33(a__isNatKind(V2), V1, V2) | | a__U33(tt, V1, V2) | → | a__U34(a__isNatKind(V2), V1, V2) |
a__U34(tt, V1, V2) | → | a__U35(a__isNat(V1), V2) | | a__U35(tt, V2) | → | a__U36(a__isNat(V2)) |
a__U36(tt) | → | tt | | a__U41(tt, V2) | → | a__U42(a__isNatKind(V2)) |
a__U42(tt) | → | tt | | a__U51(tt) | → | tt |
a__U61(tt, V2) | → | a__U62(a__isNatKind(V2)) | | a__U62(tt) | → | tt |
a__U71(tt, N) | → | a__U72(a__isNatKind(N), N) | | a__U72(tt, N) | → | mark(N) |
a__U81(tt, M, N) | → | a__U82(a__isNatKind(M), M, N) | | a__U82(tt, M, N) | → | a__U83(a__isNat(N), M, N) |
a__U83(tt, M, N) | → | a__U84(a__isNatKind(N), M, N) | | a__U84(tt, M, N) | → | s(a__plus(mark(N), mark(M))) |
a__U91(tt, N) | → | a__U92(a__isNatKind(N)) | | a__U92(tt) | → | 0 |
a__isNat(0) | → | tt | | a__isNat(plus(V1, V2)) | → | a__U11(a__isNatKind(V1), V1, V2) |
a__isNat(s(V1)) | → | a__U21(a__isNatKind(V1), V1) | | a__isNat(x(V1, V2)) | → | a__U31(a__isNatKind(V1), V1, V2) |
a__isNatKind(0) | → | tt | | a__isNatKind(plus(V1, V2)) | → | a__U41(a__isNatKind(V1), V2) |
a__isNatKind(s(V1)) | → | a__U51(a__isNatKind(V1)) | | a__isNatKind(x(V1, V2)) | → | a__U61(a__isNatKind(V1), V2) |
a__plus(N, 0) | → | a__U71(a__isNat(N), N) | | a__plus(N, s(M)) | → | a__U81(a__isNat(M), M, N) |
a__x(N, 0) | → | a__U91(a__isNat(N), N) | | a__x(N, s(M)) | → | a__U101(a__isNat(M), M, N) |
mark(U101(X1, X2, X3)) | → | a__U101(mark(X1), X2, X3) | | mark(U102(X1, X2, X3)) | → | a__U102(mark(X1), X2, X3) |
mark(isNatKind(X)) | → | a__isNatKind(X) | | mark(U103(X1, X2, X3)) | → | a__U103(mark(X1), X2, X3) |
mark(isNat(X)) | → | a__isNat(X) | | mark(U104(X1, X2, X3)) | → | a__U104(mark(X1), X2, X3) |
mark(plus(X1, X2)) | → | a__plus(mark(X1), mark(X2)) | | mark(x(X1, X2)) | → | a__x(mark(X1), mark(X2)) |
mark(U11(X1, X2, X3)) | → | a__U11(mark(X1), X2, X3) | | mark(U12(X1, X2, X3)) | → | a__U12(mark(X1), X2, X3) |
mark(U13(X1, X2, X3)) | → | a__U13(mark(X1), X2, X3) | | mark(U14(X1, X2, X3)) | → | a__U14(mark(X1), X2, X3) |
mark(U15(X1, X2)) | → | a__U15(mark(X1), X2) | | mark(U16(X)) | → | a__U16(mark(X)) |
mark(U21(X1, X2)) | → | a__U21(mark(X1), X2) | | mark(U22(X1, X2)) | → | a__U22(mark(X1), X2) |
mark(U23(X)) | → | a__U23(mark(X)) | | mark(U31(X1, X2, X3)) | → | a__U31(mark(X1), X2, X3) |
mark(U32(X1, X2, X3)) | → | a__U32(mark(X1), X2, X3) | | mark(U33(X1, X2, X3)) | → | a__U33(mark(X1), X2, X3) |
mark(U34(X1, X2, X3)) | → | a__U34(mark(X1), X2, X3) | | mark(U35(X1, X2)) | → | a__U35(mark(X1), X2) |
mark(U36(X)) | → | a__U36(mark(X)) | | mark(U41(X1, X2)) | → | a__U41(mark(X1), X2) |
mark(U42(X)) | → | a__U42(mark(X)) | | mark(U51(X)) | → | a__U51(mark(X)) |
mark(U61(X1, X2)) | → | a__U61(mark(X1), X2) | | mark(U62(X)) | → | a__U62(mark(X)) |
mark(U71(X1, X2)) | → | a__U71(mark(X1), X2) | | mark(U72(X1, X2)) | → | a__U72(mark(X1), X2) |
mark(U81(X1, X2, X3)) | → | a__U81(mark(X1), X2, X3) | | mark(U82(X1, X2, X3)) | → | a__U82(mark(X1), X2, X3) |
mark(U83(X1, X2, X3)) | → | a__U83(mark(X1), X2, X3) | | mark(U84(X1, X2, X3)) | → | a__U84(mark(X1), X2, X3) |
mark(U91(X1, X2)) | → | a__U91(mark(X1), X2) | | mark(U92(X)) | → | a__U92(mark(X)) |
mark(tt) | → | tt | | mark(s(X)) | → | s(mark(X)) |
mark(0) | → | 0 | | a__U101(X1, X2, X3) | → | U101(X1, X2, X3) |
a__U102(X1, X2, X3) | → | U102(X1, X2, X3) | | a__isNatKind(X) | → | isNatKind(X) |
a__U103(X1, X2, X3) | → | U103(X1, X2, X3) | | a__isNat(X) | → | isNat(X) |
a__U104(X1, X2, X3) | → | U104(X1, X2, X3) | | a__plus(X1, X2) | → | plus(X1, X2) |
a__x(X1, X2) | → | x(X1, X2) | | a__U11(X1, X2, X3) | → | U11(X1, X2, X3) |
a__U12(X1, X2, X3) | → | U12(X1, X2, X3) | | a__U13(X1, X2, X3) | → | U13(X1, X2, X3) |
a__U14(X1, X2, X3) | → | U14(X1, X2, X3) | | a__U15(X1, X2) | → | U15(X1, X2) |
a__U16(X) | → | U16(X) | | a__U21(X1, X2) | → | U21(X1, X2) |
a__U22(X1, X2) | → | U22(X1, X2) | | a__U23(X) | → | U23(X) |
a__U31(X1, X2, X3) | → | U31(X1, X2, X3) | | a__U32(X1, X2, X3) | → | U32(X1, X2, X3) |
a__U33(X1, X2, X3) | → | U33(X1, X2, X3) | | a__U34(X1, X2, X3) | → | U34(X1, X2, X3) |
a__U35(X1, X2) | → | U35(X1, X2) | | a__U36(X) | → | U36(X) |
a__U41(X1, X2) | → | U41(X1, X2) | | a__U42(X) | → | U42(X) |
a__U51(X) | → | U51(X) | | a__U61(X1, X2) | → | U61(X1, X2) |
a__U62(X) | → | U62(X) | | a__U71(X1, X2) | → | U71(X1, X2) |
a__U72(X1, X2) | → | U72(X1, X2) | | a__U81(X1, X2, X3) | → | U81(X1, X2, X3) |
a__U82(X1, X2, X3) | → | U82(X1, X2, X3) | | a__U83(X1, X2, X3) | → | U83(X1, X2, X3) |
a__U84(X1, X2, X3) | → | U84(X1, X2, X3) | | a__U91(X1, X2) | → | U91(X1, X2) |
a__U92(X) | → | U92(X) |
Original Signature
Termination of terms over the following signature is verified: U104, U62, U61, a__U41, a__U72, a__U42, a__U71, U23, U21, U22, plus, a__U84, isNatKind, mark, U71, U36, U72, 0, a__isNat, a__U32, a__U83, a__U31, a__U82, a__U81, U31, U32, a__U36, U33, a__U35, U34, a__U34, a__U104, U35, a__U33, a__U103, a__U51, isNat, U42, a__U91, U92, U41, a__U92, U91, a__U23, a__U22, a__U102, a__U101, a__U21, a__U62, U83, a__plus, U84, U51, U14, s, U15, tt, U82, U16, a__U16, U81, a__U15, a__U14, a__U13, U11, U12, a__U12, U13, a__U11, a__U61, U102, a__x, U103, a__isNatKind, x, U101
Open Dependency Pair Problem 15
Dependency Pairs
mark#(U101(X1, X2, X3)) | → | mark#(X1) | | mark#(U84(X1, X2, X3)) | → | mark#(X1) |
mark#(U35(X1, X2)) | → | a__U35#(mark(X1), X2) | | mark#(U32(X1, X2, X3)) | → | mark#(X1) |
mark#(U103(X1, X2, X3)) | → | mark#(X1) | | a__U84#(tt, M, N) | → | mark#(N) |
mark#(U104(X1, X2, X3)) | → | mark#(X1) | | mark#(U22(X1, X2)) | → | a__U22#(mark(X1), X2) |
a__U104#(tt, M, N) | → | mark#(N) | | mark#(U23(X)) | → | a__U23#(mark(X)) |
a__U101#(tt, M, N) | → | a__U102#(a__isNatKind(M), M, N) | | a__plus#(N, s(M)) | → | a__U81#(a__isNat(M), M, N) |
a__U103#(tt, M, N) | → | a__U104#(a__isNatKind(N), M, N) | | mark#(U12(X1, X2, X3)) | → | a__U12#(mark(X1), X2, X3) |
mark#(U33(X1, X2, X3)) | → | mark#(X1) | | mark#(s(X)) | → | mark#(X) |
a__plus#(N, 0) | → | a__U71#(a__isNat(N), N) | | a__U84#(tt, M, N) | → | mark#(M) |
mark#(U71(X1, X2)) | → | a__U71#(mark(X1), X2) | | mark#(U84(X1, X2, X3)) | → | a__U84#(mark(X1), X2, X3) |
mark#(U13(X1, X2, X3)) | → | mark#(X1) | | mark#(U72(X1, X2)) | → | mark#(X1) |
mark#(plus(X1, X2)) | → | a__plus#(mark(X1), mark(X2)) | | mark#(U82(X1, X2, X3)) | → | mark#(X1) |
mark#(U71(X1, X2)) | → | mark#(X1) | | mark#(U31(X1, X2, X3)) | → | mark#(X1) |
mark#(U101(X1, X2, X3)) | → | a__U101#(mark(X1), X2, X3) | | mark#(plus(X1, X2)) | → | mark#(X1) |
mark#(U15(X1, X2)) | → | mark#(X1) | | mark#(U51(X)) | → | mark#(X) |
mark#(U34(X1, X2, X3)) | → | mark#(X1) | | mark#(U15(X1, X2)) | → | a__U15#(mark(X1), X2) |
mark#(x(X1, X2)) | → | mark#(X2) | | mark#(U13(X1, X2, X3)) | → | a__U13#(mark(X1), X2, X3) |
mark#(U104(X1, X2, X3)) | → | a__U104#(mark(X1), X2, X3) | | mark#(U62(X)) | → | mark#(X) |
a__U72#(tt, N) | → | mark#(N) | | a__U104#(tt, M, N) | → | a__plus#(a__x(mark(N), mark(M)), mark(N)) |
a__U81#(tt, M, N) | → | a__U82#(a__isNatKind(M), M, N) | | mark#(U103(X1, X2, X3)) | → | a__U103#(mark(X1), X2, X3) |
mark#(U11(X1, X2, X3)) | → | mark#(X1) | | mark#(U61(X1, X2)) | → | mark#(X1) |
a__U71#(tt, N) | → | a__U72#(a__isNatKind(N), N) | | mark#(U91(X1, X2)) | → | mark#(X1) |
a__x#(N, s(M)) | → | a__U101#(a__isNat(M), M, N) | | mark#(x(X1, X2)) | → | a__x#(mark(X1), mark(X2)) |
mark#(U83(X1, X2, X3)) | → | a__U83#(mark(X1), X2, X3) | | a__U104#(tt, M, N) | → | a__x#(mark(N), mark(M)) |
mark#(U21(X1, X2)) | → | mark#(X1) | | mark#(U42(X)) | → | mark#(X) |
mark#(U35(X1, X2)) | → | mark#(X1) | | mark#(U14(X1, X2, X3)) | → | mark#(X1) |
mark#(U81(X1, X2, X3)) | → | mark#(X1) | | mark#(U16(X)) | → | mark#(X) |
a__U104#(tt, M, N) | → | mark#(M) | | mark#(U22(X1, X2)) | → | mark#(X1) |
mark#(U23(X)) | → | mark#(X) | | mark#(U83(X1, X2, X3)) | → | mark#(X1) |
mark#(plus(X1, X2)) | → | mark#(X2) | | mark#(U102(X1, X2, X3)) | → | mark#(X1) |
mark#(U82(X1, X2, X3)) | → | a__U82#(mark(X1), X2, X3) | | mark#(U102(X1, X2, X3)) | → | a__U102#(mark(X1), X2, X3) |
mark#(U41(X1, X2)) | → | mark#(X1) | | mark#(U12(X1, X2, X3)) | → | mark#(X1) |
mark#(U34(X1, X2, X3)) | → | a__U34#(mark(X1), X2, X3) | | mark#(U33(X1, X2, X3)) | → | a__U33#(mark(X1), X2, X3) |
a__U84#(tt, M, N) | → | a__plus#(mark(N), mark(M)) | | mark#(U72(X1, X2)) | → | a__U72#(mark(X1), X2) |
a__U82#(tt, M, N) | → | a__U83#(a__isNat(N), M, N) | | mark#(U92(X)) | → | mark#(X) |
mark#(U21(X1, X2)) | → | a__U21#(mark(X1), X2) | | mark#(U36(X)) | → | mark#(X) |
a__U102#(tt, M, N) | → | a__U103#(a__isNat(N), M, N) | | mark#(U81(X1, X2, X3)) | → | a__U81#(mark(X1), X2, X3) |
mark#(x(X1, X2)) | → | mark#(X1) | | a__U83#(tt, M, N) | → | a__U84#(a__isNatKind(N), M, N) |
Rewrite Rules
a__U101(tt, M, N) | → | a__U102(a__isNatKind(M), M, N) | | a__U102(tt, M, N) | → | a__U103(a__isNat(N), M, N) |
a__U103(tt, M, N) | → | a__U104(a__isNatKind(N), M, N) | | a__U104(tt, M, N) | → | a__plus(a__x(mark(N), mark(M)), mark(N)) |
a__U11(tt, V1, V2) | → | a__U12(a__isNatKind(V1), V1, V2) | | a__U12(tt, V1, V2) | → | a__U13(a__isNatKind(V2), V1, V2) |
a__U13(tt, V1, V2) | → | a__U14(a__isNatKind(V2), V1, V2) | | a__U14(tt, V1, V2) | → | a__U15(a__isNat(V1), V2) |
a__U15(tt, V2) | → | a__U16(a__isNat(V2)) | | a__U16(tt) | → | tt |
a__U21(tt, V1) | → | a__U22(a__isNatKind(V1), V1) | | a__U22(tt, V1) | → | a__U23(a__isNat(V1)) |
a__U23(tt) | → | tt | | a__U31(tt, V1, V2) | → | a__U32(a__isNatKind(V1), V1, V2) |
a__U32(tt, V1, V2) | → | a__U33(a__isNatKind(V2), V1, V2) | | a__U33(tt, V1, V2) | → | a__U34(a__isNatKind(V2), V1, V2) |
a__U34(tt, V1, V2) | → | a__U35(a__isNat(V1), V2) | | a__U35(tt, V2) | → | a__U36(a__isNat(V2)) |
a__U36(tt) | → | tt | | a__U41(tt, V2) | → | a__U42(a__isNatKind(V2)) |
a__U42(tt) | → | tt | | a__U51(tt) | → | tt |
a__U61(tt, V2) | → | a__U62(a__isNatKind(V2)) | | a__U62(tt) | → | tt |
a__U71(tt, N) | → | a__U72(a__isNatKind(N), N) | | a__U72(tt, N) | → | mark(N) |
a__U81(tt, M, N) | → | a__U82(a__isNatKind(M), M, N) | | a__U82(tt, M, N) | → | a__U83(a__isNat(N), M, N) |
a__U83(tt, M, N) | → | a__U84(a__isNatKind(N), M, N) | | a__U84(tt, M, N) | → | s(a__plus(mark(N), mark(M))) |
a__U91(tt, N) | → | a__U92(a__isNatKind(N)) | | a__U92(tt) | → | 0 |
a__isNat(0) | → | tt | | a__isNat(plus(V1, V2)) | → | a__U11(a__isNatKind(V1), V1, V2) |
a__isNat(s(V1)) | → | a__U21(a__isNatKind(V1), V1) | | a__isNat(x(V1, V2)) | → | a__U31(a__isNatKind(V1), V1, V2) |
a__isNatKind(0) | → | tt | | a__isNatKind(plus(V1, V2)) | → | a__U41(a__isNatKind(V1), V2) |
a__isNatKind(s(V1)) | → | a__U51(a__isNatKind(V1)) | | a__isNatKind(x(V1, V2)) | → | a__U61(a__isNatKind(V1), V2) |
a__plus(N, 0) | → | a__U71(a__isNat(N), N) | | a__plus(N, s(M)) | → | a__U81(a__isNat(M), M, N) |
a__x(N, 0) | → | a__U91(a__isNat(N), N) | | a__x(N, s(M)) | → | a__U101(a__isNat(M), M, N) |
mark(U101(X1, X2, X3)) | → | a__U101(mark(X1), X2, X3) | | mark(U102(X1, X2, X3)) | → | a__U102(mark(X1), X2, X3) |
mark(isNatKind(X)) | → | a__isNatKind(X) | | mark(U103(X1, X2, X3)) | → | a__U103(mark(X1), X2, X3) |
mark(isNat(X)) | → | a__isNat(X) | | mark(U104(X1, X2, X3)) | → | a__U104(mark(X1), X2, X3) |
mark(plus(X1, X2)) | → | a__plus(mark(X1), mark(X2)) | | mark(x(X1, X2)) | → | a__x(mark(X1), mark(X2)) |
mark(U11(X1, X2, X3)) | → | a__U11(mark(X1), X2, X3) | | mark(U12(X1, X2, X3)) | → | a__U12(mark(X1), X2, X3) |
mark(U13(X1, X2, X3)) | → | a__U13(mark(X1), X2, X3) | | mark(U14(X1, X2, X3)) | → | a__U14(mark(X1), X2, X3) |
mark(U15(X1, X2)) | → | a__U15(mark(X1), X2) | | mark(U16(X)) | → | a__U16(mark(X)) |
mark(U21(X1, X2)) | → | a__U21(mark(X1), X2) | | mark(U22(X1, X2)) | → | a__U22(mark(X1), X2) |
mark(U23(X)) | → | a__U23(mark(X)) | | mark(U31(X1, X2, X3)) | → | a__U31(mark(X1), X2, X3) |
mark(U32(X1, X2, X3)) | → | a__U32(mark(X1), X2, X3) | | mark(U33(X1, X2, X3)) | → | a__U33(mark(X1), X2, X3) |
mark(U34(X1, X2, X3)) | → | a__U34(mark(X1), X2, X3) | | mark(U35(X1, X2)) | → | a__U35(mark(X1), X2) |
mark(U36(X)) | → | a__U36(mark(X)) | | mark(U41(X1, X2)) | → | a__U41(mark(X1), X2) |
mark(U42(X)) | → | a__U42(mark(X)) | | mark(U51(X)) | → | a__U51(mark(X)) |
mark(U61(X1, X2)) | → | a__U61(mark(X1), X2) | | mark(U62(X)) | → | a__U62(mark(X)) |
mark(U71(X1, X2)) | → | a__U71(mark(X1), X2) | | mark(U72(X1, X2)) | → | a__U72(mark(X1), X2) |
mark(U81(X1, X2, X3)) | → | a__U81(mark(X1), X2, X3) | | mark(U82(X1, X2, X3)) | → | a__U82(mark(X1), X2, X3) |
mark(U83(X1, X2, X3)) | → | a__U83(mark(X1), X2, X3) | | mark(U84(X1, X2, X3)) | → | a__U84(mark(X1), X2, X3) |
mark(U91(X1, X2)) | → | a__U91(mark(X1), X2) | | mark(U92(X)) | → | a__U92(mark(X)) |
mark(tt) | → | tt | | mark(s(X)) | → | s(mark(X)) |
mark(0) | → | 0 | | a__U101(X1, X2, X3) | → | U101(X1, X2, X3) |
a__U102(X1, X2, X3) | → | U102(X1, X2, X3) | | a__isNatKind(X) | → | isNatKind(X) |
a__U103(X1, X2, X3) | → | U103(X1, X2, X3) | | a__isNat(X) | → | isNat(X) |
a__U104(X1, X2, X3) | → | U104(X1, X2, X3) | | a__plus(X1, X2) | → | plus(X1, X2) |
a__x(X1, X2) | → | x(X1, X2) | | a__U11(X1, X2, X3) | → | U11(X1, X2, X3) |
a__U12(X1, X2, X3) | → | U12(X1, X2, X3) | | a__U13(X1, X2, X3) | → | U13(X1, X2, X3) |
a__U14(X1, X2, X3) | → | U14(X1, X2, X3) | | a__U15(X1, X2) | → | U15(X1, X2) |
a__U16(X) | → | U16(X) | | a__U21(X1, X2) | → | U21(X1, X2) |
a__U22(X1, X2) | → | U22(X1, X2) | | a__U23(X) | → | U23(X) |
a__U31(X1, X2, X3) | → | U31(X1, X2, X3) | | a__U32(X1, X2, X3) | → | U32(X1, X2, X3) |
a__U33(X1, X2, X3) | → | U33(X1, X2, X3) | | a__U34(X1, X2, X3) | → | U34(X1, X2, X3) |
a__U35(X1, X2) | → | U35(X1, X2) | | a__U36(X) | → | U36(X) |
a__U41(X1, X2) | → | U41(X1, X2) | | a__U42(X) | → | U42(X) |
a__U51(X) | → | U51(X) | | a__U61(X1, X2) | → | U61(X1, X2) |
a__U62(X) | → | U62(X) | | a__U71(X1, X2) | → | U71(X1, X2) |
a__U72(X1, X2) | → | U72(X1, X2) | | a__U81(X1, X2, X3) | → | U81(X1, X2, X3) |
a__U82(X1, X2, X3) | → | U82(X1, X2, X3) | | a__U83(X1, X2, X3) | → | U83(X1, X2, X3) |
a__U84(X1, X2, X3) | → | U84(X1, X2, X3) | | a__U91(X1, X2) | → | U91(X1, X2) |
a__U92(X) | → | U92(X) |
Original Signature
Termination of terms over the following signature is verified: U104, U62, U61, a__U41, a__U72, a__U42, a__U71, U23, U21, U22, plus, a__U84, isNatKind, mark, U71, U36, U72, 0, a__isNat, a__U32, a__U83, a__U31, a__U82, a__U81, U31, U32, a__U36, U33, a__U35, U34, a__U34, a__U104, U35, a__U33, a__U103, a__U51, isNat, U42, a__U91, U92, U41, a__U92, U91, a__U23, a__U22, a__U102, a__U101, a__U21, a__U62, U83, a__plus, U84, U51, U14, s, U15, tt, U82, U16, a__U16, U81, a__U15, a__U14, a__U13, U11, U12, a__U12, U13, a__U11, a__U61, U102, a__x, U103, a__isNatKind, x, U101
Open Dependency Pair Problem 17
Dependency Pairs
mark#(U101(X1, X2, X3)) | → | mark#(X1) | | a__U71#(tt, N) | → | a__isNatKind#(N) |
mark#(U35(X1, X2)) | → | a__U35#(mark(X1), X2) | | mark#(U84(X1, X2, X3)) | → | mark#(X1) |
mark#(U32(X1, X2, X3)) | → | mark#(X1) | | a__U84#(tt, M, N) | → | mark#(N) |
mark#(U103(X1, X2, X3)) | → | mark#(X1) | | mark#(U104(X1, X2, X3)) | → | mark#(X1) |
a__U104#(tt, M, N) | → | mark#(N) | | a__U101#(tt, M, N) | → | a__U102#(a__isNatKind(M), M, N) |
a__plus#(N, s(M)) | → | a__U81#(a__isNat(M), M, N) | | a__U103#(tt, M, N) | → | a__U104#(a__isNatKind(N), M, N) |
mark#(U33(X1, X2, X3)) | → | mark#(X1) | | mark#(U41(X1, X2)) | → | a__U41#(mark(X1), X2) |
mark#(s(X)) | → | mark#(X) | | a__plus#(N, 0) | → | a__U71#(a__isNat(N), N) |
a__U84#(tt, M, N) | → | mark#(M) | | mark#(U71(X1, X2)) | → | a__U71#(mark(X1), X2) |
mark#(U84(X1, X2, X3)) | → | a__U84#(mark(X1), X2, X3) | | mark#(U13(X1, X2, X3)) | → | mark#(X1) |
mark#(U72(X1, X2)) | → | mark#(X1) | | mark#(plus(X1, X2)) | → | a__plus#(mark(X1), mark(X2)) |
mark#(U82(X1, X2, X3)) | → | mark#(X1) | | mark#(U71(X1, X2)) | → | mark#(X1) |
mark#(U92(X)) | → | a__U92#(mark(X)) | | mark#(U31(X1, X2, X3)) | → | mark#(X1) |
mark#(U101(X1, X2, X3)) | → | a__U101#(mark(X1), X2, X3) | | mark#(plus(X1, X2)) | → | mark#(X1) |
mark#(U15(X1, X2)) | → | mark#(X1) | | mark#(U51(X)) | → | mark#(X) |
mark#(U34(X1, X2, X3)) | → | mark#(X1) | | mark#(x(X1, X2)) | → | mark#(X2) |
mark#(U104(X1, X2, X3)) | → | a__U104#(mark(X1), X2, X3) | | mark#(U62(X)) | → | mark#(X) |
a__U72#(tt, N) | → | mark#(N) | | a__U104#(tt, M, N) | → | a__plus#(a__x(mark(N), mark(M)), mark(N)) |
a__U81#(tt, M, N) | → | a__U82#(a__isNatKind(M), M, N) | | mark#(U32(X1, X2, X3)) | → | a__U32#(mark(X1), X2, X3) |
mark#(U103(X1, X2, X3)) | → | a__U103#(mark(X1), X2, X3) | | mark#(U11(X1, X2, X3)) | → | mark#(X1) |
mark#(U61(X1, X2)) | → | mark#(X1) | | a__U71#(tt, N) | → | a__U72#(a__isNatKind(N), N) |
mark#(U91(X1, X2)) | → | mark#(X1) | | a__x#(N, s(M)) | → | a__U101#(a__isNat(M), M, N) |
mark#(x(X1, X2)) | → | a__x#(mark(X1), mark(X2)) | | mark#(U83(X1, X2, X3)) | → | a__U83#(mark(X1), X2, X3) |
a__U104#(tt, M, N) | → | a__x#(mark(N), mark(M)) | | mark#(U42(X)) | → | mark#(X) |
mark#(U21(X1, X2)) | → | mark#(X1) | | mark#(U35(X1, X2)) | → | mark#(X1) |
mark#(U14(X1, X2, X3)) | → | mark#(X1) | | mark#(U81(X1, X2, X3)) | → | mark#(X1) |
mark#(U16(X)) | → | mark#(X) | | a__U104#(tt, M, N) | → | mark#(M) |
mark#(U22(X1, X2)) | → | mark#(X1) | | mark#(U23(X)) | → | mark#(X) |
mark#(U83(X1, X2, X3)) | → | mark#(X1) | | mark#(plus(X1, X2)) | → | mark#(X2) |
mark#(U102(X1, X2, X3)) | → | mark#(X1) | | mark#(U82(X1, X2, X3)) | → | a__U82#(mark(X1), X2, X3) |
mark#(U102(X1, X2, X3)) | → | a__U102#(mark(X1), X2, X3) | | mark#(U41(X1, X2)) | → | mark#(X1) |
mark#(U12(X1, X2, X3)) | → | mark#(X1) | | mark#(U33(X1, X2, X3)) | → | a__U33#(mark(X1), X2, X3) |
a__U84#(tt, M, N) | → | a__plus#(mark(N), mark(M)) | | mark#(U72(X1, X2)) | → | a__U72#(mark(X1), X2) |
a__U82#(tt, M, N) | → | a__U83#(a__isNat(N), M, N) | | mark#(U92(X)) | → | mark#(X) |
mark#(U21(X1, X2)) | → | a__U21#(mark(X1), X2) | | mark#(U36(X)) | → | mark#(X) |
a__U102#(tt, M, N) | → | a__U103#(a__isNat(N), M, N) | | mark#(U81(X1, X2, X3)) | → | a__U81#(mark(X1), X2, X3) |
mark#(x(X1, X2)) | → | mark#(X1) | | a__U83#(tt, M, N) | → | a__U84#(a__isNatKind(N), M, N) |
Rewrite Rules
a__U101(tt, M, N) | → | a__U102(a__isNatKind(M), M, N) | | a__U102(tt, M, N) | → | a__U103(a__isNat(N), M, N) |
a__U103(tt, M, N) | → | a__U104(a__isNatKind(N), M, N) | | a__U104(tt, M, N) | → | a__plus(a__x(mark(N), mark(M)), mark(N)) |
a__U11(tt, V1, V2) | → | a__U12(a__isNatKind(V1), V1, V2) | | a__U12(tt, V1, V2) | → | a__U13(a__isNatKind(V2), V1, V2) |
a__U13(tt, V1, V2) | → | a__U14(a__isNatKind(V2), V1, V2) | | a__U14(tt, V1, V2) | → | a__U15(a__isNat(V1), V2) |
a__U15(tt, V2) | → | a__U16(a__isNat(V2)) | | a__U16(tt) | → | tt |
a__U21(tt, V1) | → | a__U22(a__isNatKind(V1), V1) | | a__U22(tt, V1) | → | a__U23(a__isNat(V1)) |
a__U23(tt) | → | tt | | a__U31(tt, V1, V2) | → | a__U32(a__isNatKind(V1), V1, V2) |
a__U32(tt, V1, V2) | → | a__U33(a__isNatKind(V2), V1, V2) | | a__U33(tt, V1, V2) | → | a__U34(a__isNatKind(V2), V1, V2) |
a__U34(tt, V1, V2) | → | a__U35(a__isNat(V1), V2) | | a__U35(tt, V2) | → | a__U36(a__isNat(V2)) |
a__U36(tt) | → | tt | | a__U41(tt, V2) | → | a__U42(a__isNatKind(V2)) |
a__U42(tt) | → | tt | | a__U51(tt) | → | tt |
a__U61(tt, V2) | → | a__U62(a__isNatKind(V2)) | | a__U62(tt) | → | tt |
a__U71(tt, N) | → | a__U72(a__isNatKind(N), N) | | a__U72(tt, N) | → | mark(N) |
a__U81(tt, M, N) | → | a__U82(a__isNatKind(M), M, N) | | a__U82(tt, M, N) | → | a__U83(a__isNat(N), M, N) |
a__U83(tt, M, N) | → | a__U84(a__isNatKind(N), M, N) | | a__U84(tt, M, N) | → | s(a__plus(mark(N), mark(M))) |
a__U91(tt, N) | → | a__U92(a__isNatKind(N)) | | a__U92(tt) | → | 0 |
a__isNat(0) | → | tt | | a__isNat(plus(V1, V2)) | → | a__U11(a__isNatKind(V1), V1, V2) |
a__isNat(s(V1)) | → | a__U21(a__isNatKind(V1), V1) | | a__isNat(x(V1, V2)) | → | a__U31(a__isNatKind(V1), V1, V2) |
a__isNatKind(0) | → | tt | | a__isNatKind(plus(V1, V2)) | → | a__U41(a__isNatKind(V1), V2) |
a__isNatKind(s(V1)) | → | a__U51(a__isNatKind(V1)) | | a__isNatKind(x(V1, V2)) | → | a__U61(a__isNatKind(V1), V2) |
a__plus(N, 0) | → | a__U71(a__isNat(N), N) | | a__plus(N, s(M)) | → | a__U81(a__isNat(M), M, N) |
a__x(N, 0) | → | a__U91(a__isNat(N), N) | | a__x(N, s(M)) | → | a__U101(a__isNat(M), M, N) |
mark(U101(X1, X2, X3)) | → | a__U101(mark(X1), X2, X3) | | mark(U102(X1, X2, X3)) | → | a__U102(mark(X1), X2, X3) |
mark(isNatKind(X)) | → | a__isNatKind(X) | | mark(U103(X1, X2, X3)) | → | a__U103(mark(X1), X2, X3) |
mark(isNat(X)) | → | a__isNat(X) | | mark(U104(X1, X2, X3)) | → | a__U104(mark(X1), X2, X3) |
mark(plus(X1, X2)) | → | a__plus(mark(X1), mark(X2)) | | mark(x(X1, X2)) | → | a__x(mark(X1), mark(X2)) |
mark(U11(X1, X2, X3)) | → | a__U11(mark(X1), X2, X3) | | mark(U12(X1, X2, X3)) | → | a__U12(mark(X1), X2, X3) |
mark(U13(X1, X2, X3)) | → | a__U13(mark(X1), X2, X3) | | mark(U14(X1, X2, X3)) | → | a__U14(mark(X1), X2, X3) |
mark(U15(X1, X2)) | → | a__U15(mark(X1), X2) | | mark(U16(X)) | → | a__U16(mark(X)) |
mark(U21(X1, X2)) | → | a__U21(mark(X1), X2) | | mark(U22(X1, X2)) | → | a__U22(mark(X1), X2) |
mark(U23(X)) | → | a__U23(mark(X)) | | mark(U31(X1, X2, X3)) | → | a__U31(mark(X1), X2, X3) |
mark(U32(X1, X2, X3)) | → | a__U32(mark(X1), X2, X3) | | mark(U33(X1, X2, X3)) | → | a__U33(mark(X1), X2, X3) |
mark(U34(X1, X2, X3)) | → | a__U34(mark(X1), X2, X3) | | mark(U35(X1, X2)) | → | a__U35(mark(X1), X2) |
mark(U36(X)) | → | a__U36(mark(X)) | | mark(U41(X1, X2)) | → | a__U41(mark(X1), X2) |
mark(U42(X)) | → | a__U42(mark(X)) | | mark(U51(X)) | → | a__U51(mark(X)) |
mark(U61(X1, X2)) | → | a__U61(mark(X1), X2) | | mark(U62(X)) | → | a__U62(mark(X)) |
mark(U71(X1, X2)) | → | a__U71(mark(X1), X2) | | mark(U72(X1, X2)) | → | a__U72(mark(X1), X2) |
mark(U81(X1, X2, X3)) | → | a__U81(mark(X1), X2, X3) | | mark(U82(X1, X2, X3)) | → | a__U82(mark(X1), X2, X3) |
mark(U83(X1, X2, X3)) | → | a__U83(mark(X1), X2, X3) | | mark(U84(X1, X2, X3)) | → | a__U84(mark(X1), X2, X3) |
mark(U91(X1, X2)) | → | a__U91(mark(X1), X2) | | mark(U92(X)) | → | a__U92(mark(X)) |
mark(tt) | → | tt | | mark(s(X)) | → | s(mark(X)) |
mark(0) | → | 0 | | a__U101(X1, X2, X3) | → | U101(X1, X2, X3) |
a__U102(X1, X2, X3) | → | U102(X1, X2, X3) | | a__isNatKind(X) | → | isNatKind(X) |
a__U103(X1, X2, X3) | → | U103(X1, X2, X3) | | a__isNat(X) | → | isNat(X) |
a__U104(X1, X2, X3) | → | U104(X1, X2, X3) | | a__plus(X1, X2) | → | plus(X1, X2) |
a__x(X1, X2) | → | x(X1, X2) | | a__U11(X1, X2, X3) | → | U11(X1, X2, X3) |
a__U12(X1, X2, X3) | → | U12(X1, X2, X3) | | a__U13(X1, X2, X3) | → | U13(X1, X2, X3) |
a__U14(X1, X2, X3) | → | U14(X1, X2, X3) | | a__U15(X1, X2) | → | U15(X1, X2) |
a__U16(X) | → | U16(X) | | a__U21(X1, X2) | → | U21(X1, X2) |
a__U22(X1, X2) | → | U22(X1, X2) | | a__U23(X) | → | U23(X) |
a__U31(X1, X2, X3) | → | U31(X1, X2, X3) | | a__U32(X1, X2, X3) | → | U32(X1, X2, X3) |
a__U33(X1, X2, X3) | → | U33(X1, X2, X3) | | a__U34(X1, X2, X3) | → | U34(X1, X2, X3) |
a__U35(X1, X2) | → | U35(X1, X2) | | a__U36(X) | → | U36(X) |
a__U41(X1, X2) | → | U41(X1, X2) | | a__U42(X) | → | U42(X) |
a__U51(X) | → | U51(X) | | a__U61(X1, X2) | → | U61(X1, X2) |
a__U62(X) | → | U62(X) | | a__U71(X1, X2) | → | U71(X1, X2) |
a__U72(X1, X2) | → | U72(X1, X2) | | a__U81(X1, X2, X3) | → | U81(X1, X2, X3) |
a__U82(X1, X2, X3) | → | U82(X1, X2, X3) | | a__U83(X1, X2, X3) | → | U83(X1, X2, X3) |
a__U84(X1, X2, X3) | → | U84(X1, X2, X3) | | a__U91(X1, X2) | → | U91(X1, X2) |
a__U92(X) | → | U92(X) |
Original Signature
Termination of terms over the following signature is verified: U104, U62, U61, a__U41, a__U72, a__U42, a__U71, U23, U21, U22, plus, a__U84, isNatKind, mark, U71, U36, U72, 0, a__isNat, a__U32, a__U83, a__U31, a__U82, a__U81, U31, U32, a__U36, U33, a__U35, U34, a__U34, a__U104, U35, a__U33, a__U103, a__U51, isNat, U42, a__U91, U92, U41, a__U92, U91, a__U23, a__U22, a__U102, a__U101, a__U21, a__U62, U83, a__plus, U84, U51, U14, s, U15, tt, U82, U16, a__U16, U81, a__U15, a__U14, a__U13, U11, U12, a__U12, U13, a__U11, a__U61, U102, a__x, U103, a__isNatKind, x, U101
Open Dependency Pair Problem 16
Dependency Pairs
mark#(U101(X1, X2, X3)) | → | mark#(X1) | | mark#(U62(X)) | → | a__U62#(mark(X)) |
mark#(U84(X1, X2, X3)) | → | mark#(X1) | | mark#(U32(X1, X2, X3)) | → | mark#(X1) |
mark#(U103(X1, X2, X3)) | → | mark#(X1) | | a__U84#(tt, M, N) | → | mark#(N) |
mark#(U104(X1, X2, X3)) | → | mark#(X1) | | a__U104#(tt, M, N) | → | mark#(N) |
a__U101#(tt, M, N) | → | a__U102#(a__isNatKind(M), M, N) | | a__plus#(N, s(M)) | → | a__U81#(a__isNat(M), M, N) |
a__U103#(tt, M, N) | → | a__U104#(a__isNatKind(N), M, N) | | mark#(U12(X1, X2, X3)) | → | a__U12#(mark(X1), X2, X3) |
mark#(U33(X1, X2, X3)) | → | mark#(X1) | | mark#(s(X)) | → | mark#(X) |
a__plus#(N, 0) | → | a__U71#(a__isNat(N), N) | | a__U84#(tt, M, N) | → | mark#(M) |
mark#(U71(X1, X2)) | → | a__U71#(mark(X1), X2) | | mark#(U84(X1, X2, X3)) | → | a__U84#(mark(X1), X2, X3) |
mark#(U13(X1, X2, X3)) | → | mark#(X1) | | mark#(U72(X1, X2)) | → | mark#(X1) |
mark#(plus(X1, X2)) | → | a__plus#(mark(X1), mark(X2)) | | mark#(U82(X1, X2, X3)) | → | mark#(X1) |
mark#(U71(X1, X2)) | → | mark#(X1) | | mark#(U92(X)) | → | a__U92#(mark(X)) |
mark#(U31(X1, X2, X3)) | → | mark#(X1) | | mark#(U101(X1, X2, X3)) | → | a__U101#(mark(X1), X2, X3) |
mark#(plus(X1, X2)) | → | mark#(X1) | | mark#(U51(X)) | → | mark#(X) |
mark#(U15(X1, X2)) | → | mark#(X1) | | mark#(U34(X1, X2, X3)) | → | mark#(X1) |
mark#(x(X1, X2)) | → | mark#(X2) | | mark#(U104(X1, X2, X3)) | → | a__U104#(mark(X1), X2, X3) |
mark#(U62(X)) | → | mark#(X) | | a__U72#(tt, N) | → | mark#(N) |
a__U104#(tt, M, N) | → | a__plus#(a__x(mark(N), mark(M)), mark(N)) | | a__U81#(tt, M, N) | → | a__U82#(a__isNatKind(M), M, N) |
mark#(U103(X1, X2, X3)) | → | a__U103#(mark(X1), X2, X3) | | mark#(U11(X1, X2, X3)) | → | a__U11#(mark(X1), X2, X3) |
mark#(U11(X1, X2, X3)) | → | mark#(X1) | | mark#(U61(X1, X2)) | → | mark#(X1) |
a__U71#(tt, N) | → | a__U72#(a__isNatKind(N), N) | | mark#(U91(X1, X2)) | → | mark#(X1) |
mark#(isNat(X)) | → | a__isNat#(X) | | a__x#(N, s(M)) | → | a__U101#(a__isNat(M), M, N) |
mark#(x(X1, X2)) | → | a__x#(mark(X1), mark(X2)) | | mark#(U83(X1, X2, X3)) | → | a__U83#(mark(X1), X2, X3) |
a__U104#(tt, M, N) | → | a__x#(mark(N), mark(M)) | | mark#(U42(X)) | → | mark#(X) |
mark#(U21(X1, X2)) | → | mark#(X1) | | mark#(U35(X1, X2)) | → | mark#(X1) |
mark#(U81(X1, X2, X3)) | → | mark#(X1) | | mark#(U14(X1, X2, X3)) | → | mark#(X1) |
mark#(U16(X)) | → | mark#(X) | | a__U104#(tt, M, N) | → | mark#(M) |
mark#(U22(X1, X2)) | → | mark#(X1) | | mark#(U23(X)) | → | mark#(X) |
mark#(U83(X1, X2, X3)) | → | mark#(X1) | | mark#(plus(X1, X2)) | → | mark#(X2) |
mark#(U102(X1, X2, X3)) | → | mark#(X1) | | mark#(U82(X1, X2, X3)) | → | a__U82#(mark(X1), X2, X3) |
mark#(U102(X1, X2, X3)) | → | a__U102#(mark(X1), X2, X3) | | mark#(U41(X1, X2)) | → | mark#(X1) |
mark#(U12(X1, X2, X3)) | → | mark#(X1) | | mark#(U34(X1, X2, X3)) | → | a__U34#(mark(X1), X2, X3) |
a__U84#(tt, M, N) | → | a__plus#(mark(N), mark(M)) | | mark#(U72(X1, X2)) | → | a__U72#(mark(X1), X2) |
a__U82#(tt, M, N) | → | a__U83#(a__isNat(N), M, N) | | mark#(U92(X)) | → | mark#(X) |
mark#(U21(X1, X2)) | → | a__U21#(mark(X1), X2) | | mark#(U36(X)) | → | mark#(X) |
a__U102#(tt, M, N) | → | a__U103#(a__isNat(N), M, N) | | mark#(U81(X1, X2, X3)) | → | a__U81#(mark(X1), X2, X3) |
mark#(x(X1, X2)) | → | mark#(X1) | | a__U83#(tt, M, N) | → | a__U84#(a__isNatKind(N), M, N) |
Rewrite Rules
a__U101(tt, M, N) | → | a__U102(a__isNatKind(M), M, N) | | a__U102(tt, M, N) | → | a__U103(a__isNat(N), M, N) |
a__U103(tt, M, N) | → | a__U104(a__isNatKind(N), M, N) | | a__U104(tt, M, N) | → | a__plus(a__x(mark(N), mark(M)), mark(N)) |
a__U11(tt, V1, V2) | → | a__U12(a__isNatKind(V1), V1, V2) | | a__U12(tt, V1, V2) | → | a__U13(a__isNatKind(V2), V1, V2) |
a__U13(tt, V1, V2) | → | a__U14(a__isNatKind(V2), V1, V2) | | a__U14(tt, V1, V2) | → | a__U15(a__isNat(V1), V2) |
a__U15(tt, V2) | → | a__U16(a__isNat(V2)) | | a__U16(tt) | → | tt |
a__U21(tt, V1) | → | a__U22(a__isNatKind(V1), V1) | | a__U22(tt, V1) | → | a__U23(a__isNat(V1)) |
a__U23(tt) | → | tt | | a__U31(tt, V1, V2) | → | a__U32(a__isNatKind(V1), V1, V2) |
a__U32(tt, V1, V2) | → | a__U33(a__isNatKind(V2), V1, V2) | | a__U33(tt, V1, V2) | → | a__U34(a__isNatKind(V2), V1, V2) |
a__U34(tt, V1, V2) | → | a__U35(a__isNat(V1), V2) | | a__U35(tt, V2) | → | a__U36(a__isNat(V2)) |
a__U36(tt) | → | tt | | a__U41(tt, V2) | → | a__U42(a__isNatKind(V2)) |
a__U42(tt) | → | tt | | a__U51(tt) | → | tt |
a__U61(tt, V2) | → | a__U62(a__isNatKind(V2)) | | a__U62(tt) | → | tt |
a__U71(tt, N) | → | a__U72(a__isNatKind(N), N) | | a__U72(tt, N) | → | mark(N) |
a__U81(tt, M, N) | → | a__U82(a__isNatKind(M), M, N) | | a__U82(tt, M, N) | → | a__U83(a__isNat(N), M, N) |
a__U83(tt, M, N) | → | a__U84(a__isNatKind(N), M, N) | | a__U84(tt, M, N) | → | s(a__plus(mark(N), mark(M))) |
a__U91(tt, N) | → | a__U92(a__isNatKind(N)) | | a__U92(tt) | → | 0 |
a__isNat(0) | → | tt | | a__isNat(plus(V1, V2)) | → | a__U11(a__isNatKind(V1), V1, V2) |
a__isNat(s(V1)) | → | a__U21(a__isNatKind(V1), V1) | | a__isNat(x(V1, V2)) | → | a__U31(a__isNatKind(V1), V1, V2) |
a__isNatKind(0) | → | tt | | a__isNatKind(plus(V1, V2)) | → | a__U41(a__isNatKind(V1), V2) |
a__isNatKind(s(V1)) | → | a__U51(a__isNatKind(V1)) | | a__isNatKind(x(V1, V2)) | → | a__U61(a__isNatKind(V1), V2) |
a__plus(N, 0) | → | a__U71(a__isNat(N), N) | | a__plus(N, s(M)) | → | a__U81(a__isNat(M), M, N) |
a__x(N, 0) | → | a__U91(a__isNat(N), N) | | a__x(N, s(M)) | → | a__U101(a__isNat(M), M, N) |
mark(U101(X1, X2, X3)) | → | a__U101(mark(X1), X2, X3) | | mark(U102(X1, X2, X3)) | → | a__U102(mark(X1), X2, X3) |
mark(isNatKind(X)) | → | a__isNatKind(X) | | mark(U103(X1, X2, X3)) | → | a__U103(mark(X1), X2, X3) |
mark(isNat(X)) | → | a__isNat(X) | | mark(U104(X1, X2, X3)) | → | a__U104(mark(X1), X2, X3) |
mark(plus(X1, X2)) | → | a__plus(mark(X1), mark(X2)) | | mark(x(X1, X2)) | → | a__x(mark(X1), mark(X2)) |
mark(U11(X1, X2, X3)) | → | a__U11(mark(X1), X2, X3) | | mark(U12(X1, X2, X3)) | → | a__U12(mark(X1), X2, X3) |
mark(U13(X1, X2, X3)) | → | a__U13(mark(X1), X2, X3) | | mark(U14(X1, X2, X3)) | → | a__U14(mark(X1), X2, X3) |
mark(U15(X1, X2)) | → | a__U15(mark(X1), X2) | | mark(U16(X)) | → | a__U16(mark(X)) |
mark(U21(X1, X2)) | → | a__U21(mark(X1), X2) | | mark(U22(X1, X2)) | → | a__U22(mark(X1), X2) |
mark(U23(X)) | → | a__U23(mark(X)) | | mark(U31(X1, X2, X3)) | → | a__U31(mark(X1), X2, X3) |
mark(U32(X1, X2, X3)) | → | a__U32(mark(X1), X2, X3) | | mark(U33(X1, X2, X3)) | → | a__U33(mark(X1), X2, X3) |
mark(U34(X1, X2, X3)) | → | a__U34(mark(X1), X2, X3) | | mark(U35(X1, X2)) | → | a__U35(mark(X1), X2) |
mark(U36(X)) | → | a__U36(mark(X)) | | mark(U41(X1, X2)) | → | a__U41(mark(X1), X2) |
mark(U42(X)) | → | a__U42(mark(X)) | | mark(U51(X)) | → | a__U51(mark(X)) |
mark(U61(X1, X2)) | → | a__U61(mark(X1), X2) | | mark(U62(X)) | → | a__U62(mark(X)) |
mark(U71(X1, X2)) | → | a__U71(mark(X1), X2) | | mark(U72(X1, X2)) | → | a__U72(mark(X1), X2) |
mark(U81(X1, X2, X3)) | → | a__U81(mark(X1), X2, X3) | | mark(U82(X1, X2, X3)) | → | a__U82(mark(X1), X2, X3) |
mark(U83(X1, X2, X3)) | → | a__U83(mark(X1), X2, X3) | | mark(U84(X1, X2, X3)) | → | a__U84(mark(X1), X2, X3) |
mark(U91(X1, X2)) | → | a__U91(mark(X1), X2) | | mark(U92(X)) | → | a__U92(mark(X)) |
mark(tt) | → | tt | | mark(s(X)) | → | s(mark(X)) |
mark(0) | → | 0 | | a__U101(X1, X2, X3) | → | U101(X1, X2, X3) |
a__U102(X1, X2, X3) | → | U102(X1, X2, X3) | | a__isNatKind(X) | → | isNatKind(X) |
a__U103(X1, X2, X3) | → | U103(X1, X2, X3) | | a__isNat(X) | → | isNat(X) |
a__U104(X1, X2, X3) | → | U104(X1, X2, X3) | | a__plus(X1, X2) | → | plus(X1, X2) |
a__x(X1, X2) | → | x(X1, X2) | | a__U11(X1, X2, X3) | → | U11(X1, X2, X3) |
a__U12(X1, X2, X3) | → | U12(X1, X2, X3) | | a__U13(X1, X2, X3) | → | U13(X1, X2, X3) |
a__U14(X1, X2, X3) | → | U14(X1, X2, X3) | | a__U15(X1, X2) | → | U15(X1, X2) |
a__U16(X) | → | U16(X) | | a__U21(X1, X2) | → | U21(X1, X2) |
a__U22(X1, X2) | → | U22(X1, X2) | | a__U23(X) | → | U23(X) |
a__U31(X1, X2, X3) | → | U31(X1, X2, X3) | | a__U32(X1, X2, X3) | → | U32(X1, X2, X3) |
a__U33(X1, X2, X3) | → | U33(X1, X2, X3) | | a__U34(X1, X2, X3) | → | U34(X1, X2, X3) |
a__U35(X1, X2) | → | U35(X1, X2) | | a__U36(X) | → | U36(X) |
a__U41(X1, X2) | → | U41(X1, X2) | | a__U42(X) | → | U42(X) |
a__U51(X) | → | U51(X) | | a__U61(X1, X2) | → | U61(X1, X2) |
a__U62(X) | → | U62(X) | | a__U71(X1, X2) | → | U71(X1, X2) |
a__U72(X1, X2) | → | U72(X1, X2) | | a__U81(X1, X2, X3) | → | U81(X1, X2, X3) |
a__U82(X1, X2, X3) | → | U82(X1, X2, X3) | | a__U83(X1, X2, X3) | → | U83(X1, X2, X3) |
a__U84(X1, X2, X3) | → | U84(X1, X2, X3) | | a__U91(X1, X2) | → | U91(X1, X2) |
a__U92(X) | → | U92(X) |
Original Signature
Termination of terms over the following signature is verified: U104, U62, U61, a__U41, a__U72, a__U42, a__U71, U23, U21, U22, plus, a__U84, isNatKind, mark, U71, U36, U72, 0, a__isNat, a__U32, a__U83, a__U31, a__U82, a__U81, U31, U32, a__U36, U33, a__U35, U34, a__U34, a__U104, U35, a__U33, a__U103, a__U51, isNat, U42, a__U91, U92, U41, a__U92, U91, a__U23, a__U22, a__U102, a__U101, a__U21, a__U62, U83, a__plus, U84, U51, U14, s, U15, tt, U82, U16, a__U16, U81, a__U15, a__U14, a__U13, U11, U12, a__U12, U13, a__U11, a__U61, U102, a__x, U103, a__isNatKind, x, U101
Open Dependency Pair Problem 19
Dependency Pairs
mark#(U101(X1, X2, X3)) | → | mark#(X1) | | mark#(U84(X1, X2, X3)) | → | mark#(X1) |
mark#(U35(X1, X2)) | → | a__U35#(mark(X1), X2) | | mark#(U32(X1, X2, X3)) | → | mark#(X1) |
a__U84#(tt, M, N) | → | mark#(N) | | mark#(U103(X1, X2, X3)) | → | mark#(X1) |
mark#(U104(X1, X2, X3)) | → | mark#(X1) | | mark#(U22(X1, X2)) | → | a__U22#(mark(X1), X2) |
a__U104#(tt, M, N) | → | mark#(N) | | a__U101#(tt, M, N) | → | a__U102#(a__isNatKind(M), M, N) |
a__plus#(N, s(M)) | → | a__U81#(a__isNat(M), M, N) | | a__U103#(tt, M, N) | → | a__U104#(a__isNatKind(N), M, N) |
mark#(U12(X1, X2, X3)) | → | a__U12#(mark(X1), X2, X3) | | mark#(U33(X1, X2, X3)) | → | mark#(X1) |
mark#(U41(X1, X2)) | → | a__U41#(mark(X1), X2) | | mark#(s(X)) | → | mark#(X) |
a__plus#(N, 0) | → | a__U71#(a__isNat(N), N) | | a__U84#(tt, M, N) | → | mark#(M) |
mark#(U71(X1, X2)) | → | a__U71#(mark(X1), X2) | | mark#(U84(X1, X2, X3)) | → | a__U84#(mark(X1), X2, X3) |
mark#(U13(X1, X2, X3)) | → | mark#(X1) | | mark#(U72(X1, X2)) | → | mark#(X1) |
mark#(plus(X1, X2)) | → | a__plus#(mark(X1), mark(X2)) | | mark#(U82(X1, X2, X3)) | → | mark#(X1) |
mark#(U71(X1, X2)) | → | mark#(X1) | | mark#(U92(X)) | → | a__U92#(mark(X)) |
mark#(U31(X1, X2, X3)) | → | mark#(X1) | | mark#(U101(X1, X2, X3)) | → | a__U101#(mark(X1), X2, X3) |
mark#(plus(X1, X2)) | → | mark#(X1) | | mark#(U51(X)) | → | mark#(X) |
mark#(U15(X1, X2)) | → | mark#(X1) | | mark#(U34(X1, X2, X3)) | → | mark#(X1) |
mark#(U15(X1, X2)) | → | a__U15#(mark(X1), X2) | | mark#(x(X1, X2)) | → | mark#(X2) |
mark#(U104(X1, X2, X3)) | → | a__U104#(mark(X1), X2, X3) | | mark#(U62(X)) | → | mark#(X) |
a__U72#(tt, N) | → | mark#(N) | | a__U104#(tt, M, N) | → | a__plus#(a__x(mark(N), mark(M)), mark(N)) |
a__U81#(tt, M, N) | → | a__U82#(a__isNatKind(M), M, N) | | mark#(U103(X1, X2, X3)) | → | a__U103#(mark(X1), X2, X3) |
mark#(U11(X1, X2, X3)) | → | mark#(X1) | | mark#(U61(X1, X2)) | → | mark#(X1) |
a__U71#(tt, N) | → | a__U72#(a__isNatKind(N), N) | | mark#(U91(X1, X2)) | → | mark#(X1) |
a__x#(N, s(M)) | → | a__U101#(a__isNat(M), M, N) | | mark#(x(X1, X2)) | → | a__x#(mark(X1), mark(X2)) |
mark#(U83(X1, X2, X3)) | → | a__U83#(mark(X1), X2, X3) | | a__U104#(tt, M, N) | → | a__x#(mark(N), mark(M)) |
mark#(U21(X1, X2)) | → | mark#(X1) | | mark#(U42(X)) | → | mark#(X) |
mark#(U35(X1, X2)) | → | mark#(X1) | | mark#(U14(X1, X2, X3)) | → | mark#(X1) |
mark#(U81(X1, X2, X3)) | → | mark#(X1) | | mark#(U16(X)) | → | mark#(X) |
a__U104#(tt, M, N) | → | mark#(M) | | mark#(U22(X1, X2)) | → | mark#(X1) |
mark#(U23(X)) | → | mark#(X) | | mark#(U83(X1, X2, X3)) | → | mark#(X1) |
mark#(plus(X1, X2)) | → | mark#(X2) | | mark#(U102(X1, X2, X3)) | → | mark#(X1) |
mark#(U82(X1, X2, X3)) | → | a__U82#(mark(X1), X2, X3) | | mark#(U102(X1, X2, X3)) | → | a__U102#(mark(X1), X2, X3) |
mark#(U41(X1, X2)) | → | mark#(X1) | | mark#(U12(X1, X2, X3)) | → | mark#(X1) |
mark#(U34(X1, X2, X3)) | → | a__U34#(mark(X1), X2, X3) | | mark#(U33(X1, X2, X3)) | → | a__U33#(mark(X1), X2, X3) |
a__U84#(tt, M, N) | → | a__plus#(mark(N), mark(M)) | | mark#(U72(X1, X2)) | → | a__U72#(mark(X1), X2) |
a__U82#(tt, M, N) | → | a__U83#(a__isNat(N), M, N) | | mark#(U92(X)) | → | mark#(X) |
mark#(U21(X1, X2)) | → | a__U21#(mark(X1), X2) | | mark#(U36(X)) | → | mark#(X) |
a__U102#(tt, M, N) | → | a__U103#(a__isNat(N), M, N) | | mark#(U81(X1, X2, X3)) | → | a__U81#(mark(X1), X2, X3) |
mark#(x(X1, X2)) | → | mark#(X1) | | a__U83#(tt, M, N) | → | a__U84#(a__isNatKind(N), M, N) |
Rewrite Rules
a__U101(tt, M, N) | → | a__U102(a__isNatKind(M), M, N) | | a__U102(tt, M, N) | → | a__U103(a__isNat(N), M, N) |
a__U103(tt, M, N) | → | a__U104(a__isNatKind(N), M, N) | | a__U104(tt, M, N) | → | a__plus(a__x(mark(N), mark(M)), mark(N)) |
a__U11(tt, V1, V2) | → | a__U12(a__isNatKind(V1), V1, V2) | | a__U12(tt, V1, V2) | → | a__U13(a__isNatKind(V2), V1, V2) |
a__U13(tt, V1, V2) | → | a__U14(a__isNatKind(V2), V1, V2) | | a__U14(tt, V1, V2) | → | a__U15(a__isNat(V1), V2) |
a__U15(tt, V2) | → | a__U16(a__isNat(V2)) | | a__U16(tt) | → | tt |
a__U21(tt, V1) | → | a__U22(a__isNatKind(V1), V1) | | a__U22(tt, V1) | → | a__U23(a__isNat(V1)) |
a__U23(tt) | → | tt | | a__U31(tt, V1, V2) | → | a__U32(a__isNatKind(V1), V1, V2) |
a__U32(tt, V1, V2) | → | a__U33(a__isNatKind(V2), V1, V2) | | a__U33(tt, V1, V2) | → | a__U34(a__isNatKind(V2), V1, V2) |
a__U34(tt, V1, V2) | → | a__U35(a__isNat(V1), V2) | | a__U35(tt, V2) | → | a__U36(a__isNat(V2)) |
a__U36(tt) | → | tt | | a__U41(tt, V2) | → | a__U42(a__isNatKind(V2)) |
a__U42(tt) | → | tt | | a__U51(tt) | → | tt |
a__U61(tt, V2) | → | a__U62(a__isNatKind(V2)) | | a__U62(tt) | → | tt |
a__U71(tt, N) | → | a__U72(a__isNatKind(N), N) | | a__U72(tt, N) | → | mark(N) |
a__U81(tt, M, N) | → | a__U82(a__isNatKind(M), M, N) | | a__U82(tt, M, N) | → | a__U83(a__isNat(N), M, N) |
a__U83(tt, M, N) | → | a__U84(a__isNatKind(N), M, N) | | a__U84(tt, M, N) | → | s(a__plus(mark(N), mark(M))) |
a__U91(tt, N) | → | a__U92(a__isNatKind(N)) | | a__U92(tt) | → | 0 |
a__isNat(0) | → | tt | | a__isNat(plus(V1, V2)) | → | a__U11(a__isNatKind(V1), V1, V2) |
a__isNat(s(V1)) | → | a__U21(a__isNatKind(V1), V1) | | a__isNat(x(V1, V2)) | → | a__U31(a__isNatKind(V1), V1, V2) |
a__isNatKind(0) | → | tt | | a__isNatKind(plus(V1, V2)) | → | a__U41(a__isNatKind(V1), V2) |
a__isNatKind(s(V1)) | → | a__U51(a__isNatKind(V1)) | | a__isNatKind(x(V1, V2)) | → | a__U61(a__isNatKind(V1), V2) |
a__plus(N, 0) | → | a__U71(a__isNat(N), N) | | a__plus(N, s(M)) | → | a__U81(a__isNat(M), M, N) |
a__x(N, 0) | → | a__U91(a__isNat(N), N) | | a__x(N, s(M)) | → | a__U101(a__isNat(M), M, N) |
mark(U101(X1, X2, X3)) | → | a__U101(mark(X1), X2, X3) | | mark(U102(X1, X2, X3)) | → | a__U102(mark(X1), X2, X3) |
mark(isNatKind(X)) | → | a__isNatKind(X) | | mark(U103(X1, X2, X3)) | → | a__U103(mark(X1), X2, X3) |
mark(isNat(X)) | → | a__isNat(X) | | mark(U104(X1, X2, X3)) | → | a__U104(mark(X1), X2, X3) |
mark(plus(X1, X2)) | → | a__plus(mark(X1), mark(X2)) | | mark(x(X1, X2)) | → | a__x(mark(X1), mark(X2)) |
mark(U11(X1, X2, X3)) | → | a__U11(mark(X1), X2, X3) | | mark(U12(X1, X2, X3)) | → | a__U12(mark(X1), X2, X3) |
mark(U13(X1, X2, X3)) | → | a__U13(mark(X1), X2, X3) | | mark(U14(X1, X2, X3)) | → | a__U14(mark(X1), X2, X3) |
mark(U15(X1, X2)) | → | a__U15(mark(X1), X2) | | mark(U16(X)) | → | a__U16(mark(X)) |
mark(U21(X1, X2)) | → | a__U21(mark(X1), X2) | | mark(U22(X1, X2)) | → | a__U22(mark(X1), X2) |
mark(U23(X)) | → | a__U23(mark(X)) | | mark(U31(X1, X2, X3)) | → | a__U31(mark(X1), X2, X3) |
mark(U32(X1, X2, X3)) | → | a__U32(mark(X1), X2, X3) | | mark(U33(X1, X2, X3)) | → | a__U33(mark(X1), X2, X3) |
mark(U34(X1, X2, X3)) | → | a__U34(mark(X1), X2, X3) | | mark(U35(X1, X2)) | → | a__U35(mark(X1), X2) |
mark(U36(X)) | → | a__U36(mark(X)) | | mark(U41(X1, X2)) | → | a__U41(mark(X1), X2) |
mark(U42(X)) | → | a__U42(mark(X)) | | mark(U51(X)) | → | a__U51(mark(X)) |
mark(U61(X1, X2)) | → | a__U61(mark(X1), X2) | | mark(U62(X)) | → | a__U62(mark(X)) |
mark(U71(X1, X2)) | → | a__U71(mark(X1), X2) | | mark(U72(X1, X2)) | → | a__U72(mark(X1), X2) |
mark(U81(X1, X2, X3)) | → | a__U81(mark(X1), X2, X3) | | mark(U82(X1, X2, X3)) | → | a__U82(mark(X1), X2, X3) |
mark(U83(X1, X2, X3)) | → | a__U83(mark(X1), X2, X3) | | mark(U84(X1, X2, X3)) | → | a__U84(mark(X1), X2, X3) |
mark(U91(X1, X2)) | → | a__U91(mark(X1), X2) | | mark(U92(X)) | → | a__U92(mark(X)) |
mark(tt) | → | tt | | mark(s(X)) | → | s(mark(X)) |
mark(0) | → | 0 | | a__U101(X1, X2, X3) | → | U101(X1, X2, X3) |
a__U102(X1, X2, X3) | → | U102(X1, X2, X3) | | a__isNatKind(X) | → | isNatKind(X) |
a__U103(X1, X2, X3) | → | U103(X1, X2, X3) | | a__isNat(X) | → | isNat(X) |
a__U104(X1, X2, X3) | → | U104(X1, X2, X3) | | a__plus(X1, X2) | → | plus(X1, X2) |
a__x(X1, X2) | → | x(X1, X2) | | a__U11(X1, X2, X3) | → | U11(X1, X2, X3) |
a__U12(X1, X2, X3) | → | U12(X1, X2, X3) | | a__U13(X1, X2, X3) | → | U13(X1, X2, X3) |
a__U14(X1, X2, X3) | → | U14(X1, X2, X3) | | a__U15(X1, X2) | → | U15(X1, X2) |
a__U16(X) | → | U16(X) | | a__U21(X1, X2) | → | U21(X1, X2) |
a__U22(X1, X2) | → | U22(X1, X2) | | a__U23(X) | → | U23(X) |
a__U31(X1, X2, X3) | → | U31(X1, X2, X3) | | a__U32(X1, X2, X3) | → | U32(X1, X2, X3) |
a__U33(X1, X2, X3) | → | U33(X1, X2, X3) | | a__U34(X1, X2, X3) | → | U34(X1, X2, X3) |
a__U35(X1, X2) | → | U35(X1, X2) | | a__U36(X) | → | U36(X) |
a__U41(X1, X2) | → | U41(X1, X2) | | a__U42(X) | → | U42(X) |
a__U51(X) | → | U51(X) | | a__U61(X1, X2) | → | U61(X1, X2) |
a__U62(X) | → | U62(X) | | a__U71(X1, X2) | → | U71(X1, X2) |
a__U72(X1, X2) | → | U72(X1, X2) | | a__U81(X1, X2, X3) | → | U81(X1, X2, X3) |
a__U82(X1, X2, X3) | → | U82(X1, X2, X3) | | a__U83(X1, X2, X3) | → | U83(X1, X2, X3) |
a__U84(X1, X2, X3) | → | U84(X1, X2, X3) | | a__U91(X1, X2) | → | U91(X1, X2) |
a__U92(X) | → | U92(X) |
Original Signature
Termination of terms over the following signature is verified: U104, U62, U61, a__U41, a__U72, a__U42, a__U71, U23, U21, U22, plus, a__U84, isNatKind, mark, U71, U36, U72, 0, a__isNat, a__U32, a__U83, a__U31, a__U82, a__U81, U31, U32, a__U36, U33, a__U35, U34, a__U34, a__U104, U35, a__U33, a__U103, a__U51, isNat, U42, a__U91, U92, U41, a__U92, U91, a__U23, a__U22, a__U102, a__U101, a__U21, a__U62, U83, a__plus, U84, U51, U14, s, U15, tt, U82, U16, a__U16, U81, a__U15, a__U14, a__U13, U11, U12, a__U12, U13, a__U11, a__U61, U102, a__x, U103, a__isNatKind, x, U101
Open Dependency Pair Problem 18
Dependency Pairs
mark#(U101(X1, X2, X3)) | → | mark#(X1) | | a__U71#(tt, N) | → | a__isNatKind#(N) |
mark#(U84(X1, X2, X3)) | → | mark#(X1) | | mark#(U35(X1, X2)) | → | a__U35#(mark(X1), X2) |
mark#(U32(X1, X2, X3)) | → | mark#(X1) | | a__U84#(tt, M, N) | → | mark#(N) |
mark#(U103(X1, X2, X3)) | → | mark#(X1) | | mark#(U104(X1, X2, X3)) | → | mark#(X1) |
mark#(U22(X1, X2)) | → | a__U22#(mark(X1), X2) | | a__U104#(tt, M, N) | → | mark#(N) |
a__U101#(tt, M, N) | → | a__U102#(a__isNatKind(M), M, N) | | a__plus#(N, s(M)) | → | a__U81#(a__isNat(M), M, N) |
a__U103#(tt, M, N) | → | a__U104#(a__isNatKind(N), M, N) | | mark#(U33(X1, X2, X3)) | → | mark#(X1) |
mark#(s(X)) | → | mark#(X) | | a__plus#(N, 0) | → | a__U71#(a__isNat(N), N) |
a__U84#(tt, M, N) | → | mark#(M) | | mark#(U71(X1, X2)) | → | a__U71#(mark(X1), X2) |
mark#(U84(X1, X2, X3)) | → | a__U84#(mark(X1), X2, X3) | | mark#(U13(X1, X2, X3)) | → | mark#(X1) |
mark#(U72(X1, X2)) | → | mark#(X1) | | mark#(plus(X1, X2)) | → | a__plus#(mark(X1), mark(X2)) |
mark#(U82(X1, X2, X3)) | → | mark#(X1) | | mark#(U92(X)) | → | a__U92#(mark(X)) |
mark#(U71(X1, X2)) | → | mark#(X1) | | mark#(U31(X1, X2, X3)) | → | mark#(X1) |
mark#(U101(X1, X2, X3)) | → | a__U101#(mark(X1), X2, X3) | | mark#(plus(X1, X2)) | → | mark#(X1) |
mark#(U51(X)) | → | mark#(X) | | mark#(U15(X1, X2)) | → | mark#(X1) |
mark#(U34(X1, X2, X3)) | → | mark#(X1) | | mark#(x(X1, X2)) | → | mark#(X2) |
mark#(U104(X1, X2, X3)) | → | a__U104#(mark(X1), X2, X3) | | mark#(U62(X)) | → | mark#(X) |
a__U72#(tt, N) | → | mark#(N) | | a__U104#(tt, M, N) | → | a__plus#(a__x(mark(N), mark(M)), mark(N)) |
a__U81#(tt, M, N) | → | a__U82#(a__isNatKind(M), M, N) | | mark#(U32(X1, X2, X3)) | → | a__U32#(mark(X1), X2, X3) |
mark#(U103(X1, X2, X3)) | → | a__U103#(mark(X1), X2, X3) | | mark#(U11(X1, X2, X3)) | → | mark#(X1) |
mark#(U61(X1, X2)) | → | mark#(X1) | | a__U71#(tt, N) | → | a__U72#(a__isNatKind(N), N) |
mark#(U91(X1, X2)) | → | mark#(X1) | | a__x#(N, s(M)) | → | a__U101#(a__isNat(M), M, N) |
mark#(x(X1, X2)) | → | a__x#(mark(X1), mark(X2)) | | mark#(U83(X1, X2, X3)) | → | a__U83#(mark(X1), X2, X3) |
a__U104#(tt, M, N) | → | a__x#(mark(N), mark(M)) | | mark#(U21(X1, X2)) | → | mark#(X1) |
mark#(U42(X)) | → | mark#(X) | | mark#(U35(X1, X2)) | → | mark#(X1) |
mark#(U81(X1, X2, X3)) | → | mark#(X1) | | mark#(U14(X1, X2, X3)) | → | mark#(X1) |
mark#(U16(X)) | → | mark#(X) | | a__U104#(tt, M, N) | → | mark#(M) |
mark#(U23(X)) | → | mark#(X) | | mark#(U22(X1, X2)) | → | mark#(X1) |
mark#(U83(X1, X2, X3)) | → | mark#(X1) | | mark#(plus(X1, X2)) | → | mark#(X2) |
mark#(U102(X1, X2, X3)) | → | mark#(X1) | | mark#(U82(X1, X2, X3)) | → | a__U82#(mark(X1), X2, X3) |
mark#(U102(X1, X2, X3)) | → | a__U102#(mark(X1), X2, X3) | | mark#(U41(X1, X2)) | → | mark#(X1) |
mark#(U12(X1, X2, X3)) | → | mark#(X1) | | a__U84#(tt, M, N) | → | a__plus#(mark(N), mark(M)) |
mark#(U72(X1, X2)) | → | a__U72#(mark(X1), X2) | | a__U82#(tt, M, N) | → | a__U83#(a__isNat(N), M, N) |
mark#(U21(X1, X2)) | → | a__U21#(mark(X1), X2) | | mark#(U92(X)) | → | mark#(X) |
mark#(U36(X)) | → | mark#(X) | | a__U102#(tt, M, N) | → | a__U103#(a__isNat(N), M, N) |
mark#(U81(X1, X2, X3)) | → | a__U81#(mark(X1), X2, X3) | | mark#(x(X1, X2)) | → | mark#(X1) |
a__U83#(tt, M, N) | → | a__U84#(a__isNatKind(N), M, N) |
Rewrite Rules
a__U101(tt, M, N) | → | a__U102(a__isNatKind(M), M, N) | | a__U102(tt, M, N) | → | a__U103(a__isNat(N), M, N) |
a__U103(tt, M, N) | → | a__U104(a__isNatKind(N), M, N) | | a__U104(tt, M, N) | → | a__plus(a__x(mark(N), mark(M)), mark(N)) |
a__U11(tt, V1, V2) | → | a__U12(a__isNatKind(V1), V1, V2) | | a__U12(tt, V1, V2) | → | a__U13(a__isNatKind(V2), V1, V2) |
a__U13(tt, V1, V2) | → | a__U14(a__isNatKind(V2), V1, V2) | | a__U14(tt, V1, V2) | → | a__U15(a__isNat(V1), V2) |
a__U15(tt, V2) | → | a__U16(a__isNat(V2)) | | a__U16(tt) | → | tt |
a__U21(tt, V1) | → | a__U22(a__isNatKind(V1), V1) | | a__U22(tt, V1) | → | a__U23(a__isNat(V1)) |
a__U23(tt) | → | tt | | a__U31(tt, V1, V2) | → | a__U32(a__isNatKind(V1), V1, V2) |
a__U32(tt, V1, V2) | → | a__U33(a__isNatKind(V2), V1, V2) | | a__U33(tt, V1, V2) | → | a__U34(a__isNatKind(V2), V1, V2) |
a__U34(tt, V1, V2) | → | a__U35(a__isNat(V1), V2) | | a__U35(tt, V2) | → | a__U36(a__isNat(V2)) |
a__U36(tt) | → | tt | | a__U41(tt, V2) | → | a__U42(a__isNatKind(V2)) |
a__U42(tt) | → | tt | | a__U51(tt) | → | tt |
a__U61(tt, V2) | → | a__U62(a__isNatKind(V2)) | | a__U62(tt) | → | tt |
a__U71(tt, N) | → | a__U72(a__isNatKind(N), N) | | a__U72(tt, N) | → | mark(N) |
a__U81(tt, M, N) | → | a__U82(a__isNatKind(M), M, N) | | a__U82(tt, M, N) | → | a__U83(a__isNat(N), M, N) |
a__U83(tt, M, N) | → | a__U84(a__isNatKind(N), M, N) | | a__U84(tt, M, N) | → | s(a__plus(mark(N), mark(M))) |
a__U91(tt, N) | → | a__U92(a__isNatKind(N)) | | a__U92(tt) | → | 0 |
a__isNat(0) | → | tt | | a__isNat(plus(V1, V2)) | → | a__U11(a__isNatKind(V1), V1, V2) |
a__isNat(s(V1)) | → | a__U21(a__isNatKind(V1), V1) | | a__isNat(x(V1, V2)) | → | a__U31(a__isNatKind(V1), V1, V2) |
a__isNatKind(0) | → | tt | | a__isNatKind(plus(V1, V2)) | → | a__U41(a__isNatKind(V1), V2) |
a__isNatKind(s(V1)) | → | a__U51(a__isNatKind(V1)) | | a__isNatKind(x(V1, V2)) | → | a__U61(a__isNatKind(V1), V2) |
a__plus(N, 0) | → | a__U71(a__isNat(N), N) | | a__plus(N, s(M)) | → | a__U81(a__isNat(M), M, N) |
a__x(N, 0) | → | a__U91(a__isNat(N), N) | | a__x(N, s(M)) | → | a__U101(a__isNat(M), M, N) |
mark(U101(X1, X2, X3)) | → | a__U101(mark(X1), X2, X3) | | mark(U102(X1, X2, X3)) | → | a__U102(mark(X1), X2, X3) |
mark(isNatKind(X)) | → | a__isNatKind(X) | | mark(U103(X1, X2, X3)) | → | a__U103(mark(X1), X2, X3) |
mark(isNat(X)) | → | a__isNat(X) | | mark(U104(X1, X2, X3)) | → | a__U104(mark(X1), X2, X3) |
mark(plus(X1, X2)) | → | a__plus(mark(X1), mark(X2)) | | mark(x(X1, X2)) | → | a__x(mark(X1), mark(X2)) |
mark(U11(X1, X2, X3)) | → | a__U11(mark(X1), X2, X3) | | mark(U12(X1, X2, X3)) | → | a__U12(mark(X1), X2, X3) |
mark(U13(X1, X2, X3)) | → | a__U13(mark(X1), X2, X3) | | mark(U14(X1, X2, X3)) | → | a__U14(mark(X1), X2, X3) |
mark(U15(X1, X2)) | → | a__U15(mark(X1), X2) | | mark(U16(X)) | → | a__U16(mark(X)) |
mark(U21(X1, X2)) | → | a__U21(mark(X1), X2) | | mark(U22(X1, X2)) | → | a__U22(mark(X1), X2) |
mark(U23(X)) | → | a__U23(mark(X)) | | mark(U31(X1, X2, X3)) | → | a__U31(mark(X1), X2, X3) |
mark(U32(X1, X2, X3)) | → | a__U32(mark(X1), X2, X3) | | mark(U33(X1, X2, X3)) | → | a__U33(mark(X1), X2, X3) |
mark(U34(X1, X2, X3)) | → | a__U34(mark(X1), X2, X3) | | mark(U35(X1, X2)) | → | a__U35(mark(X1), X2) |
mark(U36(X)) | → | a__U36(mark(X)) | | mark(U41(X1, X2)) | → | a__U41(mark(X1), X2) |
mark(U42(X)) | → | a__U42(mark(X)) | | mark(U51(X)) | → | a__U51(mark(X)) |
mark(U61(X1, X2)) | → | a__U61(mark(X1), X2) | | mark(U62(X)) | → | a__U62(mark(X)) |
mark(U71(X1, X2)) | → | a__U71(mark(X1), X2) | | mark(U72(X1, X2)) | → | a__U72(mark(X1), X2) |
mark(U81(X1, X2, X3)) | → | a__U81(mark(X1), X2, X3) | | mark(U82(X1, X2, X3)) | → | a__U82(mark(X1), X2, X3) |
mark(U83(X1, X2, X3)) | → | a__U83(mark(X1), X2, X3) | | mark(U84(X1, X2, X3)) | → | a__U84(mark(X1), X2, X3) |
mark(U91(X1, X2)) | → | a__U91(mark(X1), X2) | | mark(U92(X)) | → | a__U92(mark(X)) |
mark(tt) | → | tt | | mark(s(X)) | → | s(mark(X)) |
mark(0) | → | 0 | | a__U101(X1, X2, X3) | → | U101(X1, X2, X3) |
a__U102(X1, X2, X3) | → | U102(X1, X2, X3) | | a__isNatKind(X) | → | isNatKind(X) |
a__U103(X1, X2, X3) | → | U103(X1, X2, X3) | | a__isNat(X) | → | isNat(X) |
a__U104(X1, X2, X3) | → | U104(X1, X2, X3) | | a__plus(X1, X2) | → | plus(X1, X2) |
a__x(X1, X2) | → | x(X1, X2) | | a__U11(X1, X2, X3) | → | U11(X1, X2, X3) |
a__U12(X1, X2, X3) | → | U12(X1, X2, X3) | | a__U13(X1, X2, X3) | → | U13(X1, X2, X3) |
a__U14(X1, X2, X3) | → | U14(X1, X2, X3) | | a__U15(X1, X2) | → | U15(X1, X2) |
a__U16(X) | → | U16(X) | | a__U21(X1, X2) | → | U21(X1, X2) |
a__U22(X1, X2) | → | U22(X1, X2) | | a__U23(X) | → | U23(X) |
a__U31(X1, X2, X3) | → | U31(X1, X2, X3) | | a__U32(X1, X2, X3) | → | U32(X1, X2, X3) |
a__U33(X1, X2, X3) | → | U33(X1, X2, X3) | | a__U34(X1, X2, X3) | → | U34(X1, X2, X3) |
a__U35(X1, X2) | → | U35(X1, X2) | | a__U36(X) | → | U36(X) |
a__U41(X1, X2) | → | U41(X1, X2) | | a__U42(X) | → | U42(X) |
a__U51(X) | → | U51(X) | | a__U61(X1, X2) | → | U61(X1, X2) |
a__U62(X) | → | U62(X) | | a__U71(X1, X2) | → | U71(X1, X2) |
a__U72(X1, X2) | → | U72(X1, X2) | | a__U81(X1, X2, X3) | → | U81(X1, X2, X3) |
a__U82(X1, X2, X3) | → | U82(X1, X2, X3) | | a__U83(X1, X2, X3) | → | U83(X1, X2, X3) |
a__U84(X1, X2, X3) | → | U84(X1, X2, X3) | | a__U91(X1, X2) | → | U91(X1, X2) |
a__U92(X) | → | U92(X) |
Original Signature
Termination of terms over the following signature is verified: U104, U62, U61, a__U41, a__U72, a__U42, a__U71, U23, U21, U22, plus, a__U84, isNatKind, mark, U71, U36, U72, 0, a__isNat, a__U32, a__U83, a__U31, a__U82, a__U81, U31, U32, a__U36, U33, a__U35, U34, a__U34, a__U104, U35, a__U33, a__U103, a__U51, isNat, U42, a__U91, U92, U41, a__U92, U91, a__U23, a__U22, a__U102, a__U101, a__U21, a__U62, U83, a__plus, U84, U51, U14, s, U15, tt, U82, U16, a__U16, U81, a__U15, a__U14, a__U13, U11, U12, a__U12, U13, a__U11, a__U61, U102, a__x, U103, a__isNatKind, x, U101
Open Dependency Pair Problem 21
Dependency Pairs
mark#(U101(X1, X2, X3)) | → | mark#(X1) | | a__U71#(tt, N) | → | a__isNatKind#(N) |
mark#(U84(X1, X2, X3)) | → | mark#(X1) | | mark#(U35(X1, X2)) | → | a__U35#(mark(X1), X2) |
mark#(U32(X1, X2, X3)) | → | mark#(X1) | | mark#(U103(X1, X2, X3)) | → | mark#(X1) |
a__U84#(tt, M, N) | → | mark#(N) | | mark#(U104(X1, X2, X3)) | → | mark#(X1) |
mark#(U22(X1, X2)) | → | a__U22#(mark(X1), X2) | | a__U104#(tt, M, N) | → | mark#(N) |
a__U101#(tt, M, N) | → | a__U102#(a__isNatKind(M), M, N) | | a__plus#(N, s(M)) | → | a__U81#(a__isNat(M), M, N) |
a__U103#(tt, M, N) | → | a__U104#(a__isNatKind(N), M, N) | | mark#(U33(X1, X2, X3)) | → | mark#(X1) |
mark#(s(X)) | → | mark#(X) | | a__plus#(N, 0) | → | a__U71#(a__isNat(N), N) |
a__U84#(tt, M, N) | → | mark#(M) | | mark#(U71(X1, X2)) | → | a__U71#(mark(X1), X2) |
mark#(U84(X1, X2, X3)) | → | a__U84#(mark(X1), X2, X3) | | mark#(U13(X1, X2, X3)) | → | mark#(X1) |
mark#(U72(X1, X2)) | → | mark#(X1) | | mark#(plus(X1, X2)) | → | a__plus#(mark(X1), mark(X2)) |
mark#(U82(X1, X2, X3)) | → | mark#(X1) | | mark#(U71(X1, X2)) | → | mark#(X1) |
mark#(U31(X1, X2, X3)) | → | mark#(X1) | | mark#(U101(X1, X2, X3)) | → | a__U101#(mark(X1), X2, X3) |
mark#(plus(X1, X2)) | → | mark#(X1) | | mark#(U51(X)) | → | mark#(X) |
mark#(U15(X1, X2)) | → | mark#(X1) | | mark#(U34(X1, X2, X3)) | → | mark#(X1) |
mark#(x(X1, X2)) | → | mark#(X2) | | mark#(U104(X1, X2, X3)) | → | a__U104#(mark(X1), X2, X3) |
mark#(U62(X)) | → | mark#(X) | | a__U72#(tt, N) | → | mark#(N) |
a__U104#(tt, M, N) | → | a__plus#(a__x(mark(N), mark(M)), mark(N)) | | a__U81#(tt, M, N) | → | a__U82#(a__isNatKind(M), M, N) |
mark#(U103(X1, X2, X3)) | → | a__U103#(mark(X1), X2, X3) | | mark#(U11(X1, X2, X3)) | → | a__U11#(mark(X1), X2, X3) |
mark#(U11(X1, X2, X3)) | → | mark#(X1) | | mark#(U61(X1, X2)) | → | mark#(X1) |
a__U71#(tt, N) | → | a__U72#(a__isNatKind(N), N) | | mark#(U91(X1, X2)) | → | mark#(X1) |
a__x#(N, s(M)) | → | a__U101#(a__isNat(M), M, N) | | mark#(x(X1, X2)) | → | a__x#(mark(X1), mark(X2)) |
mark#(U83(X1, X2, X3)) | → | a__U83#(mark(X1), X2, X3) | | a__U104#(tt, M, N) | → | a__x#(mark(N), mark(M)) |
mark#(U21(X1, X2)) | → | mark#(X1) | | mark#(U42(X)) | → | mark#(X) |
mark#(U35(X1, X2)) | → | mark#(X1) | | mark#(U81(X1, X2, X3)) | → | mark#(X1) |
mark#(U14(X1, X2, X3)) | → | mark#(X1) | | mark#(U16(X)) | → | mark#(X) |
a__U104#(tt, M, N) | → | mark#(M) | | mark#(U22(X1, X2)) | → | mark#(X1) |
mark#(U23(X)) | → | mark#(X) | | mark#(U83(X1, X2, X3)) | → | mark#(X1) |
mark#(plus(X1, X2)) | → | mark#(X2) | | mark#(U102(X1, X2, X3)) | → | mark#(X1) |
mark#(U82(X1, X2, X3)) | → | a__U82#(mark(X1), X2, X3) | | mark#(U102(X1, X2, X3)) | → | a__U102#(mark(X1), X2, X3) |
mark#(U41(X1, X2)) | → | mark#(X1) | | mark#(U33(X1, X2, X3)) | → | a__U33#(mark(X1), X2, X3) |
mark#(U12(X1, X2, X3)) | → | mark#(X1) | | a__U84#(tt, M, N) | → | a__plus#(mark(N), mark(M)) |
mark#(U72(X1, X2)) | → | a__U72#(mark(X1), X2) | | a__U82#(tt, M, N) | → | a__U83#(a__isNat(N), M, N) |
mark#(U21(X1, X2)) | → | a__U21#(mark(X1), X2) | | mark#(U92(X)) | → | mark#(X) |
mark#(U36(X)) | → | mark#(X) | | a__U102#(tt, M, N) | → | a__U103#(a__isNat(N), M, N) |
mark#(U81(X1, X2, X3)) | → | a__U81#(mark(X1), X2, X3) | | mark#(x(X1, X2)) | → | mark#(X1) |
a__U83#(tt, M, N) | → | a__U84#(a__isNatKind(N), M, N) |
Rewrite Rules
a__U101(tt, M, N) | → | a__U102(a__isNatKind(M), M, N) | | a__U102(tt, M, N) | → | a__U103(a__isNat(N), M, N) |
a__U103(tt, M, N) | → | a__U104(a__isNatKind(N), M, N) | | a__U104(tt, M, N) | → | a__plus(a__x(mark(N), mark(M)), mark(N)) |
a__U11(tt, V1, V2) | → | a__U12(a__isNatKind(V1), V1, V2) | | a__U12(tt, V1, V2) | → | a__U13(a__isNatKind(V2), V1, V2) |
a__U13(tt, V1, V2) | → | a__U14(a__isNatKind(V2), V1, V2) | | a__U14(tt, V1, V2) | → | a__U15(a__isNat(V1), V2) |
a__U15(tt, V2) | → | a__U16(a__isNat(V2)) | | a__U16(tt) | → | tt |
a__U21(tt, V1) | → | a__U22(a__isNatKind(V1), V1) | | a__U22(tt, V1) | → | a__U23(a__isNat(V1)) |
a__U23(tt) | → | tt | | a__U31(tt, V1, V2) | → | a__U32(a__isNatKind(V1), V1, V2) |
a__U32(tt, V1, V2) | → | a__U33(a__isNatKind(V2), V1, V2) | | a__U33(tt, V1, V2) | → | a__U34(a__isNatKind(V2), V1, V2) |
a__U34(tt, V1, V2) | → | a__U35(a__isNat(V1), V2) | | a__U35(tt, V2) | → | a__U36(a__isNat(V2)) |
a__U36(tt) | → | tt | | a__U41(tt, V2) | → | a__U42(a__isNatKind(V2)) |
a__U42(tt) | → | tt | | a__U51(tt) | → | tt |
a__U61(tt, V2) | → | a__U62(a__isNatKind(V2)) | | a__U62(tt) | → | tt |
a__U71(tt, N) | → | a__U72(a__isNatKind(N), N) | | a__U72(tt, N) | → | mark(N) |
a__U81(tt, M, N) | → | a__U82(a__isNatKind(M), M, N) | | a__U82(tt, M, N) | → | a__U83(a__isNat(N), M, N) |
a__U83(tt, M, N) | → | a__U84(a__isNatKind(N), M, N) | | a__U84(tt, M, N) | → | s(a__plus(mark(N), mark(M))) |
a__U91(tt, N) | → | a__U92(a__isNatKind(N)) | | a__U92(tt) | → | 0 |
a__isNat(0) | → | tt | | a__isNat(plus(V1, V2)) | → | a__U11(a__isNatKind(V1), V1, V2) |
a__isNat(s(V1)) | → | a__U21(a__isNatKind(V1), V1) | | a__isNat(x(V1, V2)) | → | a__U31(a__isNatKind(V1), V1, V2) |
a__isNatKind(0) | → | tt | | a__isNatKind(plus(V1, V2)) | → | a__U41(a__isNatKind(V1), V2) |
a__isNatKind(s(V1)) | → | a__U51(a__isNatKind(V1)) | | a__isNatKind(x(V1, V2)) | → | a__U61(a__isNatKind(V1), V2) |
a__plus(N, 0) | → | a__U71(a__isNat(N), N) | | a__plus(N, s(M)) | → | a__U81(a__isNat(M), M, N) |
a__x(N, 0) | → | a__U91(a__isNat(N), N) | | a__x(N, s(M)) | → | a__U101(a__isNat(M), M, N) |
mark(U101(X1, X2, X3)) | → | a__U101(mark(X1), X2, X3) | | mark(U102(X1, X2, X3)) | → | a__U102(mark(X1), X2, X3) |
mark(isNatKind(X)) | → | a__isNatKind(X) | | mark(U103(X1, X2, X3)) | → | a__U103(mark(X1), X2, X3) |
mark(isNat(X)) | → | a__isNat(X) | | mark(U104(X1, X2, X3)) | → | a__U104(mark(X1), X2, X3) |
mark(plus(X1, X2)) | → | a__plus(mark(X1), mark(X2)) | | mark(x(X1, X2)) | → | a__x(mark(X1), mark(X2)) |
mark(U11(X1, X2, X3)) | → | a__U11(mark(X1), X2, X3) | | mark(U12(X1, X2, X3)) | → | a__U12(mark(X1), X2, X3) |
mark(U13(X1, X2, X3)) | → | a__U13(mark(X1), X2, X3) | | mark(U14(X1, X2, X3)) | → | a__U14(mark(X1), X2, X3) |
mark(U15(X1, X2)) | → | a__U15(mark(X1), X2) | | mark(U16(X)) | → | a__U16(mark(X)) |
mark(U21(X1, X2)) | → | a__U21(mark(X1), X2) | | mark(U22(X1, X2)) | → | a__U22(mark(X1), X2) |
mark(U23(X)) | → | a__U23(mark(X)) | | mark(U31(X1, X2, X3)) | → | a__U31(mark(X1), X2, X3) |
mark(U32(X1, X2, X3)) | → | a__U32(mark(X1), X2, X3) | | mark(U33(X1, X2, X3)) | → | a__U33(mark(X1), X2, X3) |
mark(U34(X1, X2, X3)) | → | a__U34(mark(X1), X2, X3) | | mark(U35(X1, X2)) | → | a__U35(mark(X1), X2) |
mark(U36(X)) | → | a__U36(mark(X)) | | mark(U41(X1, X2)) | → | a__U41(mark(X1), X2) |
mark(U42(X)) | → | a__U42(mark(X)) | | mark(U51(X)) | → | a__U51(mark(X)) |
mark(U61(X1, X2)) | → | a__U61(mark(X1), X2) | | mark(U62(X)) | → | a__U62(mark(X)) |
mark(U71(X1, X2)) | → | a__U71(mark(X1), X2) | | mark(U72(X1, X2)) | → | a__U72(mark(X1), X2) |
mark(U81(X1, X2, X3)) | → | a__U81(mark(X1), X2, X3) | | mark(U82(X1, X2, X3)) | → | a__U82(mark(X1), X2, X3) |
mark(U83(X1, X2, X3)) | → | a__U83(mark(X1), X2, X3) | | mark(U84(X1, X2, X3)) | → | a__U84(mark(X1), X2, X3) |
mark(U91(X1, X2)) | → | a__U91(mark(X1), X2) | | mark(U92(X)) | → | a__U92(mark(X)) |
mark(tt) | → | tt | | mark(s(X)) | → | s(mark(X)) |
mark(0) | → | 0 | | a__U101(X1, X2, X3) | → | U101(X1, X2, X3) |
a__U102(X1, X2, X3) | → | U102(X1, X2, X3) | | a__isNatKind(X) | → | isNatKind(X) |
a__U103(X1, X2, X3) | → | U103(X1, X2, X3) | | a__isNat(X) | → | isNat(X) |
a__U104(X1, X2, X3) | → | U104(X1, X2, X3) | | a__plus(X1, X2) | → | plus(X1, X2) |
a__x(X1, X2) | → | x(X1, X2) | | a__U11(X1, X2, X3) | → | U11(X1, X2, X3) |
a__U12(X1, X2, X3) | → | U12(X1, X2, X3) | | a__U13(X1, X2, X3) | → | U13(X1, X2, X3) |
a__U14(X1, X2, X3) | → | U14(X1, X2, X3) | | a__U15(X1, X2) | → | U15(X1, X2) |
a__U16(X) | → | U16(X) | | a__U21(X1, X2) | → | U21(X1, X2) |
a__U22(X1, X2) | → | U22(X1, X2) | | a__U23(X) | → | U23(X) |
a__U31(X1, X2, X3) | → | U31(X1, X2, X3) | | a__U32(X1, X2, X3) | → | U32(X1, X2, X3) |
a__U33(X1, X2, X3) | → | U33(X1, X2, X3) | | a__U34(X1, X2, X3) | → | U34(X1, X2, X3) |
a__U35(X1, X2) | → | U35(X1, X2) | | a__U36(X) | → | U36(X) |
a__U41(X1, X2) | → | U41(X1, X2) | | a__U42(X) | → | U42(X) |
a__U51(X) | → | U51(X) | | a__U61(X1, X2) | → | U61(X1, X2) |
a__U62(X) | → | U62(X) | | a__U71(X1, X2) | → | U71(X1, X2) |
a__U72(X1, X2) | → | U72(X1, X2) | | a__U81(X1, X2, X3) | → | U81(X1, X2, X3) |
a__U82(X1, X2, X3) | → | U82(X1, X2, X3) | | a__U83(X1, X2, X3) | → | U83(X1, X2, X3) |
a__U84(X1, X2, X3) | → | U84(X1, X2, X3) | | a__U91(X1, X2) | → | U91(X1, X2) |
a__U92(X) | → | U92(X) |
Original Signature
Termination of terms over the following signature is verified: U104, U62, U61, a__U41, a__U72, a__U42, a__U71, U23, U21, U22, plus, a__U84, isNatKind, mark, U71, U36, U72, 0, a__isNat, a__U32, a__U83, a__U31, a__U82, a__U81, U31, U32, a__U36, U33, a__U35, U34, a__U34, a__U104, U35, a__U33, a__U103, a__U51, isNat, U42, a__U91, U92, U41, a__U92, U91, a__U23, a__U22, a__U102, a__U101, a__U21, a__U62, U83, a__plus, U84, U51, U14, s, U15, tt, U82, U16, a__U16, U81, a__U15, a__U14, a__U13, U11, U12, a__U12, U13, a__U11, a__U61, U102, a__x, U103, a__isNatKind, x, U101
Open Dependency Pair Problem 20
Dependency Pairs
mark#(U101(X1, X2, X3)) | → | mark#(X1) | | mark#(U84(X1, X2, X3)) | → | mark#(X1) |
mark#(U35(X1, X2)) | → | a__U35#(mark(X1), X2) | | mark#(U32(X1, X2, X3)) | → | mark#(X1) |
mark#(U103(X1, X2, X3)) | → | mark#(X1) | | a__U84#(tt, M, N) | → | mark#(N) |
mark#(U104(X1, X2, X3)) | → | mark#(X1) | | mark#(U22(X1, X2)) | → | a__U22#(mark(X1), X2) |
a__U104#(tt, M, N) | → | mark#(N) | | mark#(U23(X)) | → | a__U23#(mark(X)) |
a__U101#(tt, M, N) | → | a__U102#(a__isNatKind(M), M, N) | | a__plus#(N, s(M)) | → | a__U81#(a__isNat(M), M, N) |
a__U103#(tt, M, N) | → | a__U104#(a__isNatKind(N), M, N) | | mark#(U33(X1, X2, X3)) | → | mark#(X1) |
mark#(s(X)) | → | mark#(X) | | a__plus#(N, 0) | → | a__U71#(a__isNat(N), N) |
a__U84#(tt, M, N) | → | mark#(M) | | mark#(U71(X1, X2)) | → | a__U71#(mark(X1), X2) |
mark#(U84(X1, X2, X3)) | → | a__U84#(mark(X1), X2, X3) | | mark#(U13(X1, X2, X3)) | → | mark#(X1) |
mark#(U72(X1, X2)) | → | mark#(X1) | | mark#(plus(X1, X2)) | → | a__plus#(mark(X1), mark(X2)) |
mark#(U82(X1, X2, X3)) | → | mark#(X1) | | mark#(U71(X1, X2)) | → | mark#(X1) |
mark#(U92(X)) | → | a__U92#(mark(X)) | | mark#(U31(X1, X2, X3)) | → | mark#(X1) |
mark#(U101(X1, X2, X3)) | → | a__U101#(mark(X1), X2, X3) | | mark#(plus(X1, X2)) | → | mark#(X1) |
mark#(U15(X1, X2)) | → | mark#(X1) | | mark#(U51(X)) | → | mark#(X) |
mark#(U34(X1, X2, X3)) | → | mark#(X1) | | mark#(U15(X1, X2)) | → | a__U15#(mark(X1), X2) |
mark#(x(X1, X2)) | → | mark#(X2) | | mark#(U104(X1, X2, X3)) | → | a__U104#(mark(X1), X2, X3) |
mark#(U62(X)) | → | mark#(X) | | a__U72#(tt, N) | → | mark#(N) |
a__U104#(tt, M, N) | → | a__plus#(a__x(mark(N), mark(M)), mark(N)) | | a__U81#(tt, M, N) | → | a__U82#(a__isNatKind(M), M, N) |
mark#(U103(X1, X2, X3)) | → | a__U103#(mark(X1), X2, X3) | | mark#(U11(X1, X2, X3)) | → | mark#(X1) |
mark#(U61(X1, X2)) | → | mark#(X1) | | a__U71#(tt, N) | → | a__U72#(a__isNatKind(N), N) |
mark#(U91(X1, X2)) | → | mark#(X1) | | mark#(isNat(X)) | → | a__isNat#(X) |
a__x#(N, s(M)) | → | a__U101#(a__isNat(M), M, N) | | mark#(x(X1, X2)) | → | a__x#(mark(X1), mark(X2)) |
mark#(U83(X1, X2, X3)) | → | a__U83#(mark(X1), X2, X3) | | a__U104#(tt, M, N) | → | a__x#(mark(N), mark(M)) |
mark#(U21(X1, X2)) | → | mark#(X1) | | mark#(U42(X)) | → | mark#(X) |
mark#(U35(X1, X2)) | → | mark#(X1) | | mark#(U14(X1, X2, X3)) | → | mark#(X1) |
mark#(U81(X1, X2, X3)) | → | mark#(X1) | | mark#(U16(X)) | → | mark#(X) |
a__U104#(tt, M, N) | → | mark#(M) | | mark#(U22(X1, X2)) | → | mark#(X1) |
mark#(U23(X)) | → | mark#(X) | | mark#(U83(X1, X2, X3)) | → | mark#(X1) |
mark#(plus(X1, X2)) | → | mark#(X2) | | mark#(U102(X1, X2, X3)) | → | mark#(X1) |
mark#(U82(X1, X2, X3)) | → | a__U82#(mark(X1), X2, X3) | | mark#(U102(X1, X2, X3)) | → | a__U102#(mark(X1), X2, X3) |
mark#(U41(X1, X2)) | → | mark#(X1) | | mark#(U12(X1, X2, X3)) | → | mark#(X1) |
mark#(U34(X1, X2, X3)) | → | a__U34#(mark(X1), X2, X3) | | mark#(U33(X1, X2, X3)) | → | a__U33#(mark(X1), X2, X3) |
a__U84#(tt, M, N) | → | a__plus#(mark(N), mark(M)) | | mark#(U72(X1, X2)) | → | a__U72#(mark(X1), X2) |
a__U82#(tt, M, N) | → | a__U83#(a__isNat(N), M, N) | | mark#(U92(X)) | → | mark#(X) |
mark#(U21(X1, X2)) | → | a__U21#(mark(X1), X2) | | mark#(U36(X)) | → | mark#(X) |
a__U102#(tt, M, N) | → | a__U103#(a__isNat(N), M, N) | | mark#(U81(X1, X2, X3)) | → | a__U81#(mark(X1), X2, X3) |
mark#(x(X1, X2)) | → | mark#(X1) | | a__U83#(tt, M, N) | → | a__U84#(a__isNatKind(N), M, N) |
Rewrite Rules
a__U101(tt, M, N) | → | a__U102(a__isNatKind(M), M, N) | | a__U102(tt, M, N) | → | a__U103(a__isNat(N), M, N) |
a__U103(tt, M, N) | → | a__U104(a__isNatKind(N), M, N) | | a__U104(tt, M, N) | → | a__plus(a__x(mark(N), mark(M)), mark(N)) |
a__U11(tt, V1, V2) | → | a__U12(a__isNatKind(V1), V1, V2) | | a__U12(tt, V1, V2) | → | a__U13(a__isNatKind(V2), V1, V2) |
a__U13(tt, V1, V2) | → | a__U14(a__isNatKind(V2), V1, V2) | | a__U14(tt, V1, V2) | → | a__U15(a__isNat(V1), V2) |
a__U15(tt, V2) | → | a__U16(a__isNat(V2)) | | a__U16(tt) | → | tt |
a__U21(tt, V1) | → | a__U22(a__isNatKind(V1), V1) | | a__U22(tt, V1) | → | a__U23(a__isNat(V1)) |
a__U23(tt) | → | tt | | a__U31(tt, V1, V2) | → | a__U32(a__isNatKind(V1), V1, V2) |
a__U32(tt, V1, V2) | → | a__U33(a__isNatKind(V2), V1, V2) | | a__U33(tt, V1, V2) | → | a__U34(a__isNatKind(V2), V1, V2) |
a__U34(tt, V1, V2) | → | a__U35(a__isNat(V1), V2) | | a__U35(tt, V2) | → | a__U36(a__isNat(V2)) |
a__U36(tt) | → | tt | | a__U41(tt, V2) | → | a__U42(a__isNatKind(V2)) |
a__U42(tt) | → | tt | | a__U51(tt) | → | tt |
a__U61(tt, V2) | → | a__U62(a__isNatKind(V2)) | | a__U62(tt) | → | tt |
a__U71(tt, N) | → | a__U72(a__isNatKind(N), N) | | a__U72(tt, N) | → | mark(N) |
a__U81(tt, M, N) | → | a__U82(a__isNatKind(M), M, N) | | a__U82(tt, M, N) | → | a__U83(a__isNat(N), M, N) |
a__U83(tt, M, N) | → | a__U84(a__isNatKind(N), M, N) | | a__U84(tt, M, N) | → | s(a__plus(mark(N), mark(M))) |
a__U91(tt, N) | → | a__U92(a__isNatKind(N)) | | a__U92(tt) | → | 0 |
a__isNat(0) | → | tt | | a__isNat(plus(V1, V2)) | → | a__U11(a__isNatKind(V1), V1, V2) |
a__isNat(s(V1)) | → | a__U21(a__isNatKind(V1), V1) | | a__isNat(x(V1, V2)) | → | a__U31(a__isNatKind(V1), V1, V2) |
a__isNatKind(0) | → | tt | | a__isNatKind(plus(V1, V2)) | → | a__U41(a__isNatKind(V1), V2) |
a__isNatKind(s(V1)) | → | a__U51(a__isNatKind(V1)) | | a__isNatKind(x(V1, V2)) | → | a__U61(a__isNatKind(V1), V2) |
a__plus(N, 0) | → | a__U71(a__isNat(N), N) | | a__plus(N, s(M)) | → | a__U81(a__isNat(M), M, N) |
a__x(N, 0) | → | a__U91(a__isNat(N), N) | | a__x(N, s(M)) | → | a__U101(a__isNat(M), M, N) |
mark(U101(X1, X2, X3)) | → | a__U101(mark(X1), X2, X3) | | mark(U102(X1, X2, X3)) | → | a__U102(mark(X1), X2, X3) |
mark(isNatKind(X)) | → | a__isNatKind(X) | | mark(U103(X1, X2, X3)) | → | a__U103(mark(X1), X2, X3) |
mark(isNat(X)) | → | a__isNat(X) | | mark(U104(X1, X2, X3)) | → | a__U104(mark(X1), X2, X3) |
mark(plus(X1, X2)) | → | a__plus(mark(X1), mark(X2)) | | mark(x(X1, X2)) | → | a__x(mark(X1), mark(X2)) |
mark(U11(X1, X2, X3)) | → | a__U11(mark(X1), X2, X3) | | mark(U12(X1, X2, X3)) | → | a__U12(mark(X1), X2, X3) |
mark(U13(X1, X2, X3)) | → | a__U13(mark(X1), X2, X3) | | mark(U14(X1, X2, X3)) | → | a__U14(mark(X1), X2, X3) |
mark(U15(X1, X2)) | → | a__U15(mark(X1), X2) | | mark(U16(X)) | → | a__U16(mark(X)) |
mark(U21(X1, X2)) | → | a__U21(mark(X1), X2) | | mark(U22(X1, X2)) | → | a__U22(mark(X1), X2) |
mark(U23(X)) | → | a__U23(mark(X)) | | mark(U31(X1, X2, X3)) | → | a__U31(mark(X1), X2, X3) |
mark(U32(X1, X2, X3)) | → | a__U32(mark(X1), X2, X3) | | mark(U33(X1, X2, X3)) | → | a__U33(mark(X1), X2, X3) |
mark(U34(X1, X2, X3)) | → | a__U34(mark(X1), X2, X3) | | mark(U35(X1, X2)) | → | a__U35(mark(X1), X2) |
mark(U36(X)) | → | a__U36(mark(X)) | | mark(U41(X1, X2)) | → | a__U41(mark(X1), X2) |
mark(U42(X)) | → | a__U42(mark(X)) | | mark(U51(X)) | → | a__U51(mark(X)) |
mark(U61(X1, X2)) | → | a__U61(mark(X1), X2) | | mark(U62(X)) | → | a__U62(mark(X)) |
mark(U71(X1, X2)) | → | a__U71(mark(X1), X2) | | mark(U72(X1, X2)) | → | a__U72(mark(X1), X2) |
mark(U81(X1, X2, X3)) | → | a__U81(mark(X1), X2, X3) | | mark(U82(X1, X2, X3)) | → | a__U82(mark(X1), X2, X3) |
mark(U83(X1, X2, X3)) | → | a__U83(mark(X1), X2, X3) | | mark(U84(X1, X2, X3)) | → | a__U84(mark(X1), X2, X3) |
mark(U91(X1, X2)) | → | a__U91(mark(X1), X2) | | mark(U92(X)) | → | a__U92(mark(X)) |
mark(tt) | → | tt | | mark(s(X)) | → | s(mark(X)) |
mark(0) | → | 0 | | a__U101(X1, X2, X3) | → | U101(X1, X2, X3) |
a__U102(X1, X2, X3) | → | U102(X1, X2, X3) | | a__isNatKind(X) | → | isNatKind(X) |
a__U103(X1, X2, X3) | → | U103(X1, X2, X3) | | a__isNat(X) | → | isNat(X) |
a__U104(X1, X2, X3) | → | U104(X1, X2, X3) | | a__plus(X1, X2) | → | plus(X1, X2) |
a__x(X1, X2) | → | x(X1, X2) | | a__U11(X1, X2, X3) | → | U11(X1, X2, X3) |
a__U12(X1, X2, X3) | → | U12(X1, X2, X3) | | a__U13(X1, X2, X3) | → | U13(X1, X2, X3) |
a__U14(X1, X2, X3) | → | U14(X1, X2, X3) | | a__U15(X1, X2) | → | U15(X1, X2) |
a__U16(X) | → | U16(X) | | a__U21(X1, X2) | → | U21(X1, X2) |
a__U22(X1, X2) | → | U22(X1, X2) | | a__U23(X) | → | U23(X) |
a__U31(X1, X2, X3) | → | U31(X1, X2, X3) | | a__U32(X1, X2, X3) | → | U32(X1, X2, X3) |
a__U33(X1, X2, X3) | → | U33(X1, X2, X3) | | a__U34(X1, X2, X3) | → | U34(X1, X2, X3) |
a__U35(X1, X2) | → | U35(X1, X2) | | a__U36(X) | → | U36(X) |
a__U41(X1, X2) | → | U41(X1, X2) | | a__U42(X) | → | U42(X) |
a__U51(X) | → | U51(X) | | a__U61(X1, X2) | → | U61(X1, X2) |
a__U62(X) | → | U62(X) | | a__U71(X1, X2) | → | U71(X1, X2) |
a__U72(X1, X2) | → | U72(X1, X2) | | a__U81(X1, X2, X3) | → | U81(X1, X2, X3) |
a__U82(X1, X2, X3) | → | U82(X1, X2, X3) | | a__U83(X1, X2, X3) | → | U83(X1, X2, X3) |
a__U84(X1, X2, X3) | → | U84(X1, X2, X3) | | a__U91(X1, X2) | → | U91(X1, X2) |
a__U92(X) | → | U92(X) |
Original Signature
Termination of terms over the following signature is verified: U104, U62, U61, a__U41, a__U72, a__U42, a__U71, U23, U21, U22, plus, a__U84, isNatKind, mark, U71, U36, U72, 0, a__isNat, a__U32, a__U83, a__U31, a__U82, a__U81, U31, U32, a__U36, U33, a__U35, U34, a__U34, a__U104, U35, a__U33, a__U103, a__U51, isNat, U42, a__U91, U92, U41, a__U92, U91, a__U23, a__U22, a__U102, a__U101, a__U21, a__U62, U83, a__plus, U84, U51, U14, s, U15, tt, U82, U16, a__U16, U81, a__U15, a__U14, a__U13, U11, U12, a__U12, U13, a__U11, a__U61, U102, a__x, U103, a__isNatKind, x, U101
Open Dependency Pair Problem 23
Dependency Pairs
mark#(U101(X1, X2, X3)) | → | mark#(X1) | | mark#(U35(X1, X2)) | → | a__U35#(mark(X1), X2) |
mark#(U84(X1, X2, X3)) | → | mark#(X1) | | mark#(U32(X1, X2, X3)) | → | mark#(X1) |
mark#(U103(X1, X2, X3)) | → | mark#(X1) | | a__U84#(tt, M, N) | → | mark#(N) |
mark#(U104(X1, X2, X3)) | → | mark#(X1) | | mark#(U22(X1, X2)) | → | a__U22#(mark(X1), X2) |
a__U104#(tt, M, N) | → | mark#(N) | | a__U101#(tt, M, N) | → | a__U102#(a__isNatKind(M), M, N) |
mark#(U23(X)) | → | a__U23#(mark(X)) | | a__plus#(N, s(M)) | → | a__U81#(a__isNat(M), M, N) |
a__U103#(tt, M, N) | → | a__U104#(a__isNatKind(N), M, N) | | mark#(U33(X1, X2, X3)) | → | mark#(X1) |
mark#(s(X)) | → | mark#(X) | | a__plus#(N, 0) | → | a__U71#(a__isNat(N), N) |
a__U84#(tt, M, N) | → | mark#(M) | | mark#(U71(X1, X2)) | → | a__U71#(mark(X1), X2) |
mark#(U84(X1, X2, X3)) | → | a__U84#(mark(X1), X2, X3) | | mark#(U13(X1, X2, X3)) | → | mark#(X1) |
mark#(U72(X1, X2)) | → | mark#(X1) | | mark#(plus(X1, X2)) | → | a__plus#(mark(X1), mark(X2)) |
mark#(U82(X1, X2, X3)) | → | mark#(X1) | | mark#(U92(X)) | → | a__U92#(mark(X)) |
mark#(U71(X1, X2)) | → | mark#(X1) | | mark#(U31(X1, X2, X3)) | → | mark#(X1) |
mark#(U101(X1, X2, X3)) | → | a__U101#(mark(X1), X2, X3) | | mark#(plus(X1, X2)) | → | mark#(X1) |
mark#(U51(X)) | → | mark#(X) | | mark#(U15(X1, X2)) | → | mark#(X1) |
mark#(U34(X1, X2, X3)) | → | mark#(X1) | | mark#(U15(X1, X2)) | → | a__U15#(mark(X1), X2) |
mark#(x(X1, X2)) | → | mark#(X2) | | mark#(U104(X1, X2, X3)) | → | a__U104#(mark(X1), X2, X3) |
mark#(U62(X)) | → | mark#(X) | | a__U72#(tt, N) | → | mark#(N) |
a__U104#(tt, M, N) | → | a__plus#(a__x(mark(N), mark(M)), mark(N)) | | a__U81#(tt, M, N) | → | a__U82#(a__isNatKind(M), M, N) |
mark#(U32(X1, X2, X3)) | → | a__U32#(mark(X1), X2, X3) | | mark#(U103(X1, X2, X3)) | → | a__U103#(mark(X1), X2, X3) |
mark#(U11(X1, X2, X3)) | → | mark#(X1) | | mark#(U61(X1, X2)) | → | mark#(X1) |
a__U71#(tt, N) | → | a__U72#(a__isNatKind(N), N) | | mark#(U91(X1, X2)) | → | mark#(X1) |
a__x#(N, s(M)) | → | a__U101#(a__isNat(M), M, N) | | mark#(isNat(X)) | → | a__isNat#(X) |
mark#(x(X1, X2)) | → | a__x#(mark(X1), mark(X2)) | | mark#(U83(X1, X2, X3)) | → | a__U83#(mark(X1), X2, X3) |
a__U104#(tt, M, N) | → | a__x#(mark(N), mark(M)) | | mark#(U21(X1, X2)) | → | mark#(X1) |
mark#(U42(X)) | → | mark#(X) | | mark#(U35(X1, X2)) | → | mark#(X1) |
mark#(U81(X1, X2, X3)) | → | mark#(X1) | | mark#(U14(X1, X2, X3)) | → | mark#(X1) |
mark#(U16(X)) | → | mark#(X) | | a__U104#(tt, M, N) | → | mark#(M) |
mark#(U23(X)) | → | mark#(X) | | mark#(U22(X1, X2)) | → | mark#(X1) |
mark#(U83(X1, X2, X3)) | → | mark#(X1) | | mark#(plus(X1, X2)) | → | mark#(X2) |
mark#(U102(X1, X2, X3)) | → | mark#(X1) | | mark#(U82(X1, X2, X3)) | → | a__U82#(mark(X1), X2, X3) |
mark#(U102(X1, X2, X3)) | → | a__U102#(mark(X1), X2, X3) | | mark#(U41(X1, X2)) | → | mark#(X1) |
mark#(U12(X1, X2, X3)) | → | mark#(X1) | | mark#(U34(X1, X2, X3)) | → | a__U34#(mark(X1), X2, X3) |
a__U84#(tt, M, N) | → | a__plus#(mark(N), mark(M)) | | mark#(U72(X1, X2)) | → | a__U72#(mark(X1), X2) |
a__U82#(tt, M, N) | → | a__U83#(a__isNat(N), M, N) | | mark#(U21(X1, X2)) | → | a__U21#(mark(X1), X2) |
mark#(U92(X)) | → | mark#(X) | | mark#(U36(X)) | → | mark#(X) |
a__U102#(tt, M, N) | → | a__U103#(a__isNat(N), M, N) | | mark#(U81(X1, X2, X3)) | → | a__U81#(mark(X1), X2, X3) |
mark#(x(X1, X2)) | → | mark#(X1) | | a__U83#(tt, M, N) | → | a__U84#(a__isNatKind(N), M, N) |
Rewrite Rules
a__U101(tt, M, N) | → | a__U102(a__isNatKind(M), M, N) | | a__U102(tt, M, N) | → | a__U103(a__isNat(N), M, N) |
a__U103(tt, M, N) | → | a__U104(a__isNatKind(N), M, N) | | a__U104(tt, M, N) | → | a__plus(a__x(mark(N), mark(M)), mark(N)) |
a__U11(tt, V1, V2) | → | a__U12(a__isNatKind(V1), V1, V2) | | a__U12(tt, V1, V2) | → | a__U13(a__isNatKind(V2), V1, V2) |
a__U13(tt, V1, V2) | → | a__U14(a__isNatKind(V2), V1, V2) | | a__U14(tt, V1, V2) | → | a__U15(a__isNat(V1), V2) |
a__U15(tt, V2) | → | a__U16(a__isNat(V2)) | | a__U16(tt) | → | tt |
a__U21(tt, V1) | → | a__U22(a__isNatKind(V1), V1) | | a__U22(tt, V1) | → | a__U23(a__isNat(V1)) |
a__U23(tt) | → | tt | | a__U31(tt, V1, V2) | → | a__U32(a__isNatKind(V1), V1, V2) |
a__U32(tt, V1, V2) | → | a__U33(a__isNatKind(V2), V1, V2) | | a__U33(tt, V1, V2) | → | a__U34(a__isNatKind(V2), V1, V2) |
a__U34(tt, V1, V2) | → | a__U35(a__isNat(V1), V2) | | a__U35(tt, V2) | → | a__U36(a__isNat(V2)) |
a__U36(tt) | → | tt | | a__U41(tt, V2) | → | a__U42(a__isNatKind(V2)) |
a__U42(tt) | → | tt | | a__U51(tt) | → | tt |
a__U61(tt, V2) | → | a__U62(a__isNatKind(V2)) | | a__U62(tt) | → | tt |
a__U71(tt, N) | → | a__U72(a__isNatKind(N), N) | | a__U72(tt, N) | → | mark(N) |
a__U81(tt, M, N) | → | a__U82(a__isNatKind(M), M, N) | | a__U82(tt, M, N) | → | a__U83(a__isNat(N), M, N) |
a__U83(tt, M, N) | → | a__U84(a__isNatKind(N), M, N) | | a__U84(tt, M, N) | → | s(a__plus(mark(N), mark(M))) |
a__U91(tt, N) | → | a__U92(a__isNatKind(N)) | | a__U92(tt) | → | 0 |
a__isNat(0) | → | tt | | a__isNat(plus(V1, V2)) | → | a__U11(a__isNatKind(V1), V1, V2) |
a__isNat(s(V1)) | → | a__U21(a__isNatKind(V1), V1) | | a__isNat(x(V1, V2)) | → | a__U31(a__isNatKind(V1), V1, V2) |
a__isNatKind(0) | → | tt | | a__isNatKind(plus(V1, V2)) | → | a__U41(a__isNatKind(V1), V2) |
a__isNatKind(s(V1)) | → | a__U51(a__isNatKind(V1)) | | a__isNatKind(x(V1, V2)) | → | a__U61(a__isNatKind(V1), V2) |
a__plus(N, 0) | → | a__U71(a__isNat(N), N) | | a__plus(N, s(M)) | → | a__U81(a__isNat(M), M, N) |
a__x(N, 0) | → | a__U91(a__isNat(N), N) | | a__x(N, s(M)) | → | a__U101(a__isNat(M), M, N) |
mark(U101(X1, X2, X3)) | → | a__U101(mark(X1), X2, X3) | | mark(U102(X1, X2, X3)) | → | a__U102(mark(X1), X2, X3) |
mark(isNatKind(X)) | → | a__isNatKind(X) | | mark(U103(X1, X2, X3)) | → | a__U103(mark(X1), X2, X3) |
mark(isNat(X)) | → | a__isNat(X) | | mark(U104(X1, X2, X3)) | → | a__U104(mark(X1), X2, X3) |
mark(plus(X1, X2)) | → | a__plus(mark(X1), mark(X2)) | | mark(x(X1, X2)) | → | a__x(mark(X1), mark(X2)) |
mark(U11(X1, X2, X3)) | → | a__U11(mark(X1), X2, X3) | | mark(U12(X1, X2, X3)) | → | a__U12(mark(X1), X2, X3) |
mark(U13(X1, X2, X3)) | → | a__U13(mark(X1), X2, X3) | | mark(U14(X1, X2, X3)) | → | a__U14(mark(X1), X2, X3) |
mark(U15(X1, X2)) | → | a__U15(mark(X1), X2) | | mark(U16(X)) | → | a__U16(mark(X)) |
mark(U21(X1, X2)) | → | a__U21(mark(X1), X2) | | mark(U22(X1, X2)) | → | a__U22(mark(X1), X2) |
mark(U23(X)) | → | a__U23(mark(X)) | | mark(U31(X1, X2, X3)) | → | a__U31(mark(X1), X2, X3) |
mark(U32(X1, X2, X3)) | → | a__U32(mark(X1), X2, X3) | | mark(U33(X1, X2, X3)) | → | a__U33(mark(X1), X2, X3) |
mark(U34(X1, X2, X3)) | → | a__U34(mark(X1), X2, X3) | | mark(U35(X1, X2)) | → | a__U35(mark(X1), X2) |
mark(U36(X)) | → | a__U36(mark(X)) | | mark(U41(X1, X2)) | → | a__U41(mark(X1), X2) |
mark(U42(X)) | → | a__U42(mark(X)) | | mark(U51(X)) | → | a__U51(mark(X)) |
mark(U61(X1, X2)) | → | a__U61(mark(X1), X2) | | mark(U62(X)) | → | a__U62(mark(X)) |
mark(U71(X1, X2)) | → | a__U71(mark(X1), X2) | | mark(U72(X1, X2)) | → | a__U72(mark(X1), X2) |
mark(U81(X1, X2, X3)) | → | a__U81(mark(X1), X2, X3) | | mark(U82(X1, X2, X3)) | → | a__U82(mark(X1), X2, X3) |
mark(U83(X1, X2, X3)) | → | a__U83(mark(X1), X2, X3) | | mark(U84(X1, X2, X3)) | → | a__U84(mark(X1), X2, X3) |
mark(U91(X1, X2)) | → | a__U91(mark(X1), X2) | | mark(U92(X)) | → | a__U92(mark(X)) |
mark(tt) | → | tt | | mark(s(X)) | → | s(mark(X)) |
mark(0) | → | 0 | | a__U101(X1, X2, X3) | → | U101(X1, X2, X3) |
a__U102(X1, X2, X3) | → | U102(X1, X2, X3) | | a__isNatKind(X) | → | isNatKind(X) |
a__U103(X1, X2, X3) | → | U103(X1, X2, X3) | | a__isNat(X) | → | isNat(X) |
a__U104(X1, X2, X3) | → | U104(X1, X2, X3) | | a__plus(X1, X2) | → | plus(X1, X2) |
a__x(X1, X2) | → | x(X1, X2) | | a__U11(X1, X2, X3) | → | U11(X1, X2, X3) |
a__U12(X1, X2, X3) | → | U12(X1, X2, X3) | | a__U13(X1, X2, X3) | → | U13(X1, X2, X3) |
a__U14(X1, X2, X3) | → | U14(X1, X2, X3) | | a__U15(X1, X2) | → | U15(X1, X2) |
a__U16(X) | → | U16(X) | | a__U21(X1, X2) | → | U21(X1, X2) |
a__U22(X1, X2) | → | U22(X1, X2) | | a__U23(X) | → | U23(X) |
a__U31(X1, X2, X3) | → | U31(X1, X2, X3) | | a__U32(X1, X2, X3) | → | U32(X1, X2, X3) |
a__U33(X1, X2, X3) | → | U33(X1, X2, X3) | | a__U34(X1, X2, X3) | → | U34(X1, X2, X3) |
a__U35(X1, X2) | → | U35(X1, X2) | | a__U36(X) | → | U36(X) |
a__U41(X1, X2) | → | U41(X1, X2) | | a__U42(X) | → | U42(X) |
a__U51(X) | → | U51(X) | | a__U61(X1, X2) | → | U61(X1, X2) |
a__U62(X) | → | U62(X) | | a__U71(X1, X2) | → | U71(X1, X2) |
a__U72(X1, X2) | → | U72(X1, X2) | | a__U81(X1, X2, X3) | → | U81(X1, X2, X3) |
a__U82(X1, X2, X3) | → | U82(X1, X2, X3) | | a__U83(X1, X2, X3) | → | U83(X1, X2, X3) |
a__U84(X1, X2, X3) | → | U84(X1, X2, X3) | | a__U91(X1, X2) | → | U91(X1, X2) |
a__U92(X) | → | U92(X) |
Original Signature
Termination of terms over the following signature is verified: U104, U62, U61, a__U41, a__U72, a__U42, a__U71, U23, U21, U22, plus, a__U84, isNatKind, mark, U71, U36, U72, 0, a__isNat, a__U32, a__U83, a__U31, a__U82, a__U81, U31, U32, a__U36, U33, a__U35, U34, a__U34, a__U104, U35, a__U33, a__U103, a__U51, isNat, U42, a__U91, U92, U41, a__U92, U91, a__U23, a__U22, a__U102, a__U101, a__U21, a__U62, U83, a__plus, U84, U51, U14, s, U15, tt, U82, U16, a__U16, U81, a__U15, a__U14, a__U13, U11, U12, a__U12, U13, a__U11, a__U61, U102, a__x, U103, a__isNatKind, x, U101
Open Dependency Pair Problem 22
Dependency Pairs
mark#(U101(X1, X2, X3)) | → | mark#(X1) | | mark#(U84(X1, X2, X3)) | → | mark#(X1) |
mark#(U35(X1, X2)) | → | a__U35#(mark(X1), X2) | | mark#(U32(X1, X2, X3)) | → | mark#(X1) |
a__U84#(tt, M, N) | → | mark#(N) | | mark#(U103(X1, X2, X3)) | → | mark#(X1) |
mark#(U104(X1, X2, X3)) | → | mark#(X1) | | mark#(U22(X1, X2)) | → | a__U22#(mark(X1), X2) |
a__U104#(tt, M, N) | → | mark#(N) | | a__U101#(tt, M, N) | → | a__U102#(a__isNatKind(M), M, N) |
a__plus#(N, s(M)) | → | a__U81#(a__isNat(M), M, N) | | a__U103#(tt, M, N) | → | a__U104#(a__isNatKind(N), M, N) |
mark#(U33(X1, X2, X3)) | → | mark#(X1) | | mark#(U41(X1, X2)) | → | a__U41#(mark(X1), X2) |
mark#(s(X)) | → | mark#(X) | | a__plus#(N, 0) | → | a__U71#(a__isNat(N), N) |
a__U84#(tt, M, N) | → | mark#(M) | | mark#(U71(X1, X2)) | → | a__U71#(mark(X1), X2) |
mark#(U84(X1, X2, X3)) | → | a__U84#(mark(X1), X2, X3) | | mark#(U13(X1, X2, X3)) | → | mark#(X1) |
mark#(U72(X1, X2)) | → | mark#(X1) | | mark#(plus(X1, X2)) | → | a__plus#(mark(X1), mark(X2)) |
mark#(U82(X1, X2, X3)) | → | mark#(X1) | | mark#(U71(X1, X2)) | → | mark#(X1) |
mark#(U92(X)) | → | a__U92#(mark(X)) | | mark#(U101(X1, X2, X3)) | → | a__U101#(mark(X1), X2, X3) |
mark#(U31(X1, X2, X3)) | → | mark#(X1) | | mark#(plus(X1, X2)) | → | mark#(X1) |
mark#(U51(X)) | → | mark#(X) | | mark#(U15(X1, X2)) | → | mark#(X1) |
mark#(U34(X1, X2, X3)) | → | mark#(X1) | | mark#(x(X1, X2)) | → | mark#(X2) |
mark#(U104(X1, X2, X3)) | → | a__U104#(mark(X1), X2, X3) | | mark#(U62(X)) | → | mark#(X) |
a__U72#(tt, N) | → | mark#(N) | | a__U104#(tt, M, N) | → | a__plus#(a__x(mark(N), mark(M)), mark(N)) |
a__U81#(tt, M, N) | → | a__U82#(a__isNatKind(M), M, N) | | mark#(U32(X1, X2, X3)) | → | a__U32#(mark(X1), X2, X3) |
mark#(U103(X1, X2, X3)) | → | a__U103#(mark(X1), X2, X3) | | mark#(U11(X1, X2, X3)) | → | mark#(X1) |
mark#(U61(X1, X2)) | → | mark#(X1) | | a__U71#(tt, N) | → | a__U72#(a__isNatKind(N), N) |
mark#(U91(X1, X2)) | → | mark#(X1) | | a__x#(N, s(M)) | → | a__U101#(a__isNat(M), M, N) |
mark#(x(X1, X2)) | → | a__x#(mark(X1), mark(X2)) | | mark#(U83(X1, X2, X3)) | → | a__U83#(mark(X1), X2, X3) |
a__U104#(tt, M, N) | → | a__x#(mark(N), mark(M)) | | mark#(U21(X1, X2)) | → | mark#(X1) |
mark#(U42(X)) | → | mark#(X) | | mark#(U35(X1, X2)) | → | mark#(X1) |
mark#(U14(X1, X2, X3)) | → | mark#(X1) | | mark#(U81(X1, X2, X3)) | → | mark#(X1) |
mark#(U16(X)) | → | mark#(X) | | a__U104#(tt, M, N) | → | mark#(M) |
mark#(U22(X1, X2)) | → | mark#(X1) | | mark#(U23(X)) | → | mark#(X) |
mark#(U83(X1, X2, X3)) | → | mark#(X1) | | mark#(plus(X1, X2)) | → | mark#(X2) |
mark#(U102(X1, X2, X3)) | → | mark#(X1) | | mark#(U82(X1, X2, X3)) | → | a__U82#(mark(X1), X2, X3) |
mark#(U102(X1, X2, X3)) | → | a__U102#(mark(X1), X2, X3) | | mark#(U41(X1, X2)) | → | mark#(X1) |
mark#(U12(X1, X2, X3)) | → | mark#(X1) | | mark#(U33(X1, X2, X3)) | → | a__U33#(mark(X1), X2, X3) |
a__U84#(tt, M, N) | → | a__plus#(mark(N), mark(M)) | | mark#(U72(X1, X2)) | → | a__U72#(mark(X1), X2) |
a__U82#(tt, M, N) | → | a__U83#(a__isNat(N), M, N) | | mark#(U92(X)) | → | mark#(X) |
mark#(U21(X1, X2)) | → | a__U21#(mark(X1), X2) | | mark#(U36(X)) | → | mark#(X) |
a__U102#(tt, M, N) | → | a__U103#(a__isNat(N), M, N) | | mark#(U81(X1, X2, X3)) | → | a__U81#(mark(X1), X2, X3) |
mark#(x(X1, X2)) | → | mark#(X1) | | a__U83#(tt, M, N) | → | a__U84#(a__isNatKind(N), M, N) |
Rewrite Rules
a__U101(tt, M, N) | → | a__U102(a__isNatKind(M), M, N) | | a__U102(tt, M, N) | → | a__U103(a__isNat(N), M, N) |
a__U103(tt, M, N) | → | a__U104(a__isNatKind(N), M, N) | | a__U104(tt, M, N) | → | a__plus(a__x(mark(N), mark(M)), mark(N)) |
a__U11(tt, V1, V2) | → | a__U12(a__isNatKind(V1), V1, V2) | | a__U12(tt, V1, V2) | → | a__U13(a__isNatKind(V2), V1, V2) |
a__U13(tt, V1, V2) | → | a__U14(a__isNatKind(V2), V1, V2) | | a__U14(tt, V1, V2) | → | a__U15(a__isNat(V1), V2) |
a__U15(tt, V2) | → | a__U16(a__isNat(V2)) | | a__U16(tt) | → | tt |
a__U21(tt, V1) | → | a__U22(a__isNatKind(V1), V1) | | a__U22(tt, V1) | → | a__U23(a__isNat(V1)) |
a__U23(tt) | → | tt | | a__U31(tt, V1, V2) | → | a__U32(a__isNatKind(V1), V1, V2) |
a__U32(tt, V1, V2) | → | a__U33(a__isNatKind(V2), V1, V2) | | a__U33(tt, V1, V2) | → | a__U34(a__isNatKind(V2), V1, V2) |
a__U34(tt, V1, V2) | → | a__U35(a__isNat(V1), V2) | | a__U35(tt, V2) | → | a__U36(a__isNat(V2)) |
a__U36(tt) | → | tt | | a__U41(tt, V2) | → | a__U42(a__isNatKind(V2)) |
a__U42(tt) | → | tt | | a__U51(tt) | → | tt |
a__U61(tt, V2) | → | a__U62(a__isNatKind(V2)) | | a__U62(tt) | → | tt |
a__U71(tt, N) | → | a__U72(a__isNatKind(N), N) | | a__U72(tt, N) | → | mark(N) |
a__U81(tt, M, N) | → | a__U82(a__isNatKind(M), M, N) | | a__U82(tt, M, N) | → | a__U83(a__isNat(N), M, N) |
a__U83(tt, M, N) | → | a__U84(a__isNatKind(N), M, N) | | a__U84(tt, M, N) | → | s(a__plus(mark(N), mark(M))) |
a__U91(tt, N) | → | a__U92(a__isNatKind(N)) | | a__U92(tt) | → | 0 |
a__isNat(0) | → | tt | | a__isNat(plus(V1, V2)) | → | a__U11(a__isNatKind(V1), V1, V2) |
a__isNat(s(V1)) | → | a__U21(a__isNatKind(V1), V1) | | a__isNat(x(V1, V2)) | → | a__U31(a__isNatKind(V1), V1, V2) |
a__isNatKind(0) | → | tt | | a__isNatKind(plus(V1, V2)) | → | a__U41(a__isNatKind(V1), V2) |
a__isNatKind(s(V1)) | → | a__U51(a__isNatKind(V1)) | | a__isNatKind(x(V1, V2)) | → | a__U61(a__isNatKind(V1), V2) |
a__plus(N, 0) | → | a__U71(a__isNat(N), N) | | a__plus(N, s(M)) | → | a__U81(a__isNat(M), M, N) |
a__x(N, 0) | → | a__U91(a__isNat(N), N) | | a__x(N, s(M)) | → | a__U101(a__isNat(M), M, N) |
mark(U101(X1, X2, X3)) | → | a__U101(mark(X1), X2, X3) | | mark(U102(X1, X2, X3)) | → | a__U102(mark(X1), X2, X3) |
mark(isNatKind(X)) | → | a__isNatKind(X) | | mark(U103(X1, X2, X3)) | → | a__U103(mark(X1), X2, X3) |
mark(isNat(X)) | → | a__isNat(X) | | mark(U104(X1, X2, X3)) | → | a__U104(mark(X1), X2, X3) |
mark(plus(X1, X2)) | → | a__plus(mark(X1), mark(X2)) | | mark(x(X1, X2)) | → | a__x(mark(X1), mark(X2)) |
mark(U11(X1, X2, X3)) | → | a__U11(mark(X1), X2, X3) | | mark(U12(X1, X2, X3)) | → | a__U12(mark(X1), X2, X3) |
mark(U13(X1, X2, X3)) | → | a__U13(mark(X1), X2, X3) | | mark(U14(X1, X2, X3)) | → | a__U14(mark(X1), X2, X3) |
mark(U15(X1, X2)) | → | a__U15(mark(X1), X2) | | mark(U16(X)) | → | a__U16(mark(X)) |
mark(U21(X1, X2)) | → | a__U21(mark(X1), X2) | | mark(U22(X1, X2)) | → | a__U22(mark(X1), X2) |
mark(U23(X)) | → | a__U23(mark(X)) | | mark(U31(X1, X2, X3)) | → | a__U31(mark(X1), X2, X3) |
mark(U32(X1, X2, X3)) | → | a__U32(mark(X1), X2, X3) | | mark(U33(X1, X2, X3)) | → | a__U33(mark(X1), X2, X3) |
mark(U34(X1, X2, X3)) | → | a__U34(mark(X1), X2, X3) | | mark(U35(X1, X2)) | → | a__U35(mark(X1), X2) |
mark(U36(X)) | → | a__U36(mark(X)) | | mark(U41(X1, X2)) | → | a__U41(mark(X1), X2) |
mark(U42(X)) | → | a__U42(mark(X)) | | mark(U51(X)) | → | a__U51(mark(X)) |
mark(U61(X1, X2)) | → | a__U61(mark(X1), X2) | | mark(U62(X)) | → | a__U62(mark(X)) |
mark(U71(X1, X2)) | → | a__U71(mark(X1), X2) | | mark(U72(X1, X2)) | → | a__U72(mark(X1), X2) |
mark(U81(X1, X2, X3)) | → | a__U81(mark(X1), X2, X3) | | mark(U82(X1, X2, X3)) | → | a__U82(mark(X1), X2, X3) |
mark(U83(X1, X2, X3)) | → | a__U83(mark(X1), X2, X3) | | mark(U84(X1, X2, X3)) | → | a__U84(mark(X1), X2, X3) |
mark(U91(X1, X2)) | → | a__U91(mark(X1), X2) | | mark(U92(X)) | → | a__U92(mark(X)) |
mark(tt) | → | tt | | mark(s(X)) | → | s(mark(X)) |
mark(0) | → | 0 | | a__U101(X1, X2, X3) | → | U101(X1, X2, X3) |
a__U102(X1, X2, X3) | → | U102(X1, X2, X3) | | a__isNatKind(X) | → | isNatKind(X) |
a__U103(X1, X2, X3) | → | U103(X1, X2, X3) | | a__isNat(X) | → | isNat(X) |
a__U104(X1, X2, X3) | → | U104(X1, X2, X3) | | a__plus(X1, X2) | → | plus(X1, X2) |
a__x(X1, X2) | → | x(X1, X2) | | a__U11(X1, X2, X3) | → | U11(X1, X2, X3) |
a__U12(X1, X2, X3) | → | U12(X1, X2, X3) | | a__U13(X1, X2, X3) | → | U13(X1, X2, X3) |
a__U14(X1, X2, X3) | → | U14(X1, X2, X3) | | a__U15(X1, X2) | → | U15(X1, X2) |
a__U16(X) | → | U16(X) | | a__U21(X1, X2) | → | U21(X1, X2) |
a__U22(X1, X2) | → | U22(X1, X2) | | a__U23(X) | → | U23(X) |
a__U31(X1, X2, X3) | → | U31(X1, X2, X3) | | a__U32(X1, X2, X3) | → | U32(X1, X2, X3) |
a__U33(X1, X2, X3) | → | U33(X1, X2, X3) | | a__U34(X1, X2, X3) | → | U34(X1, X2, X3) |
a__U35(X1, X2) | → | U35(X1, X2) | | a__U36(X) | → | U36(X) |
a__U41(X1, X2) | → | U41(X1, X2) | | a__U42(X) | → | U42(X) |
a__U51(X) | → | U51(X) | | a__U61(X1, X2) | → | U61(X1, X2) |
a__U62(X) | → | U62(X) | | a__U71(X1, X2) | → | U71(X1, X2) |
a__U72(X1, X2) | → | U72(X1, X2) | | a__U81(X1, X2, X3) | → | U81(X1, X2, X3) |
a__U82(X1, X2, X3) | → | U82(X1, X2, X3) | | a__U83(X1, X2, X3) | → | U83(X1, X2, X3) |
a__U84(X1, X2, X3) | → | U84(X1, X2, X3) | | a__U91(X1, X2) | → | U91(X1, X2) |
a__U92(X) | → | U92(X) |
Original Signature
Termination of terms over the following signature is verified: U104, U62, U61, a__U41, a__U72, a__U42, a__U71, U23, U21, U22, plus, a__U84, isNatKind, mark, U71, U36, U72, 0, a__isNat, a__U32, a__U83, a__U31, a__U82, a__U81, U31, U32, a__U36, U33, a__U35, U34, a__U34, a__U104, U35, a__U33, a__U103, a__U51, isNat, U42, a__U91, U92, U41, a__U92, U91, a__U23, a__U22, a__U102, a__U101, a__U21, a__U62, U83, a__plus, U84, U51, U14, s, U15, tt, U82, U16, a__U16, U81, a__U15, a__U14, a__U13, U11, U12, a__U12, U13, a__U11, a__U61, U102, a__x, U103, a__isNatKind, x, U101
Open Dependency Pair Problem 25
Dependency Pairs
mark#(U101(X1, X2, X3)) | → | mark#(X1) | | mark#(U84(X1, X2, X3)) | → | mark#(X1) |
mark#(U35(X1, X2)) | → | a__U35#(mark(X1), X2) | | mark#(U32(X1, X2, X3)) | → | mark#(X1) |
mark#(U103(X1, X2, X3)) | → | mark#(X1) | | a__U84#(tt, M, N) | → | mark#(N) |
mark#(U104(X1, X2, X3)) | → | mark#(X1) | | mark#(U22(X1, X2)) | → | a__U22#(mark(X1), X2) |
a__U104#(tt, M, N) | → | mark#(N) | | a__U101#(tt, M, N) | → | a__U102#(a__isNatKind(M), M, N) |
a__plus#(N, s(M)) | → | a__U81#(a__isNat(M), M, N) | | a__U103#(tt, M, N) | → | a__U104#(a__isNatKind(N), M, N) |
mark#(U33(X1, X2, X3)) | → | mark#(X1) | | mark#(U41(X1, X2)) | → | a__U41#(mark(X1), X2) |
mark#(s(X)) | → | mark#(X) | | a__plus#(N, 0) | → | a__U71#(a__isNat(N), N) |
a__U84#(tt, M, N) | → | mark#(M) | | mark#(U71(X1, X2)) | → | a__U71#(mark(X1), X2) |
mark#(U84(X1, X2, X3)) | → | a__U84#(mark(X1), X2, X3) | | mark#(U13(X1, X2, X3)) | → | mark#(X1) |
mark#(U72(X1, X2)) | → | mark#(X1) | | mark#(plus(X1, X2)) | → | a__plus#(mark(X1), mark(X2)) |
mark#(U82(X1, X2, X3)) | → | mark#(X1) | | mark#(U92(X)) | → | a__U92#(mark(X)) |
mark#(U71(X1, X2)) | → | mark#(X1) | | mark#(U31(X1, X2, X3)) | → | mark#(X1) |
mark#(U101(X1, X2, X3)) | → | a__U101#(mark(X1), X2, X3) | | mark#(plus(X1, X2)) | → | mark#(X1) |
mark#(U15(X1, X2)) | → | mark#(X1) | | mark#(U51(X)) | → | mark#(X) |
mark#(U15(X1, X2)) | → | a__U15#(mark(X1), X2) | | mark#(U34(X1, X2, X3)) | → | mark#(X1) |
mark#(x(X1, X2)) | → | mark#(X2) | | mark#(U104(X1, X2, X3)) | → | a__U104#(mark(X1), X2, X3) |
mark#(U62(X)) | → | mark#(X) | | a__U72#(tt, N) | → | mark#(N) |
a__U104#(tt, M, N) | → | a__plus#(a__x(mark(N), mark(M)), mark(N)) | | a__U81#(tt, M, N) | → | a__U82#(a__isNatKind(M), M, N) |
mark#(U103(X1, X2, X3)) | → | a__U103#(mark(X1), X2, X3) | | mark#(U11(X1, X2, X3)) | → | a__U11#(mark(X1), X2, X3) |
mark#(U11(X1, X2, X3)) | → | mark#(X1) | | mark#(U61(X1, X2)) | → | mark#(X1) |
a__U71#(tt, N) | → | a__U72#(a__isNatKind(N), N) | | mark#(U91(X1, X2)) | → | mark#(X1) |
a__x#(N, s(M)) | → | a__U101#(a__isNat(M), M, N) | | mark#(x(X1, X2)) | → | a__x#(mark(X1), mark(X2)) |
mark#(U83(X1, X2, X3)) | → | a__U83#(mark(X1), X2, X3) | | a__U104#(tt, M, N) | → | a__x#(mark(N), mark(M)) |
mark#(U21(X1, X2)) | → | mark#(X1) | | mark#(U42(X)) | → | mark#(X) |
mark#(U35(X1, X2)) | → | mark#(X1) | | mark#(U14(X1, X2, X3)) | → | mark#(X1) |
mark#(U81(X1, X2, X3)) | → | mark#(X1) | | mark#(U16(X)) | → | mark#(X) |
a__U104#(tt, M, N) | → | mark#(M) | | mark#(U22(X1, X2)) | → | mark#(X1) |
mark#(U23(X)) | → | mark#(X) | | mark#(U83(X1, X2, X3)) | → | mark#(X1) |
mark#(plus(X1, X2)) | → | mark#(X2) | | mark#(U102(X1, X2, X3)) | → | mark#(X1) |
mark#(U82(X1, X2, X3)) | → | a__U82#(mark(X1), X2, X3) | | mark#(U102(X1, X2, X3)) | → | a__U102#(mark(X1), X2, X3) |
mark#(U41(X1, X2)) | → | mark#(X1) | | mark#(U12(X1, X2, X3)) | → | mark#(X1) |
mark#(U34(X1, X2, X3)) | → | a__U34#(mark(X1), X2, X3) | | mark#(U33(X1, X2, X3)) | → | a__U33#(mark(X1), X2, X3) |
a__U84#(tt, M, N) | → | a__plus#(mark(N), mark(M)) | | mark#(U72(X1, X2)) | → | a__U72#(mark(X1), X2) |
a__U82#(tt, M, N) | → | a__U83#(a__isNat(N), M, N) | | mark#(U92(X)) | → | mark#(X) |
mark#(U36(X)) | → | mark#(X) | | a__U102#(tt, M, N) | → | a__U103#(a__isNat(N), M, N) |
mark#(U81(X1, X2, X3)) | → | a__U81#(mark(X1), X2, X3) | | mark#(x(X1, X2)) | → | mark#(X1) |
a__U83#(tt, M, N) | → | a__U84#(a__isNatKind(N), M, N) |
Rewrite Rules
a__U101(tt, M, N) | → | a__U102(a__isNatKind(M), M, N) | | a__U102(tt, M, N) | → | a__U103(a__isNat(N), M, N) |
a__U103(tt, M, N) | → | a__U104(a__isNatKind(N), M, N) | | a__U104(tt, M, N) | → | a__plus(a__x(mark(N), mark(M)), mark(N)) |
a__U11(tt, V1, V2) | → | a__U12(a__isNatKind(V1), V1, V2) | | a__U12(tt, V1, V2) | → | a__U13(a__isNatKind(V2), V1, V2) |
a__U13(tt, V1, V2) | → | a__U14(a__isNatKind(V2), V1, V2) | | a__U14(tt, V1, V2) | → | a__U15(a__isNat(V1), V2) |
a__U15(tt, V2) | → | a__U16(a__isNat(V2)) | | a__U16(tt) | → | tt |
a__U21(tt, V1) | → | a__U22(a__isNatKind(V1), V1) | | a__U22(tt, V1) | → | a__U23(a__isNat(V1)) |
a__U23(tt) | → | tt | | a__U31(tt, V1, V2) | → | a__U32(a__isNatKind(V1), V1, V2) |
a__U32(tt, V1, V2) | → | a__U33(a__isNatKind(V2), V1, V2) | | a__U33(tt, V1, V2) | → | a__U34(a__isNatKind(V2), V1, V2) |
a__U34(tt, V1, V2) | → | a__U35(a__isNat(V1), V2) | | a__U35(tt, V2) | → | a__U36(a__isNat(V2)) |
a__U36(tt) | → | tt | | a__U41(tt, V2) | → | a__U42(a__isNatKind(V2)) |
a__U42(tt) | → | tt | | a__U51(tt) | → | tt |
a__U61(tt, V2) | → | a__U62(a__isNatKind(V2)) | | a__U62(tt) | → | tt |
a__U71(tt, N) | → | a__U72(a__isNatKind(N), N) | | a__U72(tt, N) | → | mark(N) |
a__U81(tt, M, N) | → | a__U82(a__isNatKind(M), M, N) | | a__U82(tt, M, N) | → | a__U83(a__isNat(N), M, N) |
a__U83(tt, M, N) | → | a__U84(a__isNatKind(N), M, N) | | a__U84(tt, M, N) | → | s(a__plus(mark(N), mark(M))) |
a__U91(tt, N) | → | a__U92(a__isNatKind(N)) | | a__U92(tt) | → | 0 |
a__isNat(0) | → | tt | | a__isNat(plus(V1, V2)) | → | a__U11(a__isNatKind(V1), V1, V2) |
a__isNat(s(V1)) | → | a__U21(a__isNatKind(V1), V1) | | a__isNat(x(V1, V2)) | → | a__U31(a__isNatKind(V1), V1, V2) |
a__isNatKind(0) | → | tt | | a__isNatKind(plus(V1, V2)) | → | a__U41(a__isNatKind(V1), V2) |
a__isNatKind(s(V1)) | → | a__U51(a__isNatKind(V1)) | | a__isNatKind(x(V1, V2)) | → | a__U61(a__isNatKind(V1), V2) |
a__plus(N, 0) | → | a__U71(a__isNat(N), N) | | a__plus(N, s(M)) | → | a__U81(a__isNat(M), M, N) |
a__x(N, 0) | → | a__U91(a__isNat(N), N) | | a__x(N, s(M)) | → | a__U101(a__isNat(M), M, N) |
mark(U101(X1, X2, X3)) | → | a__U101(mark(X1), X2, X3) | | mark(U102(X1, X2, X3)) | → | a__U102(mark(X1), X2, X3) |
mark(isNatKind(X)) | → | a__isNatKind(X) | | mark(U103(X1, X2, X3)) | → | a__U103(mark(X1), X2, X3) |
mark(isNat(X)) | → | a__isNat(X) | | mark(U104(X1, X2, X3)) | → | a__U104(mark(X1), X2, X3) |
mark(plus(X1, X2)) | → | a__plus(mark(X1), mark(X2)) | | mark(x(X1, X2)) | → | a__x(mark(X1), mark(X2)) |
mark(U11(X1, X2, X3)) | → | a__U11(mark(X1), X2, X3) | | mark(U12(X1, X2, X3)) | → | a__U12(mark(X1), X2, X3) |
mark(U13(X1, X2, X3)) | → | a__U13(mark(X1), X2, X3) | | mark(U14(X1, X2, X3)) | → | a__U14(mark(X1), X2, X3) |
mark(U15(X1, X2)) | → | a__U15(mark(X1), X2) | | mark(U16(X)) | → | a__U16(mark(X)) |
mark(U21(X1, X2)) | → | a__U21(mark(X1), X2) | | mark(U22(X1, X2)) | → | a__U22(mark(X1), X2) |
mark(U23(X)) | → | a__U23(mark(X)) | | mark(U31(X1, X2, X3)) | → | a__U31(mark(X1), X2, X3) |
mark(U32(X1, X2, X3)) | → | a__U32(mark(X1), X2, X3) | | mark(U33(X1, X2, X3)) | → | a__U33(mark(X1), X2, X3) |
mark(U34(X1, X2, X3)) | → | a__U34(mark(X1), X2, X3) | | mark(U35(X1, X2)) | → | a__U35(mark(X1), X2) |
mark(U36(X)) | → | a__U36(mark(X)) | | mark(U41(X1, X2)) | → | a__U41(mark(X1), X2) |
mark(U42(X)) | → | a__U42(mark(X)) | | mark(U51(X)) | → | a__U51(mark(X)) |
mark(U61(X1, X2)) | → | a__U61(mark(X1), X2) | | mark(U62(X)) | → | a__U62(mark(X)) |
mark(U71(X1, X2)) | → | a__U71(mark(X1), X2) | | mark(U72(X1, X2)) | → | a__U72(mark(X1), X2) |
mark(U81(X1, X2, X3)) | → | a__U81(mark(X1), X2, X3) | | mark(U82(X1, X2, X3)) | → | a__U82(mark(X1), X2, X3) |
mark(U83(X1, X2, X3)) | → | a__U83(mark(X1), X2, X3) | | mark(U84(X1, X2, X3)) | → | a__U84(mark(X1), X2, X3) |
mark(U91(X1, X2)) | → | a__U91(mark(X1), X2) | | mark(U92(X)) | → | a__U92(mark(X)) |
mark(tt) | → | tt | | mark(s(X)) | → | s(mark(X)) |
mark(0) | → | 0 | | a__U101(X1, X2, X3) | → | U101(X1, X2, X3) |
a__U102(X1, X2, X3) | → | U102(X1, X2, X3) | | a__isNatKind(X) | → | isNatKind(X) |
a__U103(X1, X2, X3) | → | U103(X1, X2, X3) | | a__isNat(X) | → | isNat(X) |
a__U104(X1, X2, X3) | → | U104(X1, X2, X3) | | a__plus(X1, X2) | → | plus(X1, X2) |
a__x(X1, X2) | → | x(X1, X2) | | a__U11(X1, X2, X3) | → | U11(X1, X2, X3) |
a__U12(X1, X2, X3) | → | U12(X1, X2, X3) | | a__U13(X1, X2, X3) | → | U13(X1, X2, X3) |
a__U14(X1, X2, X3) | → | U14(X1, X2, X3) | | a__U15(X1, X2) | → | U15(X1, X2) |
a__U16(X) | → | U16(X) | | a__U21(X1, X2) | → | U21(X1, X2) |
a__U22(X1, X2) | → | U22(X1, X2) | | a__U23(X) | → | U23(X) |
a__U31(X1, X2, X3) | → | U31(X1, X2, X3) | | a__U32(X1, X2, X3) | → | U32(X1, X2, X3) |
a__U33(X1, X2, X3) | → | U33(X1, X2, X3) | | a__U34(X1, X2, X3) | → | U34(X1, X2, X3) |
a__U35(X1, X2) | → | U35(X1, X2) | | a__U36(X) | → | U36(X) |
a__U41(X1, X2) | → | U41(X1, X2) | | a__U42(X) | → | U42(X) |
a__U51(X) | → | U51(X) | | a__U61(X1, X2) | → | U61(X1, X2) |
a__U62(X) | → | U62(X) | | a__U71(X1, X2) | → | U71(X1, X2) |
a__U72(X1, X2) | → | U72(X1, X2) | | a__U81(X1, X2, X3) | → | U81(X1, X2, X3) |
a__U82(X1, X2, X3) | → | U82(X1, X2, X3) | | a__U83(X1, X2, X3) | → | U83(X1, X2, X3) |
a__U84(X1, X2, X3) | → | U84(X1, X2, X3) | | a__U91(X1, X2) | → | U91(X1, X2) |
a__U92(X) | → | U92(X) |
Original Signature
Termination of terms over the following signature is verified: U104, U62, U61, a__U41, a__U72, a__U42, a__U71, U23, U21, U22, plus, a__U84, isNatKind, mark, U71, U36, U72, 0, a__isNat, a__U32, a__U83, a__U31, a__U82, a__U81, U31, U32, a__U36, U33, a__U35, U34, a__U34, a__U104, U35, a__U33, a__U103, a__U51, isNat, U42, a__U91, U92, U41, a__U92, U91, a__U23, a__U22, a__U102, a__U101, a__U21, a__U62, U83, a__plus, U84, U51, U14, s, U15, tt, U82, U16, a__U16, U81, a__U15, a__U14, a__U13, U11, U12, a__U12, U13, a__U11, a__U61, U102, a__x, U103, a__isNatKind, x, U101
Open Dependency Pair Problem 24
Dependency Pairs
mark#(U101(X1, X2, X3)) | → | mark#(X1) | | mark#(U84(X1, X2, X3)) | → | mark#(X1) |
mark#(U35(X1, X2)) | → | a__U35#(mark(X1), X2) | | mark#(U32(X1, X2, X3)) | → | mark#(X1) |
mark#(U103(X1, X2, X3)) | → | mark#(X1) | | a__U84#(tt, M, N) | → | mark#(N) |
mark#(U104(X1, X2, X3)) | → | mark#(X1) | | mark#(U22(X1, X2)) | → | a__U22#(mark(X1), X2) |
a__U104#(tt, M, N) | → | mark#(N) | | mark#(U23(X)) | → | a__U23#(mark(X)) |
a__U101#(tt, M, N) | → | a__U102#(a__isNatKind(M), M, N) | | a__plus#(N, s(M)) | → | a__U81#(a__isNat(M), M, N) |
a__U103#(tt, M, N) | → | a__U104#(a__isNatKind(N), M, N) | | mark#(U12(X1, X2, X3)) | → | a__U12#(mark(X1), X2, X3) |
mark#(U33(X1, X2, X3)) | → | mark#(X1) | | mark#(s(X)) | → | mark#(X) |
a__plus#(N, 0) | → | a__U71#(a__isNat(N), N) | | a__U84#(tt, M, N) | → | mark#(M) |
mark#(U71(X1, X2)) | → | a__U71#(mark(X1), X2) | | mark#(U84(X1, X2, X3)) | → | a__U84#(mark(X1), X2, X3) |
mark#(U13(X1, X2, X3)) | → | mark#(X1) | | mark#(U72(X1, X2)) | → | mark#(X1) |
mark#(plus(X1, X2)) | → | a__plus#(mark(X1), mark(X2)) | | mark#(U82(X1, X2, X3)) | → | mark#(X1) |
mark#(U71(X1, X2)) | → | mark#(X1) | | mark#(U92(X)) | → | a__U92#(mark(X)) |
mark#(U31(X1, X2, X3)) | → | mark#(X1) | | mark#(U101(X1, X2, X3)) | → | a__U101#(mark(X1), X2, X3) |
mark#(plus(X1, X2)) | → | mark#(X1) | | mark#(U15(X1, X2)) | → | mark#(X1) |
mark#(U51(X)) | → | mark#(X) | | mark#(U34(X1, X2, X3)) | → | mark#(X1) |
mark#(U15(X1, X2)) | → | a__U15#(mark(X1), X2) | | mark#(x(X1, X2)) | → | mark#(X2) |
mark#(U104(X1, X2, X3)) | → | a__U104#(mark(X1), X2, X3) | | mark#(U62(X)) | → | mark#(X) |
a__U72#(tt, N) | → | mark#(N) | | a__U104#(tt, M, N) | → | a__plus#(a__x(mark(N), mark(M)), mark(N)) |
a__U81#(tt, M, N) | → | a__U82#(a__isNatKind(M), M, N) | | mark#(U103(X1, X2, X3)) | → | a__U103#(mark(X1), X2, X3) |
mark#(U11(X1, X2, X3)) | → | mark#(X1) | | mark#(U61(X1, X2)) | → | mark#(X1) |
a__U71#(tt, N) | → | a__U72#(a__isNatKind(N), N) | | mark#(U91(X1, X2)) | → | mark#(X1) |
mark#(isNat(X)) | → | a__isNat#(X) | | a__x#(N, s(M)) | → | a__U101#(a__isNat(M), M, N) |
mark#(x(X1, X2)) | → | a__x#(mark(X1), mark(X2)) | | mark#(U83(X1, X2, X3)) | → | a__U83#(mark(X1), X2, X3) |
a__U104#(tt, M, N) | → | a__x#(mark(N), mark(M)) | | mark#(U21(X1, X2)) | → | mark#(X1) |
mark#(U42(X)) | → | mark#(X) | | mark#(U35(X1, X2)) | → | mark#(X1) |
mark#(U81(X1, X2, X3)) | → | mark#(X1) | | mark#(U14(X1, X2, X3)) | → | mark#(X1) |
mark#(U16(X)) | → | mark#(X) | | a__U104#(tt, M, N) | → | mark#(M) |
mark#(U22(X1, X2)) | → | mark#(X1) | | mark#(U23(X)) | → | mark#(X) |
mark#(U83(X1, X2, X3)) | → | mark#(X1) | | mark#(plus(X1, X2)) | → | mark#(X2) |
mark#(U102(X1, X2, X3)) | → | mark#(X1) | | mark#(U82(X1, X2, X3)) | → | a__U82#(mark(X1), X2, X3) |
mark#(U102(X1, X2, X3)) | → | a__U102#(mark(X1), X2, X3) | | mark#(U41(X1, X2)) | → | mark#(X1) |
mark#(U12(X1, X2, X3)) | → | mark#(X1) | | mark#(U34(X1, X2, X3)) | → | a__U34#(mark(X1), X2, X3) |
a__U84#(tt, M, N) | → | a__plus#(mark(N), mark(M)) | | mark#(U72(X1, X2)) | → | a__U72#(mark(X1), X2) |
a__U82#(tt, M, N) | → | a__U83#(a__isNat(N), M, N) | | mark#(U92(X)) | → | mark#(X) |
mark#(U21(X1, X2)) | → | a__U21#(mark(X1), X2) | | mark#(U36(X)) | → | mark#(X) |
a__U102#(tt, M, N) | → | a__U103#(a__isNat(N), M, N) | | mark#(U81(X1, X2, X3)) | → | a__U81#(mark(X1), X2, X3) |
mark#(x(X1, X2)) | → | mark#(X1) | | a__U83#(tt, M, N) | → | a__U84#(a__isNatKind(N), M, N) |
Rewrite Rules
a__U101(tt, M, N) | → | a__U102(a__isNatKind(M), M, N) | | a__U102(tt, M, N) | → | a__U103(a__isNat(N), M, N) |
a__U103(tt, M, N) | → | a__U104(a__isNatKind(N), M, N) | | a__U104(tt, M, N) | → | a__plus(a__x(mark(N), mark(M)), mark(N)) |
a__U11(tt, V1, V2) | → | a__U12(a__isNatKind(V1), V1, V2) | | a__U12(tt, V1, V2) | → | a__U13(a__isNatKind(V2), V1, V2) |
a__U13(tt, V1, V2) | → | a__U14(a__isNatKind(V2), V1, V2) | | a__U14(tt, V1, V2) | → | a__U15(a__isNat(V1), V2) |
a__U15(tt, V2) | → | a__U16(a__isNat(V2)) | | a__U16(tt) | → | tt |
a__U21(tt, V1) | → | a__U22(a__isNatKind(V1), V1) | | a__U22(tt, V1) | → | a__U23(a__isNat(V1)) |
a__U23(tt) | → | tt | | a__U31(tt, V1, V2) | → | a__U32(a__isNatKind(V1), V1, V2) |
a__U32(tt, V1, V2) | → | a__U33(a__isNatKind(V2), V1, V2) | | a__U33(tt, V1, V2) | → | a__U34(a__isNatKind(V2), V1, V2) |
a__U34(tt, V1, V2) | → | a__U35(a__isNat(V1), V2) | | a__U35(tt, V2) | → | a__U36(a__isNat(V2)) |
a__U36(tt) | → | tt | | a__U41(tt, V2) | → | a__U42(a__isNatKind(V2)) |
a__U42(tt) | → | tt | | a__U51(tt) | → | tt |
a__U61(tt, V2) | → | a__U62(a__isNatKind(V2)) | | a__U62(tt) | → | tt |
a__U71(tt, N) | → | a__U72(a__isNatKind(N), N) | | a__U72(tt, N) | → | mark(N) |
a__U81(tt, M, N) | → | a__U82(a__isNatKind(M), M, N) | | a__U82(tt, M, N) | → | a__U83(a__isNat(N), M, N) |
a__U83(tt, M, N) | → | a__U84(a__isNatKind(N), M, N) | | a__U84(tt, M, N) | → | s(a__plus(mark(N), mark(M))) |
a__U91(tt, N) | → | a__U92(a__isNatKind(N)) | | a__U92(tt) | → | 0 |
a__isNat(0) | → | tt | | a__isNat(plus(V1, V2)) | → | a__U11(a__isNatKind(V1), V1, V2) |
a__isNat(s(V1)) | → | a__U21(a__isNatKind(V1), V1) | | a__isNat(x(V1, V2)) | → | a__U31(a__isNatKind(V1), V1, V2) |
a__isNatKind(0) | → | tt | | a__isNatKind(plus(V1, V2)) | → | a__U41(a__isNatKind(V1), V2) |
a__isNatKind(s(V1)) | → | a__U51(a__isNatKind(V1)) | | a__isNatKind(x(V1, V2)) | → | a__U61(a__isNatKind(V1), V2) |
a__plus(N, 0) | → | a__U71(a__isNat(N), N) | | a__plus(N, s(M)) | → | a__U81(a__isNat(M), M, N) |
a__x(N, 0) | → | a__U91(a__isNat(N), N) | | a__x(N, s(M)) | → | a__U101(a__isNat(M), M, N) |
mark(U101(X1, X2, X3)) | → | a__U101(mark(X1), X2, X3) | | mark(U102(X1, X2, X3)) | → | a__U102(mark(X1), X2, X3) |
mark(isNatKind(X)) | → | a__isNatKind(X) | | mark(U103(X1, X2, X3)) | → | a__U103(mark(X1), X2, X3) |
mark(isNat(X)) | → | a__isNat(X) | | mark(U104(X1, X2, X3)) | → | a__U104(mark(X1), X2, X3) |
mark(plus(X1, X2)) | → | a__plus(mark(X1), mark(X2)) | | mark(x(X1, X2)) | → | a__x(mark(X1), mark(X2)) |
mark(U11(X1, X2, X3)) | → | a__U11(mark(X1), X2, X3) | | mark(U12(X1, X2, X3)) | → | a__U12(mark(X1), X2, X3) |
mark(U13(X1, X2, X3)) | → | a__U13(mark(X1), X2, X3) | | mark(U14(X1, X2, X3)) | → | a__U14(mark(X1), X2, X3) |
mark(U15(X1, X2)) | → | a__U15(mark(X1), X2) | | mark(U16(X)) | → | a__U16(mark(X)) |
mark(U21(X1, X2)) | → | a__U21(mark(X1), X2) | | mark(U22(X1, X2)) | → | a__U22(mark(X1), X2) |
mark(U23(X)) | → | a__U23(mark(X)) | | mark(U31(X1, X2, X3)) | → | a__U31(mark(X1), X2, X3) |
mark(U32(X1, X2, X3)) | → | a__U32(mark(X1), X2, X3) | | mark(U33(X1, X2, X3)) | → | a__U33(mark(X1), X2, X3) |
mark(U34(X1, X2, X3)) | → | a__U34(mark(X1), X2, X3) | | mark(U35(X1, X2)) | → | a__U35(mark(X1), X2) |
mark(U36(X)) | → | a__U36(mark(X)) | | mark(U41(X1, X2)) | → | a__U41(mark(X1), X2) |
mark(U42(X)) | → | a__U42(mark(X)) | | mark(U51(X)) | → | a__U51(mark(X)) |
mark(U61(X1, X2)) | → | a__U61(mark(X1), X2) | | mark(U62(X)) | → | a__U62(mark(X)) |
mark(U71(X1, X2)) | → | a__U71(mark(X1), X2) | | mark(U72(X1, X2)) | → | a__U72(mark(X1), X2) |
mark(U81(X1, X2, X3)) | → | a__U81(mark(X1), X2, X3) | | mark(U82(X1, X2, X3)) | → | a__U82(mark(X1), X2, X3) |
mark(U83(X1, X2, X3)) | → | a__U83(mark(X1), X2, X3) | | mark(U84(X1, X2, X3)) | → | a__U84(mark(X1), X2, X3) |
mark(U91(X1, X2)) | → | a__U91(mark(X1), X2) | | mark(U92(X)) | → | a__U92(mark(X)) |
mark(tt) | → | tt | | mark(s(X)) | → | s(mark(X)) |
mark(0) | → | 0 | | a__U101(X1, X2, X3) | → | U101(X1, X2, X3) |
a__U102(X1, X2, X3) | → | U102(X1, X2, X3) | | a__isNatKind(X) | → | isNatKind(X) |
a__U103(X1, X2, X3) | → | U103(X1, X2, X3) | | a__isNat(X) | → | isNat(X) |
a__U104(X1, X2, X3) | → | U104(X1, X2, X3) | | a__plus(X1, X2) | → | plus(X1, X2) |
a__x(X1, X2) | → | x(X1, X2) | | a__U11(X1, X2, X3) | → | U11(X1, X2, X3) |
a__U12(X1, X2, X3) | → | U12(X1, X2, X3) | | a__U13(X1, X2, X3) | → | U13(X1, X2, X3) |
a__U14(X1, X2, X3) | → | U14(X1, X2, X3) | | a__U15(X1, X2) | → | U15(X1, X2) |
a__U16(X) | → | U16(X) | | a__U21(X1, X2) | → | U21(X1, X2) |
a__U22(X1, X2) | → | U22(X1, X2) | | a__U23(X) | → | U23(X) |
a__U31(X1, X2, X3) | → | U31(X1, X2, X3) | | a__U32(X1, X2, X3) | → | U32(X1, X2, X3) |
a__U33(X1, X2, X3) | → | U33(X1, X2, X3) | | a__U34(X1, X2, X3) | → | U34(X1, X2, X3) |
a__U35(X1, X2) | → | U35(X1, X2) | | a__U36(X) | → | U36(X) |
a__U41(X1, X2) | → | U41(X1, X2) | | a__U42(X) | → | U42(X) |
a__U51(X) | → | U51(X) | | a__U61(X1, X2) | → | U61(X1, X2) |
a__U62(X) | → | U62(X) | | a__U71(X1, X2) | → | U71(X1, X2) |
a__U72(X1, X2) | → | U72(X1, X2) | | a__U81(X1, X2, X3) | → | U81(X1, X2, X3) |
a__U82(X1, X2, X3) | → | U82(X1, X2, X3) | | a__U83(X1, X2, X3) | → | U83(X1, X2, X3) |
a__U84(X1, X2, X3) | → | U84(X1, X2, X3) | | a__U91(X1, X2) | → | U91(X1, X2) |
a__U92(X) | → | U92(X) |
Original Signature
Termination of terms over the following signature is verified: U104, U62, U61, a__U41, a__U72, a__U42, a__U71, U23, U21, U22, plus, a__U84, isNatKind, mark, U71, U36, U72, 0, a__isNat, a__U32, a__U83, a__U31, a__U82, a__U81, U31, U32, a__U36, U33, a__U35, U34, a__U34, a__U104, U35, a__U33, a__U103, a__U51, isNat, U42, a__U91, U92, U41, a__U92, U91, a__U23, a__U22, a__U102, a__U101, a__U21, a__U62, U83, a__plus, U84, U51, U14, s, U15, tt, U82, U16, a__U16, U81, a__U15, a__U14, a__U13, U11, U12, a__U12, U13, a__U11, a__U61, U102, a__x, U103, a__isNatKind, x, U101
Open Dependency Pair Problem 27
Dependency Pairs
mark#(U101(X1, X2, X3)) | → | mark#(X1) | | a__U71#(tt, N) | → | a__isNatKind#(N) |
mark#(U84(X1, X2, X3)) | → | mark#(X1) | | mark#(U35(X1, X2)) | → | a__U35#(mark(X1), X2) |
mark#(U32(X1, X2, X3)) | → | mark#(X1) | | a__U84#(tt, M, N) | → | mark#(N) |
mark#(U103(X1, X2, X3)) | → | mark#(X1) | | mark#(U104(X1, X2, X3)) | → | mark#(X1) |
a__U104#(tt, M, N) | → | mark#(N) | | a__U101#(tt, M, N) | → | a__U102#(a__isNatKind(M), M, N) |
a__plus#(N, s(M)) | → | a__U81#(a__isNat(M), M, N) | | a__U103#(tt, M, N) | → | a__U104#(a__isNatKind(N), M, N) |
mark#(U33(X1, X2, X3)) | → | mark#(X1) | | mark#(U41(X1, X2)) | → | a__U41#(mark(X1), X2) |
mark#(s(X)) | → | mark#(X) | | a__plus#(N, 0) | → | a__U71#(a__isNat(N), N) |
a__U84#(tt, M, N) | → | mark#(M) | | mark#(U71(X1, X2)) | → | a__U71#(mark(X1), X2) |
mark#(U84(X1, X2, X3)) | → | a__U84#(mark(X1), X2, X3) | | mark#(U13(X1, X2, X3)) | → | mark#(X1) |
mark#(U72(X1, X2)) | → | mark#(X1) | | mark#(plus(X1, X2)) | → | a__plus#(mark(X1), mark(X2)) |
mark#(U82(X1, X2, X3)) | → | mark#(X1) | | mark#(U71(X1, X2)) | → | mark#(X1) |
mark#(U31(X1, X2, X3)) | → | mark#(X1) | | mark#(U101(X1, X2, X3)) | → | a__U101#(mark(X1), X2, X3) |
mark#(plus(X1, X2)) | → | mark#(X1) | | mark#(U51(X)) | → | mark#(X) |
mark#(U15(X1, X2)) | → | mark#(X1) | | mark#(U34(X1, X2, X3)) | → | mark#(X1) |
mark#(x(X1, X2)) | → | mark#(X2) | | mark#(U104(X1, X2, X3)) | → | a__U104#(mark(X1), X2, X3) |
mark#(U62(X)) | → | mark#(X) | | a__U72#(tt, N) | → | mark#(N) |
a__U104#(tt, M, N) | → | a__plus#(a__x(mark(N), mark(M)), mark(N)) | | a__U81#(tt, M, N) | → | a__U82#(a__isNatKind(M), M, N) |
mark#(U32(X1, X2, X3)) | → | a__U32#(mark(X1), X2, X3) | | mark#(U103(X1, X2, X3)) | → | a__U103#(mark(X1), X2, X3) |
mark#(U11(X1, X2, X3)) | → | mark#(X1) | | mark#(U61(X1, X2)) | → | mark#(X1) |
a__U71#(tt, N) | → | a__U72#(a__isNatKind(N), N) | | mark#(U91(X1, X2)) | → | mark#(X1) |
a__x#(N, s(M)) | → | a__U101#(a__isNat(M), M, N) | | mark#(x(X1, X2)) | → | a__x#(mark(X1), mark(X2)) |
mark#(U83(X1, X2, X3)) | → | a__U83#(mark(X1), X2, X3) | | a__U104#(tt, M, N) | → | a__x#(mark(N), mark(M)) |
mark#(U21(X1, X2)) | → | mark#(X1) | | mark#(U35(X1, X2)) | → | mark#(X1) |
mark#(U42(X)) | → | mark#(X) | | mark#(U81(X1, X2, X3)) | → | mark#(X1) |
mark#(U14(X1, X2, X3)) | → | mark#(X1) | | mark#(U16(X)) | → | mark#(X) |
a__U104#(tt, M, N) | → | mark#(M) | | mark#(U22(X1, X2)) | → | mark#(X1) |
mark#(U23(X)) | → | mark#(X) | | mark#(U83(X1, X2, X3)) | → | mark#(X1) |
mark#(plus(X1, X2)) | → | mark#(X2) | | mark#(U102(X1, X2, X3)) | → | mark#(X1) |
mark#(U82(X1, X2, X3)) | → | a__U82#(mark(X1), X2, X3) | | mark#(U102(X1, X2, X3)) | → | a__U102#(mark(X1), X2, X3) |
mark#(U41(X1, X2)) | → | mark#(X1) | | mark#(U12(X1, X2, X3)) | → | mark#(X1) |
mark#(U33(X1, X2, X3)) | → | a__U33#(mark(X1), X2, X3) | | a__U84#(tt, M, N) | → | a__plus#(mark(N), mark(M)) |
mark#(U72(X1, X2)) | → | a__U72#(mark(X1), X2) | | a__U82#(tt, M, N) | → | a__U83#(a__isNat(N), M, N) |
mark#(U92(X)) | → | mark#(X) | | mark#(U21(X1, X2)) | → | a__U21#(mark(X1), X2) |
mark#(U36(X)) | → | mark#(X) | | a__U102#(tt, M, N) | → | a__U103#(a__isNat(N), M, N) |
mark#(U81(X1, X2, X3)) | → | a__U81#(mark(X1), X2, X3) | | mark#(x(X1, X2)) | → | mark#(X1) |
a__U83#(tt, M, N) | → | a__U84#(a__isNatKind(N), M, N) |
Rewrite Rules
a__U101(tt, M, N) | → | a__U102(a__isNatKind(M), M, N) | | a__U102(tt, M, N) | → | a__U103(a__isNat(N), M, N) |
a__U103(tt, M, N) | → | a__U104(a__isNatKind(N), M, N) | | a__U104(tt, M, N) | → | a__plus(a__x(mark(N), mark(M)), mark(N)) |
a__U11(tt, V1, V2) | → | a__U12(a__isNatKind(V1), V1, V2) | | a__U12(tt, V1, V2) | → | a__U13(a__isNatKind(V2), V1, V2) |
a__U13(tt, V1, V2) | → | a__U14(a__isNatKind(V2), V1, V2) | | a__U14(tt, V1, V2) | → | a__U15(a__isNat(V1), V2) |
a__U15(tt, V2) | → | a__U16(a__isNat(V2)) | | a__U16(tt) | → | tt |
a__U21(tt, V1) | → | a__U22(a__isNatKind(V1), V1) | | a__U22(tt, V1) | → | a__U23(a__isNat(V1)) |
a__U23(tt) | → | tt | | a__U31(tt, V1, V2) | → | a__U32(a__isNatKind(V1), V1, V2) |
a__U32(tt, V1, V2) | → | a__U33(a__isNatKind(V2), V1, V2) | | a__U33(tt, V1, V2) | → | a__U34(a__isNatKind(V2), V1, V2) |
a__U34(tt, V1, V2) | → | a__U35(a__isNat(V1), V2) | | a__U35(tt, V2) | → | a__U36(a__isNat(V2)) |
a__U36(tt) | → | tt | | a__U41(tt, V2) | → | a__U42(a__isNatKind(V2)) |
a__U42(tt) | → | tt | | a__U51(tt) | → | tt |
a__U61(tt, V2) | → | a__U62(a__isNatKind(V2)) | | a__U62(tt) | → | tt |
a__U71(tt, N) | → | a__U72(a__isNatKind(N), N) | | a__U72(tt, N) | → | mark(N) |
a__U81(tt, M, N) | → | a__U82(a__isNatKind(M), M, N) | | a__U82(tt, M, N) | → | a__U83(a__isNat(N), M, N) |
a__U83(tt, M, N) | → | a__U84(a__isNatKind(N), M, N) | | a__U84(tt, M, N) | → | s(a__plus(mark(N), mark(M))) |
a__U91(tt, N) | → | a__U92(a__isNatKind(N)) | | a__U92(tt) | → | 0 |
a__isNat(0) | → | tt | | a__isNat(plus(V1, V2)) | → | a__U11(a__isNatKind(V1), V1, V2) |
a__isNat(s(V1)) | → | a__U21(a__isNatKind(V1), V1) | | a__isNat(x(V1, V2)) | → | a__U31(a__isNatKind(V1), V1, V2) |
a__isNatKind(0) | → | tt | | a__isNatKind(plus(V1, V2)) | → | a__U41(a__isNatKind(V1), V2) |
a__isNatKind(s(V1)) | → | a__U51(a__isNatKind(V1)) | | a__isNatKind(x(V1, V2)) | → | a__U61(a__isNatKind(V1), V2) |
a__plus(N, 0) | → | a__U71(a__isNat(N), N) | | a__plus(N, s(M)) | → | a__U81(a__isNat(M), M, N) |
a__x(N, 0) | → | a__U91(a__isNat(N), N) | | a__x(N, s(M)) | → | a__U101(a__isNat(M), M, N) |
mark(U101(X1, X2, X3)) | → | a__U101(mark(X1), X2, X3) | | mark(U102(X1, X2, X3)) | → | a__U102(mark(X1), X2, X3) |
mark(isNatKind(X)) | → | a__isNatKind(X) | | mark(U103(X1, X2, X3)) | → | a__U103(mark(X1), X2, X3) |
mark(isNat(X)) | → | a__isNat(X) | | mark(U104(X1, X2, X3)) | → | a__U104(mark(X1), X2, X3) |
mark(plus(X1, X2)) | → | a__plus(mark(X1), mark(X2)) | | mark(x(X1, X2)) | → | a__x(mark(X1), mark(X2)) |
mark(U11(X1, X2, X3)) | → | a__U11(mark(X1), X2, X3) | | mark(U12(X1, X2, X3)) | → | a__U12(mark(X1), X2, X3) |
mark(U13(X1, X2, X3)) | → | a__U13(mark(X1), X2, X3) | | mark(U14(X1, X2, X3)) | → | a__U14(mark(X1), X2, X3) |
mark(U15(X1, X2)) | → | a__U15(mark(X1), X2) | | mark(U16(X)) | → | a__U16(mark(X)) |
mark(U21(X1, X2)) | → | a__U21(mark(X1), X2) | | mark(U22(X1, X2)) | → | a__U22(mark(X1), X2) |
mark(U23(X)) | → | a__U23(mark(X)) | | mark(U31(X1, X2, X3)) | → | a__U31(mark(X1), X2, X3) |
mark(U32(X1, X2, X3)) | → | a__U32(mark(X1), X2, X3) | | mark(U33(X1, X2, X3)) | → | a__U33(mark(X1), X2, X3) |
mark(U34(X1, X2, X3)) | → | a__U34(mark(X1), X2, X3) | | mark(U35(X1, X2)) | → | a__U35(mark(X1), X2) |
mark(U36(X)) | → | a__U36(mark(X)) | | mark(U41(X1, X2)) | → | a__U41(mark(X1), X2) |
mark(U42(X)) | → | a__U42(mark(X)) | | mark(U51(X)) | → | a__U51(mark(X)) |
mark(U61(X1, X2)) | → | a__U61(mark(X1), X2) | | mark(U62(X)) | → | a__U62(mark(X)) |
mark(U71(X1, X2)) | → | a__U71(mark(X1), X2) | | mark(U72(X1, X2)) | → | a__U72(mark(X1), X2) |
mark(U81(X1, X2, X3)) | → | a__U81(mark(X1), X2, X3) | | mark(U82(X1, X2, X3)) | → | a__U82(mark(X1), X2, X3) |
mark(U83(X1, X2, X3)) | → | a__U83(mark(X1), X2, X3) | | mark(U84(X1, X2, X3)) | → | a__U84(mark(X1), X2, X3) |
mark(U91(X1, X2)) | → | a__U91(mark(X1), X2) | | mark(U92(X)) | → | a__U92(mark(X)) |
mark(tt) | → | tt | | mark(s(X)) | → | s(mark(X)) |
mark(0) | → | 0 | | a__U101(X1, X2, X3) | → | U101(X1, X2, X3) |
a__U102(X1, X2, X3) | → | U102(X1, X2, X3) | | a__isNatKind(X) | → | isNatKind(X) |
a__U103(X1, X2, X3) | → | U103(X1, X2, X3) | | a__isNat(X) | → | isNat(X) |
a__U104(X1, X2, X3) | → | U104(X1, X2, X3) | | a__plus(X1, X2) | → | plus(X1, X2) |
a__x(X1, X2) | → | x(X1, X2) | | a__U11(X1, X2, X3) | → | U11(X1, X2, X3) |
a__U12(X1, X2, X3) | → | U12(X1, X2, X3) | | a__U13(X1, X2, X3) | → | U13(X1, X2, X3) |
a__U14(X1, X2, X3) | → | U14(X1, X2, X3) | | a__U15(X1, X2) | → | U15(X1, X2) |
a__U16(X) | → | U16(X) | | a__U21(X1, X2) | → | U21(X1, X2) |
a__U22(X1, X2) | → | U22(X1, X2) | | a__U23(X) | → | U23(X) |
a__U31(X1, X2, X3) | → | U31(X1, X2, X3) | | a__U32(X1, X2, X3) | → | U32(X1, X2, X3) |
a__U33(X1, X2, X3) | → | U33(X1, X2, X3) | | a__U34(X1, X2, X3) | → | U34(X1, X2, X3) |
a__U35(X1, X2) | → | U35(X1, X2) | | a__U36(X) | → | U36(X) |
a__U41(X1, X2) | → | U41(X1, X2) | | a__U42(X) | → | U42(X) |
a__U51(X) | → | U51(X) | | a__U61(X1, X2) | → | U61(X1, X2) |
a__U62(X) | → | U62(X) | | a__U71(X1, X2) | → | U71(X1, X2) |
a__U72(X1, X2) | → | U72(X1, X2) | | a__U81(X1, X2, X3) | → | U81(X1, X2, X3) |
a__U82(X1, X2, X3) | → | U82(X1, X2, X3) | | a__U83(X1, X2, X3) | → | U83(X1, X2, X3) |
a__U84(X1, X2, X3) | → | U84(X1, X2, X3) | | a__U91(X1, X2) | → | U91(X1, X2) |
a__U92(X) | → | U92(X) |
Original Signature
Termination of terms over the following signature is verified: U104, U62, U61, a__U41, a__U72, a__U42, a__U71, U23, U21, U22, plus, a__U84, isNatKind, mark, U71, U36, U72, 0, a__isNat, a__U32, a__U83, a__U31, a__U82, a__U81, U31, U32, a__U36, U33, a__U35, U34, a__U34, a__U104, U35, a__U33, a__U103, a__U51, isNat, U42, a__U91, U92, U41, a__U92, U91, a__U23, a__U22, a__U102, a__U101, a__U21, a__U62, U83, a__plus, U84, U51, U14, s, U15, tt, U82, U16, a__U16, U81, a__U15, a__U14, a__U13, U11, U12, a__U12, U13, a__U11, a__U61, U102, a__x, U103, a__isNatKind, x, U101
Open Dependency Pair Problem 26
Dependency Pairs
mark#(U101(X1, X2, X3)) | → | mark#(X1) | | mark#(U84(X1, X2, X3)) | → | mark#(X1) |
mark#(U35(X1, X2)) | → | a__U35#(mark(X1), X2) | | mark#(U32(X1, X2, X3)) | → | mark#(X1) |
a__U84#(tt, M, N) | → | mark#(N) | | mark#(U103(X1, X2, X3)) | → | mark#(X1) |
mark#(U104(X1, X2, X3)) | → | mark#(X1) | | mark#(U22(X1, X2)) | → | a__U22#(mark(X1), X2) |
a__U104#(tt, M, N) | → | mark#(N) | | a__U101#(tt, M, N) | → | a__U102#(a__isNatKind(M), M, N) |
a__plus#(N, s(M)) | → | a__U81#(a__isNat(M), M, N) | | a__U103#(tt, M, N) | → | a__U104#(a__isNatKind(N), M, N) |
mark#(U12(X1, X2, X3)) | → | a__U12#(mark(X1), X2, X3) | | mark#(U33(X1, X2, X3)) | → | mark#(X1) |
mark#(s(X)) | → | mark#(X) | | a__plus#(N, 0) | → | a__U71#(a__isNat(N), N) |
a__U84#(tt, M, N) | → | mark#(M) | | mark#(U71(X1, X2)) | → | a__U71#(mark(X1), X2) |
mark#(U84(X1, X2, X3)) | → | a__U84#(mark(X1), X2, X3) | | mark#(U13(X1, X2, X3)) | → | mark#(X1) |
mark#(U72(X1, X2)) | → | mark#(X1) | | mark#(plus(X1, X2)) | → | a__plus#(mark(X1), mark(X2)) |
mark#(U82(X1, X2, X3)) | → | mark#(X1) | | mark#(U71(X1, X2)) | → | mark#(X1) |
mark#(U101(X1, X2, X3)) | → | a__U101#(mark(X1), X2, X3) | | mark#(U31(X1, X2, X3)) | → | mark#(X1) |
mark#(plus(X1, X2)) | → | mark#(X1) | | mark#(U51(X)) | → | mark#(X) |
mark#(U15(X1, X2)) | → | mark#(X1) | | mark#(U34(X1, X2, X3)) | → | mark#(X1) |
mark#(U15(X1, X2)) | → | a__U15#(mark(X1), X2) | | mark#(x(X1, X2)) | → | mark#(X2) |
mark#(U104(X1, X2, X3)) | → | a__U104#(mark(X1), X2, X3) | | mark#(U62(X)) | → | mark#(X) |
a__U72#(tt, N) | → | mark#(N) | | a__U104#(tt, M, N) | → | a__plus#(a__x(mark(N), mark(M)), mark(N)) |
a__U81#(tt, M, N) | → | a__U82#(a__isNatKind(M), M, N) | | mark#(U103(X1, X2, X3)) | → | a__U103#(mark(X1), X2, X3) |
mark#(U11(X1, X2, X3)) | → | a__U11#(mark(X1), X2, X3) | | mark#(U11(X1, X2, X3)) | → | mark#(X1) |
mark#(U61(X1, X2)) | → | mark#(X1) | | a__U71#(tt, N) | → | a__U72#(a__isNatKind(N), N) |
mark#(U91(X1, X2)) | → | mark#(X1) | | a__x#(N, s(M)) | → | a__U101#(a__isNat(M), M, N) |
mark#(x(X1, X2)) | → | a__x#(mark(X1), mark(X2)) | | mark#(U83(X1, X2, X3)) | → | a__U83#(mark(X1), X2, X3) |
a__U104#(tt, M, N) | → | a__x#(mark(N), mark(M)) | | mark#(U21(X1, X2)) | → | mark#(X1) |
mark#(U42(X)) | → | mark#(X) | | mark#(U35(X1, X2)) | → | mark#(X1) |
mark#(U81(X1, X2, X3)) | → | mark#(X1) | | mark#(U14(X1, X2, X3)) | → | mark#(X1) |
mark#(U16(X)) | → | mark#(X) | | a__U104#(tt, M, N) | → | mark#(M) |
mark#(U22(X1, X2)) | → | mark#(X1) | | mark#(U23(X)) | → | mark#(X) |
mark#(U83(X1, X2, X3)) | → | mark#(X1) | | mark#(plus(X1, X2)) | → | mark#(X2) |
mark#(U102(X1, X2, X3)) | → | mark#(X1) | | mark#(U82(X1, X2, X3)) | → | a__U82#(mark(X1), X2, X3) |
mark#(U102(X1, X2, X3)) | → | a__U102#(mark(X1), X2, X3) | | mark#(U41(X1, X2)) | → | mark#(X1) |
mark#(U12(X1, X2, X3)) | → | mark#(X1) | | mark#(U34(X1, X2, X3)) | → | a__U34#(mark(X1), X2, X3) |
a__U84#(tt, M, N) | → | a__plus#(mark(N), mark(M)) | | mark#(U72(X1, X2)) | → | a__U72#(mark(X1), X2) |
a__U82#(tt, M, N) | → | a__U83#(a__isNat(N), M, N) | | mark#(U92(X)) | → | mark#(X) |
mark#(U21(X1, X2)) | → | a__U21#(mark(X1), X2) | | mark#(U36(X)) | → | mark#(X) |
a__U102#(tt, M, N) | → | a__U103#(a__isNat(N), M, N) | | mark#(U81(X1, X2, X3)) | → | a__U81#(mark(X1), X2, X3) |
mark#(x(X1, X2)) | → | mark#(X1) | | a__U83#(tt, M, N) | → | a__U84#(a__isNatKind(N), M, N) |
Rewrite Rules
a__U101(tt, M, N) | → | a__U102(a__isNatKind(M), M, N) | | a__U102(tt, M, N) | → | a__U103(a__isNat(N), M, N) |
a__U103(tt, M, N) | → | a__U104(a__isNatKind(N), M, N) | | a__U104(tt, M, N) | → | a__plus(a__x(mark(N), mark(M)), mark(N)) |
a__U11(tt, V1, V2) | → | a__U12(a__isNatKind(V1), V1, V2) | | a__U12(tt, V1, V2) | → | a__U13(a__isNatKind(V2), V1, V2) |
a__U13(tt, V1, V2) | → | a__U14(a__isNatKind(V2), V1, V2) | | a__U14(tt, V1, V2) | → | a__U15(a__isNat(V1), V2) |
a__U15(tt, V2) | → | a__U16(a__isNat(V2)) | | a__U16(tt) | → | tt |
a__U21(tt, V1) | → | a__U22(a__isNatKind(V1), V1) | | a__U22(tt, V1) | → | a__U23(a__isNat(V1)) |
a__U23(tt) | → | tt | | a__U31(tt, V1, V2) | → | a__U32(a__isNatKind(V1), V1, V2) |
a__U32(tt, V1, V2) | → | a__U33(a__isNatKind(V2), V1, V2) | | a__U33(tt, V1, V2) | → | a__U34(a__isNatKind(V2), V1, V2) |
a__U34(tt, V1, V2) | → | a__U35(a__isNat(V1), V2) | | a__U35(tt, V2) | → | a__U36(a__isNat(V2)) |
a__U36(tt) | → | tt | | a__U41(tt, V2) | → | a__U42(a__isNatKind(V2)) |
a__U42(tt) | → | tt | | a__U51(tt) | → | tt |
a__U61(tt, V2) | → | a__U62(a__isNatKind(V2)) | | a__U62(tt) | → | tt |
a__U71(tt, N) | → | a__U72(a__isNatKind(N), N) | | a__U72(tt, N) | → | mark(N) |
a__U81(tt, M, N) | → | a__U82(a__isNatKind(M), M, N) | | a__U82(tt, M, N) | → | a__U83(a__isNat(N), M, N) |
a__U83(tt, M, N) | → | a__U84(a__isNatKind(N), M, N) | | a__U84(tt, M, N) | → | s(a__plus(mark(N), mark(M))) |
a__U91(tt, N) | → | a__U92(a__isNatKind(N)) | | a__U92(tt) | → | 0 |
a__isNat(0) | → | tt | | a__isNat(plus(V1, V2)) | → | a__U11(a__isNatKind(V1), V1, V2) |
a__isNat(s(V1)) | → | a__U21(a__isNatKind(V1), V1) | | a__isNat(x(V1, V2)) | → | a__U31(a__isNatKind(V1), V1, V2) |
a__isNatKind(0) | → | tt | | a__isNatKind(plus(V1, V2)) | → | a__U41(a__isNatKind(V1), V2) |
a__isNatKind(s(V1)) | → | a__U51(a__isNatKind(V1)) | | a__isNatKind(x(V1, V2)) | → | a__U61(a__isNatKind(V1), V2) |
a__plus(N, 0) | → | a__U71(a__isNat(N), N) | | a__plus(N, s(M)) | → | a__U81(a__isNat(M), M, N) |
a__x(N, 0) | → | a__U91(a__isNat(N), N) | | a__x(N, s(M)) | → | a__U101(a__isNat(M), M, N) |
mark(U101(X1, X2, X3)) | → | a__U101(mark(X1), X2, X3) | | mark(U102(X1, X2, X3)) | → | a__U102(mark(X1), X2, X3) |
mark(isNatKind(X)) | → | a__isNatKind(X) | | mark(U103(X1, X2, X3)) | → | a__U103(mark(X1), X2, X3) |
mark(isNat(X)) | → | a__isNat(X) | | mark(U104(X1, X2, X3)) | → | a__U104(mark(X1), X2, X3) |
mark(plus(X1, X2)) | → | a__plus(mark(X1), mark(X2)) | | mark(x(X1, X2)) | → | a__x(mark(X1), mark(X2)) |
mark(U11(X1, X2, X3)) | → | a__U11(mark(X1), X2, X3) | | mark(U12(X1, X2, X3)) | → | a__U12(mark(X1), X2, X3) |
mark(U13(X1, X2, X3)) | → | a__U13(mark(X1), X2, X3) | | mark(U14(X1, X2, X3)) | → | a__U14(mark(X1), X2, X3) |
mark(U15(X1, X2)) | → | a__U15(mark(X1), X2) | | mark(U16(X)) | → | a__U16(mark(X)) |
mark(U21(X1, X2)) | → | a__U21(mark(X1), X2) | | mark(U22(X1, X2)) | → | a__U22(mark(X1), X2) |
mark(U23(X)) | → | a__U23(mark(X)) | | mark(U31(X1, X2, X3)) | → | a__U31(mark(X1), X2, X3) |
mark(U32(X1, X2, X3)) | → | a__U32(mark(X1), X2, X3) | | mark(U33(X1, X2, X3)) | → | a__U33(mark(X1), X2, X3) |
mark(U34(X1, X2, X3)) | → | a__U34(mark(X1), X2, X3) | | mark(U35(X1, X2)) | → | a__U35(mark(X1), X2) |
mark(U36(X)) | → | a__U36(mark(X)) | | mark(U41(X1, X2)) | → | a__U41(mark(X1), X2) |
mark(U42(X)) | → | a__U42(mark(X)) | | mark(U51(X)) | → | a__U51(mark(X)) |
mark(U61(X1, X2)) | → | a__U61(mark(X1), X2) | | mark(U62(X)) | → | a__U62(mark(X)) |
mark(U71(X1, X2)) | → | a__U71(mark(X1), X2) | | mark(U72(X1, X2)) | → | a__U72(mark(X1), X2) |
mark(U81(X1, X2, X3)) | → | a__U81(mark(X1), X2, X3) | | mark(U82(X1, X2, X3)) | → | a__U82(mark(X1), X2, X3) |
mark(U83(X1, X2, X3)) | → | a__U83(mark(X1), X2, X3) | | mark(U84(X1, X2, X3)) | → | a__U84(mark(X1), X2, X3) |
mark(U91(X1, X2)) | → | a__U91(mark(X1), X2) | | mark(U92(X)) | → | a__U92(mark(X)) |
mark(tt) | → | tt | | mark(s(X)) | → | s(mark(X)) |
mark(0) | → | 0 | | a__U101(X1, X2, X3) | → | U101(X1, X2, X3) |
a__U102(X1, X2, X3) | → | U102(X1, X2, X3) | | a__isNatKind(X) | → | isNatKind(X) |
a__U103(X1, X2, X3) | → | U103(X1, X2, X3) | | a__isNat(X) | → | isNat(X) |
a__U104(X1, X2, X3) | → | U104(X1, X2, X3) | | a__plus(X1, X2) | → | plus(X1, X2) |
a__x(X1, X2) | → | x(X1, X2) | | a__U11(X1, X2, X3) | → | U11(X1, X2, X3) |
a__U12(X1, X2, X3) | → | U12(X1, X2, X3) | | a__U13(X1, X2, X3) | → | U13(X1, X2, X3) |
a__U14(X1, X2, X3) | → | U14(X1, X2, X3) | | a__U15(X1, X2) | → | U15(X1, X2) |
a__U16(X) | → | U16(X) | | a__U21(X1, X2) | → | U21(X1, X2) |
a__U22(X1, X2) | → | U22(X1, X2) | | a__U23(X) | → | U23(X) |
a__U31(X1, X2, X3) | → | U31(X1, X2, X3) | | a__U32(X1, X2, X3) | → | U32(X1, X2, X3) |
a__U33(X1, X2, X3) | → | U33(X1, X2, X3) | | a__U34(X1, X2, X3) | → | U34(X1, X2, X3) |
a__U35(X1, X2) | → | U35(X1, X2) | | a__U36(X) | → | U36(X) |
a__U41(X1, X2) | → | U41(X1, X2) | | a__U42(X) | → | U42(X) |
a__U51(X) | → | U51(X) | | a__U61(X1, X2) | → | U61(X1, X2) |
a__U62(X) | → | U62(X) | | a__U71(X1, X2) | → | U71(X1, X2) |
a__U72(X1, X2) | → | U72(X1, X2) | | a__U81(X1, X2, X3) | → | U81(X1, X2, X3) |
a__U82(X1, X2, X3) | → | U82(X1, X2, X3) | | a__U83(X1, X2, X3) | → | U83(X1, X2, X3) |
a__U84(X1, X2, X3) | → | U84(X1, X2, X3) | | a__U91(X1, X2) | → | U91(X1, X2) |
a__U92(X) | → | U92(X) |
Original Signature
Termination of terms over the following signature is verified: U104, U62, U61, a__U41, a__U72, a__U42, a__U71, U23, U21, U22, plus, a__U84, isNatKind, mark, U71, U36, U72, 0, a__isNat, a__U32, a__U83, a__U31, a__U82, a__U81, U31, U32, a__U36, U33, a__U35, U34, a__U34, a__U104, U35, a__U33, a__U103, a__U51, isNat, U42, a__U91, U92, U41, a__U92, U91, a__U23, a__U22, a__U102, a__U101, a__U21, a__U62, U83, a__plus, U84, U51, U14, s, U15, tt, U82, U16, a__U16, U81, a__U15, a__U14, a__U13, U11, U12, a__U12, U13, a__U11, a__U61, U102, a__x, U103, a__isNatKind, x, U101
Open Dependency Pair Problem 29
Dependency Pairs
mark#(U101(X1, X2, X3)) | → | mark#(X1) | | mark#(U84(X1, X2, X3)) | → | mark#(X1) |
mark#(U35(X1, X2)) | → | a__U35#(mark(X1), X2) | | mark#(U32(X1, X2, X3)) | → | mark#(X1) |
a__U84#(tt, M, N) | → | mark#(N) | | mark#(U103(X1, X2, X3)) | → | mark#(X1) |
mark#(U104(X1, X2, X3)) | → | mark#(X1) | | mark#(U22(X1, X2)) | → | a__U22#(mark(X1), X2) |
a__U104#(tt, M, N) | → | mark#(N) | | mark#(U23(X)) | → | a__U23#(mark(X)) |
a__U101#(tt, M, N) | → | a__U102#(a__isNatKind(M), M, N) | | a__plus#(N, s(M)) | → | a__U81#(a__isNat(M), M, N) |
a__U103#(tt, M, N) | → | a__U104#(a__isNatKind(N), M, N) | | mark#(U33(X1, X2, X3)) | → | mark#(X1) |
mark#(s(X)) | → | mark#(X) | | a__plus#(N, 0) | → | a__U71#(a__isNat(N), N) |
a__U84#(tt, M, N) | → | mark#(M) | | mark#(U71(X1, X2)) | → | a__U71#(mark(X1), X2) |
mark#(U84(X1, X2, X3)) | → | a__U84#(mark(X1), X2, X3) | | mark#(U13(X1, X2, X3)) | → | mark#(X1) |
mark#(U72(X1, X2)) | → | mark#(X1) | | mark#(plus(X1, X2)) | → | a__plus#(mark(X1), mark(X2)) |
mark#(U82(X1, X2, X3)) | → | mark#(X1) | | mark#(U92(X)) | → | a__U92#(mark(X)) |
mark#(U71(X1, X2)) | → | mark#(X1) | | mark#(U101(X1, X2, X3)) | → | a__U101#(mark(X1), X2, X3) |
mark#(U31(X1, X2, X3)) | → | mark#(X1) | | mark#(plus(X1, X2)) | → | mark#(X1) |
mark#(U51(X)) | → | mark#(X) | | mark#(U15(X1, X2)) | → | mark#(X1) |
mark#(U15(X1, X2)) | → | a__U15#(mark(X1), X2) | | mark#(U34(X1, X2, X3)) | → | mark#(X1) |
mark#(x(X1, X2)) | → | mark#(X2) | | mark#(U104(X1, X2, X3)) | → | a__U104#(mark(X1), X2, X3) |
mark#(U62(X)) | → | mark#(X) | | a__U72#(tt, N) | → | mark#(N) |
a__U104#(tt, M, N) | → | a__plus#(a__x(mark(N), mark(M)), mark(N)) | | a__U81#(tt, M, N) | → | a__U82#(a__isNatKind(M), M, N) |
mark#(U103(X1, X2, X3)) | → | a__U103#(mark(X1), X2, X3) | | mark#(U11(X1, X2, X3)) | → | a__U11#(mark(X1), X2, X3) |
mark#(U11(X1, X2, X3)) | → | mark#(X1) | | mark#(U61(X1, X2)) | → | mark#(X1) |
a__U71#(tt, N) | → | a__U72#(a__isNatKind(N), N) | | mark#(U91(X1, X2)) | → | mark#(X1) |
a__x#(N, s(M)) | → | a__U101#(a__isNat(M), M, N) | | mark#(x(X1, X2)) | → | a__x#(mark(X1), mark(X2)) |
mark#(U83(X1, X2, X3)) | → | a__U83#(mark(X1), X2, X3) | | a__U104#(tt, M, N) | → | a__x#(mark(N), mark(M)) |
mark#(U21(X1, X2)) | → | mark#(X1) | | mark#(U42(X)) | → | mark#(X) |
mark#(U35(X1, X2)) | → | mark#(X1) | | mark#(U81(X1, X2, X3)) | → | mark#(X1) |
mark#(U14(X1, X2, X3)) | → | mark#(X1) | | mark#(U16(X)) | → | mark#(X) |
a__U104#(tt, M, N) | → | mark#(M) | | mark#(U23(X)) | → | mark#(X) |
mark#(U22(X1, X2)) | → | mark#(X1) | | mark#(U83(X1, X2, X3)) | → | mark#(X1) |
mark#(plus(X1, X2)) | → | mark#(X2) | | mark#(U102(X1, X2, X3)) | → | mark#(X1) |
mark#(U82(X1, X2, X3)) | → | a__U82#(mark(X1), X2, X3) | | mark#(U102(X1, X2, X3)) | → | a__U102#(mark(X1), X2, X3) |
mark#(U41(X1, X2)) | → | mark#(X1) | | mark#(U12(X1, X2, X3)) | → | mark#(X1) |
mark#(U34(X1, X2, X3)) | → | a__U34#(mark(X1), X2, X3) | | mark#(U33(X1, X2, X3)) | → | a__U33#(mark(X1), X2, X3) |
a__U84#(tt, M, N) | → | a__plus#(mark(N), mark(M)) | | mark#(U72(X1, X2)) | → | a__U72#(mark(X1), X2) |
a__U82#(tt, M, N) | → | a__U83#(a__isNat(N), M, N) | | mark#(U92(X)) | → | mark#(X) |
mark#(U36(X)) | → | mark#(X) | | a__U102#(tt, M, N) | → | a__U103#(a__isNat(N), M, N) |
mark#(U81(X1, X2, X3)) | → | a__U81#(mark(X1), X2, X3) | | mark#(x(X1, X2)) | → | mark#(X1) |
a__U83#(tt, M, N) | → | a__U84#(a__isNatKind(N), M, N) |
Rewrite Rules
a__U101(tt, M, N) | → | a__U102(a__isNatKind(M), M, N) | | a__U102(tt, M, N) | → | a__U103(a__isNat(N), M, N) |
a__U103(tt, M, N) | → | a__U104(a__isNatKind(N), M, N) | | a__U104(tt, M, N) | → | a__plus(a__x(mark(N), mark(M)), mark(N)) |
a__U11(tt, V1, V2) | → | a__U12(a__isNatKind(V1), V1, V2) | | a__U12(tt, V1, V2) | → | a__U13(a__isNatKind(V2), V1, V2) |
a__U13(tt, V1, V2) | → | a__U14(a__isNatKind(V2), V1, V2) | | a__U14(tt, V1, V2) | → | a__U15(a__isNat(V1), V2) |
a__U15(tt, V2) | → | a__U16(a__isNat(V2)) | | a__U16(tt) | → | tt |
a__U21(tt, V1) | → | a__U22(a__isNatKind(V1), V1) | | a__U22(tt, V1) | → | a__U23(a__isNat(V1)) |
a__U23(tt) | → | tt | | a__U31(tt, V1, V2) | → | a__U32(a__isNatKind(V1), V1, V2) |
a__U32(tt, V1, V2) | → | a__U33(a__isNatKind(V2), V1, V2) | | a__U33(tt, V1, V2) | → | a__U34(a__isNatKind(V2), V1, V2) |
a__U34(tt, V1, V2) | → | a__U35(a__isNat(V1), V2) | | a__U35(tt, V2) | → | a__U36(a__isNat(V2)) |
a__U36(tt) | → | tt | | a__U41(tt, V2) | → | a__U42(a__isNatKind(V2)) |
a__U42(tt) | → | tt | | a__U51(tt) | → | tt |
a__U61(tt, V2) | → | a__U62(a__isNatKind(V2)) | | a__U62(tt) | → | tt |
a__U71(tt, N) | → | a__U72(a__isNatKind(N), N) | | a__U72(tt, N) | → | mark(N) |
a__U81(tt, M, N) | → | a__U82(a__isNatKind(M), M, N) | | a__U82(tt, M, N) | → | a__U83(a__isNat(N), M, N) |
a__U83(tt, M, N) | → | a__U84(a__isNatKind(N), M, N) | | a__U84(tt, M, N) | → | s(a__plus(mark(N), mark(M))) |
a__U91(tt, N) | → | a__U92(a__isNatKind(N)) | | a__U92(tt) | → | 0 |
a__isNat(0) | → | tt | | a__isNat(plus(V1, V2)) | → | a__U11(a__isNatKind(V1), V1, V2) |
a__isNat(s(V1)) | → | a__U21(a__isNatKind(V1), V1) | | a__isNat(x(V1, V2)) | → | a__U31(a__isNatKind(V1), V1, V2) |
a__isNatKind(0) | → | tt | | a__isNatKind(plus(V1, V2)) | → | a__U41(a__isNatKind(V1), V2) |
a__isNatKind(s(V1)) | → | a__U51(a__isNatKind(V1)) | | a__isNatKind(x(V1, V2)) | → | a__U61(a__isNatKind(V1), V2) |
a__plus(N, 0) | → | a__U71(a__isNat(N), N) | | a__plus(N, s(M)) | → | a__U81(a__isNat(M), M, N) |
a__x(N, 0) | → | a__U91(a__isNat(N), N) | | a__x(N, s(M)) | → | a__U101(a__isNat(M), M, N) |
mark(U101(X1, X2, X3)) | → | a__U101(mark(X1), X2, X3) | | mark(U102(X1, X2, X3)) | → | a__U102(mark(X1), X2, X3) |
mark(isNatKind(X)) | → | a__isNatKind(X) | | mark(U103(X1, X2, X3)) | → | a__U103(mark(X1), X2, X3) |
mark(isNat(X)) | → | a__isNat(X) | | mark(U104(X1, X2, X3)) | → | a__U104(mark(X1), X2, X3) |
mark(plus(X1, X2)) | → | a__plus(mark(X1), mark(X2)) | | mark(x(X1, X2)) | → | a__x(mark(X1), mark(X2)) |
mark(U11(X1, X2, X3)) | → | a__U11(mark(X1), X2, X3) | | mark(U12(X1, X2, X3)) | → | a__U12(mark(X1), X2, X3) |
mark(U13(X1, X2, X3)) | → | a__U13(mark(X1), X2, X3) | | mark(U14(X1, X2, X3)) | → | a__U14(mark(X1), X2, X3) |
mark(U15(X1, X2)) | → | a__U15(mark(X1), X2) | | mark(U16(X)) | → | a__U16(mark(X)) |
mark(U21(X1, X2)) | → | a__U21(mark(X1), X2) | | mark(U22(X1, X2)) | → | a__U22(mark(X1), X2) |
mark(U23(X)) | → | a__U23(mark(X)) | | mark(U31(X1, X2, X3)) | → | a__U31(mark(X1), X2, X3) |
mark(U32(X1, X2, X3)) | → | a__U32(mark(X1), X2, X3) | | mark(U33(X1, X2, X3)) | → | a__U33(mark(X1), X2, X3) |
mark(U34(X1, X2, X3)) | → | a__U34(mark(X1), X2, X3) | | mark(U35(X1, X2)) | → | a__U35(mark(X1), X2) |
mark(U36(X)) | → | a__U36(mark(X)) | | mark(U41(X1, X2)) | → | a__U41(mark(X1), X2) |
mark(U42(X)) | → | a__U42(mark(X)) | | mark(U51(X)) | → | a__U51(mark(X)) |
mark(U61(X1, X2)) | → | a__U61(mark(X1), X2) | | mark(U62(X)) | → | a__U62(mark(X)) |
mark(U71(X1, X2)) | → | a__U71(mark(X1), X2) | | mark(U72(X1, X2)) | → | a__U72(mark(X1), X2) |
mark(U81(X1, X2, X3)) | → | a__U81(mark(X1), X2, X3) | | mark(U82(X1, X2, X3)) | → | a__U82(mark(X1), X2, X3) |
mark(U83(X1, X2, X3)) | → | a__U83(mark(X1), X2, X3) | | mark(U84(X1, X2, X3)) | → | a__U84(mark(X1), X2, X3) |
mark(U91(X1, X2)) | → | a__U91(mark(X1), X2) | | mark(U92(X)) | → | a__U92(mark(X)) |
mark(tt) | → | tt | | mark(s(X)) | → | s(mark(X)) |
mark(0) | → | 0 | | a__U101(X1, X2, X3) | → | U101(X1, X2, X3) |
a__U102(X1, X2, X3) | → | U102(X1, X2, X3) | | a__isNatKind(X) | → | isNatKind(X) |
a__U103(X1, X2, X3) | → | U103(X1, X2, X3) | | a__isNat(X) | → | isNat(X) |
a__U104(X1, X2, X3) | → | U104(X1, X2, X3) | | a__plus(X1, X2) | → | plus(X1, X2) |
a__x(X1, X2) | → | x(X1, X2) | | a__U11(X1, X2, X3) | → | U11(X1, X2, X3) |
a__U12(X1, X2, X3) | → | U12(X1, X2, X3) | | a__U13(X1, X2, X3) | → | U13(X1, X2, X3) |
a__U14(X1, X2, X3) | → | U14(X1, X2, X3) | | a__U15(X1, X2) | → | U15(X1, X2) |
a__U16(X) | → | U16(X) | | a__U21(X1, X2) | → | U21(X1, X2) |
a__U22(X1, X2) | → | U22(X1, X2) | | a__U23(X) | → | U23(X) |
a__U31(X1, X2, X3) | → | U31(X1, X2, X3) | | a__U32(X1, X2, X3) | → | U32(X1, X2, X3) |
a__U33(X1, X2, X3) | → | U33(X1, X2, X3) | | a__U34(X1, X2, X3) | → | U34(X1, X2, X3) |
a__U35(X1, X2) | → | U35(X1, X2) | | a__U36(X) | → | U36(X) |
a__U41(X1, X2) | → | U41(X1, X2) | | a__U42(X) | → | U42(X) |
a__U51(X) | → | U51(X) | | a__U61(X1, X2) | → | U61(X1, X2) |
a__U62(X) | → | U62(X) | | a__U71(X1, X2) | → | U71(X1, X2) |
a__U72(X1, X2) | → | U72(X1, X2) | | a__U81(X1, X2, X3) | → | U81(X1, X2, X3) |
a__U82(X1, X2, X3) | → | U82(X1, X2, X3) | | a__U83(X1, X2, X3) | → | U83(X1, X2, X3) |
a__U84(X1, X2, X3) | → | U84(X1, X2, X3) | | a__U91(X1, X2) | → | U91(X1, X2) |
a__U92(X) | → | U92(X) |
Original Signature
Termination of terms over the following signature is verified: U104, U62, U61, a__U41, a__U72, a__U42, a__U71, U23, U21, U22, plus, a__U84, isNatKind, mark, U71, U36, U72, 0, a__isNat, a__U32, a__U83, a__U31, a__U82, a__U81, U31, U32, a__U36, U33, a__U35, U34, a__U34, a__U104, U35, a__U33, a__U103, a__U51, isNat, U42, a__U91, U92, U41, a__U92, U91, a__U23, a__U22, a__U102, a__U101, a__U21, a__U62, U83, a__plus, U84, U51, U14, s, U15, tt, U82, U16, a__U16, U81, a__U15, a__U14, a__U13, U11, U12, a__U12, U13, a__U11, a__U61, U102, a__x, U103, a__isNatKind, x, U101
Open Dependency Pair Problem 28
Dependency Pairs
a__isNat#(plus(V1, V2)) | → | a__U11#(a__isNatKind(V1), V1, V2) | | a__U11#(tt, V1, V2) | → | a__U12#(a__isNatKind(V1), V1, V2) |
a__U22#(tt, V1) | → | a__isNat#(V1) | | a__U14#(tt, V1, V2) | → | a__U15#(a__isNat(V1), V2) |
a__U13#(tt, V1, V2) | → | a__U14#(a__isNatKind(V2), V1, V2) | | a__isNat#(x(V1, V2)) | → | a__U31#(a__isNatKind(V1), V1, V2) |
a__U15#(tt, V2) | → | a__isNat#(V2) | | a__U31#(tt, V1, V2) | → | a__U32#(a__isNatKind(V1), V1, V2) |
a__isNat#(s(V1)) | → | a__U21#(a__isNatKind(V1), V1) | | a__U35#(tt, V2) | → | a__isNat#(V2) |
a__U34#(tt, V1, V2) | → | a__isNat#(V1) | | a__U33#(tt, V1, V2) | → | a__U34#(a__isNatKind(V2), V1, V2) |
a__U32#(tt, V1, V2) | → | a__U33#(a__isNatKind(V2), V1, V2) | | a__U34#(tt, V1, V2) | → | a__U35#(a__isNat(V1), V2) |
a__U12#(tt, V1, V2) | → | a__U13#(a__isNatKind(V2), V1, V2) | | a__U21#(tt, V1) | → | a__U22#(a__isNatKind(V1), V1) |
a__U14#(tt, V1, V2) | → | a__isNat#(V1) |
Rewrite Rules
a__U101(tt, M, N) | → | a__U102(a__isNatKind(M), M, N) | | a__U102(tt, M, N) | → | a__U103(a__isNat(N), M, N) |
a__U103(tt, M, N) | → | a__U104(a__isNatKind(N), M, N) | | a__U104(tt, M, N) | → | a__plus(a__x(mark(N), mark(M)), mark(N)) |
a__U11(tt, V1, V2) | → | a__U12(a__isNatKind(V1), V1, V2) | | a__U12(tt, V1, V2) | → | a__U13(a__isNatKind(V2), V1, V2) |
a__U13(tt, V1, V2) | → | a__U14(a__isNatKind(V2), V1, V2) | | a__U14(tt, V1, V2) | → | a__U15(a__isNat(V1), V2) |
a__U15(tt, V2) | → | a__U16(a__isNat(V2)) | | a__U16(tt) | → | tt |
a__U21(tt, V1) | → | a__U22(a__isNatKind(V1), V1) | | a__U22(tt, V1) | → | a__U23(a__isNat(V1)) |
a__U23(tt) | → | tt | | a__U31(tt, V1, V2) | → | a__U32(a__isNatKind(V1), V1, V2) |
a__U32(tt, V1, V2) | → | a__U33(a__isNatKind(V2), V1, V2) | | a__U33(tt, V1, V2) | → | a__U34(a__isNatKind(V2), V1, V2) |
a__U34(tt, V1, V2) | → | a__U35(a__isNat(V1), V2) | | a__U35(tt, V2) | → | a__U36(a__isNat(V2)) |
a__U36(tt) | → | tt | | a__U41(tt, V2) | → | a__U42(a__isNatKind(V2)) |
a__U42(tt) | → | tt | | a__U51(tt) | → | tt |
a__U61(tt, V2) | → | a__U62(a__isNatKind(V2)) | | a__U62(tt) | → | tt |
a__U71(tt, N) | → | a__U72(a__isNatKind(N), N) | | a__U72(tt, N) | → | mark(N) |
a__U81(tt, M, N) | → | a__U82(a__isNatKind(M), M, N) | | a__U82(tt, M, N) | → | a__U83(a__isNat(N), M, N) |
a__U83(tt, M, N) | → | a__U84(a__isNatKind(N), M, N) | | a__U84(tt, M, N) | → | s(a__plus(mark(N), mark(M))) |
a__U91(tt, N) | → | a__U92(a__isNatKind(N)) | | a__U92(tt) | → | 0 |
a__isNat(0) | → | tt | | a__isNat(plus(V1, V2)) | → | a__U11(a__isNatKind(V1), V1, V2) |
a__isNat(s(V1)) | → | a__U21(a__isNatKind(V1), V1) | | a__isNat(x(V1, V2)) | → | a__U31(a__isNatKind(V1), V1, V2) |
a__isNatKind(0) | → | tt | | a__isNatKind(plus(V1, V2)) | → | a__U41(a__isNatKind(V1), V2) |
a__isNatKind(s(V1)) | → | a__U51(a__isNatKind(V1)) | | a__isNatKind(x(V1, V2)) | → | a__U61(a__isNatKind(V1), V2) |
a__plus(N, 0) | → | a__U71(a__isNat(N), N) | | a__plus(N, s(M)) | → | a__U81(a__isNat(M), M, N) |
a__x(N, 0) | → | a__U91(a__isNat(N), N) | | a__x(N, s(M)) | → | a__U101(a__isNat(M), M, N) |
mark(U101(X1, X2, X3)) | → | a__U101(mark(X1), X2, X3) | | mark(U102(X1, X2, X3)) | → | a__U102(mark(X1), X2, X3) |
mark(isNatKind(X)) | → | a__isNatKind(X) | | mark(U103(X1, X2, X3)) | → | a__U103(mark(X1), X2, X3) |
mark(isNat(X)) | → | a__isNat(X) | | mark(U104(X1, X2, X3)) | → | a__U104(mark(X1), X2, X3) |
mark(plus(X1, X2)) | → | a__plus(mark(X1), mark(X2)) | | mark(x(X1, X2)) | → | a__x(mark(X1), mark(X2)) |
mark(U11(X1, X2, X3)) | → | a__U11(mark(X1), X2, X3) | | mark(U12(X1, X2, X3)) | → | a__U12(mark(X1), X2, X3) |
mark(U13(X1, X2, X3)) | → | a__U13(mark(X1), X2, X3) | | mark(U14(X1, X2, X3)) | → | a__U14(mark(X1), X2, X3) |
mark(U15(X1, X2)) | → | a__U15(mark(X1), X2) | | mark(U16(X)) | → | a__U16(mark(X)) |
mark(U21(X1, X2)) | → | a__U21(mark(X1), X2) | | mark(U22(X1, X2)) | → | a__U22(mark(X1), X2) |
mark(U23(X)) | → | a__U23(mark(X)) | | mark(U31(X1, X2, X3)) | → | a__U31(mark(X1), X2, X3) |
mark(U32(X1, X2, X3)) | → | a__U32(mark(X1), X2, X3) | | mark(U33(X1, X2, X3)) | → | a__U33(mark(X1), X2, X3) |
mark(U34(X1, X2, X3)) | → | a__U34(mark(X1), X2, X3) | | mark(U35(X1, X2)) | → | a__U35(mark(X1), X2) |
mark(U36(X)) | → | a__U36(mark(X)) | | mark(U41(X1, X2)) | → | a__U41(mark(X1), X2) |
mark(U42(X)) | → | a__U42(mark(X)) | | mark(U51(X)) | → | a__U51(mark(X)) |
mark(U61(X1, X2)) | → | a__U61(mark(X1), X2) | | mark(U62(X)) | → | a__U62(mark(X)) |
mark(U71(X1, X2)) | → | a__U71(mark(X1), X2) | | mark(U72(X1, X2)) | → | a__U72(mark(X1), X2) |
mark(U81(X1, X2, X3)) | → | a__U81(mark(X1), X2, X3) | | mark(U82(X1, X2, X3)) | → | a__U82(mark(X1), X2, X3) |
mark(U83(X1, X2, X3)) | → | a__U83(mark(X1), X2, X3) | | mark(U84(X1, X2, X3)) | → | a__U84(mark(X1), X2, X3) |
mark(U91(X1, X2)) | → | a__U91(mark(X1), X2) | | mark(U92(X)) | → | a__U92(mark(X)) |
mark(tt) | → | tt | | mark(s(X)) | → | s(mark(X)) |
mark(0) | → | 0 | | a__U101(X1, X2, X3) | → | U101(X1, X2, X3) |
a__U102(X1, X2, X3) | → | U102(X1, X2, X3) | | a__isNatKind(X) | → | isNatKind(X) |
a__U103(X1, X2, X3) | → | U103(X1, X2, X3) | | a__isNat(X) | → | isNat(X) |
a__U104(X1, X2, X3) | → | U104(X1, X2, X3) | | a__plus(X1, X2) | → | plus(X1, X2) |
a__x(X1, X2) | → | x(X1, X2) | | a__U11(X1, X2, X3) | → | U11(X1, X2, X3) |
a__U12(X1, X2, X3) | → | U12(X1, X2, X3) | | a__U13(X1, X2, X3) | → | U13(X1, X2, X3) |
a__U14(X1, X2, X3) | → | U14(X1, X2, X3) | | a__U15(X1, X2) | → | U15(X1, X2) |
a__U16(X) | → | U16(X) | | a__U21(X1, X2) | → | U21(X1, X2) |
a__U22(X1, X2) | → | U22(X1, X2) | | a__U23(X) | → | U23(X) |
a__U31(X1, X2, X3) | → | U31(X1, X2, X3) | | a__U32(X1, X2, X3) | → | U32(X1, X2, X3) |
a__U33(X1, X2, X3) | → | U33(X1, X2, X3) | | a__U34(X1, X2, X3) | → | U34(X1, X2, X3) |
a__U35(X1, X2) | → | U35(X1, X2) | | a__U36(X) | → | U36(X) |
a__U41(X1, X2) | → | U41(X1, X2) | | a__U42(X) | → | U42(X) |
a__U51(X) | → | U51(X) | | a__U61(X1, X2) | → | U61(X1, X2) |
a__U62(X) | → | U62(X) | | a__U71(X1, X2) | → | U71(X1, X2) |
a__U72(X1, X2) | → | U72(X1, X2) | | a__U81(X1, X2, X3) | → | U81(X1, X2, X3) |
a__U82(X1, X2, X3) | → | U82(X1, X2, X3) | | a__U83(X1, X2, X3) | → | U83(X1, X2, X3) |
a__U84(X1, X2, X3) | → | U84(X1, X2, X3) | | a__U91(X1, X2) | → | U91(X1, X2) |
a__U92(X) | → | U92(X) |
Original Signature
Termination of terms over the following signature is verified: U104, U62, U61, a__U41, a__U72, a__U42, a__U71, U23, U21, U22, plus, a__U84, isNatKind, mark, U71, U36, U72, 0, a__isNat, a__U32, a__U83, a__U31, a__U82, a__U81, U31, U32, a__U36, U33, a__U35, U34, a__U34, a__U104, U35, a__U33, a__U103, a__U51, isNat, U42, a__U91, U92, U41, a__U92, U91, a__U23, a__U22, a__U102, a__U101, a__U21, a__U62, U83, a__plus, U84, U51, U14, s, U15, tt, U82, U16, a__U16, U81, a__U15, a__U14, a__U13, U11, U12, a__U12, U13, a__U11, a__U61, U102, a__x, U103, a__isNatKind, x, U101
Open Dependency Pair Problem 31
Dependency Pairs
mark#(U101(X1, X2, X3)) | → | mark#(X1) | | a__U71#(tt, N) | → | a__isNatKind#(N) |
mark#(U84(X1, X2, X3)) | → | mark#(X1) | | mark#(U35(X1, X2)) | → | a__U35#(mark(X1), X2) |
mark#(U32(X1, X2, X3)) | → | mark#(X1) | | mark#(U103(X1, X2, X3)) | → | mark#(X1) |
a__U84#(tt, M, N) | → | mark#(N) | | mark#(U104(X1, X2, X3)) | → | mark#(X1) |
mark#(U22(X1, X2)) | → | a__U22#(mark(X1), X2) | | a__U104#(tt, M, N) | → | mark#(N) |
a__U101#(tt, M, N) | → | a__U102#(a__isNatKind(M), M, N) | | a__plus#(N, s(M)) | → | a__U81#(a__isNat(M), M, N) |
a__U103#(tt, M, N) | → | a__U104#(a__isNatKind(N), M, N) | | mark#(U33(X1, X2, X3)) | → | mark#(X1) |
mark#(s(X)) | → | mark#(X) | | a__plus#(N, 0) | → | a__U71#(a__isNat(N), N) |
a__U84#(tt, M, N) | → | mark#(M) | | mark#(U71(X1, X2)) | → | a__U71#(mark(X1), X2) |
mark#(U84(X1, X2, X3)) | → | a__U84#(mark(X1), X2, X3) | | mark#(U13(X1, X2, X3)) | → | mark#(X1) |
mark#(U72(X1, X2)) | → | mark#(X1) | | mark#(plus(X1, X2)) | → | a__plus#(mark(X1), mark(X2)) |
mark#(U82(X1, X2, X3)) | → | mark#(X1) | | mark#(U92(X)) | → | a__U92#(mark(X)) |
mark#(U71(X1, X2)) | → | mark#(X1) | | mark#(U101(X1, X2, X3)) | → | a__U101#(mark(X1), X2, X3) |
mark#(U31(X1, X2, X3)) | → | mark#(X1) | | mark#(plus(X1, X2)) | → | mark#(X1) |
mark#(U15(X1, X2)) | → | mark#(X1) | | mark#(U51(X)) | → | mark#(X) |
mark#(U34(X1, X2, X3)) | → | mark#(X1) | | mark#(x(X1, X2)) | → | mark#(X2) |
mark#(U13(X1, X2, X3)) | → | a__U13#(mark(X1), X2, X3) | | mark#(U104(X1, X2, X3)) | → | a__U104#(mark(X1), X2, X3) |
mark#(U62(X)) | → | mark#(X) | | a__U72#(tt, N) | → | mark#(N) |
a__U104#(tt, M, N) | → | a__plus#(a__x(mark(N), mark(M)), mark(N)) | | a__U81#(tt, M, N) | → | a__U82#(a__isNatKind(M), M, N) |
mark#(U103(X1, X2, X3)) | → | a__U103#(mark(X1), X2, X3) | | mark#(U11(X1, X2, X3)) | → | a__U11#(mark(X1), X2, X3) |
mark#(U11(X1, X2, X3)) | → | mark#(X1) | | mark#(U61(X1, X2)) | → | mark#(X1) |
a__U71#(tt, N) | → | a__U72#(a__isNatKind(N), N) | | mark#(U91(X1, X2)) | → | mark#(X1) |
a__x#(N, s(M)) | → | a__U101#(a__isNat(M), M, N) | | mark#(x(X1, X2)) | → | a__x#(mark(X1), mark(X2)) |
mark#(U83(X1, X2, X3)) | → | a__U83#(mark(X1), X2, X3) | | a__U104#(tt, M, N) | → | a__x#(mark(N), mark(M)) |
mark#(U21(X1, X2)) | → | mark#(X1) | | mark#(U42(X)) | → | mark#(X) |
mark#(U35(X1, X2)) | → | mark#(X1) | | mark#(U14(X1, X2, X3)) | → | mark#(X1) |
mark#(U81(X1, X2, X3)) | → | mark#(X1) | | mark#(U16(X)) | → | mark#(X) |
a__U104#(tt, M, N) | → | mark#(M) | | mark#(U22(X1, X2)) | → | mark#(X1) |
mark#(U23(X)) | → | mark#(X) | | mark#(U83(X1, X2, X3)) | → | mark#(X1) |
mark#(plus(X1, X2)) | → | mark#(X2) | | mark#(U102(X1, X2, X3)) | → | mark#(X1) |
mark#(U82(X1, X2, X3)) | → | a__U82#(mark(X1), X2, X3) | | mark#(U102(X1, X2, X3)) | → | a__U102#(mark(X1), X2, X3) |
mark#(U41(X1, X2)) | → | mark#(X1) | | mark#(U33(X1, X2, X3)) | → | a__U33#(mark(X1), X2, X3) |
mark#(U12(X1, X2, X3)) | → | mark#(X1) | | a__U84#(tt, M, N) | → | a__plus#(mark(N), mark(M)) |
mark#(U72(X1, X2)) | → | a__U72#(mark(X1), X2) | | a__U82#(tt, M, N) | → | a__U83#(a__isNat(N), M, N) |
mark#(U92(X)) | → | mark#(X) | | mark#(U36(X)) | → | mark#(X) |
a__U102#(tt, M, N) | → | a__U103#(a__isNat(N), M, N) | | mark#(U81(X1, X2, X3)) | → | a__U81#(mark(X1), X2, X3) |
mark#(x(X1, X2)) | → | mark#(X1) | | a__U83#(tt, M, N) | → | a__U84#(a__isNatKind(N), M, N) |
Rewrite Rules
a__U101(tt, M, N) | → | a__U102(a__isNatKind(M), M, N) | | a__U102(tt, M, N) | → | a__U103(a__isNat(N), M, N) |
a__U103(tt, M, N) | → | a__U104(a__isNatKind(N), M, N) | | a__U104(tt, M, N) | → | a__plus(a__x(mark(N), mark(M)), mark(N)) |
a__U11(tt, V1, V2) | → | a__U12(a__isNatKind(V1), V1, V2) | | a__U12(tt, V1, V2) | → | a__U13(a__isNatKind(V2), V1, V2) |
a__U13(tt, V1, V2) | → | a__U14(a__isNatKind(V2), V1, V2) | | a__U14(tt, V1, V2) | → | a__U15(a__isNat(V1), V2) |
a__U15(tt, V2) | → | a__U16(a__isNat(V2)) | | a__U16(tt) | → | tt |
a__U21(tt, V1) | → | a__U22(a__isNatKind(V1), V1) | | a__U22(tt, V1) | → | a__U23(a__isNat(V1)) |
a__U23(tt) | → | tt | | a__U31(tt, V1, V2) | → | a__U32(a__isNatKind(V1), V1, V2) |
a__U32(tt, V1, V2) | → | a__U33(a__isNatKind(V2), V1, V2) | | a__U33(tt, V1, V2) | → | a__U34(a__isNatKind(V2), V1, V2) |
a__U34(tt, V1, V2) | → | a__U35(a__isNat(V1), V2) | | a__U35(tt, V2) | → | a__U36(a__isNat(V2)) |
a__U36(tt) | → | tt | | a__U41(tt, V2) | → | a__U42(a__isNatKind(V2)) |
a__U42(tt) | → | tt | | a__U51(tt) | → | tt |
a__U61(tt, V2) | → | a__U62(a__isNatKind(V2)) | | a__U62(tt) | → | tt |
a__U71(tt, N) | → | a__U72(a__isNatKind(N), N) | | a__U72(tt, N) | → | mark(N) |
a__U81(tt, M, N) | → | a__U82(a__isNatKind(M), M, N) | | a__U82(tt, M, N) | → | a__U83(a__isNat(N), M, N) |
a__U83(tt, M, N) | → | a__U84(a__isNatKind(N), M, N) | | a__U84(tt, M, N) | → | s(a__plus(mark(N), mark(M))) |
a__U91(tt, N) | → | a__U92(a__isNatKind(N)) | | a__U92(tt) | → | 0 |
a__isNat(0) | → | tt | | a__isNat(plus(V1, V2)) | → | a__U11(a__isNatKind(V1), V1, V2) |
a__isNat(s(V1)) | → | a__U21(a__isNatKind(V1), V1) | | a__isNat(x(V1, V2)) | → | a__U31(a__isNatKind(V1), V1, V2) |
a__isNatKind(0) | → | tt | | a__isNatKind(plus(V1, V2)) | → | a__U41(a__isNatKind(V1), V2) |
a__isNatKind(s(V1)) | → | a__U51(a__isNatKind(V1)) | | a__isNatKind(x(V1, V2)) | → | a__U61(a__isNatKind(V1), V2) |
a__plus(N, 0) | → | a__U71(a__isNat(N), N) | | a__plus(N, s(M)) | → | a__U81(a__isNat(M), M, N) |
a__x(N, 0) | → | a__U91(a__isNat(N), N) | | a__x(N, s(M)) | → | a__U101(a__isNat(M), M, N) |
mark(U101(X1, X2, X3)) | → | a__U101(mark(X1), X2, X3) | | mark(U102(X1, X2, X3)) | → | a__U102(mark(X1), X2, X3) |
mark(isNatKind(X)) | → | a__isNatKind(X) | | mark(U103(X1, X2, X3)) | → | a__U103(mark(X1), X2, X3) |
mark(isNat(X)) | → | a__isNat(X) | | mark(U104(X1, X2, X3)) | → | a__U104(mark(X1), X2, X3) |
mark(plus(X1, X2)) | → | a__plus(mark(X1), mark(X2)) | | mark(x(X1, X2)) | → | a__x(mark(X1), mark(X2)) |
mark(U11(X1, X2, X3)) | → | a__U11(mark(X1), X2, X3) | | mark(U12(X1, X2, X3)) | → | a__U12(mark(X1), X2, X3) |
mark(U13(X1, X2, X3)) | → | a__U13(mark(X1), X2, X3) | | mark(U14(X1, X2, X3)) | → | a__U14(mark(X1), X2, X3) |
mark(U15(X1, X2)) | → | a__U15(mark(X1), X2) | | mark(U16(X)) | → | a__U16(mark(X)) |
mark(U21(X1, X2)) | → | a__U21(mark(X1), X2) | | mark(U22(X1, X2)) | → | a__U22(mark(X1), X2) |
mark(U23(X)) | → | a__U23(mark(X)) | | mark(U31(X1, X2, X3)) | → | a__U31(mark(X1), X2, X3) |
mark(U32(X1, X2, X3)) | → | a__U32(mark(X1), X2, X3) | | mark(U33(X1, X2, X3)) | → | a__U33(mark(X1), X2, X3) |
mark(U34(X1, X2, X3)) | → | a__U34(mark(X1), X2, X3) | | mark(U35(X1, X2)) | → | a__U35(mark(X1), X2) |
mark(U36(X)) | → | a__U36(mark(X)) | | mark(U41(X1, X2)) | → | a__U41(mark(X1), X2) |
mark(U42(X)) | → | a__U42(mark(X)) | | mark(U51(X)) | → | a__U51(mark(X)) |
mark(U61(X1, X2)) | → | a__U61(mark(X1), X2) | | mark(U62(X)) | → | a__U62(mark(X)) |
mark(U71(X1, X2)) | → | a__U71(mark(X1), X2) | | mark(U72(X1, X2)) | → | a__U72(mark(X1), X2) |
mark(U81(X1, X2, X3)) | → | a__U81(mark(X1), X2, X3) | | mark(U82(X1, X2, X3)) | → | a__U82(mark(X1), X2, X3) |
mark(U83(X1, X2, X3)) | → | a__U83(mark(X1), X2, X3) | | mark(U84(X1, X2, X3)) | → | a__U84(mark(X1), X2, X3) |
mark(U91(X1, X2)) | → | a__U91(mark(X1), X2) | | mark(U92(X)) | → | a__U92(mark(X)) |
mark(tt) | → | tt | | mark(s(X)) | → | s(mark(X)) |
mark(0) | → | 0 | | a__U101(X1, X2, X3) | → | U101(X1, X2, X3) |
a__U102(X1, X2, X3) | → | U102(X1, X2, X3) | | a__isNatKind(X) | → | isNatKind(X) |
a__U103(X1, X2, X3) | → | U103(X1, X2, X3) | | a__isNat(X) | → | isNat(X) |
a__U104(X1, X2, X3) | → | U104(X1, X2, X3) | | a__plus(X1, X2) | → | plus(X1, X2) |
a__x(X1, X2) | → | x(X1, X2) | | a__U11(X1, X2, X3) | → | U11(X1, X2, X3) |
a__U12(X1, X2, X3) | → | U12(X1, X2, X3) | | a__U13(X1, X2, X3) | → | U13(X1, X2, X3) |
a__U14(X1, X2, X3) | → | U14(X1, X2, X3) | | a__U15(X1, X2) | → | U15(X1, X2) |
a__U16(X) | → | U16(X) | | a__U21(X1, X2) | → | U21(X1, X2) |
a__U22(X1, X2) | → | U22(X1, X2) | | a__U23(X) | → | U23(X) |
a__U31(X1, X2, X3) | → | U31(X1, X2, X3) | | a__U32(X1, X2, X3) | → | U32(X1, X2, X3) |
a__U33(X1, X2, X3) | → | U33(X1, X2, X3) | | a__U34(X1, X2, X3) | → | U34(X1, X2, X3) |
a__U35(X1, X2) | → | U35(X1, X2) | | a__U36(X) | → | U36(X) |
a__U41(X1, X2) | → | U41(X1, X2) | | a__U42(X) | → | U42(X) |
a__U51(X) | → | U51(X) | | a__U61(X1, X2) | → | U61(X1, X2) |
a__U62(X) | → | U62(X) | | a__U71(X1, X2) | → | U71(X1, X2) |
a__U72(X1, X2) | → | U72(X1, X2) | | a__U81(X1, X2, X3) | → | U81(X1, X2, X3) |
a__U82(X1, X2, X3) | → | U82(X1, X2, X3) | | a__U83(X1, X2, X3) | → | U83(X1, X2, X3) |
a__U84(X1, X2, X3) | → | U84(X1, X2, X3) | | a__U91(X1, X2) | → | U91(X1, X2) |
a__U92(X) | → | U92(X) |
Original Signature
Termination of terms over the following signature is verified: U104, U62, U61, a__U41, a__U72, a__U42, a__U71, U23, U21, U22, plus, a__U84, isNatKind, mark, U71, U36, U72, 0, a__isNat, a__U32, a__U83, a__U31, a__U82, a__U81, U31, U32, a__U36, U33, a__U35, U34, a__U34, a__U104, U35, a__U33, a__U103, a__U51, isNat, U42, a__U91, U92, U41, a__U92, U91, a__U23, a__U22, a__U102, a__U101, a__U21, a__U62, U83, a__plus, U84, U51, U14, s, U15, tt, U82, U16, a__U16, U81, a__U15, a__U14, a__U13, U11, U12, a__U12, U13, a__U11, a__U61, U102, a__x, U103, a__isNatKind, x, U101
Open Dependency Pair Problem 30
Dependency Pairs
mark#(U101(X1, X2, X3)) | → | mark#(X1) | | mark#(U35(X1, X2)) | → | a__U35#(mark(X1), X2) |
mark#(U84(X1, X2, X3)) | → | mark#(X1) | | mark#(U32(X1, X2, X3)) | → | mark#(X1) |
mark#(U103(X1, X2, X3)) | → | mark#(X1) | | a__U84#(tt, M, N) | → | mark#(N) |
mark#(U104(X1, X2, X3)) | → | mark#(X1) | | mark#(U22(X1, X2)) | → | a__U22#(mark(X1), X2) |
a__U104#(tt, M, N) | → | mark#(N) | | a__U101#(tt, M, N) | → | a__U102#(a__isNatKind(M), M, N) |
a__plus#(N, s(M)) | → | a__U81#(a__isNat(M), M, N) | | a__U103#(tt, M, N) | → | a__U104#(a__isNatKind(N), M, N) |
mark#(U12(X1, X2, X3)) | → | a__U12#(mark(X1), X2, X3) | | mark#(U33(X1, X2, X3)) | → | mark#(X1) |
mark#(U41(X1, X2)) | → | a__U41#(mark(X1), X2) | | mark#(s(X)) | → | mark#(X) |
a__plus#(N, 0) | → | a__U71#(a__isNat(N), N) | | a__U84#(tt, M, N) | → | mark#(M) |
mark#(U71(X1, X2)) | → | a__U71#(mark(X1), X2) | | mark#(U84(X1, X2, X3)) | → | a__U84#(mark(X1), X2, X3) |
mark#(U13(X1, X2, X3)) | → | mark#(X1) | | mark#(U72(X1, X2)) | → | mark#(X1) |
mark#(plus(X1, X2)) | → | a__plus#(mark(X1), mark(X2)) | | mark#(U82(X1, X2, X3)) | → | mark#(X1) |
mark#(U71(X1, X2)) | → | mark#(X1) | | mark#(U101(X1, X2, X3)) | → | a__U101#(mark(X1), X2, X3) |
mark#(U31(X1, X2, X3)) | → | mark#(X1) | | mark#(plus(X1, X2)) | → | mark#(X1) |
mark#(U51(X)) | → | mark#(X) | | mark#(U15(X1, X2)) | → | mark#(X1) |
mark#(U34(X1, X2, X3)) | → | mark#(X1) | | mark#(U15(X1, X2)) | → | a__U15#(mark(X1), X2) |
mark#(x(X1, X2)) | → | mark#(X2) | | mark#(U104(X1, X2, X3)) | → | a__U104#(mark(X1), X2, X3) |
mark#(U62(X)) | → | mark#(X) | | a__U72#(tt, N) | → | mark#(N) |
a__U104#(tt, M, N) | → | a__plus#(a__x(mark(N), mark(M)), mark(N)) | | a__U81#(tt, M, N) | → | a__U82#(a__isNatKind(M), M, N) |
mark#(U32(X1, X2, X3)) | → | a__U32#(mark(X1), X2, X3) | | mark#(U103(X1, X2, X3)) | → | a__U103#(mark(X1), X2, X3) |
mark#(U11(X1, X2, X3)) | → | mark#(X1) | | mark#(U61(X1, X2)) | → | mark#(X1) |
a__U71#(tt, N) | → | a__U72#(a__isNatKind(N), N) | | mark#(U91(X1, X2)) | → | mark#(X1) |
mark#(isNat(X)) | → | a__isNat#(X) | | a__x#(N, s(M)) | → | a__U101#(a__isNat(M), M, N) |
mark#(x(X1, X2)) | → | a__x#(mark(X1), mark(X2)) | | mark#(U83(X1, X2, X3)) | → | a__U83#(mark(X1), X2, X3) |
a__U104#(tt, M, N) | → | a__x#(mark(N), mark(M)) | | mark#(U42(X)) | → | mark#(X) |
mark#(U35(X1, X2)) | → | mark#(X1) | | mark#(U21(X1, X2)) | → | mark#(X1) |
mark#(U81(X1, X2, X3)) | → | mark#(X1) | | mark#(U14(X1, X2, X3)) | → | mark#(X1) |
mark#(U16(X)) | → | mark#(X) | | a__U104#(tt, M, N) | → | mark#(M) |
mark#(U22(X1, X2)) | → | mark#(X1) | | mark#(U23(X)) | → | mark#(X) |
mark#(U83(X1, X2, X3)) | → | mark#(X1) | | mark#(plus(X1, X2)) | → | mark#(X2) |
mark#(U102(X1, X2, X3)) | → | mark#(X1) | | mark#(U82(X1, X2, X3)) | → | a__U82#(mark(X1), X2, X3) |
mark#(U102(X1, X2, X3)) | → | a__U102#(mark(X1), X2, X3) | | mark#(U41(X1, X2)) | → | mark#(X1) |
mark#(U12(X1, X2, X3)) | → | mark#(X1) | | mark#(U34(X1, X2, X3)) | → | a__U34#(mark(X1), X2, X3) |
a__U84#(tt, M, N) | → | a__plus#(mark(N), mark(M)) | | mark#(U72(X1, X2)) | → | a__U72#(mark(X1), X2) |
a__U82#(tt, M, N) | → | a__U83#(a__isNat(N), M, N) | | mark#(U92(X)) | → | mark#(X) |
mark#(U21(X1, X2)) | → | a__U21#(mark(X1), X2) | | mark#(U36(X)) | → | mark#(X) |
a__U102#(tt, M, N) | → | a__U103#(a__isNat(N), M, N) | | mark#(U81(X1, X2, X3)) | → | a__U81#(mark(X1), X2, X3) |
mark#(x(X1, X2)) | → | mark#(X1) | | a__U83#(tt, M, N) | → | a__U84#(a__isNatKind(N), M, N) |
Rewrite Rules
a__U101(tt, M, N) | → | a__U102(a__isNatKind(M), M, N) | | a__U102(tt, M, N) | → | a__U103(a__isNat(N), M, N) |
a__U103(tt, M, N) | → | a__U104(a__isNatKind(N), M, N) | | a__U104(tt, M, N) | → | a__plus(a__x(mark(N), mark(M)), mark(N)) |
a__U11(tt, V1, V2) | → | a__U12(a__isNatKind(V1), V1, V2) | | a__U12(tt, V1, V2) | → | a__U13(a__isNatKind(V2), V1, V2) |
a__U13(tt, V1, V2) | → | a__U14(a__isNatKind(V2), V1, V2) | | a__U14(tt, V1, V2) | → | a__U15(a__isNat(V1), V2) |
a__U15(tt, V2) | → | a__U16(a__isNat(V2)) | | a__U16(tt) | → | tt |
a__U21(tt, V1) | → | a__U22(a__isNatKind(V1), V1) | | a__U22(tt, V1) | → | a__U23(a__isNat(V1)) |
a__U23(tt) | → | tt | | a__U31(tt, V1, V2) | → | a__U32(a__isNatKind(V1), V1, V2) |
a__U32(tt, V1, V2) | → | a__U33(a__isNatKind(V2), V1, V2) | | a__U33(tt, V1, V2) | → | a__U34(a__isNatKind(V2), V1, V2) |
a__U34(tt, V1, V2) | → | a__U35(a__isNat(V1), V2) | | a__U35(tt, V2) | → | a__U36(a__isNat(V2)) |
a__U36(tt) | → | tt | | a__U41(tt, V2) | → | a__U42(a__isNatKind(V2)) |
a__U42(tt) | → | tt | | a__U51(tt) | → | tt |
a__U61(tt, V2) | → | a__U62(a__isNatKind(V2)) | | a__U62(tt) | → | tt |
a__U71(tt, N) | → | a__U72(a__isNatKind(N), N) | | a__U72(tt, N) | → | mark(N) |
a__U81(tt, M, N) | → | a__U82(a__isNatKind(M), M, N) | | a__U82(tt, M, N) | → | a__U83(a__isNat(N), M, N) |
a__U83(tt, M, N) | → | a__U84(a__isNatKind(N), M, N) | | a__U84(tt, M, N) | → | s(a__plus(mark(N), mark(M))) |
a__U91(tt, N) | → | a__U92(a__isNatKind(N)) | | a__U92(tt) | → | 0 |
a__isNat(0) | → | tt | | a__isNat(plus(V1, V2)) | → | a__U11(a__isNatKind(V1), V1, V2) |
a__isNat(s(V1)) | → | a__U21(a__isNatKind(V1), V1) | | a__isNat(x(V1, V2)) | → | a__U31(a__isNatKind(V1), V1, V2) |
a__isNatKind(0) | → | tt | | a__isNatKind(plus(V1, V2)) | → | a__U41(a__isNatKind(V1), V2) |
a__isNatKind(s(V1)) | → | a__U51(a__isNatKind(V1)) | | a__isNatKind(x(V1, V2)) | → | a__U61(a__isNatKind(V1), V2) |
a__plus(N, 0) | → | a__U71(a__isNat(N), N) | | a__plus(N, s(M)) | → | a__U81(a__isNat(M), M, N) |
a__x(N, 0) | → | a__U91(a__isNat(N), N) | | a__x(N, s(M)) | → | a__U101(a__isNat(M), M, N) |
mark(U101(X1, X2, X3)) | → | a__U101(mark(X1), X2, X3) | | mark(U102(X1, X2, X3)) | → | a__U102(mark(X1), X2, X3) |
mark(isNatKind(X)) | → | a__isNatKind(X) | | mark(U103(X1, X2, X3)) | → | a__U103(mark(X1), X2, X3) |
mark(isNat(X)) | → | a__isNat(X) | | mark(U104(X1, X2, X3)) | → | a__U104(mark(X1), X2, X3) |
mark(plus(X1, X2)) | → | a__plus(mark(X1), mark(X2)) | | mark(x(X1, X2)) | → | a__x(mark(X1), mark(X2)) |
mark(U11(X1, X2, X3)) | → | a__U11(mark(X1), X2, X3) | | mark(U12(X1, X2, X3)) | → | a__U12(mark(X1), X2, X3) |
mark(U13(X1, X2, X3)) | → | a__U13(mark(X1), X2, X3) | | mark(U14(X1, X2, X3)) | → | a__U14(mark(X1), X2, X3) |
mark(U15(X1, X2)) | → | a__U15(mark(X1), X2) | | mark(U16(X)) | → | a__U16(mark(X)) |
mark(U21(X1, X2)) | → | a__U21(mark(X1), X2) | | mark(U22(X1, X2)) | → | a__U22(mark(X1), X2) |
mark(U23(X)) | → | a__U23(mark(X)) | | mark(U31(X1, X2, X3)) | → | a__U31(mark(X1), X2, X3) |
mark(U32(X1, X2, X3)) | → | a__U32(mark(X1), X2, X3) | | mark(U33(X1, X2, X3)) | → | a__U33(mark(X1), X2, X3) |
mark(U34(X1, X2, X3)) | → | a__U34(mark(X1), X2, X3) | | mark(U35(X1, X2)) | → | a__U35(mark(X1), X2) |
mark(U36(X)) | → | a__U36(mark(X)) | | mark(U41(X1, X2)) | → | a__U41(mark(X1), X2) |
mark(U42(X)) | → | a__U42(mark(X)) | | mark(U51(X)) | → | a__U51(mark(X)) |
mark(U61(X1, X2)) | → | a__U61(mark(X1), X2) | | mark(U62(X)) | → | a__U62(mark(X)) |
mark(U71(X1, X2)) | → | a__U71(mark(X1), X2) | | mark(U72(X1, X2)) | → | a__U72(mark(X1), X2) |
mark(U81(X1, X2, X3)) | → | a__U81(mark(X1), X2, X3) | | mark(U82(X1, X2, X3)) | → | a__U82(mark(X1), X2, X3) |
mark(U83(X1, X2, X3)) | → | a__U83(mark(X1), X2, X3) | | mark(U84(X1, X2, X3)) | → | a__U84(mark(X1), X2, X3) |
mark(U91(X1, X2)) | → | a__U91(mark(X1), X2) | | mark(U92(X)) | → | a__U92(mark(X)) |
mark(tt) | → | tt | | mark(s(X)) | → | s(mark(X)) |
mark(0) | → | 0 | | a__U101(X1, X2, X3) | → | U101(X1, X2, X3) |
a__U102(X1, X2, X3) | → | U102(X1, X2, X3) | | a__isNatKind(X) | → | isNatKind(X) |
a__U103(X1, X2, X3) | → | U103(X1, X2, X3) | | a__isNat(X) | → | isNat(X) |
a__U104(X1, X2, X3) | → | U104(X1, X2, X3) | | a__plus(X1, X2) | → | plus(X1, X2) |
a__x(X1, X2) | → | x(X1, X2) | | a__U11(X1, X2, X3) | → | U11(X1, X2, X3) |
a__U12(X1, X2, X3) | → | U12(X1, X2, X3) | | a__U13(X1, X2, X3) | → | U13(X1, X2, X3) |
a__U14(X1, X2, X3) | → | U14(X1, X2, X3) | | a__U15(X1, X2) | → | U15(X1, X2) |
a__U16(X) | → | U16(X) | | a__U21(X1, X2) | → | U21(X1, X2) |
a__U22(X1, X2) | → | U22(X1, X2) | | a__U23(X) | → | U23(X) |
a__U31(X1, X2, X3) | → | U31(X1, X2, X3) | | a__U32(X1, X2, X3) | → | U32(X1, X2, X3) |
a__U33(X1, X2, X3) | → | U33(X1, X2, X3) | | a__U34(X1, X2, X3) | → | U34(X1, X2, X3) |
a__U35(X1, X2) | → | U35(X1, X2) | | a__U36(X) | → | U36(X) |
a__U41(X1, X2) | → | U41(X1, X2) | | a__U42(X) | → | U42(X) |
a__U51(X) | → | U51(X) | | a__U61(X1, X2) | → | U61(X1, X2) |
a__U62(X) | → | U62(X) | | a__U71(X1, X2) | → | U71(X1, X2) |
a__U72(X1, X2) | → | U72(X1, X2) | | a__U81(X1, X2, X3) | → | U81(X1, X2, X3) |
a__U82(X1, X2, X3) | → | U82(X1, X2, X3) | | a__U83(X1, X2, X3) | → | U83(X1, X2, X3) |
a__U84(X1, X2, X3) | → | U84(X1, X2, X3) | | a__U91(X1, X2) | → | U91(X1, X2) |
a__U92(X) | → | U92(X) |
Original Signature
Termination of terms over the following signature is verified: U104, U62, U61, a__U41, a__U72, a__U42, a__U71, U23, U21, U22, plus, a__U84, isNatKind, mark, U71, U36, U72, 0, a__isNat, a__U32, a__U83, a__U31, a__U82, a__U81, U31, U32, a__U36, U33, a__U35, U34, a__U34, a__U104, U35, a__U33, a__U103, a__U51, isNat, U42, a__U91, U92, U41, a__U92, U91, a__U23, a__U22, a__U102, a__U101, a__U21, a__U62, U83, a__plus, U84, U51, U14, s, U15, tt, U82, U16, a__U16, U81, a__U15, a__U14, a__U13, U11, U12, a__U12, U13, a__U11, a__U61, U102, a__x, U103, a__isNatKind, x, U101
Open Dependency Pair Problem 34
Dependency Pairs
mark#(U101(X1, X2, X3)) | → | mark#(X1) | | mark#(U84(X1, X2, X3)) | → | mark#(X1) |
mark#(U32(X1, X2, X3)) | → | mark#(X1) | | a__U84#(tt, M, N) | → | mark#(N) |
mark#(U103(X1, X2, X3)) | → | mark#(X1) | | mark#(U104(X1, X2, X3)) | → | mark#(X1) |
mark#(U22(X1, X2)) | → | a__U22#(mark(X1), X2) | | a__U104#(tt, M, N) | → | mark#(N) |
a__U101#(tt, M, N) | → | a__U102#(a__isNatKind(M), M, N) | | a__plus#(N, s(M)) | → | a__U81#(a__isNat(M), M, N) |
a__U103#(tt, M, N) | → | a__U104#(a__isNatKind(N), M, N) | | mark#(U33(X1, X2, X3)) | → | mark#(X1) |
mark#(U41(X1, X2)) | → | a__U41#(mark(X1), X2) | | mark#(s(X)) | → | mark#(X) |
a__plus#(N, 0) | → | a__U71#(a__isNat(N), N) | | a__U84#(tt, M, N) | → | mark#(M) |
mark#(U71(X1, X2)) | → | a__U71#(mark(X1), X2) | | mark#(U84(X1, X2, X3)) | → | a__U84#(mark(X1), X2, X3) |
mark#(U13(X1, X2, X3)) | → | mark#(X1) | | mark#(U72(X1, X2)) | → | mark#(X1) |
mark#(plus(X1, X2)) | → | a__plus#(mark(X1), mark(X2)) | | mark#(U82(X1, X2, X3)) | → | mark#(X1) |
mark#(U92(X)) | → | a__U92#(mark(X)) | | mark#(U71(X1, X2)) | → | mark#(X1) |
mark#(U101(X1, X2, X3)) | → | a__U101#(mark(X1), X2, X3) | | mark#(U31(X1, X2, X3)) | → | mark#(X1) |
mark#(plus(X1, X2)) | → | mark#(X1) | | mark#(U15(X1, X2)) | → | mark#(X1) |
mark#(U51(X)) | → | mark#(X) | | mark#(U15(X1, X2)) | → | a__U15#(mark(X1), X2) |
mark#(U34(X1, X2, X3)) | → | mark#(X1) | | mark#(x(X1, X2)) | → | mark#(X2) |
mark#(U104(X1, X2, X3)) | → | a__U104#(mark(X1), X2, X3) | | mark#(U62(X)) | → | mark#(X) |
a__U72#(tt, N) | → | mark#(N) | | a__U104#(tt, M, N) | → | a__plus#(a__x(mark(N), mark(M)), mark(N)) |
a__U81#(tt, M, N) | → | a__U82#(a__isNatKind(M), M, N) | | mark#(U103(X1, X2, X3)) | → | a__U103#(mark(X1), X2, X3) |
mark#(U11(X1, X2, X3)) | → | mark#(X1) | | mark#(U61(X1, X2)) | → | mark#(X1) |
a__U71#(tt, N) | → | a__U72#(a__isNatKind(N), N) | | mark#(U91(X1, X2)) | → | mark#(X1) |
a__x#(N, s(M)) | → | a__U101#(a__isNat(M), M, N) | | mark#(x(X1, X2)) | → | a__x#(mark(X1), mark(X2)) |
mark#(U83(X1, X2, X3)) | → | a__U83#(mark(X1), X2, X3) | | a__U104#(tt, M, N) | → | a__x#(mark(N), mark(M)) |
mark#(U21(X1, X2)) | → | mark#(X1) | | mark#(U42(X)) | → | mark#(X) |
mark#(U35(X1, X2)) | → | mark#(X1) | | mark#(U14(X1, X2, X3)) | → | mark#(X1) |
mark#(U81(X1, X2, X3)) | → | mark#(X1) | | mark#(U16(X)) | → | mark#(X) |
a__U104#(tt, M, N) | → | mark#(M) | | mark#(U22(X1, X2)) | → | mark#(X1) |
mark#(U23(X)) | → | mark#(X) | | mark#(U83(X1, X2, X3)) | → | mark#(X1) |
mark#(plus(X1, X2)) | → | mark#(X2) | | mark#(U102(X1, X2, X3)) | → | mark#(X1) |
mark#(U82(X1, X2, X3)) | → | a__U82#(mark(X1), X2, X3) | | mark#(U102(X1, X2, X3)) | → | a__U102#(mark(X1), X2, X3) |
mark#(U41(X1, X2)) | → | mark#(X1) | | mark#(U12(X1, X2, X3)) | → | mark#(X1) |
mark#(U34(X1, X2, X3)) | → | a__U34#(mark(X1), X2, X3) | | mark#(U33(X1, X2, X3)) | → | a__U33#(mark(X1), X2, X3) |
a__U84#(tt, M, N) | → | a__plus#(mark(N), mark(M)) | | mark#(U72(X1, X2)) | → | a__U72#(mark(X1), X2) |
a__U82#(tt, M, N) | → | a__U83#(a__isNat(N), M, N) | | mark#(U92(X)) | → | mark#(X) |
mark#(U21(X1, X2)) | → | a__U21#(mark(X1), X2) | | mark#(U36(X)) | → | mark#(X) |
a__U102#(tt, M, N) | → | a__U103#(a__isNat(N), M, N) | | mark#(U81(X1, X2, X3)) | → | a__U81#(mark(X1), X2, X3) |
mark#(x(X1, X2)) | → | mark#(X1) | | a__U83#(tt, M, N) | → | a__U84#(a__isNatKind(N), M, N) |
Rewrite Rules
a__U101(tt, M, N) | → | a__U102(a__isNatKind(M), M, N) | | a__U102(tt, M, N) | → | a__U103(a__isNat(N), M, N) |
a__U103(tt, M, N) | → | a__U104(a__isNatKind(N), M, N) | | a__U104(tt, M, N) | → | a__plus(a__x(mark(N), mark(M)), mark(N)) |
a__U11(tt, V1, V2) | → | a__U12(a__isNatKind(V1), V1, V2) | | a__U12(tt, V1, V2) | → | a__U13(a__isNatKind(V2), V1, V2) |
a__U13(tt, V1, V2) | → | a__U14(a__isNatKind(V2), V1, V2) | | a__U14(tt, V1, V2) | → | a__U15(a__isNat(V1), V2) |
a__U15(tt, V2) | → | a__U16(a__isNat(V2)) | | a__U16(tt) | → | tt |
a__U21(tt, V1) | → | a__U22(a__isNatKind(V1), V1) | | a__U22(tt, V1) | → | a__U23(a__isNat(V1)) |
a__U23(tt) | → | tt | | a__U31(tt, V1, V2) | → | a__U32(a__isNatKind(V1), V1, V2) |
a__U32(tt, V1, V2) | → | a__U33(a__isNatKind(V2), V1, V2) | | a__U33(tt, V1, V2) | → | a__U34(a__isNatKind(V2), V1, V2) |
a__U34(tt, V1, V2) | → | a__U35(a__isNat(V1), V2) | | a__U35(tt, V2) | → | a__U36(a__isNat(V2)) |
a__U36(tt) | → | tt | | a__U41(tt, V2) | → | a__U42(a__isNatKind(V2)) |
a__U42(tt) | → | tt | | a__U51(tt) | → | tt |
a__U61(tt, V2) | → | a__U62(a__isNatKind(V2)) | | a__U62(tt) | → | tt |
a__U71(tt, N) | → | a__U72(a__isNatKind(N), N) | | a__U72(tt, N) | → | mark(N) |
a__U81(tt, M, N) | → | a__U82(a__isNatKind(M), M, N) | | a__U82(tt, M, N) | → | a__U83(a__isNat(N), M, N) |
a__U83(tt, M, N) | → | a__U84(a__isNatKind(N), M, N) | | a__U84(tt, M, N) | → | s(a__plus(mark(N), mark(M))) |
a__U91(tt, N) | → | a__U92(a__isNatKind(N)) | | a__U92(tt) | → | 0 |
a__isNat(0) | → | tt | | a__isNat(plus(V1, V2)) | → | a__U11(a__isNatKind(V1), V1, V2) |
a__isNat(s(V1)) | → | a__U21(a__isNatKind(V1), V1) | | a__isNat(x(V1, V2)) | → | a__U31(a__isNatKind(V1), V1, V2) |
a__isNatKind(0) | → | tt | | a__isNatKind(plus(V1, V2)) | → | a__U41(a__isNatKind(V1), V2) |
a__isNatKind(s(V1)) | → | a__U51(a__isNatKind(V1)) | | a__isNatKind(x(V1, V2)) | → | a__U61(a__isNatKind(V1), V2) |
a__plus(N, 0) | → | a__U71(a__isNat(N), N) | | a__plus(N, s(M)) | → | a__U81(a__isNat(M), M, N) |
a__x(N, 0) | → | a__U91(a__isNat(N), N) | | a__x(N, s(M)) | → | a__U101(a__isNat(M), M, N) |
mark(U101(X1, X2, X3)) | → | a__U101(mark(X1), X2, X3) | | mark(U102(X1, X2, X3)) | → | a__U102(mark(X1), X2, X3) |
mark(isNatKind(X)) | → | a__isNatKind(X) | | mark(U103(X1, X2, X3)) | → | a__U103(mark(X1), X2, X3) |
mark(isNat(X)) | → | a__isNat(X) | | mark(U104(X1, X2, X3)) | → | a__U104(mark(X1), X2, X3) |
mark(plus(X1, X2)) | → | a__plus(mark(X1), mark(X2)) | | mark(x(X1, X2)) | → | a__x(mark(X1), mark(X2)) |
mark(U11(X1, X2, X3)) | → | a__U11(mark(X1), X2, X3) | | mark(U12(X1, X2, X3)) | → | a__U12(mark(X1), X2, X3) |
mark(U13(X1, X2, X3)) | → | a__U13(mark(X1), X2, X3) | | mark(U14(X1, X2, X3)) | → | a__U14(mark(X1), X2, X3) |
mark(U15(X1, X2)) | → | a__U15(mark(X1), X2) | | mark(U16(X)) | → | a__U16(mark(X)) |
mark(U21(X1, X2)) | → | a__U21(mark(X1), X2) | | mark(U22(X1, X2)) | → | a__U22(mark(X1), X2) |
mark(U23(X)) | → | a__U23(mark(X)) | | mark(U31(X1, X2, X3)) | → | a__U31(mark(X1), X2, X3) |
mark(U32(X1, X2, X3)) | → | a__U32(mark(X1), X2, X3) | | mark(U33(X1, X2, X3)) | → | a__U33(mark(X1), X2, X3) |
mark(U34(X1, X2, X3)) | → | a__U34(mark(X1), X2, X3) | | mark(U35(X1, X2)) | → | a__U35(mark(X1), X2) |
mark(U36(X)) | → | a__U36(mark(X)) | | mark(U41(X1, X2)) | → | a__U41(mark(X1), X2) |
mark(U42(X)) | → | a__U42(mark(X)) | | mark(U51(X)) | → | a__U51(mark(X)) |
mark(U61(X1, X2)) | → | a__U61(mark(X1), X2) | | mark(U62(X)) | → | a__U62(mark(X)) |
mark(U71(X1, X2)) | → | a__U71(mark(X1), X2) | | mark(U72(X1, X2)) | → | a__U72(mark(X1), X2) |
mark(U81(X1, X2, X3)) | → | a__U81(mark(X1), X2, X3) | | mark(U82(X1, X2, X3)) | → | a__U82(mark(X1), X2, X3) |
mark(U83(X1, X2, X3)) | → | a__U83(mark(X1), X2, X3) | | mark(U84(X1, X2, X3)) | → | a__U84(mark(X1), X2, X3) |
mark(U91(X1, X2)) | → | a__U91(mark(X1), X2) | | mark(U92(X)) | → | a__U92(mark(X)) |
mark(tt) | → | tt | | mark(s(X)) | → | s(mark(X)) |
mark(0) | → | 0 | | a__U101(X1, X2, X3) | → | U101(X1, X2, X3) |
a__U102(X1, X2, X3) | → | U102(X1, X2, X3) | | a__isNatKind(X) | → | isNatKind(X) |
a__U103(X1, X2, X3) | → | U103(X1, X2, X3) | | a__isNat(X) | → | isNat(X) |
a__U104(X1, X2, X3) | → | U104(X1, X2, X3) | | a__plus(X1, X2) | → | plus(X1, X2) |
a__x(X1, X2) | → | x(X1, X2) | | a__U11(X1, X2, X3) | → | U11(X1, X2, X3) |
a__U12(X1, X2, X3) | → | U12(X1, X2, X3) | | a__U13(X1, X2, X3) | → | U13(X1, X2, X3) |
a__U14(X1, X2, X3) | → | U14(X1, X2, X3) | | a__U15(X1, X2) | → | U15(X1, X2) |
a__U16(X) | → | U16(X) | | a__U21(X1, X2) | → | U21(X1, X2) |
a__U22(X1, X2) | → | U22(X1, X2) | | a__U23(X) | → | U23(X) |
a__U31(X1, X2, X3) | → | U31(X1, X2, X3) | | a__U32(X1, X2, X3) | → | U32(X1, X2, X3) |
a__U33(X1, X2, X3) | → | U33(X1, X2, X3) | | a__U34(X1, X2, X3) | → | U34(X1, X2, X3) |
a__U35(X1, X2) | → | U35(X1, X2) | | a__U36(X) | → | U36(X) |
a__U41(X1, X2) | → | U41(X1, X2) | | a__U42(X) | → | U42(X) |
a__U51(X) | → | U51(X) | | a__U61(X1, X2) | → | U61(X1, X2) |
a__U62(X) | → | U62(X) | | a__U71(X1, X2) | → | U71(X1, X2) |
a__U72(X1, X2) | → | U72(X1, X2) | | a__U81(X1, X2, X3) | → | U81(X1, X2, X3) |
a__U82(X1, X2, X3) | → | U82(X1, X2, X3) | | a__U83(X1, X2, X3) | → | U83(X1, X2, X3) |
a__U84(X1, X2, X3) | → | U84(X1, X2, X3) | | a__U91(X1, X2) | → | U91(X1, X2) |
a__U92(X) | → | U92(X) |
Original Signature
Termination of terms over the following signature is verified: U104, U62, U61, a__U41, a__U72, a__U42, a__U71, U23, U21, U22, plus, a__U84, isNatKind, mark, U71, U36, U72, 0, a__isNat, a__U32, a__U83, a__U31, a__U82, a__U81, U31, U32, a__U36, U33, a__U35, U34, a__U34, a__U104, U35, a__U33, a__U103, a__U51, isNat, U42, a__U91, U92, U41, a__U92, U91, a__U23, a__U22, a__U102, a__U101, a__U21, a__U62, U83, a__plus, U84, U51, U14, s, U15, tt, U82, U16, a__U16, U81, a__U15, a__U14, a__U13, U11, U12, a__U12, U13, a__U11, a__U61, U102, a__x, U103, a__isNatKind, x, U101
Open Dependency Pair Problem 35
Dependency Pairs
mark#(U101(X1, X2, X3)) | → | mark#(X1) | | mark#(U35(X1, X2)) | → | a__U35#(mark(X1), X2) |
mark#(U84(X1, X2, X3)) | → | mark#(X1) | | mark#(U32(X1, X2, X3)) | → | mark#(X1) |
mark#(U103(X1, X2, X3)) | → | mark#(X1) | | a__U84#(tt, M, N) | → | mark#(N) |
mark#(U104(X1, X2, X3)) | → | mark#(X1) | | mark#(U22(X1, X2)) | → | a__U22#(mark(X1), X2) |
a__U104#(tt, M, N) | → | mark#(N) | | a__U101#(tt, M, N) | → | a__U102#(a__isNatKind(M), M, N) |
mark#(U23(X)) | → | a__U23#(mark(X)) | | a__plus#(N, s(M)) | → | a__U81#(a__isNat(M), M, N) |
a__U103#(tt, M, N) | → | a__U104#(a__isNatKind(N), M, N) | | mark#(U33(X1, X2, X3)) | → | mark#(X1) |
mark#(s(X)) | → | mark#(X) | | a__plus#(N, 0) | → | a__U71#(a__isNat(N), N) |
a__U84#(tt, M, N) | → | mark#(M) | | mark#(U71(X1, X2)) | → | a__U71#(mark(X1), X2) |
mark#(U84(X1, X2, X3)) | → | a__U84#(mark(X1), X2, X3) | | mark#(U13(X1, X2, X3)) | → | mark#(X1) |
mark#(U72(X1, X2)) | → | mark#(X1) | | mark#(plus(X1, X2)) | → | a__plus#(mark(X1), mark(X2)) |
mark#(U82(X1, X2, X3)) | → | mark#(X1) | | mark#(U92(X)) | → | a__U92#(mark(X)) |
mark#(U71(X1, X2)) | → | mark#(X1) | | mark#(U31(X1, X2, X3)) | → | mark#(X1) |
mark#(U101(X1, X2, X3)) | → | a__U101#(mark(X1), X2, X3) | | mark#(plus(X1, X2)) | → | mark#(X1) |
mark#(U51(X)) | → | mark#(X) | | mark#(U15(X1, X2)) | → | mark#(X1) |
mark#(U34(X1, X2, X3)) | → | mark#(X1) | | mark#(U15(X1, X2)) | → | a__U15#(mark(X1), X2) |
mark#(x(X1, X2)) | → | mark#(X2) | | mark#(U104(X1, X2, X3)) | → | a__U104#(mark(X1), X2, X3) |
mark#(U62(X)) | → | mark#(X) | | a__U72#(tt, N) | → | mark#(N) |
a__U104#(tt, M, N) | → | a__plus#(a__x(mark(N), mark(M)), mark(N)) | | a__U81#(tt, M, N) | → | a__U82#(a__isNatKind(M), M, N) |
mark#(U32(X1, X2, X3)) | → | a__U32#(mark(X1), X2, X3) | | mark#(U103(X1, X2, X3)) | → | a__U103#(mark(X1), X2, X3) |
mark#(U11(X1, X2, X3)) | → | mark#(X1) | | mark#(U61(X1, X2)) | → | mark#(X1) |
a__U71#(tt, N) | → | a__U72#(a__isNatKind(N), N) | | mark#(U91(X1, X2)) | → | mark#(X1) |
a__x#(N, s(M)) | → | a__U101#(a__isNat(M), M, N) | | mark#(isNat(X)) | → | a__isNat#(X) |
mark#(x(X1, X2)) | → | a__x#(mark(X1), mark(X2)) | | mark#(U83(X1, X2, X3)) | → | a__U83#(mark(X1), X2, X3) |
a__U104#(tt, M, N) | → | a__x#(mark(N), mark(M)) | | mark#(U21(X1, X2)) | → | mark#(X1) |
mark#(U42(X)) | → | mark#(X) | | mark#(U35(X1, X2)) | → | mark#(X1) |
mark#(U81(X1, X2, X3)) | → | mark#(X1) | | mark#(U14(X1, X2, X3)) | → | mark#(X1) |
mark#(U16(X)) | → | mark#(X) | | a__U104#(tt, M, N) | → | mark#(M) |
mark#(U23(X)) | → | mark#(X) | | mark#(U22(X1, X2)) | → | mark#(X1) |
mark#(U83(X1, X2, X3)) | → | mark#(X1) | | mark#(plus(X1, X2)) | → | mark#(X2) |
mark#(U102(X1, X2, X3)) | → | mark#(X1) | | mark#(U82(X1, X2, X3)) | → | a__U82#(mark(X1), X2, X3) |
mark#(U102(X1, X2, X3)) | → | a__U102#(mark(X1), X2, X3) | | mark#(U41(X1, X2)) | → | mark#(X1) |
mark#(U12(X1, X2, X3)) | → | mark#(X1) | | a__U84#(tt, M, N) | → | a__plus#(mark(N), mark(M)) |
mark#(U72(X1, X2)) | → | a__U72#(mark(X1), X2) | | a__U82#(tt, M, N) | → | a__U83#(a__isNat(N), M, N) |
mark#(U21(X1, X2)) | → | a__U21#(mark(X1), X2) | | mark#(U92(X)) | → | mark#(X) |
mark#(U36(X)) | → | mark#(X) | | a__U102#(tt, M, N) | → | a__U103#(a__isNat(N), M, N) |
mark#(U81(X1, X2, X3)) | → | a__U81#(mark(X1), X2, X3) | | mark#(x(X1, X2)) | → | mark#(X1) |
a__U83#(tt, M, N) | → | a__U84#(a__isNatKind(N), M, N) |
Rewrite Rules
a__U101(tt, M, N) | → | a__U102(a__isNatKind(M), M, N) | | a__U102(tt, M, N) | → | a__U103(a__isNat(N), M, N) |
a__U103(tt, M, N) | → | a__U104(a__isNatKind(N), M, N) | | a__U104(tt, M, N) | → | a__plus(a__x(mark(N), mark(M)), mark(N)) |
a__U11(tt, V1, V2) | → | a__U12(a__isNatKind(V1), V1, V2) | | a__U12(tt, V1, V2) | → | a__U13(a__isNatKind(V2), V1, V2) |
a__U13(tt, V1, V2) | → | a__U14(a__isNatKind(V2), V1, V2) | | a__U14(tt, V1, V2) | → | a__U15(a__isNat(V1), V2) |
a__U15(tt, V2) | → | a__U16(a__isNat(V2)) | | a__U16(tt) | → | tt |
a__U21(tt, V1) | → | a__U22(a__isNatKind(V1), V1) | | a__U22(tt, V1) | → | a__U23(a__isNat(V1)) |
a__U23(tt) | → | tt | | a__U31(tt, V1, V2) | → | a__U32(a__isNatKind(V1), V1, V2) |
a__U32(tt, V1, V2) | → | a__U33(a__isNatKind(V2), V1, V2) | | a__U33(tt, V1, V2) | → | a__U34(a__isNatKind(V2), V1, V2) |
a__U34(tt, V1, V2) | → | a__U35(a__isNat(V1), V2) | | a__U35(tt, V2) | → | a__U36(a__isNat(V2)) |
a__U36(tt) | → | tt | | a__U41(tt, V2) | → | a__U42(a__isNatKind(V2)) |
a__U42(tt) | → | tt | | a__U51(tt) | → | tt |
a__U61(tt, V2) | → | a__U62(a__isNatKind(V2)) | | a__U62(tt) | → | tt |
a__U71(tt, N) | → | a__U72(a__isNatKind(N), N) | | a__U72(tt, N) | → | mark(N) |
a__U81(tt, M, N) | → | a__U82(a__isNatKind(M), M, N) | | a__U82(tt, M, N) | → | a__U83(a__isNat(N), M, N) |
a__U83(tt, M, N) | → | a__U84(a__isNatKind(N), M, N) | | a__U84(tt, M, N) | → | s(a__plus(mark(N), mark(M))) |
a__U91(tt, N) | → | a__U92(a__isNatKind(N)) | | a__U92(tt) | → | 0 |
a__isNat(0) | → | tt | | a__isNat(plus(V1, V2)) | → | a__U11(a__isNatKind(V1), V1, V2) |
a__isNat(s(V1)) | → | a__U21(a__isNatKind(V1), V1) | | a__isNat(x(V1, V2)) | → | a__U31(a__isNatKind(V1), V1, V2) |
a__isNatKind(0) | → | tt | | a__isNatKind(plus(V1, V2)) | → | a__U41(a__isNatKind(V1), V2) |
a__isNatKind(s(V1)) | → | a__U51(a__isNatKind(V1)) | | a__isNatKind(x(V1, V2)) | → | a__U61(a__isNatKind(V1), V2) |
a__plus(N, 0) | → | a__U71(a__isNat(N), N) | | a__plus(N, s(M)) | → | a__U81(a__isNat(M), M, N) |
a__x(N, 0) | → | a__U91(a__isNat(N), N) | | a__x(N, s(M)) | → | a__U101(a__isNat(M), M, N) |
mark(U101(X1, X2, X3)) | → | a__U101(mark(X1), X2, X3) | | mark(U102(X1, X2, X3)) | → | a__U102(mark(X1), X2, X3) |
mark(isNatKind(X)) | → | a__isNatKind(X) | | mark(U103(X1, X2, X3)) | → | a__U103(mark(X1), X2, X3) |
mark(isNat(X)) | → | a__isNat(X) | | mark(U104(X1, X2, X3)) | → | a__U104(mark(X1), X2, X3) |
mark(plus(X1, X2)) | → | a__plus(mark(X1), mark(X2)) | | mark(x(X1, X2)) | → | a__x(mark(X1), mark(X2)) |
mark(U11(X1, X2, X3)) | → | a__U11(mark(X1), X2, X3) | | mark(U12(X1, X2, X3)) | → | a__U12(mark(X1), X2, X3) |
mark(U13(X1, X2, X3)) | → | a__U13(mark(X1), X2, X3) | | mark(U14(X1, X2, X3)) | → | a__U14(mark(X1), X2, X3) |
mark(U15(X1, X2)) | → | a__U15(mark(X1), X2) | | mark(U16(X)) | → | a__U16(mark(X)) |
mark(U21(X1, X2)) | → | a__U21(mark(X1), X2) | | mark(U22(X1, X2)) | → | a__U22(mark(X1), X2) |
mark(U23(X)) | → | a__U23(mark(X)) | | mark(U31(X1, X2, X3)) | → | a__U31(mark(X1), X2, X3) |
mark(U32(X1, X2, X3)) | → | a__U32(mark(X1), X2, X3) | | mark(U33(X1, X2, X3)) | → | a__U33(mark(X1), X2, X3) |
mark(U34(X1, X2, X3)) | → | a__U34(mark(X1), X2, X3) | | mark(U35(X1, X2)) | → | a__U35(mark(X1), X2) |
mark(U36(X)) | → | a__U36(mark(X)) | | mark(U41(X1, X2)) | → | a__U41(mark(X1), X2) |
mark(U42(X)) | → | a__U42(mark(X)) | | mark(U51(X)) | → | a__U51(mark(X)) |
mark(U61(X1, X2)) | → | a__U61(mark(X1), X2) | | mark(U62(X)) | → | a__U62(mark(X)) |
mark(U71(X1, X2)) | → | a__U71(mark(X1), X2) | | mark(U72(X1, X2)) | → | a__U72(mark(X1), X2) |
mark(U81(X1, X2, X3)) | → | a__U81(mark(X1), X2, X3) | | mark(U82(X1, X2, X3)) | → | a__U82(mark(X1), X2, X3) |
mark(U83(X1, X2, X3)) | → | a__U83(mark(X1), X2, X3) | | mark(U84(X1, X2, X3)) | → | a__U84(mark(X1), X2, X3) |
mark(U91(X1, X2)) | → | a__U91(mark(X1), X2) | | mark(U92(X)) | → | a__U92(mark(X)) |
mark(tt) | → | tt | | mark(s(X)) | → | s(mark(X)) |
mark(0) | → | 0 | | a__U101(X1, X2, X3) | → | U101(X1, X2, X3) |
a__U102(X1, X2, X3) | → | U102(X1, X2, X3) | | a__isNatKind(X) | → | isNatKind(X) |
a__U103(X1, X2, X3) | → | U103(X1, X2, X3) | | a__isNat(X) | → | isNat(X) |
a__U104(X1, X2, X3) | → | U104(X1, X2, X3) | | a__plus(X1, X2) | → | plus(X1, X2) |
a__x(X1, X2) | → | x(X1, X2) | | a__U11(X1, X2, X3) | → | U11(X1, X2, X3) |
a__U12(X1, X2, X3) | → | U12(X1, X2, X3) | | a__U13(X1, X2, X3) | → | U13(X1, X2, X3) |
a__U14(X1, X2, X3) | → | U14(X1, X2, X3) | | a__U15(X1, X2) | → | U15(X1, X2) |
a__U16(X) | → | U16(X) | | a__U21(X1, X2) | → | U21(X1, X2) |
a__U22(X1, X2) | → | U22(X1, X2) | | a__U23(X) | → | U23(X) |
a__U31(X1, X2, X3) | → | U31(X1, X2, X3) | | a__U32(X1, X2, X3) | → | U32(X1, X2, X3) |
a__U33(X1, X2, X3) | → | U33(X1, X2, X3) | | a__U34(X1, X2, X3) | → | U34(X1, X2, X3) |
a__U35(X1, X2) | → | U35(X1, X2) | | a__U36(X) | → | U36(X) |
a__U41(X1, X2) | → | U41(X1, X2) | | a__U42(X) | → | U42(X) |
a__U51(X) | → | U51(X) | | a__U61(X1, X2) | → | U61(X1, X2) |
a__U62(X) | → | U62(X) | | a__U71(X1, X2) | → | U71(X1, X2) |
a__U72(X1, X2) | → | U72(X1, X2) | | a__U81(X1, X2, X3) | → | U81(X1, X2, X3) |
a__U82(X1, X2, X3) | → | U82(X1, X2, X3) | | a__U83(X1, X2, X3) | → | U83(X1, X2, X3) |
a__U84(X1, X2, X3) | → | U84(X1, X2, X3) | | a__U91(X1, X2) | → | U91(X1, X2) |
a__U92(X) | → | U92(X) |
Original Signature
Termination of terms over the following signature is verified: U104, U62, U61, a__U41, a__U72, a__U42, a__U71, U23, U21, U22, plus, a__U84, isNatKind, mark, U71, U36, U72, 0, a__isNat, a__U32, a__U83, a__U31, a__U82, a__U81, U31, U32, a__U36, U33, a__U35, U34, a__U34, a__U104, U35, a__U33, a__U103, a__U51, isNat, U42, a__U91, U92, U41, a__U92, U91, a__U23, a__U22, a__U102, a__U101, a__U21, a__U62, U83, a__plus, U84, U51, U14, s, U15, tt, U82, U16, a__U16, U81, a__U15, a__U14, a__U13, U11, U12, a__U12, U13, a__U11, a__U61, U102, a__x, U103, a__isNatKind, x, U101
Open Dependency Pair Problem 32
Dependency Pairs
mark#(U101(X1, X2, X3)) | → | mark#(X1) | | mark#(U84(X1, X2, X3)) | → | mark#(X1) |
mark#(U35(X1, X2)) | → | a__U35#(mark(X1), X2) | | mark#(U32(X1, X2, X3)) | → | mark#(X1) |
a__U84#(tt, M, N) | → | mark#(N) | | mark#(U103(X1, X2, X3)) | → | mark#(X1) |
mark#(U104(X1, X2, X3)) | → | mark#(X1) | | mark#(U22(X1, X2)) | → | a__U22#(mark(X1), X2) |
a__U104#(tt, M, N) | → | mark#(N) | | mark#(U23(X)) | → | a__U23#(mark(X)) |
a__U101#(tt, M, N) | → | a__U102#(a__isNatKind(M), M, N) | | a__plus#(N, s(M)) | → | a__U81#(a__isNat(M), M, N) |
a__U103#(tt, M, N) | → | a__U104#(a__isNatKind(N), M, N) | | mark#(U12(X1, X2, X3)) | → | a__U12#(mark(X1), X2, X3) |
mark#(U33(X1, X2, X3)) | → | mark#(X1) | | mark#(s(X)) | → | mark#(X) |
a__plus#(N, 0) | → | a__U71#(a__isNat(N), N) | | a__U84#(tt, M, N) | → | mark#(M) |
mark#(U71(X1, X2)) | → | a__U71#(mark(X1), X2) | | mark#(U84(X1, X2, X3)) | → | a__U84#(mark(X1), X2, X3) |
mark#(U13(X1, X2, X3)) | → | mark#(X1) | | mark#(U72(X1, X2)) | → | mark#(X1) |
mark#(plus(X1, X2)) | → | a__plus#(mark(X1), mark(X2)) | | mark#(U82(X1, X2, X3)) | → | mark#(X1) |
mark#(U71(X1, X2)) | → | mark#(X1) | | mark#(U92(X)) | → | a__U92#(mark(X)) |
mark#(U31(X1, X2, X3)) | → | mark#(X1) | | mark#(U101(X1, X2, X3)) | → | a__U101#(mark(X1), X2, X3) |
mark#(plus(X1, X2)) | → | mark#(X1) | | mark#(U51(X)) | → | mark#(X) |
mark#(U15(X1, X2)) | → | mark#(X1) | | mark#(U34(X1, X2, X3)) | → | mark#(X1) |
mark#(U15(X1, X2)) | → | a__U15#(mark(X1), X2) | | mark#(x(X1, X2)) | → | mark#(X2) |
mark#(U13(X1, X2, X3)) | → | a__U13#(mark(X1), X2, X3) | | mark#(U104(X1, X2, X3)) | → | a__U104#(mark(X1), X2, X3) |
mark#(U62(X)) | → | mark#(X) | | a__U72#(tt, N) | → | mark#(N) |
a__U104#(tt, M, N) | → | a__plus#(a__x(mark(N), mark(M)), mark(N)) | | a__U81#(tt, M, N) | → | a__U82#(a__isNatKind(M), M, N) |
mark#(U103(X1, X2, X3)) | → | a__U103#(mark(X1), X2, X3) | | mark#(U11(X1, X2, X3)) | → | mark#(X1) |
mark#(U61(X1, X2)) | → | mark#(X1) | | a__U71#(tt, N) | → | a__U72#(a__isNatKind(N), N) |
mark#(U91(X1, X2)) | → | mark#(X1) | | a__x#(N, s(M)) | → | a__U101#(a__isNat(M), M, N) |
mark#(x(X1, X2)) | → | a__x#(mark(X1), mark(X2)) | | mark#(U83(X1, X2, X3)) | → | a__U83#(mark(X1), X2, X3) |
a__U104#(tt, M, N) | → | a__x#(mark(N), mark(M)) | | mark#(U21(X1, X2)) | → | mark#(X1) |
mark#(U42(X)) | → | mark#(X) | | mark#(U35(X1, X2)) | → | mark#(X1) |
mark#(U81(X1, X2, X3)) | → | mark#(X1) | | mark#(U14(X1, X2, X3)) | → | mark#(X1) |
mark#(U16(X)) | → | mark#(X) | | a__U104#(tt, M, N) | → | mark#(M) |
mark#(U22(X1, X2)) | → | mark#(X1) | | mark#(U23(X)) | → | mark#(X) |
mark#(U83(X1, X2, X3)) | → | mark#(X1) | | mark#(plus(X1, X2)) | → | mark#(X2) |
mark#(U102(X1, X2, X3)) | → | mark#(X1) | | mark#(U82(X1, X2, X3)) | → | a__U82#(mark(X1), X2, X3) |
mark#(U102(X1, X2, X3)) | → | a__U102#(mark(X1), X2, X3) | | mark#(U41(X1, X2)) | → | mark#(X1) |
mark#(U12(X1, X2, X3)) | → | mark#(X1) | | mark#(U34(X1, X2, X3)) | → | a__U34#(mark(X1), X2, X3) |
mark#(U33(X1, X2, X3)) | → | a__U33#(mark(X1), X2, X3) | | mark#(U31(X1, X2, X3)) | → | a__U31#(mark(X1), X2, X3) |
a__U84#(tt, M, N) | → | a__plus#(mark(N), mark(M)) | | mark#(U72(X1, X2)) | → | a__U72#(mark(X1), X2) |
a__U82#(tt, M, N) | → | a__U83#(a__isNat(N), M, N) | | mark#(U92(X)) | → | mark#(X) |
mark#(U36(X)) | → | mark#(X) | | a__U102#(tt, M, N) | → | a__U103#(a__isNat(N), M, N) |
mark#(U81(X1, X2, X3)) | → | a__U81#(mark(X1), X2, X3) | | mark#(x(X1, X2)) | → | mark#(X1) |
a__U83#(tt, M, N) | → | a__U84#(a__isNatKind(N), M, N) |
Rewrite Rules
a__U101(tt, M, N) | → | a__U102(a__isNatKind(M), M, N) | | a__U102(tt, M, N) | → | a__U103(a__isNat(N), M, N) |
a__U103(tt, M, N) | → | a__U104(a__isNatKind(N), M, N) | | a__U104(tt, M, N) | → | a__plus(a__x(mark(N), mark(M)), mark(N)) |
a__U11(tt, V1, V2) | → | a__U12(a__isNatKind(V1), V1, V2) | | a__U12(tt, V1, V2) | → | a__U13(a__isNatKind(V2), V1, V2) |
a__U13(tt, V1, V2) | → | a__U14(a__isNatKind(V2), V1, V2) | | a__U14(tt, V1, V2) | → | a__U15(a__isNat(V1), V2) |
a__U15(tt, V2) | → | a__U16(a__isNat(V2)) | | a__U16(tt) | → | tt |
a__U21(tt, V1) | → | a__U22(a__isNatKind(V1), V1) | | a__U22(tt, V1) | → | a__U23(a__isNat(V1)) |
a__U23(tt) | → | tt | | a__U31(tt, V1, V2) | → | a__U32(a__isNatKind(V1), V1, V2) |
a__U32(tt, V1, V2) | → | a__U33(a__isNatKind(V2), V1, V2) | | a__U33(tt, V1, V2) | → | a__U34(a__isNatKind(V2), V1, V2) |
a__U34(tt, V1, V2) | → | a__U35(a__isNat(V1), V2) | | a__U35(tt, V2) | → | a__U36(a__isNat(V2)) |
a__U36(tt) | → | tt | | a__U41(tt, V2) | → | a__U42(a__isNatKind(V2)) |
a__U42(tt) | → | tt | | a__U51(tt) | → | tt |
a__U61(tt, V2) | → | a__U62(a__isNatKind(V2)) | | a__U62(tt) | → | tt |
a__U71(tt, N) | → | a__U72(a__isNatKind(N), N) | | a__U72(tt, N) | → | mark(N) |
a__U81(tt, M, N) | → | a__U82(a__isNatKind(M), M, N) | | a__U82(tt, M, N) | → | a__U83(a__isNat(N), M, N) |
a__U83(tt, M, N) | → | a__U84(a__isNatKind(N), M, N) | | a__U84(tt, M, N) | → | s(a__plus(mark(N), mark(M))) |
a__U91(tt, N) | → | a__U92(a__isNatKind(N)) | | a__U92(tt) | → | 0 |
a__isNat(0) | → | tt | | a__isNat(plus(V1, V2)) | → | a__U11(a__isNatKind(V1), V1, V2) |
a__isNat(s(V1)) | → | a__U21(a__isNatKind(V1), V1) | | a__isNat(x(V1, V2)) | → | a__U31(a__isNatKind(V1), V1, V2) |
a__isNatKind(0) | → | tt | | a__isNatKind(plus(V1, V2)) | → | a__U41(a__isNatKind(V1), V2) |
a__isNatKind(s(V1)) | → | a__U51(a__isNatKind(V1)) | | a__isNatKind(x(V1, V2)) | → | a__U61(a__isNatKind(V1), V2) |
a__plus(N, 0) | → | a__U71(a__isNat(N), N) | | a__plus(N, s(M)) | → | a__U81(a__isNat(M), M, N) |
a__x(N, 0) | → | a__U91(a__isNat(N), N) | | a__x(N, s(M)) | → | a__U101(a__isNat(M), M, N) |
mark(U101(X1, X2, X3)) | → | a__U101(mark(X1), X2, X3) | | mark(U102(X1, X2, X3)) | → | a__U102(mark(X1), X2, X3) |
mark(isNatKind(X)) | → | a__isNatKind(X) | | mark(U103(X1, X2, X3)) | → | a__U103(mark(X1), X2, X3) |
mark(isNat(X)) | → | a__isNat(X) | | mark(U104(X1, X2, X3)) | → | a__U104(mark(X1), X2, X3) |
mark(plus(X1, X2)) | → | a__plus(mark(X1), mark(X2)) | | mark(x(X1, X2)) | → | a__x(mark(X1), mark(X2)) |
mark(U11(X1, X2, X3)) | → | a__U11(mark(X1), X2, X3) | | mark(U12(X1, X2, X3)) | → | a__U12(mark(X1), X2, X3) |
mark(U13(X1, X2, X3)) | → | a__U13(mark(X1), X2, X3) | | mark(U14(X1, X2, X3)) | → | a__U14(mark(X1), X2, X3) |
mark(U15(X1, X2)) | → | a__U15(mark(X1), X2) | | mark(U16(X)) | → | a__U16(mark(X)) |
mark(U21(X1, X2)) | → | a__U21(mark(X1), X2) | | mark(U22(X1, X2)) | → | a__U22(mark(X1), X2) |
mark(U23(X)) | → | a__U23(mark(X)) | | mark(U31(X1, X2, X3)) | → | a__U31(mark(X1), X2, X3) |
mark(U32(X1, X2, X3)) | → | a__U32(mark(X1), X2, X3) | | mark(U33(X1, X2, X3)) | → | a__U33(mark(X1), X2, X3) |
mark(U34(X1, X2, X3)) | → | a__U34(mark(X1), X2, X3) | | mark(U35(X1, X2)) | → | a__U35(mark(X1), X2) |
mark(U36(X)) | → | a__U36(mark(X)) | | mark(U41(X1, X2)) | → | a__U41(mark(X1), X2) |
mark(U42(X)) | → | a__U42(mark(X)) | | mark(U51(X)) | → | a__U51(mark(X)) |
mark(U61(X1, X2)) | → | a__U61(mark(X1), X2) | | mark(U62(X)) | → | a__U62(mark(X)) |
mark(U71(X1, X2)) | → | a__U71(mark(X1), X2) | | mark(U72(X1, X2)) | → | a__U72(mark(X1), X2) |
mark(U81(X1, X2, X3)) | → | a__U81(mark(X1), X2, X3) | | mark(U82(X1, X2, X3)) | → | a__U82(mark(X1), X2, X3) |
mark(U83(X1, X2, X3)) | → | a__U83(mark(X1), X2, X3) | | mark(U84(X1, X2, X3)) | → | a__U84(mark(X1), X2, X3) |
mark(U91(X1, X2)) | → | a__U91(mark(X1), X2) | | mark(U92(X)) | → | a__U92(mark(X)) |
mark(tt) | → | tt | | mark(s(X)) | → | s(mark(X)) |
mark(0) | → | 0 | | a__U101(X1, X2, X3) | → | U101(X1, X2, X3) |
a__U102(X1, X2, X3) | → | U102(X1, X2, X3) | | a__isNatKind(X) | → | isNatKind(X) |
a__U103(X1, X2, X3) | → | U103(X1, X2, X3) | | a__isNat(X) | → | isNat(X) |
a__U104(X1, X2, X3) | → | U104(X1, X2, X3) | | a__plus(X1, X2) | → | plus(X1, X2) |
a__x(X1, X2) | → | x(X1, X2) | | a__U11(X1, X2, X3) | → | U11(X1, X2, X3) |
a__U12(X1, X2, X3) | → | U12(X1, X2, X3) | | a__U13(X1, X2, X3) | → | U13(X1, X2, X3) |
a__U14(X1, X2, X3) | → | U14(X1, X2, X3) | | a__U15(X1, X2) | → | U15(X1, X2) |
a__U16(X) | → | U16(X) | | a__U21(X1, X2) | → | U21(X1, X2) |
a__U22(X1, X2) | → | U22(X1, X2) | | a__U23(X) | → | U23(X) |
a__U31(X1, X2, X3) | → | U31(X1, X2, X3) | | a__U32(X1, X2, X3) | → | U32(X1, X2, X3) |
a__U33(X1, X2, X3) | → | U33(X1, X2, X3) | | a__U34(X1, X2, X3) | → | U34(X1, X2, X3) |
a__U35(X1, X2) | → | U35(X1, X2) | | a__U36(X) | → | U36(X) |
a__U41(X1, X2) | → | U41(X1, X2) | | a__U42(X) | → | U42(X) |
a__U51(X) | → | U51(X) | | a__U61(X1, X2) | → | U61(X1, X2) |
a__U62(X) | → | U62(X) | | a__U71(X1, X2) | → | U71(X1, X2) |
a__U72(X1, X2) | → | U72(X1, X2) | | a__U81(X1, X2, X3) | → | U81(X1, X2, X3) |
a__U82(X1, X2, X3) | → | U82(X1, X2, X3) | | a__U83(X1, X2, X3) | → | U83(X1, X2, X3) |
a__U84(X1, X2, X3) | → | U84(X1, X2, X3) | | a__U91(X1, X2) | → | U91(X1, X2) |
a__U92(X) | → | U92(X) |
Original Signature
Termination of terms over the following signature is verified: U104, U62, U61, a__U41, a__U72, a__U42, a__U71, U23, U21, U22, plus, a__U84, isNatKind, mark, U71, U36, U72, 0, a__isNat, a__U32, a__U83, a__U31, a__U82, a__U81, U31, U32, a__U36, U33, a__U35, U34, a__U34, a__U104, U35, a__U33, a__U103, a__U51, isNat, U42, a__U91, U92, U41, a__U92, U91, a__U23, a__U22, a__U102, a__U101, a__U21, a__U62, U83, a__plus, U84, U51, U14, s, U15, tt, U82, U16, a__U16, U81, a__U15, a__U14, a__U13, U11, U12, a__U12, U13, a__U11, a__U61, U102, a__x, U103, a__isNatKind, x, U101
Open Dependency Pair Problem 33
Dependency Pairs
mark#(U101(X1, X2, X3)) | → | mark#(X1) | | a__U71#(tt, N) | → | a__isNatKind#(N) |
mark#(U62(X)) | → | a__U62#(mark(X)) | | mark#(U35(X1, X2)) | → | a__U35#(mark(X1), X2) |
mark#(U84(X1, X2, X3)) | → | mark#(X1) | | mark#(U32(X1, X2, X3)) | → | mark#(X1) |
mark#(U103(X1, X2, X3)) | → | mark#(X1) | | mark#(U104(X1, X2, X3)) | → | mark#(X1) |
a__U84#(tt, M, N) | → | mark#(N) | | mark#(U22(X1, X2)) | → | a__U22#(mark(X1), X2) |
a__U104#(tt, M, N) | → | mark#(N) | | a__U101#(tt, M, N) | → | a__U102#(a__isNatKind(M), M, N) |
a__plus#(N, s(M)) | → | a__U81#(a__isNat(M), M, N) | | a__U103#(tt, M, N) | → | a__U104#(a__isNatKind(N), M, N) |
mark#(U33(X1, X2, X3)) | → | mark#(X1) | | mark#(U41(X1, X2)) | → | a__U41#(mark(X1), X2) |
mark#(s(X)) | → | mark#(X) | | a__plus#(N, 0) | → | a__U71#(a__isNat(N), N) |
a__U84#(tt, M, N) | → | mark#(M) | | mark#(U71(X1, X2)) | → | a__U71#(mark(X1), X2) |
mark#(U84(X1, X2, X3)) | → | a__U84#(mark(X1), X2, X3) | | mark#(U13(X1, X2, X3)) | → | mark#(X1) |
mark#(U72(X1, X2)) | → | mark#(X1) | | mark#(plus(X1, X2)) | → | a__plus#(mark(X1), mark(X2)) |
mark#(U82(X1, X2, X3)) | → | mark#(X1) | | mark#(U71(X1, X2)) | → | mark#(X1) |
mark#(U92(X)) | → | a__U92#(mark(X)) | | mark#(U31(X1, X2, X3)) | → | mark#(X1) |
mark#(U101(X1, X2, X3)) | → | a__U101#(mark(X1), X2, X3) | | mark#(plus(X1, X2)) | → | mark#(X1) |
mark#(U51(X)) | → | mark#(X) | | mark#(U15(X1, X2)) | → | mark#(X1) |
mark#(U34(X1, X2, X3)) | → | mark#(X1) | | mark#(x(X1, X2)) | → | mark#(X2) |
mark#(U104(X1, X2, X3)) | → | a__U104#(mark(X1), X2, X3) | | mark#(U13(X1, X2, X3)) | → | a__U13#(mark(X1), X2, X3) |
mark#(U62(X)) | → | mark#(X) | | a__U72#(tt, N) | → | mark#(N) |
a__U104#(tt, M, N) | → | a__plus#(a__x(mark(N), mark(M)), mark(N)) | | a__U81#(tt, M, N) | → | a__U82#(a__isNatKind(M), M, N) |
mark#(U32(X1, X2, X3)) | → | a__U32#(mark(X1), X2, X3) | | mark#(U103(X1, X2, X3)) | → | a__U103#(mark(X1), X2, X3) |
mark#(U11(X1, X2, X3)) | → | mark#(X1) | | mark#(U61(X1, X2)) | → | mark#(X1) |
a__U71#(tt, N) | → | a__U72#(a__isNatKind(N), N) | | mark#(U91(X1, X2)) | → | mark#(X1) |
a__x#(N, s(M)) | → | a__U101#(a__isNat(M), M, N) | | mark#(x(X1, X2)) | → | a__x#(mark(X1), mark(X2)) |
mark#(U83(X1, X2, X3)) | → | a__U83#(mark(X1), X2, X3) | | a__U104#(tt, M, N) | → | a__x#(mark(N), mark(M)) |
mark#(U21(X1, X2)) | → | mark#(X1) | | mark#(U42(X)) | → | mark#(X) |
mark#(U35(X1, X2)) | → | mark#(X1) | | mark#(U81(X1, X2, X3)) | → | mark#(X1) |
mark#(U14(X1, X2, X3)) | → | mark#(X1) | | mark#(U16(X)) | → | mark#(X) |
a__U104#(tt, M, N) | → | mark#(M) | | mark#(U22(X1, X2)) | → | mark#(X1) |
mark#(U23(X)) | → | mark#(X) | | mark#(U83(X1, X2, X3)) | → | mark#(X1) |
mark#(plus(X1, X2)) | → | mark#(X2) | | mark#(U102(X1, X2, X3)) | → | mark#(X1) |
mark#(U82(X1, X2, X3)) | → | a__U82#(mark(X1), X2, X3) | | mark#(U102(X1, X2, X3)) | → | a__U102#(mark(X1), X2, X3) |
mark#(U41(X1, X2)) | → | mark#(X1) | | mark#(U12(X1, X2, X3)) | → | mark#(X1) |
mark#(U33(X1, X2, X3)) | → | a__U33#(mark(X1), X2, X3) | | a__U84#(tt, M, N) | → | a__plus#(mark(N), mark(M)) |
mark#(U72(X1, X2)) | → | a__U72#(mark(X1), X2) | | a__U82#(tt, M, N) | → | a__U83#(a__isNat(N), M, N) |
mark#(U92(X)) | → | mark#(X) | | mark#(U21(X1, X2)) | → | a__U21#(mark(X1), X2) |
mark#(U36(X)) | → | mark#(X) | | a__U102#(tt, M, N) | → | a__U103#(a__isNat(N), M, N) |
mark#(U81(X1, X2, X3)) | → | a__U81#(mark(X1), X2, X3) | | mark#(x(X1, X2)) | → | mark#(X1) |
a__U83#(tt, M, N) | → | a__U84#(a__isNatKind(N), M, N) |
Rewrite Rules
a__U101(tt, M, N) | → | a__U102(a__isNatKind(M), M, N) | | a__U102(tt, M, N) | → | a__U103(a__isNat(N), M, N) |
a__U103(tt, M, N) | → | a__U104(a__isNatKind(N), M, N) | | a__U104(tt, M, N) | → | a__plus(a__x(mark(N), mark(M)), mark(N)) |
a__U11(tt, V1, V2) | → | a__U12(a__isNatKind(V1), V1, V2) | | a__U12(tt, V1, V2) | → | a__U13(a__isNatKind(V2), V1, V2) |
a__U13(tt, V1, V2) | → | a__U14(a__isNatKind(V2), V1, V2) | | a__U14(tt, V1, V2) | → | a__U15(a__isNat(V1), V2) |
a__U15(tt, V2) | → | a__U16(a__isNat(V2)) | | a__U16(tt) | → | tt |
a__U21(tt, V1) | → | a__U22(a__isNatKind(V1), V1) | | a__U22(tt, V1) | → | a__U23(a__isNat(V1)) |
a__U23(tt) | → | tt | | a__U31(tt, V1, V2) | → | a__U32(a__isNatKind(V1), V1, V2) |
a__U32(tt, V1, V2) | → | a__U33(a__isNatKind(V2), V1, V2) | | a__U33(tt, V1, V2) | → | a__U34(a__isNatKind(V2), V1, V2) |
a__U34(tt, V1, V2) | → | a__U35(a__isNat(V1), V2) | | a__U35(tt, V2) | → | a__U36(a__isNat(V2)) |
a__U36(tt) | → | tt | | a__U41(tt, V2) | → | a__U42(a__isNatKind(V2)) |
a__U42(tt) | → | tt | | a__U51(tt) | → | tt |
a__U61(tt, V2) | → | a__U62(a__isNatKind(V2)) | | a__U62(tt) | → | tt |
a__U71(tt, N) | → | a__U72(a__isNatKind(N), N) | | a__U72(tt, N) | → | mark(N) |
a__U81(tt, M, N) | → | a__U82(a__isNatKind(M), M, N) | | a__U82(tt, M, N) | → | a__U83(a__isNat(N), M, N) |
a__U83(tt, M, N) | → | a__U84(a__isNatKind(N), M, N) | | a__U84(tt, M, N) | → | s(a__plus(mark(N), mark(M))) |
a__U91(tt, N) | → | a__U92(a__isNatKind(N)) | | a__U92(tt) | → | 0 |
a__isNat(0) | → | tt | | a__isNat(plus(V1, V2)) | → | a__U11(a__isNatKind(V1), V1, V2) |
a__isNat(s(V1)) | → | a__U21(a__isNatKind(V1), V1) | | a__isNat(x(V1, V2)) | → | a__U31(a__isNatKind(V1), V1, V2) |
a__isNatKind(0) | → | tt | | a__isNatKind(plus(V1, V2)) | → | a__U41(a__isNatKind(V1), V2) |
a__isNatKind(s(V1)) | → | a__U51(a__isNatKind(V1)) | | a__isNatKind(x(V1, V2)) | → | a__U61(a__isNatKind(V1), V2) |
a__plus(N, 0) | → | a__U71(a__isNat(N), N) | | a__plus(N, s(M)) | → | a__U81(a__isNat(M), M, N) |
a__x(N, 0) | → | a__U91(a__isNat(N), N) | | a__x(N, s(M)) | → | a__U101(a__isNat(M), M, N) |
mark(U101(X1, X2, X3)) | → | a__U101(mark(X1), X2, X3) | | mark(U102(X1, X2, X3)) | → | a__U102(mark(X1), X2, X3) |
mark(isNatKind(X)) | → | a__isNatKind(X) | | mark(U103(X1, X2, X3)) | → | a__U103(mark(X1), X2, X3) |
mark(isNat(X)) | → | a__isNat(X) | | mark(U104(X1, X2, X3)) | → | a__U104(mark(X1), X2, X3) |
mark(plus(X1, X2)) | → | a__plus(mark(X1), mark(X2)) | | mark(x(X1, X2)) | → | a__x(mark(X1), mark(X2)) |
mark(U11(X1, X2, X3)) | → | a__U11(mark(X1), X2, X3) | | mark(U12(X1, X2, X3)) | → | a__U12(mark(X1), X2, X3) |
mark(U13(X1, X2, X3)) | → | a__U13(mark(X1), X2, X3) | | mark(U14(X1, X2, X3)) | → | a__U14(mark(X1), X2, X3) |
mark(U15(X1, X2)) | → | a__U15(mark(X1), X2) | | mark(U16(X)) | → | a__U16(mark(X)) |
mark(U21(X1, X2)) | → | a__U21(mark(X1), X2) | | mark(U22(X1, X2)) | → | a__U22(mark(X1), X2) |
mark(U23(X)) | → | a__U23(mark(X)) | | mark(U31(X1, X2, X3)) | → | a__U31(mark(X1), X2, X3) |
mark(U32(X1, X2, X3)) | → | a__U32(mark(X1), X2, X3) | | mark(U33(X1, X2, X3)) | → | a__U33(mark(X1), X2, X3) |
mark(U34(X1, X2, X3)) | → | a__U34(mark(X1), X2, X3) | | mark(U35(X1, X2)) | → | a__U35(mark(X1), X2) |
mark(U36(X)) | → | a__U36(mark(X)) | | mark(U41(X1, X2)) | → | a__U41(mark(X1), X2) |
mark(U42(X)) | → | a__U42(mark(X)) | | mark(U51(X)) | → | a__U51(mark(X)) |
mark(U61(X1, X2)) | → | a__U61(mark(X1), X2) | | mark(U62(X)) | → | a__U62(mark(X)) |
mark(U71(X1, X2)) | → | a__U71(mark(X1), X2) | | mark(U72(X1, X2)) | → | a__U72(mark(X1), X2) |
mark(U81(X1, X2, X3)) | → | a__U81(mark(X1), X2, X3) | | mark(U82(X1, X2, X3)) | → | a__U82(mark(X1), X2, X3) |
mark(U83(X1, X2, X3)) | → | a__U83(mark(X1), X2, X3) | | mark(U84(X1, X2, X3)) | → | a__U84(mark(X1), X2, X3) |
mark(U91(X1, X2)) | → | a__U91(mark(X1), X2) | | mark(U92(X)) | → | a__U92(mark(X)) |
mark(tt) | → | tt | | mark(s(X)) | → | s(mark(X)) |
mark(0) | → | 0 | | a__U101(X1, X2, X3) | → | U101(X1, X2, X3) |
a__U102(X1, X2, X3) | → | U102(X1, X2, X3) | | a__isNatKind(X) | → | isNatKind(X) |
a__U103(X1, X2, X3) | → | U103(X1, X2, X3) | | a__isNat(X) | → | isNat(X) |
a__U104(X1, X2, X3) | → | U104(X1, X2, X3) | | a__plus(X1, X2) | → | plus(X1, X2) |
a__x(X1, X2) | → | x(X1, X2) | | a__U11(X1, X2, X3) | → | U11(X1, X2, X3) |
a__U12(X1, X2, X3) | → | U12(X1, X2, X3) | | a__U13(X1, X2, X3) | → | U13(X1, X2, X3) |
a__U14(X1, X2, X3) | → | U14(X1, X2, X3) | | a__U15(X1, X2) | → | U15(X1, X2) |
a__U16(X) | → | U16(X) | | a__U21(X1, X2) | → | U21(X1, X2) |
a__U22(X1, X2) | → | U22(X1, X2) | | a__U23(X) | → | U23(X) |
a__U31(X1, X2, X3) | → | U31(X1, X2, X3) | | a__U32(X1, X2, X3) | → | U32(X1, X2, X3) |
a__U33(X1, X2, X3) | → | U33(X1, X2, X3) | | a__U34(X1, X2, X3) | → | U34(X1, X2, X3) |
a__U35(X1, X2) | → | U35(X1, X2) | | a__U36(X) | → | U36(X) |
a__U41(X1, X2) | → | U41(X1, X2) | | a__U42(X) | → | U42(X) |
a__U51(X) | → | U51(X) | | a__U61(X1, X2) | → | U61(X1, X2) |
a__U62(X) | → | U62(X) | | a__U71(X1, X2) | → | U71(X1, X2) |
a__U72(X1, X2) | → | U72(X1, X2) | | a__U81(X1, X2, X3) | → | U81(X1, X2, X3) |
a__U82(X1, X2, X3) | → | U82(X1, X2, X3) | | a__U83(X1, X2, X3) | → | U83(X1, X2, X3) |
a__U84(X1, X2, X3) | → | U84(X1, X2, X3) | | a__U91(X1, X2) | → | U91(X1, X2) |
a__U92(X) | → | U92(X) |
Original Signature
Termination of terms over the following signature is verified: U104, U62, U61, a__U41, a__U72, a__U42, a__U71, U23, U21, U22, plus, a__U84, isNatKind, mark, U71, U36, U72, 0, a__isNat, a__U32, a__U83, a__U31, a__U82, a__U81, U31, U32, a__U36, U33, a__U35, U34, a__U34, a__U104, U35, a__U33, a__U103, a__U51, isNat, U42, a__U91, U92, U41, a__U92, U91, a__U23, a__U22, a__U102, a__U101, a__U21, a__U62, U83, a__plus, U84, U51, U14, s, U15, tt, U82, U16, a__U16, U81, a__U15, a__U14, a__U13, U11, U12, a__U12, U13, a__U11, a__U61, U102, a__x, U103, a__isNatKind, x, U101
Open Dependency Pair Problem 36
Dependency Pairs
mark#(U101(X1, X2, X3)) | → | mark#(X1) | | mark#(U84(X1, X2, X3)) | → | mark#(X1) |
mark#(U35(X1, X2)) | → | a__U35#(mark(X1), X2) | | mark#(U32(X1, X2, X3)) | → | mark#(X1) |
a__U84#(tt, M, N) | → | mark#(N) | | mark#(U103(X1, X2, X3)) | → | mark#(X1) |
mark#(U104(X1, X2, X3)) | → | mark#(X1) | | a__U104#(tt, M, N) | → | mark#(N) |
a__U101#(tt, M, N) | → | a__U102#(a__isNatKind(M), M, N) | | a__plus#(N, s(M)) | → | a__U81#(a__isNat(M), M, N) |
a__U103#(tt, M, N) | → | a__U104#(a__isNatKind(N), M, N) | | mark#(U33(X1, X2, X3)) | → | mark#(X1) |
mark#(s(X)) | → | mark#(X) | | a__plus#(N, 0) | → | a__U71#(a__isNat(N), N) |
a__U84#(tt, M, N) | → | mark#(M) | | mark#(U71(X1, X2)) | → | a__U71#(mark(X1), X2) |
mark#(U84(X1, X2, X3)) | → | a__U84#(mark(X1), X2, X3) | | mark#(U13(X1, X2, X3)) | → | mark#(X1) |
mark#(U72(X1, X2)) | → | mark#(X1) | | mark#(plus(X1, X2)) | → | a__plus#(mark(X1), mark(X2)) |
mark#(U82(X1, X2, X3)) | → | mark#(X1) | | mark#(U71(X1, X2)) | → | mark#(X1) |
mark#(U31(X1, X2, X3)) | → | mark#(X1) | | mark#(U101(X1, X2, X3)) | → | a__U101#(mark(X1), X2, X3) |
mark#(plus(X1, X2)) | → | mark#(X1) | | mark#(U51(X)) | → | mark#(X) |
mark#(U15(X1, X2)) | → | mark#(X1) | | mark#(U34(X1, X2, X3)) | → | mark#(X1) |
mark#(x(X1, X2)) | → | mark#(X2) | | mark#(U104(X1, X2, X3)) | → | a__U104#(mark(X1), X2, X3) |
mark#(U62(X)) | → | mark#(X) | | a__U72#(tt, N) | → | mark#(N) |
a__U104#(tt, M, N) | → | a__plus#(a__x(mark(N), mark(M)), mark(N)) | | a__U81#(tt, M, N) | → | a__U82#(a__isNatKind(M), M, N) |
mark#(U32(X1, X2, X3)) | → | a__U32#(mark(X1), X2, X3) | | mark#(U103(X1, X2, X3)) | → | a__U103#(mark(X1), X2, X3) |
mark#(U11(X1, X2, X3)) | → | mark#(X1) | | mark#(U61(X1, X2)) | → | mark#(X1) |
a__U71#(tt, N) | → | a__U72#(a__isNatKind(N), N) | | mark#(U91(X1, X2)) | → | mark#(X1) |
mark#(isNat(X)) | → | a__isNat#(X) | | a__x#(N, s(M)) | → | a__U101#(a__isNat(M), M, N) |
mark#(x(X1, X2)) | → | a__x#(mark(X1), mark(X2)) | | mark#(U83(X1, X2, X3)) | → | a__U83#(mark(X1), X2, X3) |
a__U104#(tt, M, N) | → | a__x#(mark(N), mark(M)) | | mark#(U42(X)) | → | mark#(X) |
mark#(U21(X1, X2)) | → | mark#(X1) | | mark#(U35(X1, X2)) | → | mark#(X1) |
mark#(U81(X1, X2, X3)) | → | mark#(X1) | | mark#(U14(X1, X2, X3)) | → | mark#(X1) |
mark#(U16(X)) | → | mark#(X) | | a__U104#(tt, M, N) | → | mark#(M) |
mark#(U22(X1, X2)) | → | mark#(X1) | | mark#(U23(X)) | → | mark#(X) |
mark#(U83(X1, X2, X3)) | → | mark#(X1) | | mark#(plus(X1, X2)) | → | mark#(X2) |
mark#(U102(X1, X2, X3)) | → | mark#(X1) | | mark#(U82(X1, X2, X3)) | → | a__U82#(mark(X1), X2, X3) |
mark#(U102(X1, X2, X3)) | → | a__U102#(mark(X1), X2, X3) | | mark#(U41(X1, X2)) | → | mark#(X1) |
mark#(U34(X1, X2, X3)) | → | a__U34#(mark(X1), X2, X3) | | mark#(U33(X1, X2, X3)) | → | a__U33#(mark(X1), X2, X3) |
mark#(U12(X1, X2, X3)) | → | mark#(X1) | | a__U84#(tt, M, N) | → | a__plus#(mark(N), mark(M)) |
mark#(U72(X1, X2)) | → | a__U72#(mark(X1), X2) | | a__U82#(tt, M, N) | → | a__U83#(a__isNat(N), M, N) |
mark#(U92(X)) | → | mark#(X) | | mark#(U21(X1, X2)) | → | a__U21#(mark(X1), X2) |
mark#(U36(X)) | → | mark#(X) | | a__U102#(tt, M, N) | → | a__U103#(a__isNat(N), M, N) |
mark#(U81(X1, X2, X3)) | → | a__U81#(mark(X1), X2, X3) | | mark#(x(X1, X2)) | → | mark#(X1) |
a__U83#(tt, M, N) | → | a__U84#(a__isNatKind(N), M, N) |
Rewrite Rules
a__U101(tt, M, N) | → | a__U102(a__isNatKind(M), M, N) | | a__U102(tt, M, N) | → | a__U103(a__isNat(N), M, N) |
a__U103(tt, M, N) | → | a__U104(a__isNatKind(N), M, N) | | a__U104(tt, M, N) | → | a__plus(a__x(mark(N), mark(M)), mark(N)) |
a__U11(tt, V1, V2) | → | a__U12(a__isNatKind(V1), V1, V2) | | a__U12(tt, V1, V2) | → | a__U13(a__isNatKind(V2), V1, V2) |
a__U13(tt, V1, V2) | → | a__U14(a__isNatKind(V2), V1, V2) | | a__U14(tt, V1, V2) | → | a__U15(a__isNat(V1), V2) |
a__U15(tt, V2) | → | a__U16(a__isNat(V2)) | | a__U16(tt) | → | tt |
a__U21(tt, V1) | → | a__U22(a__isNatKind(V1), V1) | | a__U22(tt, V1) | → | a__U23(a__isNat(V1)) |
a__U23(tt) | → | tt | | a__U31(tt, V1, V2) | → | a__U32(a__isNatKind(V1), V1, V2) |
a__U32(tt, V1, V2) | → | a__U33(a__isNatKind(V2), V1, V2) | | a__U33(tt, V1, V2) | → | a__U34(a__isNatKind(V2), V1, V2) |
a__U34(tt, V1, V2) | → | a__U35(a__isNat(V1), V2) | | a__U35(tt, V2) | → | a__U36(a__isNat(V2)) |
a__U36(tt) | → | tt | | a__U41(tt, V2) | → | a__U42(a__isNatKind(V2)) |
a__U42(tt) | → | tt | | a__U51(tt) | → | tt |
a__U61(tt, V2) | → | a__U62(a__isNatKind(V2)) | | a__U62(tt) | → | tt |
a__U71(tt, N) | → | a__U72(a__isNatKind(N), N) | | a__U72(tt, N) | → | mark(N) |
a__U81(tt, M, N) | → | a__U82(a__isNatKind(M), M, N) | | a__U82(tt, M, N) | → | a__U83(a__isNat(N), M, N) |
a__U83(tt, M, N) | → | a__U84(a__isNatKind(N), M, N) | | a__U84(tt, M, N) | → | s(a__plus(mark(N), mark(M))) |
a__U91(tt, N) | → | a__U92(a__isNatKind(N)) | | a__U92(tt) | → | 0 |
a__isNat(0) | → | tt | | a__isNat(plus(V1, V2)) | → | a__U11(a__isNatKind(V1), V1, V2) |
a__isNat(s(V1)) | → | a__U21(a__isNatKind(V1), V1) | | a__isNat(x(V1, V2)) | → | a__U31(a__isNatKind(V1), V1, V2) |
a__isNatKind(0) | → | tt | | a__isNatKind(plus(V1, V2)) | → | a__U41(a__isNatKind(V1), V2) |
a__isNatKind(s(V1)) | → | a__U51(a__isNatKind(V1)) | | a__isNatKind(x(V1, V2)) | → | a__U61(a__isNatKind(V1), V2) |
a__plus(N, 0) | → | a__U71(a__isNat(N), N) | | a__plus(N, s(M)) | → | a__U81(a__isNat(M), M, N) |
a__x(N, 0) | → | a__U91(a__isNat(N), N) | | a__x(N, s(M)) | → | a__U101(a__isNat(M), M, N) |
mark(U101(X1, X2, X3)) | → | a__U101(mark(X1), X2, X3) | | mark(U102(X1, X2, X3)) | → | a__U102(mark(X1), X2, X3) |
mark(isNatKind(X)) | → | a__isNatKind(X) | | mark(U103(X1, X2, X3)) | → | a__U103(mark(X1), X2, X3) |
mark(isNat(X)) | → | a__isNat(X) | | mark(U104(X1, X2, X3)) | → | a__U104(mark(X1), X2, X3) |
mark(plus(X1, X2)) | → | a__plus(mark(X1), mark(X2)) | | mark(x(X1, X2)) | → | a__x(mark(X1), mark(X2)) |
mark(U11(X1, X2, X3)) | → | a__U11(mark(X1), X2, X3) | | mark(U12(X1, X2, X3)) | → | a__U12(mark(X1), X2, X3) |
mark(U13(X1, X2, X3)) | → | a__U13(mark(X1), X2, X3) | | mark(U14(X1, X2, X3)) | → | a__U14(mark(X1), X2, X3) |
mark(U15(X1, X2)) | → | a__U15(mark(X1), X2) | | mark(U16(X)) | → | a__U16(mark(X)) |
mark(U21(X1, X2)) | → | a__U21(mark(X1), X2) | | mark(U22(X1, X2)) | → | a__U22(mark(X1), X2) |
mark(U23(X)) | → | a__U23(mark(X)) | | mark(U31(X1, X2, X3)) | → | a__U31(mark(X1), X2, X3) |
mark(U32(X1, X2, X3)) | → | a__U32(mark(X1), X2, X3) | | mark(U33(X1, X2, X3)) | → | a__U33(mark(X1), X2, X3) |
mark(U34(X1, X2, X3)) | → | a__U34(mark(X1), X2, X3) | | mark(U35(X1, X2)) | → | a__U35(mark(X1), X2) |
mark(U36(X)) | → | a__U36(mark(X)) | | mark(U41(X1, X2)) | → | a__U41(mark(X1), X2) |
mark(U42(X)) | → | a__U42(mark(X)) | | mark(U51(X)) | → | a__U51(mark(X)) |
mark(U61(X1, X2)) | → | a__U61(mark(X1), X2) | | mark(U62(X)) | → | a__U62(mark(X)) |
mark(U71(X1, X2)) | → | a__U71(mark(X1), X2) | | mark(U72(X1, X2)) | → | a__U72(mark(X1), X2) |
mark(U81(X1, X2, X3)) | → | a__U81(mark(X1), X2, X3) | | mark(U82(X1, X2, X3)) | → | a__U82(mark(X1), X2, X3) |
mark(U83(X1, X2, X3)) | → | a__U83(mark(X1), X2, X3) | | mark(U84(X1, X2, X3)) | → | a__U84(mark(X1), X2, X3) |
mark(U91(X1, X2)) | → | a__U91(mark(X1), X2) | | mark(U92(X)) | → | a__U92(mark(X)) |
mark(tt) | → | tt | | mark(s(X)) | → | s(mark(X)) |
mark(0) | → | 0 | | a__U101(X1, X2, X3) | → | U101(X1, X2, X3) |
a__U102(X1, X2, X3) | → | U102(X1, X2, X3) | | a__isNatKind(X) | → | isNatKind(X) |
a__U103(X1, X2, X3) | → | U103(X1, X2, X3) | | a__isNat(X) | → | isNat(X) |
a__U104(X1, X2, X3) | → | U104(X1, X2, X3) | | a__plus(X1, X2) | → | plus(X1, X2) |
a__x(X1, X2) | → | x(X1, X2) | | a__U11(X1, X2, X3) | → | U11(X1, X2, X3) |
a__U12(X1, X2, X3) | → | U12(X1, X2, X3) | | a__U13(X1, X2, X3) | → | U13(X1, X2, X3) |
a__U14(X1, X2, X3) | → | U14(X1, X2, X3) | | a__U15(X1, X2) | → | U15(X1, X2) |
a__U16(X) | → | U16(X) | | a__U21(X1, X2) | → | U21(X1, X2) |
a__U22(X1, X2) | → | U22(X1, X2) | | a__U23(X) | → | U23(X) |
a__U31(X1, X2, X3) | → | U31(X1, X2, X3) | | a__U32(X1, X2, X3) | → | U32(X1, X2, X3) |
a__U33(X1, X2, X3) | → | U33(X1, X2, X3) | | a__U34(X1, X2, X3) | → | U34(X1, X2, X3) |
a__U35(X1, X2) | → | U35(X1, X2) | | a__U36(X) | → | U36(X) |
a__U41(X1, X2) | → | U41(X1, X2) | | a__U42(X) | → | U42(X) |
a__U51(X) | → | U51(X) | | a__U61(X1, X2) | → | U61(X1, X2) |
a__U62(X) | → | U62(X) | | a__U71(X1, X2) | → | U71(X1, X2) |
a__U72(X1, X2) | → | U72(X1, X2) | | a__U81(X1, X2, X3) | → | U81(X1, X2, X3) |
a__U82(X1, X2, X3) | → | U82(X1, X2, X3) | | a__U83(X1, X2, X3) | → | U83(X1, X2, X3) |
a__U84(X1, X2, X3) | → | U84(X1, X2, X3) | | a__U91(X1, X2) | → | U91(X1, X2) |
a__U92(X) | → | U92(X) |
Original Signature
Termination of terms over the following signature is verified: U104, U62, U61, a__U41, a__U72, a__U42, a__U71, U23, U21, U22, plus, a__U84, isNatKind, mark, U71, U36, U72, 0, a__isNat, a__U32, a__U83, a__U31, a__U82, a__U81, U31, U32, a__U36, U33, a__U35, U34, a__U34, a__U104, U35, a__U33, a__U103, a__U51, isNat, U42, a__U91, U92, U41, a__U92, U91, a__U23, a__U22, a__U102, a__U101, a__U21, a__U62, U83, a__plus, U84, U51, U14, s, U15, tt, U82, U16, a__U16, U81, a__U15, a__U14, a__U13, U11, U12, a__U12, U13, a__U11, a__U61, U102, a__x, U103, a__isNatKind, x, U101
Problem 1: DependencyGraph
Dependency Pair Problem
Dependency Pairs
mark#(U101(X1, X2, X3)) | → | mark#(X1) | | a__U71#(tt, N) | → | a__isNatKind#(N) |
mark#(U62(X)) | → | a__U62#(mark(X)) | | mark#(U35(X1, X2)) | → | a__U35#(mark(X1), X2) |
mark#(U84(X1, X2, X3)) | → | mark#(X1) | | a__U84#(tt, M, N) | → | mark#(N) |
a__U13#(tt, V1, V2) | → | a__U14#(a__isNatKind(V2), V1, V2) | | a__U104#(tt, M, N) | → | mark#(N) |
mark#(U23(X)) | → | a__U23#(mark(X)) | | a__plus#(N, s(M)) | → | a__U81#(a__isNat(M), M, N) |
a__U91#(tt, N) | → | a__U92#(a__isNatKind(N)) | | mark#(U12(X1, X2, X3)) | → | a__U12#(mark(X1), X2, X3) |
mark#(U33(X1, X2, X3)) | → | mark#(X1) | | a__U34#(tt, V1, V2) | → | a__isNat#(V1) |
mark#(s(X)) | → | mark#(X) | | mark#(U13(X1, X2, X3)) | → | mark#(X1) |
mark#(U72(X1, X2)) | → | mark#(X1) | | a__U91#(tt, N) | → | a__isNatKind#(N) |
a__isNatKind#(x(V1, V2)) | → | a__isNatKind#(V1) | | mark#(plus(X1, X2)) | → | a__plus#(mark(X1), mark(X2)) |
a__U22#(tt, V1) | → | a__isNat#(V1) | | a__U61#(tt, V2) | → | a__isNatKind#(V2) |
a__U33#(tt, V1, V2) | → | a__isNatKind#(V2) | | a__U101#(tt, M, N) | → | a__isNatKind#(M) |
a__isNatKind#(plus(V1, V2)) | → | a__isNatKind#(V1) | | mark#(U82(X1, X2, X3)) | → | mark#(X1) |
a__U81#(tt, M, N) | → | a__isNatKind#(M) | | mark#(U92(X)) | → | a__U92#(mark(X)) |
mark#(U101(X1, X2, X3)) | → | a__U101#(mark(X1), X2, X3) | | mark#(U15(X1, X2)) | → | mark#(X1) |
mark#(U51(X)) | → | mark#(X) | | mark#(U13(X1, X2, X3)) | → | a__U13#(mark(X1), X2, X3) |
a__U15#(tt, V2) | → | a__U16#(a__isNat(V2)) | | mark#(U62(X)) | → | mark#(X) |
a__plus#(N, 0) | → | a__isNat#(N) | | a__U104#(tt, M, N) | → | a__plus#(a__x(mark(N), mark(M)), mark(N)) |
a__U81#(tt, M, N) | → | a__U82#(a__isNatKind(M), M, N) | | a__U32#(tt, V1, V2) | → | a__U33#(a__isNatKind(V2), V1, V2) |
mark#(U32(X1, X2, X3)) | → | a__U32#(mark(X1), X2, X3) | | mark#(U11(X1, X2, X3)) | → | mark#(X1) |
a__U71#(tt, N) | → | a__U72#(a__isNatKind(N), N) | | a__U11#(tt, V1, V2) | → | a__U12#(a__isNatKind(V1), V1, V2) |
mark#(isNat(X)) | → | a__isNat#(X) | | mark#(x(X1, X2)) | → | a__x#(mark(X1), mark(X2)) |
a__U61#(tt, V2) | → | a__U62#(a__isNatKind(V2)) | | a__U104#(tt, M, N) | → | a__x#(mark(N), mark(M)) |
mark#(U35(X1, X2)) | → | mark#(X1) | | a__isNatKind#(s(V1)) | → | a__isNatKind#(V1) |
mark#(U81(X1, X2, X3)) | → | mark#(X1) | | mark#(U14(X1, X2, X3)) | → | mark#(X1) |
mark#(U16(X)) | → | mark#(X) | | a__U104#(tt, M, N) | → | mark#(M) |
mark#(U23(X)) | → | mark#(X) | | mark#(U22(X1, X2)) | → | mark#(X1) |
a__U21#(tt, V1) | → | a__isNatKind#(V1) | | a__U35#(tt, V2) | → | a__isNat#(V2) |
mark#(U102(X1, X2, X3)) | → | a__U102#(mark(X1), X2, X3) | | mark#(U41(X1, X2)) | → | mark#(X1) |
mark#(U34(X1, X2, X3)) | → | a__U34#(mark(X1), X2, X3) | | a__U14#(tt, V1, V2) | → | a__isNat#(V1) |
mark#(U31(X1, X2, X3)) | → | a__U31#(mark(X1), X2, X3) | | a__U84#(tt, M, N) | → | a__plus#(mark(N), mark(M)) |
mark#(U36(X)) | → | a__U36#(mark(X)) | | mark#(U72(X1, X2)) | → | a__U72#(mark(X1), X2) |
a__U31#(tt, V1, V2) | → | a__U32#(a__isNatKind(V1), V1, V2) | | a__isNatKind#(plus(V1, V2)) | → | a__U41#(a__isNatKind(V1), V2) |
a__x#(N, s(M)) | → | a__isNat#(M) | | a__isNat#(s(V1)) | → | a__U21#(a__isNatKind(V1), V1) |
mark#(U36(X)) | → | mark#(X) | | a__U102#(tt, M, N) | → | a__U103#(a__isNat(N), M, N) |
a__U13#(tt, V1, V2) | → | a__isNatKind#(V2) | | a__U41#(tt, V2) | → | a__U42#(a__isNatKind(V2)) |
mark#(U16(X)) | → | a__U16#(mark(X)) | | a__U34#(tt, V1, V2) | → | a__U35#(a__isNat(V1), V2) |
a__U12#(tt, V1, V2) | → | a__U13#(a__isNatKind(V2), V1, V2) | | a__U12#(tt, V1, V2) | → | a__isNatKind#(V2) |
a__U83#(tt, M, N) | → | a__U84#(a__isNatKind(N), M, N) | | mark#(x(X1, X2)) | → | mark#(X1) |
a__U103#(tt, M, N) | → | a__isNatKind#(N) | | a__U35#(tt, V2) | → | a__U36#(a__isNat(V2)) |
mark#(U32(X1, X2, X3)) | → | mark#(X1) | | a__U14#(tt, V1, V2) | → | a__U15#(a__isNat(V1), V2) |
mark#(U103(X1, X2, X3)) | → | mark#(X1) | | mark#(U104(X1, X2, X3)) | → | mark#(X1) |
mark#(U22(X1, X2)) | → | a__U22#(mark(X1), X2) | | a__U101#(tt, M, N) | → | a__U102#(a__isNatKind(M), M, N) |
mark#(U91(X1, X2)) | → | a__U91#(mark(X1), X2) | | a__U103#(tt, M, N) | → | a__U104#(a__isNatKind(N), M, N) |
a__U102#(tt, M, N) | → | a__isNat#(N) | | mark#(U41(X1, X2)) | → | a__U41#(mark(X1), X2) |
a__isNat#(x(V1, V2)) | → | a__isNatKind#(V1) | | a__plus#(N, 0) | → | a__U71#(a__isNat(N), N) |
a__x#(N, 0) | → | a__isNat#(N) | | a__U84#(tt, M, N) | → | mark#(M) |
mark#(U71(X1, X2)) | → | a__U71#(mark(X1), X2) | | mark#(U84(X1, X2, X3)) | → | a__U84#(mark(X1), X2, X3) |
a__U22#(tt, V1) | → | a__U23#(a__isNat(V1)) | | a__U82#(tt, M, N) | → | a__isNat#(N) |
a__isNat#(x(V1, V2)) | → | a__U31#(a__isNatKind(V1), V1, V2) | | a__isNat#(s(V1)) | → | a__isNatKind#(V1) |
mark#(U71(X1, X2)) | → | mark#(X1) | | mark#(U31(X1, X2, X3)) | → | mark#(X1) |
mark#(plus(X1, X2)) | → | mark#(X1) | | mark#(U61(X1, X2)) | → | a__U61#(mark(X1), X2) |
mark#(U15(X1, X2)) | → | a__U15#(mark(X1), X2) | | mark#(x(X1, X2)) | → | mark#(X2) |
mark#(U34(X1, X2, X3)) | → | mark#(X1) | | mark#(U104(X1, X2, X3)) | → | a__U104#(mark(X1), X2, X3) |
mark#(U42(X)) | → | a__U42#(mark(X)) | | a__U72#(tt, N) | → | mark#(N) |
mark#(U103(X1, X2, X3)) | → | a__U103#(mark(X1), X2, X3) | | a__U11#(tt, V1, V2) | → | a__isNatKind#(V1) |
mark#(U11(X1, X2, X3)) | → | a__U11#(mark(X1), X2, X3) | | a__U21#(tt, V1) | → | a__U22#(a__isNatKind(V1), V1) |
a__U32#(tt, V1, V2) | → | a__isNatKind#(V2) | | mark#(U61(X1, X2)) | → | mark#(X1) |
mark#(U91(X1, X2)) | → | mark#(X1) | | a__x#(N, s(M)) | → | a__U101#(a__isNat(M), M, N) |
mark#(U83(X1, X2, X3)) | → | a__U83#(mark(X1), X2, X3) | | mark#(U21(X1, X2)) | → | mark#(X1) |
mark#(U42(X)) | → | mark#(X) | | a__U31#(tt, V1, V2) | → | a__isNatKind#(V1) |
a__U83#(tt, M, N) | → | a__isNatKind#(N) | | a__U15#(tt, V2) | → | a__isNat#(V2) |
a__isNatKind#(s(V1)) | → | a__U51#(a__isNatKind(V1)) | | mark#(U83(X1, X2, X3)) | → | mark#(X1) |
mark#(plus(X1, X2)) | → | mark#(X2) | | a__x#(N, 0) | → | a__U91#(a__isNat(N), N) |
mark#(U102(X1, X2, X3)) | → | mark#(X1) | | mark#(U82(X1, X2, X3)) | → | a__U82#(mark(X1), X2, X3) |
mark#(U14(X1, X2, X3)) | → | a__U14#(mark(X1), X2, X3) | | a__plus#(N, s(M)) | → | a__isNat#(M) |
mark#(U12(X1, X2, X3)) | → | mark#(X1) | | mark#(U33(X1, X2, X3)) | → | a__U33#(mark(X1), X2, X3) |
a__U41#(tt, V2) | → | a__isNatKind#(V2) | | a__isNat#(plus(V1, V2)) | → | a__U11#(a__isNatKind(V1), V1, V2) |
a__U82#(tt, M, N) | → | a__U83#(a__isNat(N), M, N) | | mark#(U21(X1, X2)) | → | a__U21#(mark(X1), X2) |
mark#(U92(X)) | → | mark#(X) | | a__isNat#(plus(V1, V2)) | → | a__isNatKind#(V1) |
a__isNatKind#(x(V1, V2)) | → | a__U61#(a__isNatKind(V1), V2) | | mark#(isNatKind(X)) | → | a__isNatKind#(X) |
a__U33#(tt, V1, V2) | → | a__U34#(a__isNatKind(V2), V1, V2) | | mark#(U81(X1, X2, X3)) | → | a__U81#(mark(X1), X2, X3) |
mark#(U51(X)) | → | a__U51#(mark(X)) |
Rewrite Rules
a__U101(tt, M, N) | → | a__U102(a__isNatKind(M), M, N) | | a__U102(tt, M, N) | → | a__U103(a__isNat(N), M, N) |
a__U103(tt, M, N) | → | a__U104(a__isNatKind(N), M, N) | | a__U104(tt, M, N) | → | a__plus(a__x(mark(N), mark(M)), mark(N)) |
a__U11(tt, V1, V2) | → | a__U12(a__isNatKind(V1), V1, V2) | | a__U12(tt, V1, V2) | → | a__U13(a__isNatKind(V2), V1, V2) |
a__U13(tt, V1, V2) | → | a__U14(a__isNatKind(V2), V1, V2) | | a__U14(tt, V1, V2) | → | a__U15(a__isNat(V1), V2) |
a__U15(tt, V2) | → | a__U16(a__isNat(V2)) | | a__U16(tt) | → | tt |
a__U21(tt, V1) | → | a__U22(a__isNatKind(V1), V1) | | a__U22(tt, V1) | → | a__U23(a__isNat(V1)) |
a__U23(tt) | → | tt | | a__U31(tt, V1, V2) | → | a__U32(a__isNatKind(V1), V1, V2) |
a__U32(tt, V1, V2) | → | a__U33(a__isNatKind(V2), V1, V2) | | a__U33(tt, V1, V2) | → | a__U34(a__isNatKind(V2), V1, V2) |
a__U34(tt, V1, V2) | → | a__U35(a__isNat(V1), V2) | | a__U35(tt, V2) | → | a__U36(a__isNat(V2)) |
a__U36(tt) | → | tt | | a__U41(tt, V2) | → | a__U42(a__isNatKind(V2)) |
a__U42(tt) | → | tt | | a__U51(tt) | → | tt |
a__U61(tt, V2) | → | a__U62(a__isNatKind(V2)) | | a__U62(tt) | → | tt |
a__U71(tt, N) | → | a__U72(a__isNatKind(N), N) | | a__U72(tt, N) | → | mark(N) |
a__U81(tt, M, N) | → | a__U82(a__isNatKind(M), M, N) | | a__U82(tt, M, N) | → | a__U83(a__isNat(N), M, N) |
a__U83(tt, M, N) | → | a__U84(a__isNatKind(N), M, N) | | a__U84(tt, M, N) | → | s(a__plus(mark(N), mark(M))) |
a__U91(tt, N) | → | a__U92(a__isNatKind(N)) | | a__U92(tt) | → | 0 |
a__isNat(0) | → | tt | | a__isNat(plus(V1, V2)) | → | a__U11(a__isNatKind(V1), V1, V2) |
a__isNat(s(V1)) | → | a__U21(a__isNatKind(V1), V1) | | a__isNat(x(V1, V2)) | → | a__U31(a__isNatKind(V1), V1, V2) |
a__isNatKind(0) | → | tt | | a__isNatKind(plus(V1, V2)) | → | a__U41(a__isNatKind(V1), V2) |
a__isNatKind(s(V1)) | → | a__U51(a__isNatKind(V1)) | | a__isNatKind(x(V1, V2)) | → | a__U61(a__isNatKind(V1), V2) |
a__plus(N, 0) | → | a__U71(a__isNat(N), N) | | a__plus(N, s(M)) | → | a__U81(a__isNat(M), M, N) |
a__x(N, 0) | → | a__U91(a__isNat(N), N) | | a__x(N, s(M)) | → | a__U101(a__isNat(M), M, N) |
mark(U101(X1, X2, X3)) | → | a__U101(mark(X1), X2, X3) | | mark(U102(X1, X2, X3)) | → | a__U102(mark(X1), X2, X3) |
mark(isNatKind(X)) | → | a__isNatKind(X) | | mark(U103(X1, X2, X3)) | → | a__U103(mark(X1), X2, X3) |
mark(isNat(X)) | → | a__isNat(X) | | mark(U104(X1, X2, X3)) | → | a__U104(mark(X1), X2, X3) |
mark(plus(X1, X2)) | → | a__plus(mark(X1), mark(X2)) | | mark(x(X1, X2)) | → | a__x(mark(X1), mark(X2)) |
mark(U11(X1, X2, X3)) | → | a__U11(mark(X1), X2, X3) | | mark(U12(X1, X2, X3)) | → | a__U12(mark(X1), X2, X3) |
mark(U13(X1, X2, X3)) | → | a__U13(mark(X1), X2, X3) | | mark(U14(X1, X2, X3)) | → | a__U14(mark(X1), X2, X3) |
mark(U15(X1, X2)) | → | a__U15(mark(X1), X2) | | mark(U16(X)) | → | a__U16(mark(X)) |
mark(U21(X1, X2)) | → | a__U21(mark(X1), X2) | | mark(U22(X1, X2)) | → | a__U22(mark(X1), X2) |
mark(U23(X)) | → | a__U23(mark(X)) | | mark(U31(X1, X2, X3)) | → | a__U31(mark(X1), X2, X3) |
mark(U32(X1, X2, X3)) | → | a__U32(mark(X1), X2, X3) | | mark(U33(X1, X2, X3)) | → | a__U33(mark(X1), X2, X3) |
mark(U34(X1, X2, X3)) | → | a__U34(mark(X1), X2, X3) | | mark(U35(X1, X2)) | → | a__U35(mark(X1), X2) |
mark(U36(X)) | → | a__U36(mark(X)) | | mark(U41(X1, X2)) | → | a__U41(mark(X1), X2) |
mark(U42(X)) | → | a__U42(mark(X)) | | mark(U51(X)) | → | a__U51(mark(X)) |
mark(U61(X1, X2)) | → | a__U61(mark(X1), X2) | | mark(U62(X)) | → | a__U62(mark(X)) |
mark(U71(X1, X2)) | → | a__U71(mark(X1), X2) | | mark(U72(X1, X2)) | → | a__U72(mark(X1), X2) |
mark(U81(X1, X2, X3)) | → | a__U81(mark(X1), X2, X3) | | mark(U82(X1, X2, X3)) | → | a__U82(mark(X1), X2, X3) |
mark(U83(X1, X2, X3)) | → | a__U83(mark(X1), X2, X3) | | mark(U84(X1, X2, X3)) | → | a__U84(mark(X1), X2, X3) |
mark(U91(X1, X2)) | → | a__U91(mark(X1), X2) | | mark(U92(X)) | → | a__U92(mark(X)) |
mark(tt) | → | tt | | mark(s(X)) | → | s(mark(X)) |
mark(0) | → | 0 | | a__U101(X1, X2, X3) | → | U101(X1, X2, X3) |
a__U102(X1, X2, X3) | → | U102(X1, X2, X3) | | a__isNatKind(X) | → | isNatKind(X) |
a__U103(X1, X2, X3) | → | U103(X1, X2, X3) | | a__isNat(X) | → | isNat(X) |
a__U104(X1, X2, X3) | → | U104(X1, X2, X3) | | a__plus(X1, X2) | → | plus(X1, X2) |
a__x(X1, X2) | → | x(X1, X2) | | a__U11(X1, X2, X3) | → | U11(X1, X2, X3) |
a__U12(X1, X2, X3) | → | U12(X1, X2, X3) | | a__U13(X1, X2, X3) | → | U13(X1, X2, X3) |
a__U14(X1, X2, X3) | → | U14(X1, X2, X3) | | a__U15(X1, X2) | → | U15(X1, X2) |
a__U16(X) | → | U16(X) | | a__U21(X1, X2) | → | U21(X1, X2) |
a__U22(X1, X2) | → | U22(X1, X2) | | a__U23(X) | → | U23(X) |
a__U31(X1, X2, X3) | → | U31(X1, X2, X3) | | a__U32(X1, X2, X3) | → | U32(X1, X2, X3) |
a__U33(X1, X2, X3) | → | U33(X1, X2, X3) | | a__U34(X1, X2, X3) | → | U34(X1, X2, X3) |
a__U35(X1, X2) | → | U35(X1, X2) | | a__U36(X) | → | U36(X) |
a__U41(X1, X2) | → | U41(X1, X2) | | a__U42(X) | → | U42(X) |
a__U51(X) | → | U51(X) | | a__U61(X1, X2) | → | U61(X1, X2) |
a__U62(X) | → | U62(X) | | a__U71(X1, X2) | → | U71(X1, X2) |
a__U72(X1, X2) | → | U72(X1, X2) | | a__U81(X1, X2, X3) | → | U81(X1, X2, X3) |
a__U82(X1, X2, X3) | → | U82(X1, X2, X3) | | a__U83(X1, X2, X3) | → | U83(X1, X2, X3) |
a__U84(X1, X2, X3) | → | U84(X1, X2, X3) | | a__U91(X1, X2) | → | U91(X1, X2) |
a__U92(X) | → | U92(X) |
Original Signature
Termination of terms over the following signature is verified: U104, U62, U61, a__U41, a__U72, a__U42, a__U71, U23, U21, U22, plus, a__U84, isNatKind, mark, U71, U36, U72, 0, a__isNat, a__U83, a__U32, a__U82, a__U31, a__U81, U31, U32, a__U36, U33, a__U35, U34, a__U34, a__U104, U35, a__U33, a__U103, a__U51, isNat, U42, a__U91, U92, U41, a__U92, U91, a__U23, a__U22, a__U102, a__U101, a__U21, a__U62, a__plus, U83, U84, s, U14, U51, tt, U15, a__U16, U16, U82, a__U15, U81, a__U14, U11, a__U13, a__U12, U12, a__U11, U13, U102, a__U61, U103, a__x, U101, x, a__isNatKind
Strategy
The following SCCs where found
mark#(U101(X1, X2, X3)) → mark#(X1) | a__U71#(tt, N) → a__isNatKind#(N) |
mark#(U35(X1, X2)) → a__U35#(mark(X1), X2) | mark#(U84(X1, X2, X3)) → mark#(X1) |
mark#(U32(X1, X2, X3)) → mark#(X1) | mark#(U104(X1, X2, X3)) → mark#(X1) |
mark#(U103(X1, X2, X3)) → mark#(X1) | a__U84#(tt, M, N) → mark#(N) |
a__U104#(tt, M, N) → mark#(N) | a__U101#(tt, M, N) → a__U102#(a__isNatKind(M), M, N) |
a__plus#(N, s(M)) → a__U81#(a__isNat(M), M, N) | a__U103#(tt, M, N) → a__U104#(a__isNatKind(N), M, N) |
mark#(U33(X1, X2, X3)) → mark#(X1) | mark#(U41(X1, X2)) → a__U41#(mark(X1), X2) |
a__plus#(N, 0) → a__U71#(a__isNat(N), N) | mark#(s(X)) → mark#(X) |
a__U84#(tt, M, N) → mark#(M) | mark#(U71(X1, X2)) → a__U71#(mark(X1), X2) |
mark#(U84(X1, X2, X3)) → a__U84#(mark(X1), X2, X3) | mark#(U13(X1, X2, X3)) → mark#(X1) |
mark#(U72(X1, X2)) → mark#(X1) | mark#(plus(X1, X2)) → a__plus#(mark(X1), mark(X2)) |
mark#(U82(X1, X2, X3)) → mark#(X1) | mark#(U71(X1, X2)) → mark#(X1) |
mark#(U101(X1, X2, X3)) → a__U101#(mark(X1), X2, X3) | mark#(U31(X1, X2, X3)) → mark#(X1) |
mark#(plus(X1, X2)) → mark#(X1) | mark#(U15(X1, X2)) → mark#(X1) |
mark#(U51(X)) → mark#(X) | mark#(x(X1, X2)) → mark#(X2) |
mark#(U34(X1, X2, X3)) → mark#(X1) | mark#(U13(X1, X2, X3)) → a__U13#(mark(X1), X2, X3) |
mark#(U104(X1, X2, X3)) → a__U104#(mark(X1), X2, X3) | mark#(U62(X)) → mark#(X) |
a__U72#(tt, N) → mark#(N) | a__U81#(tt, M, N) → a__U82#(a__isNatKind(M), M, N) |
a__U104#(tt, M, N) → a__plus#(a__x(mark(N), mark(M)), mark(N)) | mark#(U32(X1, X2, X3)) → a__U32#(mark(X1), X2, X3) |
mark#(U103(X1, X2, X3)) → a__U103#(mark(X1), X2, X3) | mark#(U11(X1, X2, X3)) → mark#(X1) |
a__U71#(tt, N) → a__U72#(a__isNatKind(N), N) | mark#(U61(X1, X2)) → mark#(X1) |
mark#(U91(X1, X2)) → mark#(X1) | a__x#(N, s(M)) → a__U101#(a__isNat(M), M, N) |
mark#(x(X1, X2)) → a__x#(mark(X1), mark(X2)) | mark#(U83(X1, X2, X3)) → a__U83#(mark(X1), X2, X3) |
a__U104#(tt, M, N) → a__x#(mark(N), mark(M)) | mark#(U35(X1, X2)) → mark#(X1) |
mark#(U42(X)) → mark#(X) | mark#(U21(X1, X2)) → mark#(X1) |
mark#(U81(X1, X2, X3)) → mark#(X1) | mark#(U14(X1, X2, X3)) → mark#(X1) |
mark#(U16(X)) → mark#(X) | a__U104#(tt, M, N) → mark#(M) |
mark#(U83(X1, X2, X3)) → mark#(X1) | mark#(U23(X)) → mark#(X) |
mark#(U22(X1, X2)) → mark#(X1) | mark#(plus(X1, X2)) → mark#(X2) |
mark#(U102(X1, X2, X3)) → mark#(X1) | mark#(U82(X1, X2, X3)) → a__U82#(mark(X1), X2, X3) |
mark#(U102(X1, X2, X3)) → a__U102#(mark(X1), X2, X3) | mark#(U41(X1, X2)) → mark#(X1) |
mark#(U33(X1, X2, X3)) → a__U33#(mark(X1), X2, X3) | mark#(U12(X1, X2, X3)) → mark#(X1) |
a__U84#(tt, M, N) → a__plus#(mark(N), mark(M)) | mark#(U72(X1, X2)) → a__U72#(mark(X1), X2) |
a__U82#(tt, M, N) → a__U83#(a__isNat(N), M, N) | mark#(U21(X1, X2)) → a__U21#(mark(X1), X2) |
mark#(U92(X)) → mark#(X) | mark#(U36(X)) → mark#(X) |
a__U102#(tt, M, N) → a__U103#(a__isNat(N), M, N) | mark#(U81(X1, X2, X3)) → a__U81#(mark(X1), X2, X3) |
a__U83#(tt, M, N) → a__U84#(a__isNatKind(N), M, N) | mark#(x(X1, X2)) → mark#(X1) |
mark#(U101(X1, X2, X3)) → mark#(X1) | mark#(U35(X1, X2)) → a__U35#(mark(X1), X2) |
mark#(U84(X1, X2, X3)) → mark#(X1) | mark#(U32(X1, X2, X3)) → mark#(X1) |
mark#(U104(X1, X2, X3)) → mark#(X1) | mark#(U103(X1, X2, X3)) → mark#(X1) |
a__U84#(tt, M, N) → mark#(N) | a__U104#(tt, M, N) → mark#(N) |
a__U101#(tt, M, N) → a__U102#(a__isNatKind(M), M, N) | a__plus#(N, s(M)) → a__U81#(a__isNat(M), M, N) |
a__U103#(tt, M, N) → a__U104#(a__isNatKind(N), M, N) | mark#(U33(X1, X2, X3)) → mark#(X1) |
a__plus#(N, 0) → a__U71#(a__isNat(N), N) | mark#(s(X)) → mark#(X) |
a__U84#(tt, M, N) → mark#(M) | mark#(U71(X1, X2)) → a__U71#(mark(X1), X2) |
mark#(U84(X1, X2, X3)) → a__U84#(mark(X1), X2, X3) | mark#(U13(X1, X2, X3)) → mark#(X1) |
mark#(U72(X1, X2)) → mark#(X1) | mark#(plus(X1, X2)) → a__plus#(mark(X1), mark(X2)) |
mark#(U82(X1, X2, X3)) → mark#(X1) | mark#(U71(X1, X2)) → mark#(X1) |
mark#(U101(X1, X2, X3)) → a__U101#(mark(X1), X2, X3) | mark#(U31(X1, X2, X3)) → mark#(X1) |
mark#(plus(X1, X2)) → mark#(X1) | mark#(U15(X1, X2)) → mark#(X1) |
mark#(U51(X)) → mark#(X) | mark#(x(X1, X2)) → mark#(X2) |
mark#(U34(X1, X2, X3)) → mark#(X1) | mark#(U104(X1, X2, X3)) → a__U104#(mark(X1), X2, X3) |
mark#(U62(X)) → mark#(X) | a__U72#(tt, N) → mark#(N) |
a__U81#(tt, M, N) → a__U82#(a__isNatKind(M), M, N) | a__U104#(tt, M, N) → a__plus#(a__x(mark(N), mark(M)), mark(N)) |
mark#(U32(X1, X2, X3)) → a__U32#(mark(X1), X2, X3) | mark#(U103(X1, X2, X3)) → a__U103#(mark(X1), X2, X3) |
mark#(U11(X1, X2, X3)) → mark#(X1) | a__U71#(tt, N) → a__U72#(a__isNatKind(N), N) |
mark#(U61(X1, X2)) → mark#(X1) | mark#(U91(X1, X2)) → mark#(X1) |
a__x#(N, s(M)) → a__U101#(a__isNat(M), M, N) | mark#(isNat(X)) → a__isNat#(X) |
mark#(x(X1, X2)) → a__x#(mark(X1), mark(X2)) | mark#(U83(X1, X2, X3)) → a__U83#(mark(X1), X2, X3) |
a__U104#(tt, M, N) → a__x#(mark(N), mark(M)) | mark#(U35(X1, X2)) → mark#(X1) |
mark#(U21(X1, X2)) → mark#(X1) | mark#(U42(X)) → mark#(X) |
mark#(U14(X1, X2, X3)) → mark#(X1) | mark#(U81(X1, X2, X3)) → mark#(X1) |
mark#(U16(X)) → mark#(X) | a__U104#(tt, M, N) → mark#(M) |
mark#(U83(X1, X2, X3)) → mark#(X1) | mark#(U23(X)) → mark#(X) |
mark#(U22(X1, X2)) → mark#(X1) | mark#(plus(X1, X2)) → mark#(X2) |
mark#(U102(X1, X2, X3)) → mark#(X1) | mark#(U82(X1, X2, X3)) → a__U82#(mark(X1), X2, X3) |
mark#(U102(X1, X2, X3)) → a__U102#(mark(X1), X2, X3) | mark#(U41(X1, X2)) → mark#(X1) |
mark#(U12(X1, X2, X3)) → mark#(X1) | mark#(U33(X1, X2, X3)) → a__U33#(mark(X1), X2, X3) |
mark#(U34(X1, X2, X3)) → a__U34#(mark(X1), X2, X3) | a__U84#(tt, M, N) → a__plus#(mark(N), mark(M)) |
mark#(U72(X1, X2)) → a__U72#(mark(X1), X2) | a__U82#(tt, M, N) → a__U83#(a__isNat(N), M, N) |
mark#(U21(X1, X2)) → a__U21#(mark(X1), X2) | mark#(U92(X)) → mark#(X) |
mark#(U36(X)) → mark#(X) | a__U102#(tt, M, N) → a__U103#(a__isNat(N), M, N) |
mark#(U81(X1, X2, X3)) → a__U81#(mark(X1), X2, X3) | a__U83#(tt, M, N) → a__U84#(a__isNatKind(N), M, N) |
mark#(x(X1, X2)) → mark#(X1) |
mark#(U101(X1, X2, X3)) → mark#(X1) | mark#(U84(X1, X2, X3)) → mark#(X1) |
mark#(U35(X1, X2)) → a__U35#(mark(X1), X2) | mark#(U32(X1, X2, X3)) → mark#(X1) |
mark#(U104(X1, X2, X3)) → mark#(X1) | a__U84#(tt, M, N) → mark#(N) |
mark#(U103(X1, X2, X3)) → mark#(X1) | mark#(U22(X1, X2)) → a__U22#(mark(X1), X2) |
a__U104#(tt, M, N) → mark#(N) | mark#(U23(X)) → a__U23#(mark(X)) |
a__U101#(tt, M, N) → a__U102#(a__isNatKind(M), M, N) | a__plus#(N, s(M)) → a__U81#(a__isNat(M), M, N) |
a__U103#(tt, M, N) → a__U104#(a__isNatKind(N), M, N) | mark#(U33(X1, X2, X3)) → mark#(X1) |
a__plus#(N, 0) → a__U71#(a__isNat(N), N) | mark#(s(X)) → mark#(X) |
a__U84#(tt, M, N) → mark#(M) | mark#(U71(X1, X2)) → a__U71#(mark(X1), X2) |
mark#(U84(X1, X2, X3)) → a__U84#(mark(X1), X2, X3) | mark#(U13(X1, X2, X3)) → mark#(X1) |
mark#(U72(X1, X2)) → mark#(X1) | mark#(plus(X1, X2)) → a__plus#(mark(X1), mark(X2)) |
mark#(U82(X1, X2, X3)) → mark#(X1) | mark#(U71(X1, X2)) → mark#(X1) |
mark#(U92(X)) → a__U92#(mark(X)) | mark#(U101(X1, X2, X3)) → a__U101#(mark(X1), X2, X3) |
mark#(U31(X1, X2, X3)) → mark#(X1) | mark#(plus(X1, X2)) → mark#(X1) |
mark#(U15(X1, X2)) → mark#(X1) | mark#(U51(X)) → mark#(X) |
mark#(x(X1, X2)) → mark#(X2) | mark#(U15(X1, X2)) → a__U15#(mark(X1), X2) |
mark#(U34(X1, X2, X3)) → mark#(X1) | mark#(U104(X1, X2, X3)) → a__U104#(mark(X1), X2, X3) |
mark#(U62(X)) → mark#(X) | a__U72#(tt, N) → mark#(N) |
a__U81#(tt, M, N) → a__U82#(a__isNatKind(M), M, N) | a__U104#(tt, M, N) → a__plus#(a__x(mark(N), mark(M)), mark(N)) |
mark#(U32(X1, X2, X3)) → a__U32#(mark(X1), X2, X3) | mark#(U103(X1, X2, X3)) → a__U103#(mark(X1), X2, X3) |
mark#(U11(X1, X2, X3)) → mark#(X1) | a__U71#(tt, N) → a__U72#(a__isNatKind(N), N) |
mark#(U61(X1, X2)) → mark#(X1) | mark#(U91(X1, X2)) → mark#(X1) |
mark#(isNat(X)) → a__isNat#(X) | a__x#(N, s(M)) → a__U101#(a__isNat(M), M, N) |
mark#(x(X1, X2)) → a__x#(mark(X1), mark(X2)) | mark#(U83(X1, X2, X3)) → a__U83#(mark(X1), X2, X3) |
a__U104#(tt, M, N) → a__x#(mark(N), mark(M)) | mark#(U35(X1, X2)) → mark#(X1) |
mark#(U42(X)) → mark#(X) | mark#(U21(X1, X2)) → mark#(X1) |
mark#(U14(X1, X2, X3)) → mark#(X1) | mark#(U81(X1, X2, X3)) → mark#(X1) |
mark#(U16(X)) → mark#(X) | a__U104#(tt, M, N) → mark#(M) |
mark#(U83(X1, X2, X3)) → mark#(X1) | mark#(U22(X1, X2)) → mark#(X1) |
mark#(U23(X)) → mark#(X) | mark#(plus(X1, X2)) → mark#(X2) |
mark#(U102(X1, X2, X3)) → mark#(X1) | mark#(U82(X1, X2, X3)) → a__U82#(mark(X1), X2, X3) |
mark#(U102(X1, X2, X3)) → a__U102#(mark(X1), X2, X3) | mark#(U41(X1, X2)) → mark#(X1) |
mark#(U12(X1, X2, X3)) → mark#(X1) | a__U84#(tt, M, N) → a__plus#(mark(N), mark(M)) |
mark#(U72(X1, X2)) → a__U72#(mark(X1), X2) | a__U82#(tt, M, N) → a__U83#(a__isNat(N), M, N) |
mark#(U92(X)) → mark#(X) | mark#(U21(X1, X2)) → a__U21#(mark(X1), X2) |
mark#(U36(X)) → mark#(X) | a__U102#(tt, M, N) → a__U103#(a__isNat(N), M, N) |
mark#(U81(X1, X2, X3)) → a__U81#(mark(X1), X2, X3) | a__U83#(tt, M, N) → a__U84#(a__isNatKind(N), M, N) |
mark#(x(X1, X2)) → mark#(X1) |
mark#(U101(X1, X2, X3)) → mark#(X1) | mark#(U35(X1, X2)) → a__U35#(mark(X1), X2) |
mark#(U84(X1, X2, X3)) → mark#(X1) | mark#(U32(X1, X2, X3)) → mark#(X1) |
mark#(U104(X1, X2, X3)) → mark#(X1) | a__U84#(tt, M, N) → mark#(N) |
mark#(U103(X1, X2, X3)) → mark#(X1) | mark#(U22(X1, X2)) → a__U22#(mark(X1), X2) |
a__U104#(tt, M, N) → mark#(N) | a__U101#(tt, M, N) → a__U102#(a__isNatKind(M), M, N) |
a__plus#(N, s(M)) → a__U81#(a__isNat(M), M, N) | a__U103#(tt, M, N) → a__U104#(a__isNatKind(N), M, N) |
mark#(U33(X1, X2, X3)) → mark#(X1) | mark#(U41(X1, X2)) → a__U41#(mark(X1), X2) |
a__plus#(N, 0) → a__U71#(a__isNat(N), N) | mark#(s(X)) → mark#(X) |
a__U84#(tt, M, N) → mark#(M) | mark#(U71(X1, X2)) → a__U71#(mark(X1), X2) |
mark#(U84(X1, X2, X3)) → a__U84#(mark(X1), X2, X3) | mark#(U13(X1, X2, X3)) → mark#(X1) |
mark#(U72(X1, X2)) → mark#(X1) | mark#(plus(X1, X2)) → a__plus#(mark(X1), mark(X2)) |
mark#(U82(X1, X2, X3)) → mark#(X1) | mark#(U71(X1, X2)) → mark#(X1) |
mark#(U92(X)) → a__U92#(mark(X)) | mark#(U101(X1, X2, X3)) → a__U101#(mark(X1), X2, X3) |
mark#(U31(X1, X2, X3)) → mark#(X1) | mark#(plus(X1, X2)) → mark#(X1) |
mark#(U51(X)) → mark#(X) | mark#(U15(X1, X2)) → mark#(X1) |
mark#(x(X1, X2)) → mark#(X2) | mark#(U34(X1, X2, X3)) → mark#(X1) |
mark#(U15(X1, X2)) → a__U15#(mark(X1), X2) | mark#(U104(X1, X2, X3)) → a__U104#(mark(X1), X2, X3) |
mark#(U62(X)) → mark#(X) | a__U72#(tt, N) → mark#(N) |
a__U81#(tt, M, N) → a__U82#(a__isNatKind(M), M, N) | a__U104#(tt, M, N) → a__plus#(a__x(mark(N), mark(M)), mark(N)) |
mark#(U103(X1, X2, X3)) → a__U103#(mark(X1), X2, X3) | mark#(U11(X1, X2, X3)) → a__U11#(mark(X1), X2, X3) |
mark#(U11(X1, X2, X3)) → mark#(X1) | a__U71#(tt, N) → a__U72#(a__isNatKind(N), N) |
mark#(U61(X1, X2)) → mark#(X1) | mark#(U91(X1, X2)) → mark#(X1) |
a__x#(N, s(M)) → a__U101#(a__isNat(M), M, N) | mark#(x(X1, X2)) → a__x#(mark(X1), mark(X2)) |
mark#(U83(X1, X2, X3)) → a__U83#(mark(X1), X2, X3) | a__U104#(tt, M, N) → a__x#(mark(N), mark(M)) |
mark#(U35(X1, X2)) → mark#(X1) | mark#(U42(X)) → mark#(X) |
mark#(U21(X1, X2)) → mark#(X1) | mark#(U81(X1, X2, X3)) → mark#(X1) |
mark#(U14(X1, X2, X3)) → mark#(X1) | mark#(U16(X)) → mark#(X) |
a__U104#(tt, M, N) → mark#(M) | mark#(U83(X1, X2, X3)) → mark#(X1) |
mark#(U23(X)) → mark#(X) | mark#(U22(X1, X2)) → mark#(X1) |
mark#(plus(X1, X2)) → mark#(X2) | mark#(U102(X1, X2, X3)) → mark#(X1) |
mark#(U82(X1, X2, X3)) → a__U82#(mark(X1), X2, X3) | mark#(U102(X1, X2, X3)) → a__U102#(mark(X1), X2, X3) |
mark#(U41(X1, X2)) → mark#(X1) | mark#(U33(X1, X2, X3)) → a__U33#(mark(X1), X2, X3) |
mark#(U34(X1, X2, X3)) → a__U34#(mark(X1), X2, X3) | mark#(U12(X1, X2, X3)) → mark#(X1) |
a__U84#(tt, M, N) → a__plus#(mark(N), mark(M)) | mark#(U72(X1, X2)) → a__U72#(mark(X1), X2) |
a__U82#(tt, M, N) → a__U83#(a__isNat(N), M, N) | mark#(U92(X)) → mark#(X) |
mark#(U36(X)) → mark#(X) | a__U102#(tt, M, N) → a__U103#(a__isNat(N), M, N) |
mark#(U81(X1, X2, X3)) → a__U81#(mark(X1), X2, X3) | a__U83#(tt, M, N) → a__U84#(a__isNatKind(N), M, N) |
mark#(x(X1, X2)) → mark#(X1) |
mark#(U101(X1, X2, X3)) → mark#(X1) | mark#(U35(X1, X2)) → a__U35#(mark(X1), X2) |
mark#(U84(X1, X2, X3)) → mark#(X1) | mark#(U32(X1, X2, X3)) → mark#(X1) |
mark#(U104(X1, X2, X3)) → mark#(X1) | mark#(U103(X1, X2, X3)) → mark#(X1) |
a__U84#(tt, M, N) → mark#(N) | mark#(U22(X1, X2)) → a__U22#(mark(X1), X2) |
a__U104#(tt, M, N) → mark#(N) | a__U101#(tt, M, N) → a__U102#(a__isNatKind(M), M, N) |
mark#(U23(X)) → a__U23#(mark(X)) | a__plus#(N, s(M)) → a__U81#(a__isNat(M), M, N) |
a__U103#(tt, M, N) → a__U104#(a__isNatKind(N), M, N) | mark#(U33(X1, X2, X3)) → mark#(X1) |
mark#(U12(X1, X2, X3)) → a__U12#(mark(X1), X2, X3) | a__plus#(N, 0) → a__U71#(a__isNat(N), N) |
mark#(s(X)) → mark#(X) | a__U84#(tt, M, N) → mark#(M) |
mark#(U71(X1, X2)) → a__U71#(mark(X1), X2) | mark#(U84(X1, X2, X3)) → a__U84#(mark(X1), X2, X3) |
mark#(U13(X1, X2, X3)) → mark#(X1) | mark#(U72(X1, X2)) → mark#(X1) |
mark#(plus(X1, X2)) → a__plus#(mark(X1), mark(X2)) | mark#(U82(X1, X2, X3)) → mark#(X1) |
mark#(U92(X)) → a__U92#(mark(X)) | mark#(U71(X1, X2)) → mark#(X1) |
mark#(U101(X1, X2, X3)) → a__U101#(mark(X1), X2, X3) | mark#(U31(X1, X2, X3)) → mark#(X1) |
mark#(plus(X1, X2)) → mark#(X1) | mark#(U15(X1, X2)) → mark#(X1) |
mark#(U51(X)) → mark#(X) | mark#(x(X1, X2)) → mark#(X2) |
mark#(U15(X1, X2)) → a__U15#(mark(X1), X2) | mark#(U34(X1, X2, X3)) → mark#(X1) |
mark#(U104(X1, X2, X3)) → a__U104#(mark(X1), X2, X3) | mark#(U13(X1, X2, X3)) → a__U13#(mark(X1), X2, X3) |
mark#(U62(X)) → mark#(X) | a__U72#(tt, N) → mark#(N) |
a__U81#(tt, M, N) → a__U82#(a__isNatKind(M), M, N) | a__U104#(tt, M, N) → a__plus#(a__x(mark(N), mark(M)), mark(N)) |
mark#(U103(X1, X2, X3)) → a__U103#(mark(X1), X2, X3) | mark#(U11(X1, X2, X3)) → mark#(X1) |
a__U71#(tt, N) → a__U72#(a__isNatKind(N), N) | mark#(U61(X1, X2)) → mark#(X1) |
mark#(U91(X1, X2)) → mark#(X1) | a__x#(N, s(M)) → a__U101#(a__isNat(M), M, N) |
mark#(x(X1, X2)) → a__x#(mark(X1), mark(X2)) | mark#(U83(X1, X2, X3)) → a__U83#(mark(X1), X2, X3) |
a__U104#(tt, M, N) → a__x#(mark(N), mark(M)) | mark#(U35(X1, X2)) → mark#(X1) |
mark#(U42(X)) → mark#(X) | mark#(U21(X1, X2)) → mark#(X1) |
mark#(U14(X1, X2, X3)) → mark#(X1) | mark#(U81(X1, X2, X3)) → mark#(X1) |
mark#(U16(X)) → mark#(X) | a__U104#(tt, M, N) → mark#(M) |
mark#(U83(X1, X2, X3)) → mark#(X1) | mark#(U23(X)) → mark#(X) |
mark#(U22(X1, X2)) → mark#(X1) | mark#(plus(X1, X2)) → mark#(X2) |
mark#(U102(X1, X2, X3)) → mark#(X1) | mark#(U82(X1, X2, X3)) → a__U82#(mark(X1), X2, X3) |
mark#(U102(X1, X2, X3)) → a__U102#(mark(X1), X2, X3) | mark#(U41(X1, X2)) → mark#(X1) |
mark#(U33(X1, X2, X3)) → a__U33#(mark(X1), X2, X3) | mark#(U34(X1, X2, X3)) → a__U34#(mark(X1), X2, X3) |
mark#(U12(X1, X2, X3)) → mark#(X1) | a__U84#(tt, M, N) → a__plus#(mark(N), mark(M)) |
mark#(U31(X1, X2, X3)) → a__U31#(mark(X1), X2, X3) | mark#(U72(X1, X2)) → a__U72#(mark(X1), X2) |
a__U82#(tt, M, N) → a__U83#(a__isNat(N), M, N) | mark#(U92(X)) → mark#(X) |
mark#(U36(X)) → mark#(X) | a__U102#(tt, M, N) → a__U103#(a__isNat(N), M, N) |
mark#(U81(X1, X2, X3)) → a__U81#(mark(X1), X2, X3) | a__U83#(tt, M, N) → a__U84#(a__isNatKind(N), M, N) |
mark#(x(X1, X2)) → mark#(X1) |
mark#(U101(X1, X2, X3)) → mark#(X1) | mark#(U35(X1, X2)) → a__U35#(mark(X1), X2) |
mark#(U84(X1, X2, X3)) → mark#(X1) | mark#(U32(X1, X2, X3)) → mark#(X1) |
mark#(U104(X1, X2, X3)) → mark#(X1) | a__U84#(tt, M, N) → mark#(N) |
mark#(U103(X1, X2, X3)) → mark#(X1) | mark#(U22(X1, X2)) → a__U22#(mark(X1), X2) |
a__U104#(tt, M, N) → mark#(N) | a__U101#(tt, M, N) → a__U102#(a__isNatKind(M), M, N) |
mark#(U23(X)) → a__U23#(mark(X)) | a__plus#(N, s(M)) → a__U81#(a__isNat(M), M, N) |
a__U103#(tt, M, N) → a__U104#(a__isNatKind(N), M, N) | mark#(U33(X1, X2, X3)) → mark#(X1) |
mark#(U12(X1, X2, X3)) → a__U12#(mark(X1), X2, X3) | a__plus#(N, 0) → a__U71#(a__isNat(N), N) |
mark#(s(X)) → mark#(X) | a__U84#(tt, M, N) → mark#(M) |
mark#(U71(X1, X2)) → a__U71#(mark(X1), X2) | mark#(U84(X1, X2, X3)) → a__U84#(mark(X1), X2, X3) |
mark#(U13(X1, X2, X3)) → mark#(X1) | mark#(U72(X1, X2)) → mark#(X1) |
mark#(plus(X1, X2)) → a__plus#(mark(X1), mark(X2)) | mark#(U82(X1, X2, X3)) → mark#(X1) |
mark#(U71(X1, X2)) → mark#(X1) | mark#(U101(X1, X2, X3)) → a__U101#(mark(X1), X2, X3) |
mark#(U31(X1, X2, X3)) → mark#(X1) | mark#(plus(X1, X2)) → mark#(X1) |
mark#(U51(X)) → mark#(X) | mark#(U15(X1, X2)) → mark#(X1) |
mark#(x(X1, X2)) → mark#(X2) | mark#(U15(X1, X2)) → a__U15#(mark(X1), X2) |
mark#(U34(X1, X2, X3)) → mark#(X1) | mark#(U104(X1, X2, X3)) → a__U104#(mark(X1), X2, X3) |
mark#(U13(X1, X2, X3)) → a__U13#(mark(X1), X2, X3) | mark#(U62(X)) → mark#(X) |
a__U72#(tt, N) → mark#(N) | a__U81#(tt, M, N) → a__U82#(a__isNatKind(M), M, N) |
a__U104#(tt, M, N) → a__plus#(a__x(mark(N), mark(M)), mark(N)) | mark#(U103(X1, X2, X3)) → a__U103#(mark(X1), X2, X3) |
mark#(U11(X1, X2, X3)) → mark#(X1) | a__U71#(tt, N) → a__U72#(a__isNatKind(N), N) |
mark#(U61(X1, X2)) → mark#(X1) | mark#(U91(X1, X2)) → mark#(X1) |
a__x#(N, s(M)) → a__U101#(a__isNat(M), M, N) | mark#(x(X1, X2)) → a__x#(mark(X1), mark(X2)) |
mark#(U83(X1, X2, X3)) → a__U83#(mark(X1), X2, X3) | a__U104#(tt, M, N) → a__x#(mark(N), mark(M)) |
mark#(U35(X1, X2)) → mark#(X1) | mark#(U42(X)) → mark#(X) |
mark#(U21(X1, X2)) → mark#(X1) | mark#(U81(X1, X2, X3)) → mark#(X1) |
mark#(U14(X1, X2, X3)) → mark#(X1) | mark#(U16(X)) → mark#(X) |
a__U104#(tt, M, N) → mark#(M) | mark#(U83(X1, X2, X3)) → mark#(X1) |
mark#(U23(X)) → mark#(X) | mark#(U22(X1, X2)) → mark#(X1) |
mark#(plus(X1, X2)) → mark#(X2) | mark#(U102(X1, X2, X3)) → mark#(X1) |
mark#(U82(X1, X2, X3)) → a__U82#(mark(X1), X2, X3) | mark#(U102(X1, X2, X3)) → a__U102#(mark(X1), X2, X3) |
mark#(U41(X1, X2)) → mark#(X1) | mark#(U33(X1, X2, X3)) → a__U33#(mark(X1), X2, X3) |
mark#(U34(X1, X2, X3)) → a__U34#(mark(X1), X2, X3) | mark#(U12(X1, X2, X3)) → mark#(X1) |
a__U84#(tt, M, N) → a__plus#(mark(N), mark(M)) | mark#(U72(X1, X2)) → a__U72#(mark(X1), X2) |
a__U82#(tt, M, N) → a__U83#(a__isNat(N), M, N) | mark#(U21(X1, X2)) → a__U21#(mark(X1), X2) |
mark#(U92(X)) → mark#(X) | mark#(U36(X)) → mark#(X) |
a__U102#(tt, M, N) → a__U103#(a__isNat(N), M, N) | mark#(U81(X1, X2, X3)) → a__U81#(mark(X1), X2, X3) |
a__U83#(tt, M, N) → a__U84#(a__isNatKind(N), M, N) | mark#(x(X1, X2)) → mark#(X1) |
mark#(U101(X1, X2, X3)) → mark#(X1) | mark#(U62(X)) → a__U62#(mark(X)) |
a__U71#(tt, N) → a__isNatKind#(N) | mark#(U84(X1, X2, X3)) → mark#(X1) |
mark#(U35(X1, X2)) → a__U35#(mark(X1), X2) | mark#(U32(X1, X2, X3)) → mark#(X1) |
a__U84#(tt, M, N) → mark#(N) | mark#(U104(X1, X2, X3)) → mark#(X1) |
mark#(U103(X1, X2, X3)) → mark#(X1) | mark#(U22(X1, X2)) → a__U22#(mark(X1), X2) |
a__U104#(tt, M, N) → mark#(N) | a__U101#(tt, M, N) → a__U102#(a__isNatKind(M), M, N) |
a__plus#(N, s(M)) → a__U81#(a__isNat(M), M, N) | a__U103#(tt, M, N) → a__U104#(a__isNatKind(N), M, N) |
mark#(U33(X1, X2, X3)) → mark#(X1) | mark#(U41(X1, X2)) → a__U41#(mark(X1), X2) |
a__plus#(N, 0) → a__U71#(a__isNat(N), N) | mark#(s(X)) → mark#(X) |
a__U84#(tt, M, N) → mark#(M) | mark#(U71(X1, X2)) → a__U71#(mark(X1), X2) |
mark#(U84(X1, X2, X3)) → a__U84#(mark(X1), X2, X3) | mark#(U13(X1, X2, X3)) → mark#(X1) |
mark#(U72(X1, X2)) → mark#(X1) | mark#(plus(X1, X2)) → a__plus#(mark(X1), mark(X2)) |
mark#(U82(X1, X2, X3)) → mark#(X1) | mark#(U92(X)) → a__U92#(mark(X)) |
mark#(U71(X1, X2)) → mark#(X1) | mark#(U101(X1, X2, X3)) → a__U101#(mark(X1), X2, X3) |
mark#(U31(X1, X2, X3)) → mark#(X1) | mark#(plus(X1, X2)) → mark#(X1) |
mark#(U15(X1, X2)) → mark#(X1) | mark#(U51(X)) → mark#(X) |
mark#(x(X1, X2)) → mark#(X2) | mark#(U34(X1, X2, X3)) → mark#(X1) |
mark#(U13(X1, X2, X3)) → a__U13#(mark(X1), X2, X3) | mark#(U104(X1, X2, X3)) → a__U104#(mark(X1), X2, X3) |
mark#(U62(X)) → mark#(X) | a__U72#(tt, N) → mark#(N) |
a__U81#(tt, M, N) → a__U82#(a__isNatKind(M), M, N) | a__U104#(tt, M, N) → a__plus#(a__x(mark(N), mark(M)), mark(N)) |
mark#(U32(X1, X2, X3)) → a__U32#(mark(X1), X2, X3) | mark#(U103(X1, X2, X3)) → a__U103#(mark(X1), X2, X3) |
mark#(U11(X1, X2, X3)) → mark#(X1) | a__U71#(tt, N) → a__U72#(a__isNatKind(N), N) |
mark#(U61(X1, X2)) → mark#(X1) | mark#(U91(X1, X2)) → mark#(X1) |
a__x#(N, s(M)) → a__U101#(a__isNat(M), M, N) | mark#(x(X1, X2)) → a__x#(mark(X1), mark(X2)) |
mark#(U83(X1, X2, X3)) → a__U83#(mark(X1), X2, X3) | a__U104#(tt, M, N) → a__x#(mark(N), mark(M)) |
mark#(U35(X1, X2)) → mark#(X1) | mark#(U42(X)) → mark#(X) |
mark#(U21(X1, X2)) → mark#(X1) | mark#(U14(X1, X2, X3)) → mark#(X1) |
mark#(U81(X1, X2, X3)) → mark#(X1) | mark#(U16(X)) → mark#(X) |
a__U104#(tt, M, N) → mark#(M) | mark#(U83(X1, X2, X3)) → mark#(X1) |
mark#(U23(X)) → mark#(X) | mark#(U22(X1, X2)) → mark#(X1) |
mark#(plus(X1, X2)) → mark#(X2) | mark#(U102(X1, X2, X3)) → mark#(X1) |
mark#(U82(X1, X2, X3)) → a__U82#(mark(X1), X2, X3) | mark#(U102(X1, X2, X3)) → a__U102#(mark(X1), X2, X3) |
mark#(U41(X1, X2)) → mark#(X1) | mark#(U33(X1, X2, X3)) → a__U33#(mark(X1), X2, X3) |
mark#(U12(X1, X2, X3)) → mark#(X1) | a__U84#(tt, M, N) → a__plus#(mark(N), mark(M)) |
mark#(U72(X1, X2)) → a__U72#(mark(X1), X2) | a__U82#(tt, M, N) → a__U83#(a__isNat(N), M, N) |
mark#(U21(X1, X2)) → a__U21#(mark(X1), X2) | mark#(U92(X)) → mark#(X) |
mark#(U36(X)) → mark#(X) | a__U102#(tt, M, N) → a__U103#(a__isNat(N), M, N) |
mark#(U81(X1, X2, X3)) → a__U81#(mark(X1), X2, X3) | a__U83#(tt, M, N) → a__U84#(a__isNatKind(N), M, N) |
mark#(x(X1, X2)) → mark#(X1) |
a__U11#(tt, V1, V2) → a__U12#(a__isNatKind(V1), V1, V2) | a__isNat#(plus(V1, V2)) → a__U11#(a__isNatKind(V1), V1, V2) |
a__U22#(tt, V1) → a__isNat#(V1) | a__U14#(tt, V1, V2) → a__U15#(a__isNat(V1), V2) |
a__U13#(tt, V1, V2) → a__U14#(a__isNatKind(V2), V1, V2) | a__isNat#(x(V1, V2)) → a__U31#(a__isNatKind(V1), V1, V2) |
a__U15#(tt, V2) → a__isNat#(V2) | a__U31#(tt, V1, V2) → a__U32#(a__isNatKind(V1), V1, V2) |
a__isNat#(s(V1)) → a__U21#(a__isNatKind(V1), V1) | a__U34#(tt, V1, V2) → a__isNat#(V1) |
a__U35#(tt, V2) → a__isNat#(V2) | a__U33#(tt, V1, V2) → a__U34#(a__isNatKind(V2), V1, V2) |
a__U32#(tt, V1, V2) → a__U33#(a__isNatKind(V2), V1, V2) | a__U34#(tt, V1, V2) → a__U35#(a__isNat(V1), V2) |
a__U21#(tt, V1) → a__U22#(a__isNatKind(V1), V1) | a__U12#(tt, V1, V2) → a__U13#(a__isNatKind(V2), V1, V2) |
a__U14#(tt, V1, V2) → a__isNat#(V1) |
mark#(U101(X1, X2, X3)) → mark#(X1) | mark#(U84(X1, X2, X3)) → mark#(X1) |
mark#(U35(X1, X2)) → a__U35#(mark(X1), X2) | mark#(U32(X1, X2, X3)) → mark#(X1) |
mark#(U104(X1, X2, X3)) → mark#(X1) | a__U84#(tt, M, N) → mark#(N) |
mark#(U103(X1, X2, X3)) → mark#(X1) | mark#(U22(X1, X2)) → a__U22#(mark(X1), X2) |
a__U104#(tt, M, N) → mark#(N) | a__U101#(tt, M, N) → a__U102#(a__isNatKind(M), M, N) |
a__plus#(N, s(M)) → a__U81#(a__isNat(M), M, N) | a__U103#(tt, M, N) → a__U104#(a__isNatKind(N), M, N) |
mark#(U33(X1, X2, X3)) → mark#(X1) | mark#(U12(X1, X2, X3)) → a__U12#(mark(X1), X2, X3) |
mark#(U41(X1, X2)) → a__U41#(mark(X1), X2) | a__plus#(N, 0) → a__U71#(a__isNat(N), N) |
mark#(s(X)) → mark#(X) | a__U84#(tt, M, N) → mark#(M) |
mark#(U71(X1, X2)) → a__U71#(mark(X1), X2) | mark#(U84(X1, X2, X3)) → a__U84#(mark(X1), X2, X3) |
mark#(U13(X1, X2, X3)) → mark#(X1) | mark#(U72(X1, X2)) → mark#(X1) |
mark#(plus(X1, X2)) → a__plus#(mark(X1), mark(X2)) | mark#(U82(X1, X2, X3)) → mark#(X1) |
mark#(U71(X1, X2)) → mark#(X1) | mark#(U31(X1, X2, X3)) → mark#(X1) |
mark#(U101(X1, X2, X3)) → a__U101#(mark(X1), X2, X3) | mark#(plus(X1, X2)) → mark#(X1) |
mark#(U15(X1, X2)) → mark#(X1) | mark#(U51(X)) → mark#(X) |
mark#(x(X1, X2)) → mark#(X2) | mark#(U15(X1, X2)) → a__U15#(mark(X1), X2) |
mark#(U34(X1, X2, X3)) → mark#(X1) | mark#(U104(X1, X2, X3)) → a__U104#(mark(X1), X2, X3) |
mark#(U62(X)) → mark#(X) | a__U72#(tt, N) → mark#(N) |
a__U81#(tt, M, N) → a__U82#(a__isNatKind(M), M, N) | a__U104#(tt, M, N) → a__plus#(a__x(mark(N), mark(M)), mark(N)) |
mark#(U32(X1, X2, X3)) → a__U32#(mark(X1), X2, X3) | mark#(U103(X1, X2, X3)) → a__U103#(mark(X1), X2, X3) |
mark#(U11(X1, X2, X3)) → mark#(X1) | a__U71#(tt, N) → a__U72#(a__isNatKind(N), N) |
mark#(U61(X1, X2)) → mark#(X1) | mark#(U91(X1, X2)) → mark#(X1) |
a__x#(N, s(M)) → a__U101#(a__isNat(M), M, N) | mark#(isNat(X)) → a__isNat#(X) |
mark#(x(X1, X2)) → a__x#(mark(X1), mark(X2)) | mark#(U83(X1, X2, X3)) → a__U83#(mark(X1), X2, X3) |
a__U104#(tt, M, N) → a__x#(mark(N), mark(M)) | mark#(U21(X1, X2)) → mark#(X1) |
mark#(U35(X1, X2)) → mark#(X1) | mark#(U42(X)) → mark#(X) |
mark#(U14(X1, X2, X3)) → mark#(X1) | mark#(U81(X1, X2, X3)) → mark#(X1) |
mark#(U16(X)) → mark#(X) | a__U104#(tt, M, N) → mark#(M) |
mark#(U83(X1, X2, X3)) → mark#(X1) | mark#(U23(X)) → mark#(X) |
mark#(U22(X1, X2)) → mark#(X1) | mark#(plus(X1, X2)) → mark#(X2) |
mark#(U102(X1, X2, X3)) → mark#(X1) | mark#(U82(X1, X2, X3)) → a__U82#(mark(X1), X2, X3) |
mark#(U102(X1, X2, X3)) → a__U102#(mark(X1), X2, X3) | mark#(U41(X1, X2)) → mark#(X1) |
mark#(U34(X1, X2, X3)) → a__U34#(mark(X1), X2, X3) | mark#(U12(X1, X2, X3)) → mark#(X1) |
a__U84#(tt, M, N) → a__plus#(mark(N), mark(M)) | mark#(U72(X1, X2)) → a__U72#(mark(X1), X2) |
a__U82#(tt, M, N) → a__U83#(a__isNat(N), M, N) | mark#(U21(X1, X2)) → a__U21#(mark(X1), X2) |
mark#(U92(X)) → mark#(X) | mark#(U36(X)) → mark#(X) |
a__U102#(tt, M, N) → a__U103#(a__isNat(N), M, N) | mark#(U81(X1, X2, X3)) → a__U81#(mark(X1), X2, X3) |
a__U83#(tt, M, N) → a__U84#(a__isNatKind(N), M, N) | mark#(x(X1, X2)) → mark#(X1) |
mark#(U101(X1, X2, X3)) → mark#(X1) | mark#(U35(X1, X2)) → a__U35#(mark(X1), X2) |
mark#(U84(X1, X2, X3)) → mark#(X1) | mark#(U32(X1, X2, X3)) → mark#(X1) |
mark#(U104(X1, X2, X3)) → mark#(X1) | a__U84#(tt, M, N) → mark#(N) |
mark#(U103(X1, X2, X3)) → mark#(X1) | mark#(U22(X1, X2)) → a__U22#(mark(X1), X2) |
a__U104#(tt, M, N) → mark#(N) | a__U101#(tt, M, N) → a__U102#(a__isNatKind(M), M, N) |
mark#(U23(X)) → a__U23#(mark(X)) | a__plus#(N, s(M)) → a__U81#(a__isNat(M), M, N) |
a__U103#(tt, M, N) → a__U104#(a__isNatKind(N), M, N) | mark#(U33(X1, X2, X3)) → mark#(X1) |
mark#(U12(X1, X2, X3)) → a__U12#(mark(X1), X2, X3) | a__plus#(N, 0) → a__U71#(a__isNat(N), N) |
mark#(s(X)) → mark#(X) | a__U84#(tt, M, N) → mark#(M) |
mark#(U71(X1, X2)) → a__U71#(mark(X1), X2) | mark#(U84(X1, X2, X3)) → a__U84#(mark(X1), X2, X3) |
mark#(U13(X1, X2, X3)) → mark#(X1) | mark#(U72(X1, X2)) → mark#(X1) |
mark#(plus(X1, X2)) → a__plus#(mark(X1), mark(X2)) | mark#(U82(X1, X2, X3)) → mark#(X1) |
mark#(U92(X)) → a__U92#(mark(X)) | mark#(U71(X1, X2)) → mark#(X1) |
mark#(U101(X1, X2, X3)) → a__U101#(mark(X1), X2, X3) | mark#(U31(X1, X2, X3)) → mark#(X1) |
mark#(plus(X1, X2)) → mark#(X1) | mark#(U51(X)) → mark#(X) |
mark#(U15(X1, X2)) → mark#(X1) | mark#(x(X1, X2)) → mark#(X2) |
mark#(U15(X1, X2)) → a__U15#(mark(X1), X2) | mark#(U34(X1, X2, X3)) → mark#(X1) |
mark#(U104(X1, X2, X3)) → a__U104#(mark(X1), X2, X3) | mark#(U62(X)) → mark#(X) |
a__U72#(tt, N) → mark#(N) | a__U81#(tt, M, N) → a__U82#(a__isNatKind(M), M, N) |
a__U104#(tt, M, N) → a__plus#(a__x(mark(N), mark(M)), mark(N)) | mark#(U103(X1, X2, X3)) → a__U103#(mark(X1), X2, X3) |
mark#(U11(X1, X2, X3)) → mark#(X1) | a__U71#(tt, N) → a__U72#(a__isNatKind(N), N) |
mark#(U61(X1, X2)) → mark#(X1) | mark#(U91(X1, X2)) → mark#(X1) |
a__x#(N, s(M)) → a__U101#(a__isNat(M), M, N) | mark#(isNat(X)) → a__isNat#(X) |
mark#(x(X1, X2)) → a__x#(mark(X1), mark(X2)) | mark#(U83(X1, X2, X3)) → a__U83#(mark(X1), X2, X3) |
a__U104#(tt, M, N) → a__x#(mark(N), mark(M)) | mark#(U35(X1, X2)) → mark#(X1) |
mark#(U42(X)) → mark#(X) | mark#(U21(X1, X2)) → mark#(X1) |
mark#(U14(X1, X2, X3)) → mark#(X1) | mark#(U81(X1, X2, X3)) → mark#(X1) |
mark#(U16(X)) → mark#(X) | a__U104#(tt, M, N) → mark#(M) |
mark#(U83(X1, X2, X3)) → mark#(X1) | mark#(U23(X)) → mark#(X) |
mark#(U22(X1, X2)) → mark#(X1) | mark#(plus(X1, X2)) → mark#(X2) |
mark#(U102(X1, X2, X3)) → mark#(X1) | mark#(U82(X1, X2, X3)) → a__U82#(mark(X1), X2, X3) |
mark#(U102(X1, X2, X3)) → a__U102#(mark(X1), X2, X3) | mark#(U41(X1, X2)) → mark#(X1) |
mark#(U34(X1, X2, X3)) → a__U34#(mark(X1), X2, X3) | mark#(U12(X1, X2, X3)) → mark#(X1) |
a__U84#(tt, M, N) → a__plus#(mark(N), mark(M)) | mark#(U72(X1, X2)) → a__U72#(mark(X1), X2) |
a__U82#(tt, M, N) → a__U83#(a__isNat(N), M, N) | mark#(U21(X1, X2)) → a__U21#(mark(X1), X2) |
mark#(U92(X)) → mark#(X) | mark#(U36(X)) → mark#(X) |
a__U102#(tt, M, N) → a__U103#(a__isNat(N), M, N) | mark#(U81(X1, X2, X3)) → a__U81#(mark(X1), X2, X3) |
a__U83#(tt, M, N) → a__U84#(a__isNatKind(N), M, N) | mark#(x(X1, X2)) → mark#(X1) |
mark#(U101(X1, X2, X3)) → mark#(X1) | mark#(U84(X1, X2, X3)) → mark#(X1) |
mark#(U35(X1, X2)) → a__U35#(mark(X1), X2) | mark#(U32(X1, X2, X3)) → mark#(X1) |
mark#(U104(X1, X2, X3)) → mark#(X1) | a__U84#(tt, M, N) → mark#(N) |
mark#(U103(X1, X2, X3)) → mark#(X1) | mark#(U22(X1, X2)) → a__U22#(mark(X1), X2) |
a__U104#(tt, M, N) → mark#(N) | a__U101#(tt, M, N) → a__U102#(a__isNatKind(M), M, N) |
a__plus#(N, s(M)) → a__U81#(a__isNat(M), M, N) | a__U103#(tt, M, N) → a__U104#(a__isNatKind(N), M, N) |
mark#(U33(X1, X2, X3)) → mark#(X1) | mark#(U41(X1, X2)) → a__U41#(mark(X1), X2) |
a__plus#(N, 0) → a__U71#(a__isNat(N), N) | mark#(s(X)) → mark#(X) |
a__U84#(tt, M, N) → mark#(M) | mark#(U71(X1, X2)) → a__U71#(mark(X1), X2) |
mark#(U84(X1, X2, X3)) → a__U84#(mark(X1), X2, X3) | mark#(U13(X1, X2, X3)) → mark#(X1) |
mark#(U72(X1, X2)) → mark#(X1) | mark#(plus(X1, X2)) → a__plus#(mark(X1), mark(X2)) |
mark#(U82(X1, X2, X3)) → mark#(X1) | mark#(U71(X1, X2)) → mark#(X1) |
mark#(U92(X)) → a__U92#(mark(X)) | mark#(U31(X1, X2, X3)) → mark#(X1) |
mark#(U101(X1, X2, X3)) → a__U101#(mark(X1), X2, X3) | mark#(plus(X1, X2)) → mark#(X1) |
mark#(U15(X1, X2)) → mark#(X1) | mark#(U51(X)) → mark#(X) |
mark#(x(X1, X2)) → mark#(X2) | mark#(U15(X1, X2)) → a__U15#(mark(X1), X2) |
mark#(U34(X1, X2, X3)) → mark#(X1) | mark#(U104(X1, X2, X3)) → a__U104#(mark(X1), X2, X3) |
mark#(U62(X)) → mark#(X) | a__U72#(tt, N) → mark#(N) |
a__U81#(tt, M, N) → a__U82#(a__isNatKind(M), M, N) | a__U104#(tt, M, N) → a__plus#(a__x(mark(N), mark(M)), mark(N)) |
mark#(U103(X1, X2, X3)) → a__U103#(mark(X1), X2, X3) | mark#(U11(X1, X2, X3)) → a__U11#(mark(X1), X2, X3) |
mark#(U11(X1, X2, X3)) → mark#(X1) | a__U71#(tt, N) → a__U72#(a__isNatKind(N), N) |
mark#(U61(X1, X2)) → mark#(X1) | mark#(U91(X1, X2)) → mark#(X1) |
mark#(isNat(X)) → a__isNat#(X) | a__x#(N, s(M)) → a__U101#(a__isNat(M), M, N) |
mark#(x(X1, X2)) → a__x#(mark(X1), mark(X2)) | mark#(U83(X1, X2, X3)) → a__U83#(mark(X1), X2, X3) |
a__U104#(tt, M, N) → a__x#(mark(N), mark(M)) | mark#(U35(X1, X2)) → mark#(X1) |
mark#(U42(X)) → mark#(X) | mark#(U21(X1, X2)) → mark#(X1) |
mark#(U14(X1, X2, X3)) → mark#(X1) | mark#(U81(X1, X2, X3)) → mark#(X1) |
mark#(U16(X)) → mark#(X) | a__U104#(tt, M, N) → mark#(M) |
mark#(U83(X1, X2, X3)) → mark#(X1) | mark#(U23(X)) → mark#(X) |
mark#(U22(X1, X2)) → mark#(X1) | mark#(plus(X1, X2)) → mark#(X2) |
mark#(U102(X1, X2, X3)) → mark#(X1) | mark#(U82(X1, X2, X3)) → a__U82#(mark(X1), X2, X3) |
mark#(U102(X1, X2, X3)) → a__U102#(mark(X1), X2, X3) | mark#(U41(X1, X2)) → mark#(X1) |
mark#(U12(X1, X2, X3)) → mark#(X1) | mark#(U34(X1, X2, X3)) → a__U34#(mark(X1), X2, X3) |
mark#(U33(X1, X2, X3)) → a__U33#(mark(X1), X2, X3) | a__U84#(tt, M, N) → a__plus#(mark(N), mark(M)) |
mark#(U72(X1, X2)) → a__U72#(mark(X1), X2) | a__U82#(tt, M, N) → a__U83#(a__isNat(N), M, N) |
mark#(U21(X1, X2)) → a__U21#(mark(X1), X2) | mark#(U92(X)) → mark#(X) |
mark#(U36(X)) → mark#(X) | a__U102#(tt, M, N) → a__U103#(a__isNat(N), M, N) |
mark#(U81(X1, X2, X3)) → a__U81#(mark(X1), X2, X3) | a__U83#(tt, M, N) → a__U84#(a__isNatKind(N), M, N) |
mark#(x(X1, X2)) → mark#(X1) |
mark#(U101(X1, X2, X3)) → mark#(X1) | a__U71#(tt, N) → a__isNatKind#(N) |
mark#(U35(X1, X2)) → a__U35#(mark(X1), X2) | mark#(U84(X1, X2, X3)) → mark#(X1) |
mark#(U32(X1, X2, X3)) → mark#(X1) | mark#(U104(X1, X2, X3)) → mark#(X1) |
a__U84#(tt, M, N) → mark#(N) | mark#(U103(X1, X2, X3)) → mark#(X1) |
mark#(U22(X1, X2)) → a__U22#(mark(X1), X2) | a__U104#(tt, M, N) → mark#(N) |
a__U101#(tt, M, N) → a__U102#(a__isNatKind(M), M, N) | a__plus#(N, s(M)) → a__U81#(a__isNat(M), M, N) |
a__U103#(tt, M, N) → a__U104#(a__isNatKind(N), M, N) | mark#(U33(X1, X2, X3)) → mark#(X1) |
a__plus#(N, 0) → a__U71#(a__isNat(N), N) | mark#(s(X)) → mark#(X) |
a__U84#(tt, M, N) → mark#(M) | mark#(U71(X1, X2)) → a__U71#(mark(X1), X2) |
mark#(U84(X1, X2, X3)) → a__U84#(mark(X1), X2, X3) | mark#(U13(X1, X2, X3)) → mark#(X1) |
mark#(U72(X1, X2)) → mark#(X1) | mark#(plus(X1, X2)) → a__plus#(mark(X1), mark(X2)) |
mark#(U82(X1, X2, X3)) → mark#(X1) | mark#(U71(X1, X2)) → mark#(X1) |
mark#(U101(X1, X2, X3)) → a__U101#(mark(X1), X2, X3) | mark#(U31(X1, X2, X3)) → mark#(X1) |
mark#(plus(X1, X2)) → mark#(X1) | mark#(U15(X1, X2)) → mark#(X1) |
mark#(U51(X)) → mark#(X) | mark#(x(X1, X2)) → mark#(X2) |
mark#(U34(X1, X2, X3)) → mark#(X1) | mark#(U104(X1, X2, X3)) → a__U104#(mark(X1), X2, X3) |
mark#(U62(X)) → mark#(X) | a__U72#(tt, N) → mark#(N) |
a__U81#(tt, M, N) → a__U82#(a__isNatKind(M), M, N) | a__U104#(tt, M, N) → a__plus#(a__x(mark(N), mark(M)), mark(N)) |
mark#(U103(X1, X2, X3)) → a__U103#(mark(X1), X2, X3) | mark#(U11(X1, X2, X3)) → a__U11#(mark(X1), X2, X3) |
mark#(U11(X1, X2, X3)) → mark#(X1) | a__U71#(tt, N) → a__U72#(a__isNatKind(N), N) |
mark#(U61(X1, X2)) → mark#(X1) | mark#(U91(X1, X2)) → mark#(X1) |
a__x#(N, s(M)) → a__U101#(a__isNat(M), M, N) | mark#(x(X1, X2)) → a__x#(mark(X1), mark(X2)) |
mark#(U83(X1, X2, X3)) → a__U83#(mark(X1), X2, X3) | a__U104#(tt, M, N) → a__x#(mark(N), mark(M)) |
mark#(U35(X1, X2)) → mark#(X1) | mark#(U42(X)) → mark#(X) |
mark#(U21(X1, X2)) → mark#(X1) | mark#(U14(X1, X2, X3)) → mark#(X1) |
mark#(U81(X1, X2, X3)) → mark#(X1) | mark#(U16(X)) → mark#(X) |
a__U104#(tt, M, N) → mark#(M) | mark#(U83(X1, X2, X3)) → mark#(X1) |
mark#(U23(X)) → mark#(X) | mark#(U22(X1, X2)) → mark#(X1) |
mark#(plus(X1, X2)) → mark#(X2) | mark#(U102(X1, X2, X3)) → mark#(X1) |
mark#(U82(X1, X2, X3)) → a__U82#(mark(X1), X2, X3) | mark#(U102(X1, X2, X3)) → a__U102#(mark(X1), X2, X3) |
mark#(U41(X1, X2)) → mark#(X1) | mark#(U12(X1, X2, X3)) → mark#(X1) |
mark#(U33(X1, X2, X3)) → a__U33#(mark(X1), X2, X3) | a__U84#(tt, M, N) → a__plus#(mark(N), mark(M)) |
mark#(U72(X1, X2)) → a__U72#(mark(X1), X2) | a__U82#(tt, M, N) → a__U83#(a__isNat(N), M, N) |
mark#(U92(X)) → mark#(X) | mark#(U21(X1, X2)) → a__U21#(mark(X1), X2) |
mark#(U36(X)) → mark#(X) | a__U102#(tt, M, N) → a__U103#(a__isNat(N), M, N) |
mark#(U81(X1, X2, X3)) → a__U81#(mark(X1), X2, X3) | a__U83#(tt, M, N) → a__U84#(a__isNatKind(N), M, N) |
mark#(x(X1, X2)) → mark#(X1) |
mark#(U101(X1, X2, X3)) → mark#(X1) | mark#(U35(X1, X2)) → a__U35#(mark(X1), X2) |
mark#(U84(X1, X2, X3)) → mark#(X1) | mark#(U32(X1, X2, X3)) → mark#(X1) |
a__U84#(tt, M, N) → mark#(N) | mark#(U104(X1, X2, X3)) → mark#(X1) |
mark#(U103(X1, X2, X3)) → mark#(X1) | mark#(U22(X1, X2)) → a__U22#(mark(X1), X2) |
a__U104#(tt, M, N) → mark#(N) | a__U101#(tt, M, N) → a__U102#(a__isNatKind(M), M, N) |
a__plus#(N, s(M)) → a__U81#(a__isNat(M), M, N) | a__U103#(tt, M, N) → a__U104#(a__isNatKind(N), M, N) |
mark#(U33(X1, X2, X3)) → mark#(X1) | a__plus#(N, 0) → a__U71#(a__isNat(N), N) |
mark#(s(X)) → mark#(X) | a__U84#(tt, M, N) → mark#(M) |
mark#(U71(X1, X2)) → a__U71#(mark(X1), X2) | mark#(U84(X1, X2, X3)) → a__U84#(mark(X1), X2, X3) |
mark#(U13(X1, X2, X3)) → mark#(X1) | mark#(U72(X1, X2)) → mark#(X1) |
mark#(plus(X1, X2)) → a__plus#(mark(X1), mark(X2)) | mark#(U82(X1, X2, X3)) → mark#(X1) |
mark#(U92(X)) → a__U92#(mark(X)) | mark#(U71(X1, X2)) → mark#(X1) |
mark#(U101(X1, X2, X3)) → a__U101#(mark(X1), X2, X3) | mark#(U31(X1, X2, X3)) → mark#(X1) |
mark#(plus(X1, X2)) → mark#(X1) | mark#(U15(X1, X2)) → mark#(X1) |
mark#(U51(X)) → mark#(X) | mark#(U15(X1, X2)) → a__U15#(mark(X1), X2) |
mark#(x(X1, X2)) → mark#(X2) | mark#(U34(X1, X2, X3)) → mark#(X1) |
mark#(U104(X1, X2, X3)) → a__U104#(mark(X1), X2, X3) | mark#(U62(X)) → mark#(X) |
a__U72#(tt, N) → mark#(N) | a__U81#(tt, M, N) → a__U82#(a__isNatKind(M), M, N) |
a__U104#(tt, M, N) → a__plus#(a__x(mark(N), mark(M)), mark(N)) | mark#(U103(X1, X2, X3)) → a__U103#(mark(X1), X2, X3) |
mark#(U11(X1, X2, X3)) → a__U11#(mark(X1), X2, X3) | mark#(U11(X1, X2, X3)) → mark#(X1) |
a__U71#(tt, N) → a__U72#(a__isNatKind(N), N) | mark#(U61(X1, X2)) → mark#(X1) |
mark#(U91(X1, X2)) → mark#(X1) | a__x#(N, s(M)) → a__U101#(a__isNat(M), M, N) |
mark#(x(X1, X2)) → a__x#(mark(X1), mark(X2)) | mark#(U83(X1, X2, X3)) → a__U83#(mark(X1), X2, X3) |
a__U104#(tt, M, N) → a__x#(mark(N), mark(M)) | mark#(U35(X1, X2)) → mark#(X1) |
mark#(U42(X)) → mark#(X) | mark#(U21(X1, X2)) → mark#(X1) |
mark#(U14(X1, X2, X3)) → mark#(X1) | mark#(U81(X1, X2, X3)) → mark#(X1) |
mark#(U16(X)) → mark#(X) | a__U104#(tt, M, N) → mark#(M) |
mark#(U83(X1, X2, X3)) → mark#(X1) | mark#(U22(X1, X2)) → mark#(X1) |
mark#(U23(X)) → mark#(X) | mark#(plus(X1, X2)) → mark#(X2) |
mark#(U102(X1, X2, X3)) → mark#(X1) | mark#(U82(X1, X2, X3)) → a__U82#(mark(X1), X2, X3) |
mark#(U102(X1, X2, X3)) → a__U102#(mark(X1), X2, X3) | mark#(U41(X1, X2)) → mark#(X1) |
mark#(U34(X1, X2, X3)) → a__U34#(mark(X1), X2, X3) | mark#(U12(X1, X2, X3)) → mark#(X1) |
a__U84#(tt, M, N) → a__plus#(mark(N), mark(M)) | mark#(U72(X1, X2)) → a__U72#(mark(X1), X2) |
a__U82#(tt, M, N) → a__U83#(a__isNat(N), M, N) | a__x#(N, s(M)) → a__isNat#(M) |
mark#(U92(X)) → mark#(X) | mark#(U36(X)) → mark#(X) |
a__U102#(tt, M, N) → a__U103#(a__isNat(N), M, N) | mark#(U81(X1, X2, X3)) → a__U81#(mark(X1), X2, X3) |
a__U83#(tt, M, N) → a__U84#(a__isNatKind(N), M, N) | mark#(x(X1, X2)) → mark#(X1) |
mark#(U101(X1, X2, X3)) → mark#(X1) | a__U71#(tt, N) → a__isNatKind#(N) |
mark#(U35(X1, X2)) → a__U35#(mark(X1), X2) | mark#(U84(X1, X2, X3)) → mark#(X1) |
mark#(U32(X1, X2, X3)) → mark#(X1) | mark#(U104(X1, X2, X3)) → mark#(X1) |
a__U84#(tt, M, N) → mark#(N) | mark#(U103(X1, X2, X3)) → mark#(X1) |
mark#(U22(X1, X2)) → a__U22#(mark(X1), X2) | a__U104#(tt, M, N) → mark#(N) |
a__U101#(tt, M, N) → a__U102#(a__isNatKind(M), M, N) | a__plus#(N, s(M)) → a__U81#(a__isNat(M), M, N) |
a__U103#(tt, M, N) → a__U104#(a__isNatKind(N), M, N) | mark#(U33(X1, X2, X3)) → mark#(X1) |
a__plus#(N, 0) → a__U71#(a__isNat(N), N) | mark#(s(X)) → mark#(X) |
a__U84#(tt, M, N) → mark#(M) | mark#(U71(X1, X2)) → a__U71#(mark(X1), X2) |
mark#(U84(X1, X2, X3)) → a__U84#(mark(X1), X2, X3) | mark#(U13(X1, X2, X3)) → mark#(X1) |
mark#(U72(X1, X2)) → mark#(X1) | mark#(plus(X1, X2)) → a__plus#(mark(X1), mark(X2)) |
mark#(U82(X1, X2, X3)) → mark#(X1) | mark#(U71(X1, X2)) → mark#(X1) |
mark#(U92(X)) → a__U92#(mark(X)) | mark#(U31(X1, X2, X3)) → mark#(X1) |
mark#(U101(X1, X2, X3)) → a__U101#(mark(X1), X2, X3) | mark#(plus(X1, X2)) → mark#(X1) |
mark#(U51(X)) → mark#(X) | mark#(U15(X1, X2)) → mark#(X1) |
mark#(x(X1, X2)) → mark#(X2) | mark#(U34(X1, X2, X3)) → mark#(X1) |
mark#(U104(X1, X2, X3)) → a__U104#(mark(X1), X2, X3) | mark#(U13(X1, X2, X3)) → a__U13#(mark(X1), X2, X3) |
mark#(U62(X)) → mark#(X) | a__U72#(tt, N) → mark#(N) |
a__U81#(tt, M, N) → a__U82#(a__isNatKind(M), M, N) | a__U104#(tt, M, N) → a__plus#(a__x(mark(N), mark(M)), mark(N)) |
mark#(U103(X1, X2, X3)) → a__U103#(mark(X1), X2, X3) | mark#(U11(X1, X2, X3)) → a__U11#(mark(X1), X2, X3) |
mark#(U11(X1, X2, X3)) → mark#(X1) | a__U71#(tt, N) → a__U72#(a__isNatKind(N), N) |
mark#(U61(X1, X2)) → mark#(X1) | mark#(U91(X1, X2)) → mark#(X1) |
a__x#(N, s(M)) → a__U101#(a__isNat(M), M, N) | mark#(x(X1, X2)) → a__x#(mark(X1), mark(X2)) |
mark#(U83(X1, X2, X3)) → a__U83#(mark(X1), X2, X3) | a__U104#(tt, M, N) → a__x#(mark(N), mark(M)) |
mark#(U35(X1, X2)) → mark#(X1) | mark#(U42(X)) → mark#(X) |
mark#(U21(X1, X2)) → mark#(X1) | mark#(U81(X1, X2, X3)) → mark#(X1) |
mark#(U14(X1, X2, X3)) → mark#(X1) | mark#(U16(X)) → mark#(X) |
a__U104#(tt, M, N) → mark#(M) | mark#(U83(X1, X2, X3)) → mark#(X1) |
mark#(U23(X)) → mark#(X) | mark#(U22(X1, X2)) → mark#(X1) |
mark#(plus(X1, X2)) → mark#(X2) | mark#(U102(X1, X2, X3)) → mark#(X1) |
mark#(U82(X1, X2, X3)) → a__U82#(mark(X1), X2, X3) | mark#(U102(X1, X2, X3)) → a__U102#(mark(X1), X2, X3) |
mark#(U41(X1, X2)) → mark#(X1) | mark#(U12(X1, X2, X3)) → mark#(X1) |
mark#(U33(X1, X2, X3)) → a__U33#(mark(X1), X2, X3) | a__U84#(tt, M, N) → a__plus#(mark(N), mark(M)) |
mark#(U72(X1, X2)) → a__U72#(mark(X1), X2) | a__U82#(tt, M, N) → a__U83#(a__isNat(N), M, N) |
mark#(U92(X)) → mark#(X) | mark#(U36(X)) → mark#(X) |
a__U102#(tt, M, N) → a__U103#(a__isNat(N), M, N) | mark#(U81(X1, X2, X3)) → a__U81#(mark(X1), X2, X3) |
a__U83#(tt, M, N) → a__U84#(a__isNatKind(N), M, N) | mark#(x(X1, X2)) → mark#(X1) |
mark#(U101(X1, X2, X3)) → mark#(X1) | mark#(U35(X1, X2)) → a__U35#(mark(X1), X2) |
mark#(U84(X1, X2, X3)) → mark#(X1) | mark#(U32(X1, X2, X3)) → mark#(X1) |
mark#(U104(X1, X2, X3)) → mark#(X1) | a__U84#(tt, M, N) → mark#(N) |
mark#(U103(X1, X2, X3)) → mark#(X1) | mark#(U22(X1, X2)) → a__U22#(mark(X1), X2) |
a__U104#(tt, M, N) → mark#(N) | a__U101#(tt, M, N) → a__U102#(a__isNatKind(M), M, N) |
mark#(U23(X)) → a__U23#(mark(X)) | a__plus#(N, s(M)) → a__U81#(a__isNat(M), M, N) |
a__U103#(tt, M, N) → a__U104#(a__isNatKind(N), M, N) | mark#(U33(X1, X2, X3)) → mark#(X1) |
a__plus#(N, 0) → a__U71#(a__isNat(N), N) | mark#(s(X)) → mark#(X) |
a__U84#(tt, M, N) → mark#(M) | mark#(U71(X1, X2)) → a__U71#(mark(X1), X2) |
mark#(U84(X1, X2, X3)) → a__U84#(mark(X1), X2, X3) | mark#(U13(X1, X2, X3)) → mark#(X1) |
mark#(U72(X1, X2)) → mark#(X1) | mark#(plus(X1, X2)) → a__plus#(mark(X1), mark(X2)) |
mark#(U82(X1, X2, X3)) → mark#(X1) | mark#(U92(X)) → a__U92#(mark(X)) |
mark#(U71(X1, X2)) → mark#(X1) | mark#(U101(X1, X2, X3)) → a__U101#(mark(X1), X2, X3) |
mark#(U31(X1, X2, X3)) → mark#(X1) | mark#(plus(X1, X2)) → mark#(X1) |
mark#(U51(X)) → mark#(X) | mark#(U15(X1, X2)) → mark#(X1) |
mark#(x(X1, X2)) → mark#(X2) | mark#(U15(X1, X2)) → a__U15#(mark(X1), X2) |
mark#(U34(X1, X2, X3)) → mark#(X1) | mark#(U104(X1, X2, X3)) → a__U104#(mark(X1), X2, X3) |
mark#(U62(X)) → mark#(X) | a__U72#(tt, N) → mark#(N) |
a__U81#(tt, M, N) → a__U82#(a__isNatKind(M), M, N) | a__U104#(tt, M, N) → a__plus#(a__x(mark(N), mark(M)), mark(N)) |
mark#(U103(X1, X2, X3)) → a__U103#(mark(X1), X2, X3) | mark#(U11(X1, X2, X3)) → mark#(X1) |
a__U71#(tt, N) → a__U72#(a__isNatKind(N), N) | mark#(U61(X1, X2)) → mark#(X1) |
mark#(U91(X1, X2)) → mark#(X1) | a__x#(N, s(M)) → a__U101#(a__isNat(M), M, N) |
mark#(isNat(X)) → a__isNat#(X) | mark#(x(X1, X2)) → a__x#(mark(X1), mark(X2)) |
mark#(U83(X1, X2, X3)) → a__U83#(mark(X1), X2, X3) | a__U104#(tt, M, N) → a__x#(mark(N), mark(M)) |
mark#(U35(X1, X2)) → mark#(X1) | mark#(U42(X)) → mark#(X) |
mark#(U21(X1, X2)) → mark#(X1) | mark#(U81(X1, X2, X3)) → mark#(X1) |
mark#(U14(X1, X2, X3)) → mark#(X1) | mark#(U16(X)) → mark#(X) |
a__U104#(tt, M, N) → mark#(M) | mark#(U83(X1, X2, X3)) → mark#(X1) |
mark#(U23(X)) → mark#(X) | mark#(U22(X1, X2)) → mark#(X1) |
mark#(plus(X1, X2)) → mark#(X2) | mark#(U102(X1, X2, X3)) → mark#(X1) |
mark#(U82(X1, X2, X3)) → a__U82#(mark(X1), X2, X3) | mark#(U102(X1, X2, X3)) → a__U102#(mark(X1), X2, X3) |
mark#(U41(X1, X2)) → mark#(X1) | mark#(U33(X1, X2, X3)) → a__U33#(mark(X1), X2, X3) |
mark#(U34(X1, X2, X3)) → a__U34#(mark(X1), X2, X3) | mark#(U12(X1, X2, X3)) → mark#(X1) |
a__U84#(tt, M, N) → a__plus#(mark(N), mark(M)) | mark#(U72(X1, X2)) → a__U72#(mark(X1), X2) |
a__U82#(tt, M, N) → a__U83#(a__isNat(N), M, N) | mark#(U21(X1, X2)) → a__U21#(mark(X1), X2) |
mark#(U92(X)) → mark#(X) | mark#(U36(X)) → mark#(X) |
a__U102#(tt, M, N) → a__U103#(a__isNat(N), M, N) | mark#(U81(X1, X2, X3)) → a__U81#(mark(X1), X2, X3) |
a__U83#(tt, M, N) → a__U84#(a__isNatKind(N), M, N) | mark#(x(X1, X2)) → mark#(X1) |
mark#(U101(X1, X2, X3)) → mark#(X1) | mark#(U35(X1, X2)) → a__U35#(mark(X1), X2) |
mark#(U84(X1, X2, X3)) → mark#(X1) | mark#(U32(X1, X2, X3)) → mark#(X1) |
mark#(U104(X1, X2, X3)) → mark#(X1) | mark#(U103(X1, X2, X3)) → mark#(X1) |
a__U84#(tt, M, N) → mark#(N) | mark#(U22(X1, X2)) → a__U22#(mark(X1), X2) |
a__U104#(tt, M, N) → mark#(N) | a__U101#(tt, M, N) → a__U102#(a__isNatKind(M), M, N) |
a__plus#(N, s(M)) → a__U81#(a__isNat(M), M, N) | a__U103#(tt, M, N) → a__U104#(a__isNatKind(N), M, N) |
mark#(U33(X1, X2, X3)) → mark#(X1) | mark#(U12(X1, X2, X3)) → a__U12#(mark(X1), X2, X3) |
a__plus#(N, 0) → a__U71#(a__isNat(N), N) | mark#(s(X)) → mark#(X) |
a__U84#(tt, M, N) → mark#(M) | mark#(U71(X1, X2)) → a__U71#(mark(X1), X2) |
mark#(U84(X1, X2, X3)) → a__U84#(mark(X1), X2, X3) | mark#(U13(X1, X2, X3)) → mark#(X1) |
mark#(U72(X1, X2)) → mark#(X1) | mark#(plus(X1, X2)) → a__plus#(mark(X1), mark(X2)) |
mark#(U82(X1, X2, X3)) → mark#(X1) | mark#(U71(X1, X2)) → mark#(X1) |
mark#(U31(X1, X2, X3)) → mark#(X1) | mark#(U101(X1, X2, X3)) → a__U101#(mark(X1), X2, X3) |
mark#(plus(X1, X2)) → mark#(X1) | mark#(U15(X1, X2)) → mark#(X1) |
mark#(U51(X)) → mark#(X) | mark#(x(X1, X2)) → mark#(X2) |
mark#(U15(X1, X2)) → a__U15#(mark(X1), X2) | mark#(U34(X1, X2, X3)) → mark#(X1) |
mark#(U104(X1, X2, X3)) → a__U104#(mark(X1), X2, X3) | mark#(U62(X)) → mark#(X) |
a__U72#(tt, N) → mark#(N) | a__U81#(tt, M, N) → a__U82#(a__isNatKind(M), M, N) |
a__U104#(tt, M, N) → a__plus#(a__x(mark(N), mark(M)), mark(N)) | mark#(U103(X1, X2, X3)) → a__U103#(mark(X1), X2, X3) |
mark#(U11(X1, X2, X3)) → a__U11#(mark(X1), X2, X3) | mark#(U11(X1, X2, X3)) → mark#(X1) |
a__U71#(tt, N) → a__U72#(a__isNatKind(N), N) | mark#(U61(X1, X2)) → mark#(X1) |
mark#(U91(X1, X2)) → mark#(X1) | a__x#(N, s(M)) → a__U101#(a__isNat(M), M, N) |
mark#(x(X1, X2)) → a__x#(mark(X1), mark(X2)) | mark#(U83(X1, X2, X3)) → a__U83#(mark(X1), X2, X3) |
a__U104#(tt, M, N) → a__x#(mark(N), mark(M)) | mark#(U35(X1, X2)) → mark#(X1) |
mark#(U42(X)) → mark#(X) | mark#(U21(X1, X2)) → mark#(X1) |
mark#(U14(X1, X2, X3)) → mark#(X1) | mark#(U81(X1, X2, X3)) → mark#(X1) |
mark#(U16(X)) → mark#(X) | a__U104#(tt, M, N) → mark#(M) |
mark#(U83(X1, X2, X3)) → mark#(X1) | mark#(U23(X)) → mark#(X) |
mark#(U22(X1, X2)) → mark#(X1) | mark#(plus(X1, X2)) → mark#(X2) |
mark#(U102(X1, X2, X3)) → mark#(X1) | mark#(U82(X1, X2, X3)) → a__U82#(mark(X1), X2, X3) |
mark#(U102(X1, X2, X3)) → a__U102#(mark(X1), X2, X3) | mark#(U41(X1, X2)) → mark#(X1) |
mark#(U34(X1, X2, X3)) → a__U34#(mark(X1), X2, X3) | mark#(U12(X1, X2, X3)) → mark#(X1) |
a__U84#(tt, M, N) → a__plus#(mark(N), mark(M)) | mark#(U72(X1, X2)) → a__U72#(mark(X1), X2) |
a__U82#(tt, M, N) → a__U83#(a__isNat(N), M, N) | mark#(U21(X1, X2)) → a__U21#(mark(X1), X2) |
mark#(U92(X)) → mark#(X) | mark#(U36(X)) → mark#(X) |
a__U102#(tt, M, N) → a__U103#(a__isNat(N), M, N) | mark#(U81(X1, X2, X3)) → a__U81#(mark(X1), X2, X3) |
a__U83#(tt, M, N) → a__U84#(a__isNatKind(N), M, N) | mark#(x(X1, X2)) → mark#(X1) |
mark#(U101(X1, X2, X3)) → mark#(X1) | a__U71#(tt, N) → a__isNatKind#(N) |
mark#(U35(X1, X2)) → a__U35#(mark(X1), X2) | mark#(U84(X1, X2, X3)) → mark#(X1) |
mark#(U32(X1, X2, X3)) → mark#(X1) | mark#(U104(X1, X2, X3)) → mark#(X1) |
mark#(U103(X1, X2, X3)) → mark#(X1) | a__U84#(tt, M, N) → mark#(N) |
mark#(U22(X1, X2)) → a__U22#(mark(X1), X2) | a__U104#(tt, M, N) → mark#(N) |
a__U101#(tt, M, N) → a__U102#(a__isNatKind(M), M, N) | a__plus#(N, s(M)) → a__U81#(a__isNat(M), M, N) |
a__U103#(tt, M, N) → a__U104#(a__isNatKind(N), M, N) | mark#(U33(X1, X2, X3)) → mark#(X1) |
a__plus#(N, 0) → a__U71#(a__isNat(N), N) | mark#(s(X)) → mark#(X) |
a__U84#(tt, M, N) → mark#(M) | mark#(U71(X1, X2)) → a__U71#(mark(X1), X2) |
mark#(U84(X1, X2, X3)) → a__U84#(mark(X1), X2, X3) | mark#(U13(X1, X2, X3)) → mark#(X1) |
mark#(U72(X1, X2)) → mark#(X1) | mark#(plus(X1, X2)) → a__plus#(mark(X1), mark(X2)) |
mark#(U82(X1, X2, X3)) → mark#(X1) | mark#(U71(X1, X2)) → mark#(X1) |
mark#(U92(X)) → a__U92#(mark(X)) | mark#(U101(X1, X2, X3)) → a__U101#(mark(X1), X2, X3) |
mark#(U31(X1, X2, X3)) → mark#(X1) | mark#(plus(X1, X2)) → mark#(X1) |
mark#(U15(X1, X2)) → mark#(X1) | mark#(U51(X)) → mark#(X) |
mark#(x(X1, X2)) → mark#(X2) | mark#(U34(X1, X2, X3)) → mark#(X1) |
mark#(U104(X1, X2, X3)) → a__U104#(mark(X1), X2, X3) | mark#(U62(X)) → mark#(X) |
a__U72#(tt, N) → mark#(N) | a__U81#(tt, M, N) → a__U82#(a__isNatKind(M), M, N) |
a__U104#(tt, M, N) → a__plus#(a__x(mark(N), mark(M)), mark(N)) | mark#(U32(X1, X2, X3)) → a__U32#(mark(X1), X2, X3) |
mark#(U103(X1, X2, X3)) → a__U103#(mark(X1), X2, X3) | mark#(U11(X1, X2, X3)) → mark#(X1) |
a__U71#(tt, N) → a__U72#(a__isNatKind(N), N) | mark#(U61(X1, X2)) → mark#(X1) |
mark#(U91(X1, X2)) → mark#(X1) | a__x#(N, s(M)) → a__U101#(a__isNat(M), M, N) |
mark#(x(X1, X2)) → a__x#(mark(X1), mark(X2)) | mark#(U83(X1, X2, X3)) → a__U83#(mark(X1), X2, X3) |
a__U104#(tt, M, N) → a__x#(mark(N), mark(M)) | mark#(U35(X1, X2)) → mark#(X1) |
mark#(U42(X)) → mark#(X) | mark#(U21(X1, X2)) → mark#(X1) |
mark#(U14(X1, X2, X3)) → mark#(X1) | mark#(U81(X1, X2, X3)) → mark#(X1) |
mark#(U16(X)) → mark#(X) | a__U104#(tt, M, N) → mark#(M) |
mark#(U83(X1, X2, X3)) → mark#(X1) | mark#(U22(X1, X2)) → mark#(X1) |
mark#(U23(X)) → mark#(X) | mark#(plus(X1, X2)) → mark#(X2) |
mark#(U102(X1, X2, X3)) → mark#(X1) | mark#(U82(X1, X2, X3)) → a__U82#(mark(X1), X2, X3) |
mark#(U102(X1, X2, X3)) → a__U102#(mark(X1), X2, X3) | mark#(U41(X1, X2)) → mark#(X1) |
mark#(U12(X1, X2, X3)) → mark#(X1) | a__U84#(tt, M, N) → a__plus#(mark(N), mark(M)) |
mark#(U72(X1, X2)) → a__U72#(mark(X1), X2) | a__U82#(tt, M, N) → a__U83#(a__isNat(N), M, N) |
mark#(U92(X)) → mark#(X) | mark#(U21(X1, X2)) → a__U21#(mark(X1), X2) |
mark#(U36(X)) → mark#(X) | a__U102#(tt, M, N) → a__U103#(a__isNat(N), M, N) |
mark#(U81(X1, X2, X3)) → a__U81#(mark(X1), X2, X3) | a__U83#(tt, M, N) → a__U84#(a__isNatKind(N), M, N) |
mark#(x(X1, X2)) → mark#(X1) |
mark#(U101(X1, X2, X3)) → mark#(X1) | mark#(U35(X1, X2)) → a__U35#(mark(X1), X2) |
mark#(U84(X1, X2, X3)) → mark#(X1) | mark#(U32(X1, X2, X3)) → mark#(X1) |
mark#(U104(X1, X2, X3)) → mark#(X1) | mark#(U103(X1, X2, X3)) → mark#(X1) |
a__U84#(tt, M, N) → mark#(N) | mark#(U22(X1, X2)) → a__U22#(mark(X1), X2) |
a__U104#(tt, M, N) → mark#(N) | a__U101#(tt, M, N) → a__U102#(a__isNatKind(M), M, N) |
a__plus#(N, s(M)) → a__U81#(a__isNat(M), M, N) | a__U103#(tt, M, N) → a__U104#(a__isNatKind(N), M, N) |
mark#(U33(X1, X2, X3)) → mark#(X1) | mark#(U12(X1, X2, X3)) → a__U12#(mark(X1), X2, X3) |
mark#(U41(X1, X2)) → a__U41#(mark(X1), X2) | a__plus#(N, 0) → a__U71#(a__isNat(N), N) |
mark#(s(X)) → mark#(X) | a__U84#(tt, M, N) → mark#(M) |
mark#(U71(X1, X2)) → a__U71#(mark(X1), X2) | mark#(U84(X1, X2, X3)) → a__U84#(mark(X1), X2, X3) |
mark#(U13(X1, X2, X3)) → mark#(X1) | mark#(U72(X1, X2)) → mark#(X1) |
mark#(plus(X1, X2)) → a__plus#(mark(X1), mark(X2)) | mark#(U82(X1, X2, X3)) → mark#(X1) |
mark#(U92(X)) → a__U92#(mark(X)) | mark#(U71(X1, X2)) → mark#(X1) |
mark#(U101(X1, X2, X3)) → a__U101#(mark(X1), X2, X3) | mark#(U31(X1, X2, X3)) → mark#(X1) |
mark#(plus(X1, X2)) → mark#(X1) | mark#(U15(X1, X2)) → mark#(X1) |
mark#(U51(X)) → mark#(X) | mark#(x(X1, X2)) → mark#(X2) |
mark#(U15(X1, X2)) → a__U15#(mark(X1), X2) | mark#(U34(X1, X2, X3)) → mark#(X1) |
mark#(U104(X1, X2, X3)) → a__U104#(mark(X1), X2, X3) | mark#(U62(X)) → mark#(X) |
a__U72#(tt, N) → mark#(N) | a__U81#(tt, M, N) → a__U82#(a__isNatKind(M), M, N) |
a__U104#(tt, M, N) → a__plus#(a__x(mark(N), mark(M)), mark(N)) | mark#(U103(X1, X2, X3)) → a__U103#(mark(X1), X2, X3) |
mark#(U11(X1, X2, X3)) → mark#(X1) | a__U71#(tt, N) → a__U72#(a__isNatKind(N), N) |
mark#(U61(X1, X2)) → mark#(X1) | mark#(U91(X1, X2)) → mark#(X1) |
a__x#(N, s(M)) → a__U101#(a__isNat(M), M, N) | mark#(x(X1, X2)) → a__x#(mark(X1), mark(X2)) |
mark#(U83(X1, X2, X3)) → a__U83#(mark(X1), X2, X3) | a__U104#(tt, M, N) → a__x#(mark(N), mark(M)) |
mark#(U35(X1, X2)) → mark#(X1) | mark#(U42(X)) → mark#(X) |
mark#(U21(X1, X2)) → mark#(X1) | mark#(U81(X1, X2, X3)) → mark#(X1) |
mark#(U14(X1, X2, X3)) → mark#(X1) | mark#(U16(X)) → mark#(X) |
a__U104#(tt, M, N) → mark#(M) | mark#(U83(X1, X2, X3)) → mark#(X1) |
mark#(U23(X)) → mark#(X) | mark#(U22(X1, X2)) → mark#(X1) |
mark#(plus(X1, X2)) → mark#(X2) | mark#(U102(X1, X2, X3)) → mark#(X1) |
mark#(U82(X1, X2, X3)) → a__U82#(mark(X1), X2, X3) | mark#(U102(X1, X2, X3)) → a__U102#(mark(X1), X2, X3) |
mark#(U41(X1, X2)) → mark#(X1) | mark#(U33(X1, X2, X3)) → a__U33#(mark(X1), X2, X3) |
mark#(U34(X1, X2, X3)) → a__U34#(mark(X1), X2, X3) | mark#(U12(X1, X2, X3)) → mark#(X1) |
a__U84#(tt, M, N) → a__plus#(mark(N), mark(M)) | mark#(U72(X1, X2)) → a__U72#(mark(X1), X2) |
a__U82#(tt, M, N) → a__U83#(a__isNat(N), M, N) | mark#(U21(X1, X2)) → a__U21#(mark(X1), X2) |
mark#(U92(X)) → mark#(X) | mark#(U36(X)) → mark#(X) |
a__U102#(tt, M, N) → a__U103#(a__isNat(N), M, N) | mark#(U81(X1, X2, X3)) → a__U81#(mark(X1), X2, X3) |
a__U83#(tt, M, N) → a__U84#(a__isNatKind(N), M, N) | mark#(x(X1, X2)) → mark#(X1) |
mark#(U101(X1, X2, X3)) → mark#(X1) | a__U71#(tt, N) → a__isNatKind#(N) |
mark#(U84(X1, X2, X3)) → mark#(X1) | mark#(U35(X1, X2)) → a__U35#(mark(X1), X2) |
mark#(U32(X1, X2, X3)) → mark#(X1) | mark#(U104(X1, X2, X3)) → mark#(X1) |
mark#(U103(X1, X2, X3)) → mark#(X1) | a__U84#(tt, M, N) → mark#(N) |
mark#(U22(X1, X2)) → a__U22#(mark(X1), X2) | a__U104#(tt, M, N) → mark#(N) |
a__U101#(tt, M, N) → a__U102#(a__isNatKind(M), M, N) | a__plus#(N, s(M)) → a__U81#(a__isNat(M), M, N) |
a__U103#(tt, M, N) → a__U104#(a__isNatKind(N), M, N) | mark#(U33(X1, X2, X3)) → mark#(X1) |
mark#(U41(X1, X2)) → a__U41#(mark(X1), X2) | a__plus#(N, 0) → a__U71#(a__isNat(N), N) |
mark#(s(X)) → mark#(X) | a__U84#(tt, M, N) → mark#(M) |
mark#(U71(X1, X2)) → a__U71#(mark(X1), X2) | mark#(U84(X1, X2, X3)) → a__U84#(mark(X1), X2, X3) |
mark#(U13(X1, X2, X3)) → mark#(X1) | mark#(U72(X1, X2)) → mark#(X1) |
mark#(plus(X1, X2)) → a__plus#(mark(X1), mark(X2)) | mark#(U82(X1, X2, X3)) → mark#(X1) |
mark#(U92(X)) → a__U92#(mark(X)) | mark#(U71(X1, X2)) → mark#(X1) |
mark#(U101(X1, X2, X3)) → a__U101#(mark(X1), X2, X3) | mark#(U31(X1, X2, X3)) → mark#(X1) |
mark#(plus(X1, X2)) → mark#(X1) | mark#(U51(X)) → mark#(X) |
mark#(U15(X1, X2)) → mark#(X1) | mark#(x(X1, X2)) → mark#(X2) |
mark#(U34(X1, X2, X3)) → mark#(X1) | mark#(U104(X1, X2, X3)) → a__U104#(mark(X1), X2, X3) |
mark#(U62(X)) → mark#(X) | a__U72#(tt, N) → mark#(N) |
a__U81#(tt, M, N) → a__U82#(a__isNatKind(M), M, N) | a__U104#(tt, M, N) → a__plus#(a__x(mark(N), mark(M)), mark(N)) |
mark#(U32(X1, X2, X3)) → a__U32#(mark(X1), X2, X3) | mark#(U103(X1, X2, X3)) → a__U103#(mark(X1), X2, X3) |
mark#(U11(X1, X2, X3)) → mark#(X1) | a__U71#(tt, N) → a__U72#(a__isNatKind(N), N) |
mark#(U61(X1, X2)) → mark#(X1) | mark#(U91(X1, X2)) → mark#(X1) |
a__x#(N, s(M)) → a__U101#(a__isNat(M), M, N) | mark#(x(X1, X2)) → a__x#(mark(X1), mark(X2)) |
mark#(U83(X1, X2, X3)) → a__U83#(mark(X1), X2, X3) | a__U104#(tt, M, N) → a__x#(mark(N), mark(M)) |
mark#(U35(X1, X2)) → mark#(X1) | mark#(U42(X)) → mark#(X) |
mark#(U21(X1, X2)) → mark#(X1) | mark#(U81(X1, X2, X3)) → mark#(X1) |
mark#(U14(X1, X2, X3)) → mark#(X1) | mark#(U16(X)) → mark#(X) |
a__U104#(tt, M, N) → mark#(M) | mark#(U83(X1, X2, X3)) → mark#(X1) |
mark#(U23(X)) → mark#(X) | mark#(U22(X1, X2)) → mark#(X1) |
mark#(plus(X1, X2)) → mark#(X2) | mark#(U102(X1, X2, X3)) → mark#(X1) |
mark#(U82(X1, X2, X3)) → a__U82#(mark(X1), X2, X3) | mark#(U102(X1, X2, X3)) → a__U102#(mark(X1), X2, X3) |
mark#(U41(X1, X2)) → mark#(X1) | mark#(U33(X1, X2, X3)) → a__U33#(mark(X1), X2, X3) |
mark#(U12(X1, X2, X3)) → mark#(X1) | a__U84#(tt, M, N) → a__plus#(mark(N), mark(M)) |
mark#(U72(X1, X2)) → a__U72#(mark(X1), X2) | a__U82#(tt, M, N) → a__U83#(a__isNat(N), M, N) |
mark#(U21(X1, X2)) → a__U21#(mark(X1), X2) | mark#(U92(X)) → mark#(X) |
mark#(U36(X)) → mark#(X) | a__U102#(tt, M, N) → a__U103#(a__isNat(N), M, N) |
mark#(U81(X1, X2, X3)) → a__U81#(mark(X1), X2, X3) | a__U83#(tt, M, N) → a__U84#(a__isNatKind(N), M, N) |
mark#(x(X1, X2)) → mark#(X1) |
mark#(U101(X1, X2, X3)) → mark#(X1) | mark#(U62(X)) → a__U62#(mark(X)) |
mark#(U84(X1, X2, X3)) → mark#(X1) | mark#(U32(X1, X2, X3)) → mark#(X1) |
mark#(U104(X1, X2, X3)) → mark#(X1) | a__U84#(tt, M, N) → mark#(N) |
mark#(U103(X1, X2, X3)) → mark#(X1) | a__U104#(tt, M, N) → mark#(N) |
a__U101#(tt, M, N) → a__U102#(a__isNatKind(M), M, N) | a__plus#(N, s(M)) → a__U81#(a__isNat(M), M, N) |
a__U103#(tt, M, N) → a__U104#(a__isNatKind(N), M, N) | mark#(U33(X1, X2, X3)) → mark#(X1) |
mark#(U12(X1, X2, X3)) → a__U12#(mark(X1), X2, X3) | a__plus#(N, 0) → a__U71#(a__isNat(N), N) |
mark#(s(X)) → mark#(X) | a__U84#(tt, M, N) → mark#(M) |
mark#(U71(X1, X2)) → a__U71#(mark(X1), X2) | mark#(U84(X1, X2, X3)) → a__U84#(mark(X1), X2, X3) |
mark#(U13(X1, X2, X3)) → mark#(X1) | mark#(U72(X1, X2)) → mark#(X1) |
mark#(plus(X1, X2)) → a__plus#(mark(X1), mark(X2)) | mark#(U82(X1, X2, X3)) → mark#(X1) |
mark#(U92(X)) → a__U92#(mark(X)) | mark#(U71(X1, X2)) → mark#(X1) |
mark#(U101(X1, X2, X3)) → a__U101#(mark(X1), X2, X3) | mark#(U31(X1, X2, X3)) → mark#(X1) |
mark#(plus(X1, X2)) → mark#(X1) | mark#(U15(X1, X2)) → mark#(X1) |
mark#(U51(X)) → mark#(X) | mark#(x(X1, X2)) → mark#(X2) |
mark#(U34(X1, X2, X3)) → mark#(X1) | mark#(U104(X1, X2, X3)) → a__U104#(mark(X1), X2, X3) |
mark#(U62(X)) → mark#(X) | a__U72#(tt, N) → mark#(N) |
a__U81#(tt, M, N) → a__U82#(a__isNatKind(M), M, N) | a__U104#(tt, M, N) → a__plus#(a__x(mark(N), mark(M)), mark(N)) |
mark#(U103(X1, X2, X3)) → a__U103#(mark(X1), X2, X3) | mark#(U11(X1, X2, X3)) → a__U11#(mark(X1), X2, X3) |
mark#(U11(X1, X2, X3)) → mark#(X1) | a__U71#(tt, N) → a__U72#(a__isNatKind(N), N) |
mark#(U61(X1, X2)) → mark#(X1) | mark#(U91(X1, X2)) → mark#(X1) |
a__x#(N, s(M)) → a__U101#(a__isNat(M), M, N) | mark#(isNat(X)) → a__isNat#(X) |
mark#(x(X1, X2)) → a__x#(mark(X1), mark(X2)) | mark#(U83(X1, X2, X3)) → a__U83#(mark(X1), X2, X3) |
a__U104#(tt, M, N) → a__x#(mark(N), mark(M)) | mark#(U35(X1, X2)) → mark#(X1) |
mark#(U21(X1, X2)) → mark#(X1) | mark#(U42(X)) → mark#(X) |
mark#(U14(X1, X2, X3)) → mark#(X1) | mark#(U81(X1, X2, X3)) → mark#(X1) |
mark#(U16(X)) → mark#(X) | a__U104#(tt, M, N) → mark#(M) |
mark#(U83(X1, X2, X3)) → mark#(X1) | mark#(U23(X)) → mark#(X) |
mark#(U22(X1, X2)) → mark#(X1) | mark#(plus(X1, X2)) → mark#(X2) |
mark#(U102(X1, X2, X3)) → mark#(X1) | mark#(U82(X1, X2, X3)) → a__U82#(mark(X1), X2, X3) |
mark#(U102(X1, X2, X3)) → a__U102#(mark(X1), X2, X3) | mark#(U41(X1, X2)) → mark#(X1) |
mark#(U34(X1, X2, X3)) → a__U34#(mark(X1), X2, X3) | mark#(U12(X1, X2, X3)) → mark#(X1) |
a__U84#(tt, M, N) → a__plus#(mark(N), mark(M)) | mark#(U72(X1, X2)) → a__U72#(mark(X1), X2) |
a__U82#(tt, M, N) → a__U83#(a__isNat(N), M, N) | mark#(U21(X1, X2)) → a__U21#(mark(X1), X2) |
mark#(U92(X)) → mark#(X) | mark#(U36(X)) → mark#(X) |
a__U102#(tt, M, N) → a__U103#(a__isNat(N), M, N) | mark#(U81(X1, X2, X3)) → a__U81#(mark(X1), X2, X3) |
a__U83#(tt, M, N) → a__U84#(a__isNatKind(N), M, N) | mark#(x(X1, X2)) → mark#(X1) |
mark#(U101(X1, X2, X3)) → mark#(X1) | mark#(U35(X1, X2)) → a__U35#(mark(X1), X2) |
mark#(U84(X1, X2, X3)) → mark#(X1) | mark#(U32(X1, X2, X3)) → mark#(X1) |
mark#(U104(X1, X2, X3)) → mark#(X1) | mark#(U103(X1, X2, X3)) → mark#(X1) |
a__U84#(tt, M, N) → mark#(N) | mark#(U22(X1, X2)) → a__U22#(mark(X1), X2) |
a__U104#(tt, M, N) → mark#(N) | a__U101#(tt, M, N) → a__U102#(a__isNatKind(M), M, N) |
a__plus#(N, s(M)) → a__U81#(a__isNat(M), M, N) | a__U103#(tt, M, N) → a__U104#(a__isNatKind(N), M, N) |
mark#(U33(X1, X2, X3)) → mark#(X1) | mark#(U41(X1, X2)) → a__U41#(mark(X1), X2) |
a__plus#(N, 0) → a__U71#(a__isNat(N), N) | mark#(s(X)) → mark#(X) |
a__U84#(tt, M, N) → mark#(M) | mark#(U71(X1, X2)) → a__U71#(mark(X1), X2) |
mark#(U84(X1, X2, X3)) → a__U84#(mark(X1), X2, X3) | mark#(U13(X1, X2, X3)) → mark#(X1) |
mark#(U72(X1, X2)) → mark#(X1) | mark#(plus(X1, X2)) → a__plus#(mark(X1), mark(X2)) |
mark#(U82(X1, X2, X3)) → mark#(X1) | mark#(U92(X)) → a__U92#(mark(X)) |
mark#(U71(X1, X2)) → mark#(X1) | mark#(U31(X1, X2, X3)) → mark#(X1) |
mark#(U101(X1, X2, X3)) → a__U101#(mark(X1), X2, X3) | mark#(plus(X1, X2)) → mark#(X1) |
mark#(U15(X1, X2)) → mark#(X1) | mark#(U51(X)) → mark#(X) |
mark#(x(X1, X2)) → mark#(X2) | mark#(U34(X1, X2, X3)) → mark#(X1) |
mark#(U104(X1, X2, X3)) → a__U104#(mark(X1), X2, X3) | mark#(U62(X)) → mark#(X) |
a__U72#(tt, N) → mark#(N) | a__U81#(tt, M, N) → a__U82#(a__isNatKind(M), M, N) |
a__U104#(tt, M, N) → a__plus#(a__x(mark(N), mark(M)), mark(N)) | mark#(U32(X1, X2, X3)) → a__U32#(mark(X1), X2, X3) |
mark#(U103(X1, X2, X3)) → a__U103#(mark(X1), X2, X3) | mark#(U11(X1, X2, X3)) → mark#(X1) |
a__U71#(tt, N) → a__U72#(a__isNatKind(N), N) | mark#(U61(X1, X2)) → mark#(X1) |
mark#(U91(X1, X2)) → mark#(X1) | a__x#(N, s(M)) → a__U101#(a__isNat(M), M, N) |
mark#(x(X1, X2)) → a__x#(mark(X1), mark(X2)) | mark#(U83(X1, X2, X3)) → a__U83#(mark(X1), X2, X3) |
a__U104#(tt, M, N) → a__x#(mark(N), mark(M)) | mark#(U35(X1, X2)) → mark#(X1) |
mark#(U42(X)) → mark#(X) | mark#(U21(X1, X2)) → mark#(X1) |
mark#(U81(X1, X2, X3)) → mark#(X1) | mark#(U14(X1, X2, X3)) → mark#(X1) |
mark#(U16(X)) → mark#(X) | a__U104#(tt, M, N) → mark#(M) |
mark#(U83(X1, X2, X3)) → mark#(X1) | mark#(U23(X)) → mark#(X) |
mark#(U22(X1, X2)) → mark#(X1) | mark#(plus(X1, X2)) → mark#(X2) |
mark#(U102(X1, X2, X3)) → mark#(X1) | mark#(U82(X1, X2, X3)) → a__U82#(mark(X1), X2, X3) |
mark#(U102(X1, X2, X3)) → a__U102#(mark(X1), X2, X3) | mark#(U41(X1, X2)) → mark#(X1) |
mark#(U33(X1, X2, X3)) → a__U33#(mark(X1), X2, X3) | mark#(U12(X1, X2, X3)) → mark#(X1) |
a__U84#(tt, M, N) → a__plus#(mark(N), mark(M)) | mark#(U72(X1, X2)) → a__U72#(mark(X1), X2) |
a__U82#(tt, M, N) → a__U83#(a__isNat(N), M, N) | mark#(U21(X1, X2)) → a__U21#(mark(X1), X2) |
mark#(U92(X)) → mark#(X) | mark#(U36(X)) → mark#(X) |
a__U102#(tt, M, N) → a__U103#(a__isNat(N), M, N) | mark#(U81(X1, X2, X3)) → a__U81#(mark(X1), X2, X3) |
a__U83#(tt, M, N) → a__U84#(a__isNatKind(N), M, N) | mark#(x(X1, X2)) → mark#(X1) |
mark#(U101(X1, X2, X3)) → mark#(X1) | a__U71#(tt, N) → a__isNatKind#(N) |
mark#(U35(X1, X2)) → a__U35#(mark(X1), X2) | mark#(U84(X1, X2, X3)) → mark#(X1) |
mark#(U32(X1, X2, X3)) → mark#(X1) | mark#(U104(X1, X2, X3)) → mark#(X1) |
mark#(U103(X1, X2, X3)) → mark#(X1) | a__U84#(tt, M, N) → mark#(N) |
a__U104#(tt, M, N) → mark#(N) | a__U101#(tt, M, N) → a__U102#(a__isNatKind(M), M, N) |
a__plus#(N, s(M)) → a__U81#(a__isNat(M), M, N) | a__U103#(tt, M, N) → a__U104#(a__isNatKind(N), M, N) |
mark#(U33(X1, X2, X3)) → mark#(X1) | mark#(U41(X1, X2)) → a__U41#(mark(X1), X2) |
a__plus#(N, 0) → a__U71#(a__isNat(N), N) | mark#(s(X)) → mark#(X) |
a__U84#(tt, M, N) → mark#(M) | mark#(U71(X1, X2)) → a__U71#(mark(X1), X2) |
mark#(U84(X1, X2, X3)) → a__U84#(mark(X1), X2, X3) | mark#(U13(X1, X2, X3)) → mark#(X1) |
mark#(U72(X1, X2)) → mark#(X1) | mark#(plus(X1, X2)) → a__plus#(mark(X1), mark(X2)) |
mark#(U82(X1, X2, X3)) → mark#(X1) | mark#(U71(X1, X2)) → mark#(X1) |
mark#(U101(X1, X2, X3)) → a__U101#(mark(X1), X2, X3) | mark#(U31(X1, X2, X3)) → mark#(X1) |
mark#(plus(X1, X2)) → mark#(X1) | mark#(U15(X1, X2)) → mark#(X1) |
mark#(U51(X)) → mark#(X) | mark#(x(X1, X2)) → mark#(X2) |
mark#(U34(X1, X2, X3)) → mark#(X1) | mark#(U104(X1, X2, X3)) → a__U104#(mark(X1), X2, X3) |
mark#(U62(X)) → mark#(X) | a__U72#(tt, N) → mark#(N) |
a__U81#(tt, M, N) → a__U82#(a__isNatKind(M), M, N) | a__U104#(tt, M, N) → a__plus#(a__x(mark(N), mark(M)), mark(N)) |
mark#(U32(X1, X2, X3)) → a__U32#(mark(X1), X2, X3) | mark#(U103(X1, X2, X3)) → a__U103#(mark(X1), X2, X3) |
mark#(U11(X1, X2, X3)) → mark#(X1) | a__U71#(tt, N) → a__U72#(a__isNatKind(N), N) |
mark#(U61(X1, X2)) → mark#(X1) | mark#(U91(X1, X2)) → mark#(X1) |
a__x#(N, s(M)) → a__U101#(a__isNat(M), M, N) | mark#(x(X1, X2)) → a__x#(mark(X1), mark(X2)) |
mark#(U83(X1, X2, X3)) → a__U83#(mark(X1), X2, X3) | a__U104#(tt, M, N) → a__x#(mark(N), mark(M)) |
mark#(U42(X)) → mark#(X) | mark#(U35(X1, X2)) → mark#(X1) |
mark#(U21(X1, X2)) → mark#(X1) | mark#(U14(X1, X2, X3)) → mark#(X1) |
mark#(U81(X1, X2, X3)) → mark#(X1) | mark#(U16(X)) → mark#(X) |
a__U104#(tt, M, N) → mark#(M) | mark#(U83(X1, X2, X3)) → mark#(X1) |
mark#(U23(X)) → mark#(X) | mark#(U22(X1, X2)) → mark#(X1) |
mark#(plus(X1, X2)) → mark#(X2) | mark#(U102(X1, X2, X3)) → mark#(X1) |
mark#(U82(X1, X2, X3)) → a__U82#(mark(X1), X2, X3) | mark#(U102(X1, X2, X3)) → a__U102#(mark(X1), X2, X3) |
mark#(U41(X1, X2)) → mark#(X1) | mark#(U33(X1, X2, X3)) → a__U33#(mark(X1), X2, X3) |
mark#(U12(X1, X2, X3)) → mark#(X1) | a__U84#(tt, M, N) → a__plus#(mark(N), mark(M)) |
mark#(U72(X1, X2)) → a__U72#(mark(X1), X2) | a__U82#(tt, M, N) → a__U83#(a__isNat(N), M, N) |
mark#(U21(X1, X2)) → a__U21#(mark(X1), X2) | mark#(U92(X)) → mark#(X) |
mark#(U36(X)) → mark#(X) | a__U102#(tt, M, N) → a__U103#(a__isNat(N), M, N) |
mark#(U81(X1, X2, X3)) → a__U81#(mark(X1), X2, X3) | a__U83#(tt, M, N) → a__U84#(a__isNatKind(N), M, N) |
mark#(x(X1, X2)) → mark#(X1) |
mark#(U101(X1, X2, X3)) → mark#(X1) | mark#(U84(X1, X2, X3)) → mark#(X1) |
mark#(U32(X1, X2, X3)) → mark#(X1) | mark#(U104(X1, X2, X3)) → mark#(X1) |
mark#(U103(X1, X2, X3)) → mark#(X1) | a__U84#(tt, M, N) → mark#(N) |
mark#(U22(X1, X2)) → a__U22#(mark(X1), X2) | a__U104#(tt, M, N) → mark#(N) |
a__U101#(tt, M, N) → a__U102#(a__isNatKind(M), M, N) | a__plus#(N, s(M)) → a__U81#(a__isNat(M), M, N) |
a__U103#(tt, M, N) → a__U104#(a__isNatKind(N), M, N) | mark#(U33(X1, X2, X3)) → mark#(X1) |
mark#(U12(X1, X2, X3)) → a__U12#(mark(X1), X2, X3) | mark#(U41(X1, X2)) → a__U41#(mark(X1), X2) |
a__plus#(N, 0) → a__U71#(a__isNat(N), N) | mark#(s(X)) → mark#(X) |
a__U84#(tt, M, N) → mark#(M) | mark#(U71(X1, X2)) → a__U71#(mark(X1), X2) |
mark#(U84(X1, X2, X3)) → a__U84#(mark(X1), X2, X3) | mark#(U13(X1, X2, X3)) → mark#(X1) |
mark#(U72(X1, X2)) → mark#(X1) | mark#(plus(X1, X2)) → a__plus#(mark(X1), mark(X2)) |
mark#(U82(X1, X2, X3)) → mark#(X1) | mark#(U71(X1, X2)) → mark#(X1) |
mark#(U31(X1, X2, X3)) → mark#(X1) | mark#(U101(X1, X2, X3)) → a__U101#(mark(X1), X2, X3) |
mark#(plus(X1, X2)) → mark#(X1) | mark#(U15(X1, X2)) → mark#(X1) |
mark#(U51(X)) → mark#(X) | mark#(x(X1, X2)) → mark#(X2) |
mark#(U15(X1, X2)) → a__U15#(mark(X1), X2) | mark#(U34(X1, X2, X3)) → mark#(X1) |
mark#(U104(X1, X2, X3)) → a__U104#(mark(X1), X2, X3) | mark#(U62(X)) → mark#(X) |
a__U72#(tt, N) → mark#(N) | a__U81#(tt, M, N) → a__U82#(a__isNatKind(M), M, N) |
a__U104#(tt, M, N) → a__plus#(a__x(mark(N), mark(M)), mark(N)) | mark#(U103(X1, X2, X3)) → a__U103#(mark(X1), X2, X3) |
mark#(U11(X1, X2, X3)) → mark#(X1) | a__U71#(tt, N) → a__U72#(a__isNatKind(N), N) |
mark#(U61(X1, X2)) → mark#(X1) | mark#(U91(X1, X2)) → mark#(X1) |
a__x#(N, s(M)) → a__U101#(a__isNat(M), M, N) | mark#(x(X1, X2)) → a__x#(mark(X1), mark(X2)) |
mark#(U83(X1, X2, X3)) → a__U83#(mark(X1), X2, X3) | a__U104#(tt, M, N) → a__x#(mark(N), mark(M)) |
mark#(U35(X1, X2)) → mark#(X1) | mark#(U42(X)) → mark#(X) |
mark#(U21(X1, X2)) → mark#(X1) | mark#(U14(X1, X2, X3)) → mark#(X1) |
mark#(U81(X1, X2, X3)) → mark#(X1) | mark#(U16(X)) → mark#(X) |
a__U104#(tt, M, N) → mark#(M) | mark#(U83(X1, X2, X3)) → mark#(X1) |
mark#(U23(X)) → mark#(X) | mark#(U22(X1, X2)) → mark#(X1) |
mark#(plus(X1, X2)) → mark#(X2) | mark#(U102(X1, X2, X3)) → mark#(X1) |
mark#(U82(X1, X2, X3)) → a__U82#(mark(X1), X2, X3) | mark#(U102(X1, X2, X3)) → a__U102#(mark(X1), X2, X3) |
mark#(U41(X1, X2)) → mark#(X1) | mark#(U12(X1, X2, X3)) → mark#(X1) |
mark#(U33(X1, X2, X3)) → a__U33#(mark(X1), X2, X3) | mark#(U34(X1, X2, X3)) → a__U34#(mark(X1), X2, X3) |
a__U84#(tt, M, N) → a__plus#(mark(N), mark(M)) | mark#(U72(X1, X2)) → a__U72#(mark(X1), X2) |
a__U82#(tt, M, N) → a__U83#(a__isNat(N), M, N) | mark#(U21(X1, X2)) → a__U21#(mark(X1), X2) |
mark#(U92(X)) → mark#(X) | mark#(U36(X)) → mark#(X) |
a__U102#(tt, M, N) → a__U103#(a__isNat(N), M, N) | mark#(U81(X1, X2, X3)) → a__U81#(mark(X1), X2, X3) |
a__U83#(tt, M, N) → a__U84#(a__isNatKind(N), M, N) | mark#(x(X1, X2)) → mark#(X1) |
mark#(U101(X1, X2, X3)) → mark#(X1) | mark#(U62(X)) → a__U62#(mark(X)) |
a__U71#(tt, N) → a__isNatKind#(N) | mark#(U35(X1, X2)) → a__U35#(mark(X1), X2) |
mark#(U84(X1, X2, X3)) → mark#(X1) | mark#(U32(X1, X2, X3)) → mark#(X1) |
mark#(U104(X1, X2, X3)) → mark#(X1) | a__U84#(tt, M, N) → mark#(N) |
mark#(U103(X1, X2, X3)) → mark#(X1) | mark#(U22(X1, X2)) → a__U22#(mark(X1), X2) |
a__U104#(tt, M, N) → mark#(N) | a__U101#(tt, M, N) → a__U102#(a__isNatKind(M), M, N) |
a__plus#(N, s(M)) → a__U81#(a__isNat(M), M, N) | a__U103#(tt, M, N) → a__U104#(a__isNatKind(N), M, N) |
mark#(U33(X1, X2, X3)) → mark#(X1) | mark#(U41(X1, X2)) → a__U41#(mark(X1), X2) |
a__plus#(N, 0) → a__U71#(a__isNat(N), N) | mark#(s(X)) → mark#(X) |
a__U84#(tt, M, N) → mark#(M) | mark#(U71(X1, X2)) → a__U71#(mark(X1), X2) |
mark#(U84(X1, X2, X3)) → a__U84#(mark(X1), X2, X3) | mark#(U13(X1, X2, X3)) → mark#(X1) |
mark#(U72(X1, X2)) → mark#(X1) | mark#(plus(X1, X2)) → a__plus#(mark(X1), mark(X2)) |
mark#(U82(X1, X2, X3)) → mark#(X1) | mark#(U92(X)) → a__U92#(mark(X)) |
mark#(U71(X1, X2)) → mark#(X1) | mark#(U101(X1, X2, X3)) → a__U101#(mark(X1), X2, X3) |
mark#(U31(X1, X2, X3)) → mark#(X1) | mark#(plus(X1, X2)) → mark#(X1) |
mark#(U51(X)) → mark#(X) | mark#(U15(X1, X2)) → mark#(X1) |
mark#(x(X1, X2)) → mark#(X2) | mark#(U34(X1, X2, X3)) → mark#(X1) |
mark#(U104(X1, X2, X3)) → a__U104#(mark(X1), X2, X3) | mark#(U62(X)) → mark#(X) |
a__U72#(tt, N) → mark#(N) | a__U81#(tt, M, N) → a__U82#(a__isNatKind(M), M, N) |
a__U104#(tt, M, N) → a__plus#(a__x(mark(N), mark(M)), mark(N)) | mark#(U32(X1, X2, X3)) → a__U32#(mark(X1), X2, X3) |
mark#(U103(X1, X2, X3)) → a__U103#(mark(X1), X2, X3) | mark#(U11(X1, X2, X3)) → mark#(X1) |
a__U71#(tt, N) → a__U72#(a__isNatKind(N), N) | mark#(U61(X1, X2)) → mark#(X1) |
mark#(U91(X1, X2)) → mark#(X1) | a__x#(N, s(M)) → a__U101#(a__isNat(M), M, N) |
mark#(x(X1, X2)) → a__x#(mark(X1), mark(X2)) | mark#(U83(X1, X2, X3)) → a__U83#(mark(X1), X2, X3) |
a__U104#(tt, M, N) → a__x#(mark(N), mark(M)) | mark#(U35(X1, X2)) → mark#(X1) |
mark#(U42(X)) → mark#(X) | mark#(U21(X1, X2)) → mark#(X1) |
mark#(U81(X1, X2, X3)) → mark#(X1) | mark#(U14(X1, X2, X3)) → mark#(X1) |
mark#(U16(X)) → mark#(X) | a__U104#(tt, M, N) → mark#(M) |
mark#(U83(X1, X2, X3)) → mark#(X1) | mark#(U23(X)) → mark#(X) |
mark#(U22(X1, X2)) → mark#(X1) | mark#(plus(X1, X2)) → mark#(X2) |
mark#(U102(X1, X2, X3)) → mark#(X1) | mark#(U82(X1, X2, X3)) → a__U82#(mark(X1), X2, X3) |
mark#(U102(X1, X2, X3)) → a__U102#(mark(X1), X2, X3) | mark#(U41(X1, X2)) → mark#(X1) |
mark#(U33(X1, X2, X3)) → a__U33#(mark(X1), X2, X3) | mark#(U12(X1, X2, X3)) → mark#(X1) |
a__U84#(tt, M, N) → a__plus#(mark(N), mark(M)) | mark#(U72(X1, X2)) → a__U72#(mark(X1), X2) |
a__U82#(tt, M, N) → a__U83#(a__isNat(N), M, N) | mark#(U21(X1, X2)) → a__U21#(mark(X1), X2) |
mark#(U92(X)) → mark#(X) | mark#(U36(X)) → mark#(X) |
a__U102#(tt, M, N) → a__U103#(a__isNat(N), M, N) | mark#(U81(X1, X2, X3)) → a__U81#(mark(X1), X2, X3) |
a__U83#(tt, M, N) → a__U84#(a__isNatKind(N), M, N) | mark#(x(X1, X2)) → mark#(X1) |
mark#(U101(X1, X2, X3)) → mark#(X1) | mark#(U62(X)) → a__U62#(mark(X)) |
a__U71#(tt, N) → a__isNatKind#(N) | mark#(U35(X1, X2)) → a__U35#(mark(X1), X2) |
mark#(U84(X1, X2, X3)) → mark#(X1) | mark#(U32(X1, X2, X3)) → mark#(X1) |
mark#(U104(X1, X2, X3)) → mark#(X1) | mark#(U103(X1, X2, X3)) → mark#(X1) |
a__U84#(tt, M, N) → mark#(N) | mark#(U22(X1, X2)) → a__U22#(mark(X1), X2) |
a__U104#(tt, M, N) → mark#(N) | a__U101#(tt, M, N) → a__U102#(a__isNatKind(M), M, N) |
a__plus#(N, s(M)) → a__U81#(a__isNat(M), M, N) | a__U103#(tt, M, N) → a__U104#(a__isNatKind(N), M, N) |
mark#(U33(X1, X2, X3)) → mark#(X1) | mark#(U41(X1, X2)) → a__U41#(mark(X1), X2) |
a__plus#(N, 0) → a__U71#(a__isNat(N), N) | mark#(s(X)) → mark#(X) |
a__U84#(tt, M, N) → mark#(M) | mark#(U71(X1, X2)) → a__U71#(mark(X1), X2) |
mark#(U84(X1, X2, X3)) → a__U84#(mark(X1), X2, X3) | mark#(U13(X1, X2, X3)) → mark#(X1) |
mark#(U72(X1, X2)) → mark#(X1) | mark#(plus(X1, X2)) → a__plus#(mark(X1), mark(X2)) |
mark#(U82(X1, X2, X3)) → mark#(X1) | mark#(U71(X1, X2)) → mark#(X1) |
mark#(U101(X1, X2, X3)) → a__U101#(mark(X1), X2, X3) | mark#(U31(X1, X2, X3)) → mark#(X1) |
mark#(plus(X1, X2)) → mark#(X1) | mark#(U15(X1, X2)) → mark#(X1) |
mark#(U51(X)) → mark#(X) | mark#(x(X1, X2)) → mark#(X2) |
mark#(U34(X1, X2, X3)) → mark#(X1) | mark#(U104(X1, X2, X3)) → a__U104#(mark(X1), X2, X3) |
mark#(U62(X)) → mark#(X) | a__U72#(tt, N) → mark#(N) |
a__U81#(tt, M, N) → a__U82#(a__isNatKind(M), M, N) | a__U104#(tt, M, N) → a__plus#(a__x(mark(N), mark(M)), mark(N)) |
mark#(U32(X1, X2, X3)) → a__U32#(mark(X1), X2, X3) | mark#(U103(X1, X2, X3)) → a__U103#(mark(X1), X2, X3) |
mark#(U11(X1, X2, X3)) → mark#(X1) | a__U71#(tt, N) → a__U72#(a__isNatKind(N), N) |
mark#(U61(X1, X2)) → mark#(X1) | mark#(U91(X1, X2)) → mark#(X1) |
a__x#(N, s(M)) → a__U101#(a__isNat(M), M, N) | mark#(x(X1, X2)) → a__x#(mark(X1), mark(X2)) |
mark#(U83(X1, X2, X3)) → a__U83#(mark(X1), X2, X3) | a__U104#(tt, M, N) → a__x#(mark(N), mark(M)) |
mark#(U35(X1, X2)) → mark#(X1) | mark#(U42(X)) → mark#(X) |
mark#(U21(X1, X2)) → mark#(X1) | mark#(U14(X1, X2, X3)) → mark#(X1) |
mark#(U81(X1, X2, X3)) → mark#(X1) | mark#(U16(X)) → mark#(X) |
a__U104#(tt, M, N) → mark#(M) | mark#(U83(X1, X2, X3)) → mark#(X1) |
mark#(U23(X)) → mark#(X) | mark#(U22(X1, X2)) → mark#(X1) |
mark#(plus(X1, X2)) → mark#(X2) | mark#(U102(X1, X2, X3)) → mark#(X1) |
mark#(U82(X1, X2, X3)) → a__U82#(mark(X1), X2, X3) | mark#(U102(X1, X2, X3)) → a__U102#(mark(X1), X2, X3) |
mark#(U41(X1, X2)) → mark#(X1) | mark#(U33(X1, X2, X3)) → a__U33#(mark(X1), X2, X3) |
mark#(U12(X1, X2, X3)) → mark#(X1) | a__U84#(tt, M, N) → a__plus#(mark(N), mark(M)) |
mark#(U72(X1, X2)) → a__U72#(mark(X1), X2) | a__U82#(tt, M, N) → a__U83#(a__isNat(N), M, N) |
mark#(U21(X1, X2)) → a__U21#(mark(X1), X2) | mark#(U92(X)) → mark#(X) |
mark#(U36(X)) → mark#(X) | a__U102#(tt, M, N) → a__U103#(a__isNat(N), M, N) |
mark#(U81(X1, X2, X3)) → a__U81#(mark(X1), X2, X3) | a__U83#(tt, M, N) → a__U84#(a__isNatKind(N), M, N) |
mark#(x(X1, X2)) → mark#(X1) |
mark#(U101(X1, X2, X3)) → mark#(X1) | a__U71#(tt, N) → a__isNatKind#(N) |
mark#(U84(X1, X2, X3)) → mark#(X1) | mark#(U35(X1, X2)) → a__U35#(mark(X1), X2) |
mark#(U32(X1, X2, X3)) → mark#(X1) | mark#(U104(X1, X2, X3)) → mark#(X1) |
mark#(U103(X1, X2, X3)) → mark#(X1) | a__U84#(tt, M, N) → mark#(N) |
a__U104#(tt, M, N) → mark#(N) | a__U101#(tt, M, N) → a__U102#(a__isNatKind(M), M, N) |
a__plus#(N, s(M)) → a__U81#(a__isNat(M), M, N) | a__U103#(tt, M, N) → a__U104#(a__isNatKind(N), M, N) |
mark#(U33(X1, X2, X3)) → mark#(X1) | mark#(U41(X1, X2)) → a__U41#(mark(X1), X2) |
a__plus#(N, 0) → a__U71#(a__isNat(N), N) | mark#(s(X)) → mark#(X) |
a__U84#(tt, M, N) → mark#(M) | mark#(U71(X1, X2)) → a__U71#(mark(X1), X2) |
mark#(U84(X1, X2, X3)) → a__U84#(mark(X1), X2, X3) | mark#(U13(X1, X2, X3)) → mark#(X1) |
mark#(U72(X1, X2)) → mark#(X1) | mark#(plus(X1, X2)) → a__plus#(mark(X1), mark(X2)) |
mark#(U82(X1, X2, X3)) → mark#(X1) | mark#(U92(X)) → a__U92#(mark(X)) |
mark#(U71(X1, X2)) → mark#(X1) | mark#(U101(X1, X2, X3)) → a__U101#(mark(X1), X2, X3) |
mark#(U31(X1, X2, X3)) → mark#(X1) | mark#(plus(X1, X2)) → mark#(X1) |
mark#(U51(X)) → mark#(X) | mark#(U15(X1, X2)) → mark#(X1) |
mark#(x(X1, X2)) → mark#(X2) | mark#(U34(X1, X2, X3)) → mark#(X1) |
mark#(U104(X1, X2, X3)) → a__U104#(mark(X1), X2, X3) | mark#(U62(X)) → mark#(X) |
a__U72#(tt, N) → mark#(N) | a__U81#(tt, M, N) → a__U82#(a__isNatKind(M), M, N) |
a__U104#(tt, M, N) → a__plus#(a__x(mark(N), mark(M)), mark(N)) | mark#(U32(X1, X2, X3)) → a__U32#(mark(X1), X2, X3) |
mark#(U103(X1, X2, X3)) → a__U103#(mark(X1), X2, X3) | mark#(U11(X1, X2, X3)) → mark#(X1) |
a__U71#(tt, N) → a__U72#(a__isNatKind(N), N) | mark#(U61(X1, X2)) → mark#(X1) |
mark#(U91(X1, X2)) → mark#(X1) | a__x#(N, s(M)) → a__U101#(a__isNat(M), M, N) |
mark#(x(X1, X2)) → a__x#(mark(X1), mark(X2)) | mark#(U83(X1, X2, X3)) → a__U83#(mark(X1), X2, X3) |
a__U104#(tt, M, N) → a__x#(mark(N), mark(M)) | mark#(U35(X1, X2)) → mark#(X1) |
mark#(U21(X1, X2)) → mark#(X1) | mark#(U42(X)) → mark#(X) |
mark#(U81(X1, X2, X3)) → mark#(X1) | mark#(U14(X1, X2, X3)) → mark#(X1) |
mark#(U16(X)) → mark#(X) | a__U104#(tt, M, N) → mark#(M) |
mark#(U83(X1, X2, X3)) → mark#(X1) | mark#(U23(X)) → mark#(X) |
mark#(U22(X1, X2)) → mark#(X1) | mark#(plus(X1, X2)) → mark#(X2) |
mark#(U102(X1, X2, X3)) → mark#(X1) | mark#(U82(X1, X2, X3)) → a__U82#(mark(X1), X2, X3) |
mark#(U102(X1, X2, X3)) → a__U102#(mark(X1), X2, X3) | mark#(U41(X1, X2)) → mark#(X1) |
mark#(U33(X1, X2, X3)) → a__U33#(mark(X1), X2, X3) | mark#(U12(X1, X2, X3)) → mark#(X1) |
a__U84#(tt, M, N) → a__plus#(mark(N), mark(M)) | mark#(U72(X1, X2)) → a__U72#(mark(X1), X2) |
a__U82#(tt, M, N) → a__U83#(a__isNat(N), M, N) | mark#(U21(X1, X2)) → a__U21#(mark(X1), X2) |
mark#(U92(X)) → mark#(X) | mark#(U36(X)) → mark#(X) |
a__U102#(tt, M, N) → a__U103#(a__isNat(N), M, N) | mark#(U81(X1, X2, X3)) → a__U81#(mark(X1), X2, X3) |
a__U83#(tt, M, N) → a__U84#(a__isNatKind(N), M, N) | mark#(x(X1, X2)) → mark#(X1) |
mark#(U101(X1, X2, X3)) → mark#(X1) | mark#(U35(X1, X2)) → a__U35#(mark(X1), X2) |
mark#(U84(X1, X2, X3)) → mark#(X1) | mark#(U32(X1, X2, X3)) → mark#(X1) |
mark#(U104(X1, X2, X3)) → mark#(X1) | a__U84#(tt, M, N) → mark#(N) |
mark#(U103(X1, X2, X3)) → mark#(X1) | mark#(U22(X1, X2)) → a__U22#(mark(X1), X2) |
a__U104#(tt, M, N) → mark#(N) | a__U101#(tt, M, N) → a__U102#(a__isNatKind(M), M, N) |
a__plus#(N, s(M)) → a__U81#(a__isNat(M), M, N) | a__U103#(tt, M, N) → a__U104#(a__isNatKind(N), M, N) |
mark#(U33(X1, X2, X3)) → mark#(X1) | mark#(U41(X1, X2)) → a__U41#(mark(X1), X2) |
a__plus#(N, 0) → a__U71#(a__isNat(N), N) | mark#(s(X)) → mark#(X) |
a__U84#(tt, M, N) → mark#(M) | mark#(U71(X1, X2)) → a__U71#(mark(X1), X2) |
mark#(U84(X1, X2, X3)) → a__U84#(mark(X1), X2, X3) | mark#(U13(X1, X2, X3)) → mark#(X1) |
mark#(U72(X1, X2)) → mark#(X1) | mark#(plus(X1, X2)) → a__plus#(mark(X1), mark(X2)) |
mark#(U82(X1, X2, X3)) → mark#(X1) | mark#(U71(X1, X2)) → mark#(X1) |
mark#(U92(X)) → a__U92#(mark(X)) | mark#(U101(X1, X2, X3)) → a__U101#(mark(X1), X2, X3) |
mark#(U31(X1, X2, X3)) → mark#(X1) | mark#(plus(X1, X2)) → mark#(X1) |
mark#(U15(X1, X2)) → mark#(X1) | mark#(U51(X)) → mark#(X) |
mark#(x(X1, X2)) → mark#(X2) | mark#(U34(X1, X2, X3)) → mark#(X1) |
mark#(U15(X1, X2)) → a__U15#(mark(X1), X2) | mark#(U104(X1, X2, X3)) → a__U104#(mark(X1), X2, X3) |
mark#(U62(X)) → mark#(X) | a__U72#(tt, N) → mark#(N) |
a__U81#(tt, M, N) → a__U82#(a__isNatKind(M), M, N) | a__U104#(tt, M, N) → a__plus#(a__x(mark(N), mark(M)), mark(N)) |
mark#(U103(X1, X2, X3)) → a__U103#(mark(X1), X2, X3) | mark#(U11(X1, X2, X3)) → a__U11#(mark(X1), X2, X3) |
mark#(U11(X1, X2, X3)) → mark#(X1) | a__U71#(tt, N) → a__U72#(a__isNatKind(N), N) |
mark#(U61(X1, X2)) → mark#(X1) | mark#(U91(X1, X2)) → mark#(X1) |
a__x#(N, s(M)) → a__U101#(a__isNat(M), M, N) | mark#(x(X1, X2)) → a__x#(mark(X1), mark(X2)) |
mark#(U83(X1, X2, X3)) → a__U83#(mark(X1), X2, X3) | a__U104#(tt, M, N) → a__x#(mark(N), mark(M)) |
mark#(U35(X1, X2)) → mark#(X1) | mark#(U42(X)) → mark#(X) |
mark#(U21(X1, X2)) → mark#(X1) | mark#(U81(X1, X2, X3)) → mark#(X1) |
mark#(U14(X1, X2, X3)) → mark#(X1) | mark#(U16(X)) → mark#(X) |
a__U104#(tt, M, N) → mark#(M) | mark#(U83(X1, X2, X3)) → mark#(X1) |
mark#(U23(X)) → mark#(X) | mark#(U22(X1, X2)) → mark#(X1) |
mark#(plus(X1, X2)) → mark#(X2) | mark#(U102(X1, X2, X3)) → mark#(X1) |
mark#(U82(X1, X2, X3)) → a__U82#(mark(X1), X2, X3) | mark#(U102(X1, X2, X3)) → a__U102#(mark(X1), X2, X3) |
mark#(U41(X1, X2)) → mark#(X1) | mark#(U34(X1, X2, X3)) → a__U34#(mark(X1), X2, X3) |
mark#(U33(X1, X2, X3)) → a__U33#(mark(X1), X2, X3) | mark#(U12(X1, X2, X3)) → mark#(X1) |
a__U84#(tt, M, N) → a__plus#(mark(N), mark(M)) | mark#(U31(X1, X2, X3)) → a__U31#(mark(X1), X2, X3) |
mark#(U72(X1, X2)) → a__U72#(mark(X1), X2) | a__U82#(tt, M, N) → a__U83#(a__isNat(N), M, N) |
mark#(U92(X)) → mark#(X) | mark#(U36(X)) → mark#(X) |
a__U102#(tt, M, N) → a__U103#(a__isNat(N), M, N) | mark#(U81(X1, X2, X3)) → a__U81#(mark(X1), X2, X3) |
a__U83#(tt, M, N) → a__U84#(a__isNatKind(N), M, N) | mark#(x(X1, X2)) → mark#(X1) |
mark#(U101(X1, X2, X3)) → mark#(X1) | mark#(U62(X)) → a__U62#(mark(X)) |
mark#(U84(X1, X2, X3)) → mark#(X1) | mark#(U35(X1, X2)) → a__U35#(mark(X1), X2) |
mark#(U32(X1, X2, X3)) → mark#(X1) | mark#(U104(X1, X2, X3)) → mark#(X1) |
a__U84#(tt, M, N) → mark#(N) | mark#(U103(X1, X2, X3)) → mark#(X1) |
mark#(U22(X1, X2)) → a__U22#(mark(X1), X2) | a__U104#(tt, M, N) → mark#(N) |
a__U101#(tt, M, N) → a__U102#(a__isNatKind(M), M, N) | a__plus#(N, s(M)) → a__U81#(a__isNat(M), M, N) |
a__U103#(tt, M, N) → a__U104#(a__isNatKind(N), M, N) | mark#(U33(X1, X2, X3)) → mark#(X1) |
mark#(U41(X1, X2)) → a__U41#(mark(X1), X2) | a__plus#(N, 0) → a__U71#(a__isNat(N), N) |
mark#(s(X)) → mark#(X) | a__U84#(tt, M, N) → mark#(M) |
mark#(U71(X1, X2)) → a__U71#(mark(X1), X2) | mark#(U84(X1, X2, X3)) → a__U84#(mark(X1), X2, X3) |
mark#(U13(X1, X2, X3)) → mark#(X1) | mark#(U72(X1, X2)) → mark#(X1) |
mark#(plus(X1, X2)) → a__plus#(mark(X1), mark(X2)) | mark#(U82(X1, X2, X3)) → mark#(X1) |
mark#(U92(X)) → a__U92#(mark(X)) | mark#(U71(X1, X2)) → mark#(X1) |
mark#(U101(X1, X2, X3)) → a__U101#(mark(X1), X2, X3) | mark#(U31(X1, X2, X3)) → mark#(X1) |
mark#(plus(X1, X2)) → mark#(X1) | mark#(U51(X)) → mark#(X) |
mark#(U15(X1, X2)) → mark#(X1) | mark#(x(X1, X2)) → mark#(X2) |
mark#(U34(X1, X2, X3)) → mark#(X1) | mark#(U104(X1, X2, X3)) → a__U104#(mark(X1), X2, X3) |
mark#(U62(X)) → mark#(X) | a__U72#(tt, N) → mark#(N) |
a__U81#(tt, M, N) → a__U82#(a__isNatKind(M), M, N) | a__U104#(tt, M, N) → a__plus#(a__x(mark(N), mark(M)), mark(N)) |
mark#(U32(X1, X2, X3)) → a__U32#(mark(X1), X2, X3) | mark#(U103(X1, X2, X3)) → a__U103#(mark(X1), X2, X3) |
mark#(U11(X1, X2, X3)) → mark#(X1) | a__U71#(tt, N) → a__U72#(a__isNatKind(N), N) |
mark#(U61(X1, X2)) → mark#(X1) | mark#(U91(X1, X2)) → mark#(X1) |
a__x#(N, s(M)) → a__U101#(a__isNat(M), M, N) | mark#(x(X1, X2)) → a__x#(mark(X1), mark(X2)) |
mark#(U83(X1, X2, X3)) → a__U83#(mark(X1), X2, X3) | a__U104#(tt, M, N) → a__x#(mark(N), mark(M)) |
mark#(U35(X1, X2)) → mark#(X1) | mark#(U42(X)) → mark#(X) |
mark#(U21(X1, X2)) → mark#(X1) | mark#(U81(X1, X2, X3)) → mark#(X1) |
mark#(U14(X1, X2, X3)) → mark#(X1) | mark#(U16(X)) → mark#(X) |
a__U104#(tt, M, N) → mark#(M) | mark#(U83(X1, X2, X3)) → mark#(X1) |
mark#(U23(X)) → mark#(X) | mark#(U22(X1, X2)) → mark#(X1) |
mark#(plus(X1, X2)) → mark#(X2) | mark#(U102(X1, X2, X3)) → mark#(X1) |
mark#(U82(X1, X2, X3)) → a__U82#(mark(X1), X2, X3) | mark#(U102(X1, X2, X3)) → a__U102#(mark(X1), X2, X3) |
mark#(U41(X1, X2)) → mark#(X1) | mark#(U33(X1, X2, X3)) → a__U33#(mark(X1), X2, X3) |
mark#(U12(X1, X2, X3)) → mark#(X1) | a__U84#(tt, M, N) → a__plus#(mark(N), mark(M)) |
mark#(U72(X1, X2)) → a__U72#(mark(X1), X2) | a__U82#(tt, M, N) → a__U83#(a__isNat(N), M, N) |
mark#(U21(X1, X2)) → a__U21#(mark(X1), X2) | mark#(U92(X)) → mark#(X) |
mark#(U36(X)) → mark#(X) | a__U102#(tt, M, N) → a__U103#(a__isNat(N), M, N) |
mark#(U81(X1, X2, X3)) → a__U81#(mark(X1), X2, X3) | a__U83#(tt, M, N) → a__U84#(a__isNatKind(N), M, N) |
mark#(x(X1, X2)) → mark#(X1) |
mark#(U101(X1, X2, X3)) → mark#(X1) | mark#(U62(X)) → a__U62#(mark(X)) |
mark#(U35(X1, X2)) → a__U35#(mark(X1), X2) | mark#(U84(X1, X2, X3)) → mark#(X1) |
mark#(U32(X1, X2, X3)) → mark#(X1) | mark#(U104(X1, X2, X3)) → mark#(X1) |
a__U84#(tt, M, N) → mark#(N) | mark#(U103(X1, X2, X3)) → mark#(X1) |
mark#(U22(X1, X2)) → a__U22#(mark(X1), X2) | a__U104#(tt, M, N) → mark#(N) |
a__U101#(tt, M, N) → a__U102#(a__isNatKind(M), M, N) | a__plus#(N, s(M)) → a__U81#(a__isNat(M), M, N) |
a__U103#(tt, M, N) → a__U104#(a__isNatKind(N), M, N) | mark#(U33(X1, X2, X3)) → mark#(X1) |
a__plus#(N, 0) → a__U71#(a__isNat(N), N) | mark#(s(X)) → mark#(X) |
a__U84#(tt, M, N) → mark#(M) | mark#(U71(X1, X2)) → a__U71#(mark(X1), X2) |
mark#(U84(X1, X2, X3)) → a__U84#(mark(X1), X2, X3) | mark#(U13(X1, X2, X3)) → mark#(X1) |
mark#(U72(X1, X2)) → mark#(X1) | mark#(plus(X1, X2)) → a__plus#(mark(X1), mark(X2)) |
mark#(U82(X1, X2, X3)) → mark#(X1) | mark#(U71(X1, X2)) → mark#(X1) |
mark#(U101(X1, X2, X3)) → a__U101#(mark(X1), X2, X3) | mark#(U31(X1, X2, X3)) → mark#(X1) |
mark#(plus(X1, X2)) → mark#(X1) | mark#(U15(X1, X2)) → mark#(X1) |
mark#(U51(X)) → mark#(X) | mark#(x(X1, X2)) → mark#(X2) |
mark#(U34(X1, X2, X3)) → mark#(X1) | mark#(U104(X1, X2, X3)) → a__U104#(mark(X1), X2, X3) |
mark#(U62(X)) → mark#(X) | a__U72#(tt, N) → mark#(N) |
a__U81#(tt, M, N) → a__U82#(a__isNatKind(M), M, N) | a__U104#(tt, M, N) → a__plus#(a__x(mark(N), mark(M)), mark(N)) |
mark#(U32(X1, X2, X3)) → a__U32#(mark(X1), X2, X3) | mark#(U103(X1, X2, X3)) → a__U103#(mark(X1), X2, X3) |
mark#(U11(X1, X2, X3)) → a__U11#(mark(X1), X2, X3) | mark#(U11(X1, X2, X3)) → mark#(X1) |
a__U71#(tt, N) → a__U72#(a__isNatKind(N), N) | mark#(U61(X1, X2)) → mark#(X1) |
mark#(U91(X1, X2)) → mark#(X1) | a__x#(N, s(M)) → a__U101#(a__isNat(M), M, N) |
mark#(x(X1, X2)) → a__x#(mark(X1), mark(X2)) | mark#(U83(X1, X2, X3)) → a__U83#(mark(X1), X2, X3) |
a__U104#(tt, M, N) → a__x#(mark(N), mark(M)) | mark#(U35(X1, X2)) → mark#(X1) |
mark#(U42(X)) → mark#(X) | mark#(U21(X1, X2)) → mark#(X1) |
mark#(U14(X1, X2, X3)) → mark#(X1) | mark#(U81(X1, X2, X3)) → mark#(X1) |
mark#(U16(X)) → mark#(X) | a__U104#(tt, M, N) → mark#(M) |
mark#(U22(X1, X2)) → mark#(X1) | mark#(U83(X1, X2, X3)) → mark#(X1) |
mark#(U23(X)) → mark#(X) | mark#(plus(X1, X2)) → mark#(X2) |
mark#(U102(X1, X2, X3)) → mark#(X1) | mark#(U82(X1, X2, X3)) → a__U82#(mark(X1), X2, X3) |
mark#(U102(X1, X2, X3)) → a__U102#(mark(X1), X2, X3) | mark#(U41(X1, X2)) → mark#(X1) |
mark#(U12(X1, X2, X3)) → mark#(X1) | mark#(U33(X1, X2, X3)) → a__U33#(mark(X1), X2, X3) |
a__U84#(tt, M, N) → a__plus#(mark(N), mark(M)) | mark#(U72(X1, X2)) → a__U72#(mark(X1), X2) |
a__U82#(tt, M, N) → a__U83#(a__isNat(N), M, N) | mark#(U92(X)) → mark#(X) |
mark#(U21(X1, X2)) → a__U21#(mark(X1), X2) | mark#(U36(X)) → mark#(X) |
a__U102#(tt, M, N) → a__U103#(a__isNat(N), M, N) | mark#(U81(X1, X2, X3)) → a__U81#(mark(X1), X2, X3) |
a__U83#(tt, M, N) → a__U84#(a__isNatKind(N), M, N) | mark#(x(X1, X2)) → mark#(X1) |
mark#(U101(X1, X2, X3)) → mark#(X1) | mark#(U35(X1, X2)) → a__U35#(mark(X1), X2) |
mark#(U84(X1, X2, X3)) → mark#(X1) | mark#(U32(X1, X2, X3)) → mark#(X1) |
mark#(U104(X1, X2, X3)) → mark#(X1) | mark#(U103(X1, X2, X3)) → mark#(X1) |
a__U84#(tt, M, N) → mark#(N) | mark#(U22(X1, X2)) → a__U22#(mark(X1), X2) |
a__U104#(tt, M, N) → mark#(N) | a__U101#(tt, M, N) → a__U102#(a__isNatKind(M), M, N) |
mark#(U23(X)) → a__U23#(mark(X)) | a__plus#(N, s(M)) → a__U81#(a__isNat(M), M, N) |
a__U103#(tt, M, N) → a__U104#(a__isNatKind(N), M, N) | mark#(U33(X1, X2, X3)) → mark#(X1) |
a__plus#(N, 0) → a__U71#(a__isNat(N), N) | mark#(s(X)) → mark#(X) |
a__U84#(tt, M, N) → mark#(M) | mark#(U71(X1, X2)) → a__U71#(mark(X1), X2) |
mark#(U84(X1, X2, X3)) → a__U84#(mark(X1), X2, X3) | mark#(U13(X1, X2, X3)) → mark#(X1) |
mark#(U72(X1, X2)) → mark#(X1) | mark#(plus(X1, X2)) → a__plus#(mark(X1), mark(X2)) |
mark#(U82(X1, X2, X3)) → mark#(X1) | mark#(U71(X1, X2)) → mark#(X1) |
mark#(U92(X)) → a__U92#(mark(X)) | mark#(U31(X1, X2, X3)) → mark#(X1) |
mark#(U101(X1, X2, X3)) → a__U101#(mark(X1), X2, X3) | mark#(plus(X1, X2)) → mark#(X1) |
mark#(U15(X1, X2)) → mark#(X1) | mark#(U51(X)) → mark#(X) |
mark#(x(X1, X2)) → mark#(X2) | mark#(U34(X1, X2, X3)) → mark#(X1) |
mark#(U15(X1, X2)) → a__U15#(mark(X1), X2) | mark#(U104(X1, X2, X3)) → a__U104#(mark(X1), X2, X3) |
mark#(U62(X)) → mark#(X) | a__U72#(tt, N) → mark#(N) |
a__U81#(tt, M, N) → a__U82#(a__isNatKind(M), M, N) | a__U104#(tt, M, N) → a__plus#(a__x(mark(N), mark(M)), mark(N)) |
mark#(U103(X1, X2, X3)) → a__U103#(mark(X1), X2, X3) | mark#(U11(X1, X2, X3)) → a__U11#(mark(X1), X2, X3) |
mark#(U11(X1, X2, X3)) → mark#(X1) | a__U71#(tt, N) → a__U72#(a__isNatKind(N), N) |
mark#(U61(X1, X2)) → mark#(X1) | mark#(U91(X1, X2)) → mark#(X1) |
a__x#(N, s(M)) → a__U101#(a__isNat(M), M, N) | mark#(x(X1, X2)) → a__x#(mark(X1), mark(X2)) |
mark#(U83(X1, X2, X3)) → a__U83#(mark(X1), X2, X3) | a__U104#(tt, M, N) → a__x#(mark(N), mark(M)) |
mark#(U35(X1, X2)) → mark#(X1) | mark#(U42(X)) → mark#(X) |
mark#(U21(X1, X2)) → mark#(X1) | mark#(U14(X1, X2, X3)) → mark#(X1) |
mark#(U81(X1, X2, X3)) → mark#(X1) | mark#(U16(X)) → mark#(X) |
a__U104#(tt, M, N) → mark#(M) | mark#(U83(X1, X2, X3)) → mark#(X1) |
mark#(U22(X1, X2)) → mark#(X1) | mark#(U23(X)) → mark#(X) |
mark#(plus(X1, X2)) → mark#(X2) | mark#(U102(X1, X2, X3)) → mark#(X1) |
mark#(U82(X1, X2, X3)) → a__U82#(mark(X1), X2, X3) | mark#(U102(X1, X2, X3)) → a__U102#(mark(X1), X2, X3) |
mark#(U41(X1, X2)) → mark#(X1) | mark#(U33(X1, X2, X3)) → a__U33#(mark(X1), X2, X3) |
mark#(U34(X1, X2, X3)) → a__U34#(mark(X1), X2, X3) | mark#(U12(X1, X2, X3)) → mark#(X1) |
a__U84#(tt, M, N) → a__plus#(mark(N), mark(M)) | mark#(U72(X1, X2)) → a__U72#(mark(X1), X2) |
a__U82#(tt, M, N) → a__U83#(a__isNat(N), M, N) | mark#(U92(X)) → mark#(X) |
mark#(U36(X)) → mark#(X) | a__U102#(tt, M, N) → a__U103#(a__isNat(N), M, N) |
mark#(U81(X1, X2, X3)) → a__U81#(mark(X1), X2, X3) | a__U83#(tt, M, N) → a__U84#(a__isNatKind(N), M, N) |
mark#(x(X1, X2)) → mark#(X1) |
a__U41#(tt, V2) → a__isNatKind#(V2) | a__isNatKind#(plus(V1, V2)) → a__U41#(a__isNatKind(V1), V2) |
a__isNatKind#(x(V1, V2)) → a__isNatKind#(V1) | a__isNatKind#(x(V1, V2)) → a__U61#(a__isNatKind(V1), V2) |
a__U61#(tt, V2) → a__isNatKind#(V2) | a__isNatKind#(plus(V1, V2)) → a__isNatKind#(V1) |
a__isNatKind#(s(V1)) → a__isNatKind#(V1) |
mark#(U101(X1, X2, X3)) → mark#(X1) | mark#(U84(X1, X2, X3)) → mark#(X1) |
mark#(U32(X1, X2, X3)) → mark#(X1) | mark#(U104(X1, X2, X3)) → mark#(X1) |
mark#(U103(X1, X2, X3)) → mark#(X1) | a__U84#(tt, M, N) → mark#(N) |
mark#(U22(X1, X2)) → a__U22#(mark(X1), X2) | a__U104#(tt, M, N) → mark#(N) |
a__U101#(tt, M, N) → a__U102#(a__isNatKind(M), M, N) | a__plus#(N, s(M)) → a__U81#(a__isNat(M), M, N) |
a__U103#(tt, M, N) → a__U104#(a__isNatKind(N), M, N) | mark#(U33(X1, X2, X3)) → mark#(X1) |
mark#(U41(X1, X2)) → a__U41#(mark(X1), X2) | a__plus#(N, 0) → a__U71#(a__isNat(N), N) |
mark#(s(X)) → mark#(X) | a__U84#(tt, M, N) → mark#(M) |
mark#(U71(X1, X2)) → a__U71#(mark(X1), X2) | mark#(U84(X1, X2, X3)) → a__U84#(mark(X1), X2, X3) |
mark#(U13(X1, X2, X3)) → mark#(X1) | mark#(U72(X1, X2)) → mark#(X1) |
mark#(plus(X1, X2)) → a__plus#(mark(X1), mark(X2)) | mark#(U82(X1, X2, X3)) → mark#(X1) |
mark#(U71(X1, X2)) → mark#(X1) | mark#(U92(X)) → a__U92#(mark(X)) |
mark#(U31(X1, X2, X3)) → mark#(X1) | mark#(U101(X1, X2, X3)) → a__U101#(mark(X1), X2, X3) |
mark#(plus(X1, X2)) → mark#(X1) | mark#(U51(X)) → mark#(X) |
mark#(U15(X1, X2)) → mark#(X1) | mark#(x(X1, X2)) → mark#(X2) |
mark#(U34(X1, X2, X3)) → mark#(X1) | mark#(U15(X1, X2)) → a__U15#(mark(X1), X2) |
mark#(U104(X1, X2, X3)) → a__U104#(mark(X1), X2, X3) | mark#(U62(X)) → mark#(X) |
a__U72#(tt, N) → mark#(N) | a__U81#(tt, M, N) → a__U82#(a__isNatKind(M), M, N) |
a__U104#(tt, M, N) → a__plus#(a__x(mark(N), mark(M)), mark(N)) | mark#(U103(X1, X2, X3)) → a__U103#(mark(X1), X2, X3) |
mark#(U11(X1, X2, X3)) → mark#(X1) | a__U71#(tt, N) → a__U72#(a__isNatKind(N), N) |
mark#(U61(X1, X2)) → mark#(X1) | mark#(U91(X1, X2)) → mark#(X1) |
a__x#(N, s(M)) → a__U101#(a__isNat(M), M, N) | mark#(x(X1, X2)) → a__x#(mark(X1), mark(X2)) |
mark#(U83(X1, X2, X3)) → a__U83#(mark(X1), X2, X3) | a__U104#(tt, M, N) → a__x#(mark(N), mark(M)) |
mark#(U35(X1, X2)) → mark#(X1) | mark#(U42(X)) → mark#(X) |
mark#(U21(X1, X2)) → mark#(X1) | mark#(U81(X1, X2, X3)) → mark#(X1) |
mark#(U14(X1, X2, X3)) → mark#(X1) | mark#(U16(X)) → mark#(X) |
a__U104#(tt, M, N) → mark#(M) | mark#(U83(X1, X2, X3)) → mark#(X1) |
mark#(U23(X)) → mark#(X) | mark#(U22(X1, X2)) → mark#(X1) |
mark#(plus(X1, X2)) → mark#(X2) | mark#(U102(X1, X2, X3)) → mark#(X1) |
mark#(U82(X1, X2, X3)) → a__U82#(mark(X1), X2, X3) | mark#(U102(X1, X2, X3)) → a__U102#(mark(X1), X2, X3) |
mark#(U41(X1, X2)) → mark#(X1) | mark#(U33(X1, X2, X3)) → a__U33#(mark(X1), X2, X3) |
mark#(U34(X1, X2, X3)) → a__U34#(mark(X1), X2, X3) | mark#(U12(X1, X2, X3)) → mark#(X1) |
a__U84#(tt, M, N) → a__plus#(mark(N), mark(M)) | mark#(U72(X1, X2)) → a__U72#(mark(X1), X2) |
a__U82#(tt, M, N) → a__U83#(a__isNat(N), M, N) | mark#(U21(X1, X2)) → a__U21#(mark(X1), X2) |
mark#(U92(X)) → mark#(X) | mark#(U36(X)) → mark#(X) |
a__U102#(tt, M, N) → a__U103#(a__isNat(N), M, N) | mark#(U81(X1, X2, X3)) → a__U81#(mark(X1), X2, X3) |
a__U83#(tt, M, N) → a__U84#(a__isNatKind(N), M, N) | mark#(x(X1, X2)) → mark#(X1) |
mark#(U101(X1, X2, X3)) → mark#(X1) | mark#(U35(X1, X2)) → a__U35#(mark(X1), X2) |
mark#(U84(X1, X2, X3)) → mark#(X1) | mark#(U32(X1, X2, X3)) → mark#(X1) |
mark#(U104(X1, X2, X3)) → mark#(X1) | a__U84#(tt, M, N) → mark#(N) |
mark#(U103(X1, X2, X3)) → mark#(X1) | mark#(U22(X1, X2)) → a__U22#(mark(X1), X2) |
a__U104#(tt, M, N) → mark#(N) | a__U101#(tt, M, N) → a__U102#(a__isNatKind(M), M, N) |
mark#(U23(X)) → a__U23#(mark(X)) | a__plus#(N, s(M)) → a__U81#(a__isNat(M), M, N) |
a__U103#(tt, M, N) → a__U104#(a__isNatKind(N), M, N) | mark#(U33(X1, X2, X3)) → mark#(X1) |
mark#(U12(X1, X2, X3)) → a__U12#(mark(X1), X2, X3) | a__plus#(N, 0) → a__U71#(a__isNat(N), N) |
mark#(s(X)) → mark#(X) | a__U84#(tt, M, N) → mark#(M) |
mark#(U71(X1, X2)) → a__U71#(mark(X1), X2) | mark#(U84(X1, X2, X3)) → a__U84#(mark(X1), X2, X3) |
mark#(U13(X1, X2, X3)) → mark#(X1) | mark#(U72(X1, X2)) → mark#(X1) |
mark#(plus(X1, X2)) → a__plus#(mark(X1), mark(X2)) | mark#(U82(X1, X2, X3)) → mark#(X1) |
mark#(U71(X1, X2)) → mark#(X1) | mark#(U92(X)) → a__U92#(mark(X)) |
mark#(U31(X1, X2, X3)) → mark#(X1) | mark#(U101(X1, X2, X3)) → a__U101#(mark(X1), X2, X3) |
mark#(plus(X1, X2)) → mark#(X1) | mark#(U15(X1, X2)) → mark#(X1) |
mark#(U51(X)) → mark#(X) | mark#(x(X1, X2)) → mark#(X2) |
mark#(U15(X1, X2)) → a__U15#(mark(X1), X2) | mark#(U34(X1, X2, X3)) → mark#(X1) |
mark#(U104(X1, X2, X3)) → a__U104#(mark(X1), X2, X3) | mark#(U62(X)) → mark#(X) |
a__U72#(tt, N) → mark#(N) | a__U81#(tt, M, N) → a__U82#(a__isNatKind(M), M, N) |
a__U104#(tt, M, N) → a__plus#(a__x(mark(N), mark(M)), mark(N)) | mark#(U103(X1, X2, X3)) → a__U103#(mark(X1), X2, X3) |
mark#(U11(X1, X2, X3)) → a__U11#(mark(X1), X2, X3) | mark#(U11(X1, X2, X3)) → mark#(X1) |
a__U71#(tt, N) → a__U72#(a__isNatKind(N), N) | mark#(U61(X1, X2)) → mark#(X1) |
mark#(U91(X1, X2)) → mark#(X1) | a__x#(N, s(M)) → a__U101#(a__isNat(M), M, N) |
mark#(x(X1, X2)) → a__x#(mark(X1), mark(X2)) | mark#(U83(X1, X2, X3)) → a__U83#(mark(X1), X2, X3) |
a__U104#(tt, M, N) → a__x#(mark(N), mark(M)) | mark#(U35(X1, X2)) → mark#(X1) |
mark#(U42(X)) → mark#(X) | mark#(U21(X1, X2)) → mark#(X1) |
mark#(U14(X1, X2, X3)) → mark#(X1) | mark#(U81(X1, X2, X3)) → mark#(X1) |
mark#(U16(X)) → mark#(X) | a__U104#(tt, M, N) → mark#(M) |
mark#(U83(X1, X2, X3)) → mark#(X1) | mark#(U23(X)) → mark#(X) |
mark#(U22(X1, X2)) → mark#(X1) | mark#(plus(X1, X2)) → mark#(X2) |
mark#(U102(X1, X2, X3)) → mark#(X1) | mark#(U82(X1, X2, X3)) → a__U82#(mark(X1), X2, X3) |
mark#(U102(X1, X2, X3)) → a__U102#(mark(X1), X2, X3) | mark#(U41(X1, X2)) → mark#(X1) |
mark#(U34(X1, X2, X3)) → a__U34#(mark(X1), X2, X3) | mark#(U12(X1, X2, X3)) → mark#(X1) |
a__U84#(tt, M, N) → a__plus#(mark(N), mark(M)) | mark#(U72(X1, X2)) → a__U72#(mark(X1), X2) |
a__U82#(tt, M, N) → a__U83#(a__isNat(N), M, N) | mark#(U92(X)) → mark#(X) |
mark#(U36(X)) → mark#(X) | a__U102#(tt, M, N) → a__U103#(a__isNat(N), M, N) |
mark#(U81(X1, X2, X3)) → a__U81#(mark(X1), X2, X3) | a__U83#(tt, M, N) → a__U84#(a__isNatKind(N), M, N) |
mark#(x(X1, X2)) → mark#(X1) |
mark#(U101(X1, X2, X3)) → mark#(X1) | mark#(U84(X1, X2, X3)) → mark#(X1) |
mark#(U35(X1, X2)) → a__U35#(mark(X1), X2) | mark#(U32(X1, X2, X3)) → mark#(X1) |
mark#(U104(X1, X2, X3)) → mark#(X1) | a__U84#(tt, M, N) → mark#(N) |
mark#(U103(X1, X2, X3)) → mark#(X1) | mark#(U22(X1, X2)) → a__U22#(mark(X1), X2) |
a__U104#(tt, M, N) → mark#(N) | mark#(U23(X)) → a__U23#(mark(X)) |
a__U101#(tt, M, N) → a__U102#(a__isNatKind(M), M, N) | a__plus#(N, s(M)) → a__U81#(a__isNat(M), M, N) |
a__U103#(tt, M, N) → a__U104#(a__isNatKind(N), M, N) | mark#(U33(X1, X2, X3)) → mark#(X1) |
a__plus#(N, 0) → a__U71#(a__isNat(N), N) | mark#(s(X)) → mark#(X) |
a__U84#(tt, M, N) → mark#(M) | mark#(U71(X1, X2)) → a__U71#(mark(X1), X2) |
mark#(U84(X1, X2, X3)) → a__U84#(mark(X1), X2, X3) | mark#(U13(X1, X2, X3)) → mark#(X1) |
mark#(U72(X1, X2)) → mark#(X1) | mark#(plus(X1, X2)) → a__plus#(mark(X1), mark(X2)) |
mark#(U82(X1, X2, X3)) → mark#(X1) | mark#(U71(X1, X2)) → mark#(X1) |
mark#(U92(X)) → a__U92#(mark(X)) | mark#(U101(X1, X2, X3)) → a__U101#(mark(X1), X2, X3) |
mark#(U31(X1, X2, X3)) → mark#(X1) | mark#(plus(X1, X2)) → mark#(X1) |
mark#(U15(X1, X2)) → mark#(X1) | mark#(U51(X)) → mark#(X) |
mark#(x(X1, X2)) → mark#(X2) | mark#(U15(X1, X2)) → a__U15#(mark(X1), X2) |
mark#(U34(X1, X2, X3)) → mark#(X1) | mark#(U104(X1, X2, X3)) → a__U104#(mark(X1), X2, X3) |
mark#(U62(X)) → mark#(X) | a__U72#(tt, N) → mark#(N) |
a__U81#(tt, M, N) → a__U82#(a__isNatKind(M), M, N) | a__U104#(tt, M, N) → a__plus#(a__x(mark(N), mark(M)), mark(N)) |
mark#(U32(X1, X2, X3)) → a__U32#(mark(X1), X2, X3) | mark#(U103(X1, X2, X3)) → a__U103#(mark(X1), X2, X3) |
mark#(U11(X1, X2, X3)) → mark#(X1) | a__U71#(tt, N) → a__U72#(a__isNatKind(N), N) |
mark#(U61(X1, X2)) → mark#(X1) | mark#(U91(X1, X2)) → mark#(X1) |
mark#(isNat(X)) → a__isNat#(X) | a__x#(N, s(M)) → a__U101#(a__isNat(M), M, N) |
mark#(x(X1, X2)) → a__x#(mark(X1), mark(X2)) | mark#(U83(X1, X2, X3)) → a__U83#(mark(X1), X2, X3) |
a__U104#(tt, M, N) → a__x#(mark(N), mark(M)) | mark#(U35(X1, X2)) → mark#(X1) |
mark#(U42(X)) → mark#(X) | mark#(U21(X1, X2)) → mark#(X1) |
mark#(U14(X1, X2, X3)) → mark#(X1) | mark#(U81(X1, X2, X3)) → mark#(X1) |
mark#(U16(X)) → mark#(X) | a__U104#(tt, M, N) → mark#(M) |
mark#(U83(X1, X2, X3)) → mark#(X1) | mark#(U22(X1, X2)) → mark#(X1) |
mark#(U23(X)) → mark#(X) | mark#(plus(X1, X2)) → mark#(X2) |
mark#(U102(X1, X2, X3)) → mark#(X1) | mark#(U82(X1, X2, X3)) → a__U82#(mark(X1), X2, X3) |
mark#(U102(X1, X2, X3)) → a__U102#(mark(X1), X2, X3) | mark#(U41(X1, X2)) → mark#(X1) |
mark#(U34(X1, X2, X3)) → a__U34#(mark(X1), X2, X3) | mark#(U12(X1, X2, X3)) → mark#(X1) |
a__U84#(tt, M, N) → a__plus#(mark(N), mark(M)) | mark#(U72(X1, X2)) → a__U72#(mark(X1), X2) |
a__U82#(tt, M, N) → a__U83#(a__isNat(N), M, N) | mark#(U92(X)) → mark#(X) |
mark#(U21(X1, X2)) → a__U21#(mark(X1), X2) | mark#(U36(X)) → mark#(X) |
a__U102#(tt, M, N) → a__U103#(a__isNat(N), M, N) | mark#(U81(X1, X2, X3)) → a__U81#(mark(X1), X2, X3) |
a__U83#(tt, M, N) → a__U84#(a__isNatKind(N), M, N) | mark#(x(X1, X2)) → mark#(X1) |
mark#(U101(X1, X2, X3)) → mark#(X1) | mark#(U35(X1, X2)) → a__U35#(mark(X1), X2) |
mark#(U84(X1, X2, X3)) → mark#(X1) | mark#(U32(X1, X2, X3)) → mark#(X1) |
mark#(U104(X1, X2, X3)) → mark#(X1) | a__U84#(tt, M, N) → mark#(N) |
mark#(U103(X1, X2, X3)) → mark#(X1) | mark#(U22(X1, X2)) → a__U22#(mark(X1), X2) |
a__U104#(tt, M, N) → mark#(N) | a__U101#(tt, M, N) → a__U102#(a__isNatKind(M), M, N) |
a__plus#(N, s(M)) → a__U81#(a__isNat(M), M, N) | a__U103#(tt, M, N) → a__U104#(a__isNatKind(N), M, N) |
mark#(U33(X1, X2, X3)) → mark#(X1) | mark#(U12(X1, X2, X3)) → a__U12#(mark(X1), X2, X3) |
a__plus#(N, 0) → a__U71#(a__isNat(N), N) | mark#(s(X)) → mark#(X) |
a__U84#(tt, M, N) → mark#(M) | mark#(U71(X1, X2)) → a__U71#(mark(X1), X2) |
mark#(U84(X1, X2, X3)) → a__U84#(mark(X1), X2, X3) | mark#(U13(X1, X2, X3)) → mark#(X1) |
mark#(U72(X1, X2)) → mark#(X1) | mark#(plus(X1, X2)) → a__plus#(mark(X1), mark(X2)) |
mark#(U82(X1, X2, X3)) → mark#(X1) | mark#(U92(X)) → a__U92#(mark(X)) |
mark#(U71(X1, X2)) → mark#(X1) | mark#(U101(X1, X2, X3)) → a__U101#(mark(X1), X2, X3) |
mark#(U31(X1, X2, X3)) → mark#(X1) | mark#(plus(X1, X2)) → mark#(X1) |
mark#(U51(X)) → mark#(X) | mark#(U15(X1, X2)) → mark#(X1) |
mark#(x(X1, X2)) → mark#(X2) | mark#(U34(X1, X2, X3)) → mark#(X1) |
mark#(U104(X1, X2, X3)) → a__U104#(mark(X1), X2, X3) | mark#(U62(X)) → mark#(X) |
a__U72#(tt, N) → mark#(N) | a__U81#(tt, M, N) → a__U82#(a__isNatKind(M), M, N) |
a__U104#(tt, M, N) → a__plus#(a__x(mark(N), mark(M)), mark(N)) | mark#(U103(X1, X2, X3)) → a__U103#(mark(X1), X2, X3) |
mark#(U11(X1, X2, X3)) → a__U11#(mark(X1), X2, X3) | mark#(U11(X1, X2, X3)) → mark#(X1) |
a__U71#(tt, N) → a__U72#(a__isNatKind(N), N) | mark#(U61(X1, X2)) → mark#(X1) |
mark#(U91(X1, X2)) → mark#(X1) | a__x#(N, s(M)) → a__U101#(a__isNat(M), M, N) |
mark#(x(X1, X2)) → a__x#(mark(X1), mark(X2)) | mark#(U83(X1, X2, X3)) → a__U83#(mark(X1), X2, X3) |
a__U104#(tt, M, N) → a__x#(mark(N), mark(M)) | mark#(U35(X1, X2)) → mark#(X1) |
mark#(U42(X)) → mark#(X) | mark#(U21(X1, X2)) → mark#(X1) |
mark#(U81(X1, X2, X3)) → mark#(X1) | mark#(U14(X1, X2, X3)) → mark#(X1) |
mark#(U16(X)) → mark#(X) | a__U104#(tt, M, N) → mark#(M) |
mark#(U83(X1, X2, X3)) → mark#(X1) | mark#(U23(X)) → mark#(X) |
mark#(U22(X1, X2)) → mark#(X1) | mark#(plus(X1, X2)) → mark#(X2) |
mark#(U102(X1, X2, X3)) → mark#(X1) | mark#(U82(X1, X2, X3)) → a__U82#(mark(X1), X2, X3) |
mark#(U102(X1, X2, X3)) → a__U102#(mark(X1), X2, X3) | mark#(U41(X1, X2)) → mark#(X1) |
mark#(U34(X1, X2, X3)) → a__U34#(mark(X1), X2, X3) | mark#(U12(X1, X2, X3)) → mark#(X1) |
a__U84#(tt, M, N) → a__plus#(mark(N), mark(M)) | mark#(U31(X1, X2, X3)) → a__U31#(mark(X1), X2, X3) |
mark#(U72(X1, X2)) → a__U72#(mark(X1), X2) | a__U82#(tt, M, N) → a__U83#(a__isNat(N), M, N) |
mark#(U21(X1, X2)) → a__U21#(mark(X1), X2) | mark#(U92(X)) → mark#(X) |
mark#(U36(X)) → mark#(X) | a__U102#(tt, M, N) → a__U103#(a__isNat(N), M, N) |
mark#(U81(X1, X2, X3)) → a__U81#(mark(X1), X2, X3) | a__U83#(tt, M, N) → a__U84#(a__isNatKind(N), M, N) |
mark#(x(X1, X2)) → mark#(X1) |
Problem 2: DependencyGraph
Dependency Pair Problem
Dependency Pairs
mark#(U101(X1, X2, X3)) | → | mark#(X1) | | mark#(U62(X)) | → | a__U62#(mark(X)) |
mark#(U84(X1, X2, X3)) | → | mark#(X1) | | mark#(U35(X1, X2)) | → | a__U35#(mark(X1), X2) |
mark#(U32(X1, X2, X3)) | → | mark#(X1) | | mark#(U103(X1, X2, X3)) | → | mark#(X1) |
a__U84#(tt, M, N) | → | mark#(N) | | mark#(U104(X1, X2, X3)) | → | mark#(X1) |
mark#(U22(X1, X2)) | → | a__U22#(mark(X1), X2) | | a__U104#(tt, M, N) | → | mark#(N) |
a__U101#(tt, M, N) | → | a__U102#(a__isNatKind(M), M, N) | | a__plus#(N, s(M)) | → | a__U81#(a__isNat(M), M, N) |
a__U103#(tt, M, N) | → | a__U104#(a__isNatKind(N), M, N) | | mark#(U33(X1, X2, X3)) | → | mark#(X1) |
a__plus#(N, 0) | → | a__U71#(a__isNat(N), N) | | mark#(s(X)) | → | mark#(X) |
a__U84#(tt, M, N) | → | mark#(M) | | mark#(U71(X1, X2)) | → | a__U71#(mark(X1), X2) |
mark#(U84(X1, X2, X3)) | → | a__U84#(mark(X1), X2, X3) | | mark#(U13(X1, X2, X3)) | → | mark#(X1) |
mark#(U72(X1, X2)) | → | mark#(X1) | | mark#(plus(X1, X2)) | → | a__plus#(mark(X1), mark(X2)) |
mark#(U82(X1, X2, X3)) | → | mark#(X1) | | mark#(U71(X1, X2)) | → | mark#(X1) |
mark#(U31(X1, X2, X3)) | → | mark#(X1) | | mark#(U101(X1, X2, X3)) | → | a__U101#(mark(X1), X2, X3) |
mark#(plus(X1, X2)) | → | mark#(X1) | | mark#(U51(X)) | → | mark#(X) |
mark#(U15(X1, X2)) | → | mark#(X1) | | mark#(U34(X1, X2, X3)) | → | mark#(X1) |
mark#(x(X1, X2)) | → | mark#(X2) | | mark#(U104(X1, X2, X3)) | → | a__U104#(mark(X1), X2, X3) |
mark#(U62(X)) | → | mark#(X) | | a__U72#(tt, N) | → | mark#(N) |
a__U104#(tt, M, N) | → | a__plus#(a__x(mark(N), mark(M)), mark(N)) | | a__U81#(tt, M, N) | → | a__U82#(a__isNatKind(M), M, N) |
mark#(U32(X1, X2, X3)) | → | a__U32#(mark(X1), X2, X3) | | mark#(U103(X1, X2, X3)) | → | a__U103#(mark(X1), X2, X3) |
mark#(U11(X1, X2, X3)) | → | a__U11#(mark(X1), X2, X3) | | mark#(U11(X1, X2, X3)) | → | mark#(X1) |
mark#(U61(X1, X2)) | → | mark#(X1) | | a__U71#(tt, N) | → | a__U72#(a__isNatKind(N), N) |
mark#(U91(X1, X2)) | → | mark#(X1) | | a__x#(N, s(M)) | → | a__U101#(a__isNat(M), M, N) |
mark#(x(X1, X2)) | → | a__x#(mark(X1), mark(X2)) | | mark#(U83(X1, X2, X3)) | → | a__U83#(mark(X1), X2, X3) |
a__U104#(tt, M, N) | → | a__x#(mark(N), mark(M)) | | mark#(U35(X1, X2)) | → | mark#(X1) |
mark#(U21(X1, X2)) | → | mark#(X1) | | mark#(U42(X)) | → | mark#(X) |
mark#(U14(X1, X2, X3)) | → | mark#(X1) | | mark#(U81(X1, X2, X3)) | → | mark#(X1) |
mark#(U16(X)) | → | mark#(X) | | a__U104#(tt, M, N) | → | mark#(M) |
mark#(U22(X1, X2)) | → | mark#(X1) | | mark#(U83(X1, X2, X3)) | → | mark#(X1) |
mark#(U23(X)) | → | mark#(X) | | mark#(plus(X1, X2)) | → | mark#(X2) |
mark#(U102(X1, X2, X3)) | → | mark#(X1) | | mark#(U82(X1, X2, X3)) | → | a__U82#(mark(X1), X2, X3) |
mark#(U102(X1, X2, X3)) | → | a__U102#(mark(X1), X2, X3) | | mark#(U41(X1, X2)) | → | mark#(X1) |
mark#(U12(X1, X2, X3)) | → | mark#(X1) | | mark#(U33(X1, X2, X3)) | → | a__U33#(mark(X1), X2, X3) |
a__U84#(tt, M, N) | → | a__plus#(mark(N), mark(M)) | | mark#(U72(X1, X2)) | → | a__U72#(mark(X1), X2) |
a__U82#(tt, M, N) | → | a__U83#(a__isNat(N), M, N) | | mark#(U92(X)) | → | mark#(X) |
mark#(U21(X1, X2)) | → | a__U21#(mark(X1), X2) | | mark#(U36(X)) | → | mark#(X) |
a__U102#(tt, M, N) | → | a__U103#(a__isNat(N), M, N) | | mark#(U81(X1, X2, X3)) | → | a__U81#(mark(X1), X2, X3) |
a__U83#(tt, M, N) | → | a__U84#(a__isNatKind(N), M, N) | | mark#(x(X1, X2)) | → | mark#(X1) |
Rewrite Rules
a__U101(tt, M, N) | → | a__U102(a__isNatKind(M), M, N) | | a__U102(tt, M, N) | → | a__U103(a__isNat(N), M, N) |
a__U103(tt, M, N) | → | a__U104(a__isNatKind(N), M, N) | | a__U104(tt, M, N) | → | a__plus(a__x(mark(N), mark(M)), mark(N)) |
a__U11(tt, V1, V2) | → | a__U12(a__isNatKind(V1), V1, V2) | | a__U12(tt, V1, V2) | → | a__U13(a__isNatKind(V2), V1, V2) |
a__U13(tt, V1, V2) | → | a__U14(a__isNatKind(V2), V1, V2) | | a__U14(tt, V1, V2) | → | a__U15(a__isNat(V1), V2) |
a__U15(tt, V2) | → | a__U16(a__isNat(V2)) | | a__U16(tt) | → | tt |
a__U21(tt, V1) | → | a__U22(a__isNatKind(V1), V1) | | a__U22(tt, V1) | → | a__U23(a__isNat(V1)) |
a__U23(tt) | → | tt | | a__U31(tt, V1, V2) | → | a__U32(a__isNatKind(V1), V1, V2) |
a__U32(tt, V1, V2) | → | a__U33(a__isNatKind(V2), V1, V2) | | a__U33(tt, V1, V2) | → | a__U34(a__isNatKind(V2), V1, V2) |
a__U34(tt, V1, V2) | → | a__U35(a__isNat(V1), V2) | | a__U35(tt, V2) | → | a__U36(a__isNat(V2)) |
a__U36(tt) | → | tt | | a__U41(tt, V2) | → | a__U42(a__isNatKind(V2)) |
a__U42(tt) | → | tt | | a__U51(tt) | → | tt |
a__U61(tt, V2) | → | a__U62(a__isNatKind(V2)) | | a__U62(tt) | → | tt |
a__U71(tt, N) | → | a__U72(a__isNatKind(N), N) | | a__U72(tt, N) | → | mark(N) |
a__U81(tt, M, N) | → | a__U82(a__isNatKind(M), M, N) | | a__U82(tt, M, N) | → | a__U83(a__isNat(N), M, N) |
a__U83(tt, M, N) | → | a__U84(a__isNatKind(N), M, N) | | a__U84(tt, M, N) | → | s(a__plus(mark(N), mark(M))) |
a__U91(tt, N) | → | a__U92(a__isNatKind(N)) | | a__U92(tt) | → | 0 |
a__isNat(0) | → | tt | | a__isNat(plus(V1, V2)) | → | a__U11(a__isNatKind(V1), V1, V2) |
a__isNat(s(V1)) | → | a__U21(a__isNatKind(V1), V1) | | a__isNat(x(V1, V2)) | → | a__U31(a__isNatKind(V1), V1, V2) |
a__isNatKind(0) | → | tt | | a__isNatKind(plus(V1, V2)) | → | a__U41(a__isNatKind(V1), V2) |
a__isNatKind(s(V1)) | → | a__U51(a__isNatKind(V1)) | | a__isNatKind(x(V1, V2)) | → | a__U61(a__isNatKind(V1), V2) |
a__plus(N, 0) | → | a__U71(a__isNat(N), N) | | a__plus(N, s(M)) | → | a__U81(a__isNat(M), M, N) |
a__x(N, 0) | → | a__U91(a__isNat(N), N) | | a__x(N, s(M)) | → | a__U101(a__isNat(M), M, N) |
mark(U101(X1, X2, X3)) | → | a__U101(mark(X1), X2, X3) | | mark(U102(X1, X2, X3)) | → | a__U102(mark(X1), X2, X3) |
mark(isNatKind(X)) | → | a__isNatKind(X) | | mark(U103(X1, X2, X3)) | → | a__U103(mark(X1), X2, X3) |
mark(isNat(X)) | → | a__isNat(X) | | mark(U104(X1, X2, X3)) | → | a__U104(mark(X1), X2, X3) |
mark(plus(X1, X2)) | → | a__plus(mark(X1), mark(X2)) | | mark(x(X1, X2)) | → | a__x(mark(X1), mark(X2)) |
mark(U11(X1, X2, X3)) | → | a__U11(mark(X1), X2, X3) | | mark(U12(X1, X2, X3)) | → | a__U12(mark(X1), X2, X3) |
mark(U13(X1, X2, X3)) | → | a__U13(mark(X1), X2, X3) | | mark(U14(X1, X2, X3)) | → | a__U14(mark(X1), X2, X3) |
mark(U15(X1, X2)) | → | a__U15(mark(X1), X2) | | mark(U16(X)) | → | a__U16(mark(X)) |
mark(U21(X1, X2)) | → | a__U21(mark(X1), X2) | | mark(U22(X1, X2)) | → | a__U22(mark(X1), X2) |
mark(U23(X)) | → | a__U23(mark(X)) | | mark(U31(X1, X2, X3)) | → | a__U31(mark(X1), X2, X3) |
mark(U32(X1, X2, X3)) | → | a__U32(mark(X1), X2, X3) | | mark(U33(X1, X2, X3)) | → | a__U33(mark(X1), X2, X3) |
mark(U34(X1, X2, X3)) | → | a__U34(mark(X1), X2, X3) | | mark(U35(X1, X2)) | → | a__U35(mark(X1), X2) |
mark(U36(X)) | → | a__U36(mark(X)) | | mark(U41(X1, X2)) | → | a__U41(mark(X1), X2) |
mark(U42(X)) | → | a__U42(mark(X)) | | mark(U51(X)) | → | a__U51(mark(X)) |
mark(U61(X1, X2)) | → | a__U61(mark(X1), X2) | | mark(U62(X)) | → | a__U62(mark(X)) |
mark(U71(X1, X2)) | → | a__U71(mark(X1), X2) | | mark(U72(X1, X2)) | → | a__U72(mark(X1), X2) |
mark(U81(X1, X2, X3)) | → | a__U81(mark(X1), X2, X3) | | mark(U82(X1, X2, X3)) | → | a__U82(mark(X1), X2, X3) |
mark(U83(X1, X2, X3)) | → | a__U83(mark(X1), X2, X3) | | mark(U84(X1, X2, X3)) | → | a__U84(mark(X1), X2, X3) |
mark(U91(X1, X2)) | → | a__U91(mark(X1), X2) | | mark(U92(X)) | → | a__U92(mark(X)) |
mark(tt) | → | tt | | mark(s(X)) | → | s(mark(X)) |
mark(0) | → | 0 | | a__U101(X1, X2, X3) | → | U101(X1, X2, X3) |
a__U102(X1, X2, X3) | → | U102(X1, X2, X3) | | a__isNatKind(X) | → | isNatKind(X) |
a__U103(X1, X2, X3) | → | U103(X1, X2, X3) | | a__isNat(X) | → | isNat(X) |
a__U104(X1, X2, X3) | → | U104(X1, X2, X3) | | a__plus(X1, X2) | → | plus(X1, X2) |
a__x(X1, X2) | → | x(X1, X2) | | a__U11(X1, X2, X3) | → | U11(X1, X2, X3) |
a__U12(X1, X2, X3) | → | U12(X1, X2, X3) | | a__U13(X1, X2, X3) | → | U13(X1, X2, X3) |
a__U14(X1, X2, X3) | → | U14(X1, X2, X3) | | a__U15(X1, X2) | → | U15(X1, X2) |
a__U16(X) | → | U16(X) | | a__U21(X1, X2) | → | U21(X1, X2) |
a__U22(X1, X2) | → | U22(X1, X2) | | a__U23(X) | → | U23(X) |
a__U31(X1, X2, X3) | → | U31(X1, X2, X3) | | a__U32(X1, X2, X3) | → | U32(X1, X2, X3) |
a__U33(X1, X2, X3) | → | U33(X1, X2, X3) | | a__U34(X1, X2, X3) | → | U34(X1, X2, X3) |
a__U35(X1, X2) | → | U35(X1, X2) | | a__U36(X) | → | U36(X) |
a__U41(X1, X2) | → | U41(X1, X2) | | a__U42(X) | → | U42(X) |
a__U51(X) | → | U51(X) | | a__U61(X1, X2) | → | U61(X1, X2) |
a__U62(X) | → | U62(X) | | a__U71(X1, X2) | → | U71(X1, X2) |
a__U72(X1, X2) | → | U72(X1, X2) | | a__U81(X1, X2, X3) | → | U81(X1, X2, X3) |
a__U82(X1, X2, X3) | → | U82(X1, X2, X3) | | a__U83(X1, X2, X3) | → | U83(X1, X2, X3) |
a__U84(X1, X2, X3) | → | U84(X1, X2, X3) | | a__U91(X1, X2) | → | U91(X1, X2) |
a__U92(X) | → | U92(X) |
Original Signature
Termination of terms over the following signature is verified: U104, U62, U61, a__U41, a__U72, a__U42, a__U71, U23, U21, U22, plus, a__U84, isNatKind, mark, U71, U36, U72, 0, a__isNat, a__U83, a__U32, a__U82, a__U31, a__U81, U31, U32, a__U36, U33, a__U35, U34, a__U34, a__U104, U35, a__U33, a__U103, a__U51, isNat, U42, a__U91, U92, U41, a__U92, U91, a__U23, a__U22, a__U102, a__U101, a__U21, a__U62, a__plus, U83, U84, s, U14, U51, tt, U15, a__U16, U16, U82, a__U15, U81, a__U14, U11, a__U13, a__U12, U12, a__U11, U13, U102, a__U61, U103, a__x, U101, x, a__isNatKind
Strategy
The following SCCs where found
mark#(U101(X1, X2, X3)) → mark#(X1) | mark#(U84(X1, X2, X3)) → mark#(X1) |
mark#(U32(X1, X2, X3)) → mark#(X1) | a__U84#(tt, M, N) → mark#(N) |
mark#(U103(X1, X2, X3)) → mark#(X1) | mark#(U104(X1, X2, X3)) → mark#(X1) |
a__U104#(tt, M, N) → mark#(N) | a__U101#(tt, M, N) → a__U102#(a__isNatKind(M), M, N) |
a__plus#(N, s(M)) → a__U81#(a__isNat(M), M, N) | a__U103#(tt, M, N) → a__U104#(a__isNatKind(N), M, N) |
mark#(U33(X1, X2, X3)) → mark#(X1) | a__plus#(N, 0) → a__U71#(a__isNat(N), N) |
mark#(s(X)) → mark#(X) | a__U84#(tt, M, N) → mark#(M) |
mark#(U71(X1, X2)) → a__U71#(mark(X1), X2) | mark#(U84(X1, X2, X3)) → a__U84#(mark(X1), X2, X3) |
mark#(U13(X1, X2, X3)) → mark#(X1) | mark#(U72(X1, X2)) → mark#(X1) |
mark#(plus(X1, X2)) → a__plus#(mark(X1), mark(X2)) | mark#(U82(X1, X2, X3)) → mark#(X1) |
mark#(U71(X1, X2)) → mark#(X1) | mark#(U31(X1, X2, X3)) → mark#(X1) |
mark#(U101(X1, X2, X3)) → a__U101#(mark(X1), X2, X3) | mark#(plus(X1, X2)) → mark#(X1) |
mark#(U51(X)) → mark#(X) | mark#(U15(X1, X2)) → mark#(X1) |
mark#(U34(X1, X2, X3)) → mark#(X1) | mark#(x(X1, X2)) → mark#(X2) |
mark#(U104(X1, X2, X3)) → a__U104#(mark(X1), X2, X3) | mark#(U62(X)) → mark#(X) |
a__U72#(tt, N) → mark#(N) | a__U81#(tt, M, N) → a__U82#(a__isNatKind(M), M, N) |
a__U104#(tt, M, N) → a__plus#(a__x(mark(N), mark(M)), mark(N)) | mark#(U103(X1, X2, X3)) → a__U103#(mark(X1), X2, X3) |
mark#(U11(X1, X2, X3)) → mark#(X1) | mark#(U61(X1, X2)) → mark#(X1) |
a__U71#(tt, N) → a__U72#(a__isNatKind(N), N) | mark#(U91(X1, X2)) → mark#(X1) |
a__x#(N, s(M)) → a__U101#(a__isNat(M), M, N) | mark#(x(X1, X2)) → a__x#(mark(X1), mark(X2)) |
mark#(U83(X1, X2, X3)) → a__U83#(mark(X1), X2, X3) | a__U104#(tt, M, N) → a__x#(mark(N), mark(M)) |
mark#(U42(X)) → mark#(X) | mark#(U35(X1, X2)) → mark#(X1) |
mark#(U21(X1, X2)) → mark#(X1) | mark#(U14(X1, X2, X3)) → mark#(X1) |
mark#(U81(X1, X2, X3)) → mark#(X1) | mark#(U16(X)) → mark#(X) |
a__U104#(tt, M, N) → mark#(M) | mark#(U83(X1, X2, X3)) → mark#(X1) |
mark#(U23(X)) → mark#(X) | mark#(U22(X1, X2)) → mark#(X1) |
mark#(plus(X1, X2)) → mark#(X2) | mark#(U102(X1, X2, X3)) → mark#(X1) |
mark#(U82(X1, X2, X3)) → a__U82#(mark(X1), X2, X3) | mark#(U102(X1, X2, X3)) → a__U102#(mark(X1), X2, X3) |
mark#(U41(X1, X2)) → mark#(X1) | mark#(U12(X1, X2, X3)) → mark#(X1) |
a__U84#(tt, M, N) → a__plus#(mark(N), mark(M)) | mark#(U72(X1, X2)) → a__U72#(mark(X1), X2) |
a__U82#(tt, M, N) → a__U83#(a__isNat(N), M, N) | mark#(U92(X)) → mark#(X) |
mark#(U36(X)) → mark#(X) | a__U102#(tt, M, N) → a__U103#(a__isNat(N), M, N) |
mark#(U81(X1, X2, X3)) → a__U81#(mark(X1), X2, X3) | a__U83#(tt, M, N) → a__U84#(a__isNatKind(N), M, N) |
mark#(x(X1, X2)) → mark#(X1) |
Problem 9: SubtermCriterion
Dependency Pair Problem
Dependency Pairs
a__U41#(tt, V2) | → | a__isNatKind#(V2) | | a__isNatKind#(plus(V1, V2)) | → | a__U41#(a__isNatKind(V1), V2) |
a__isNatKind#(x(V1, V2)) | → | a__isNatKind#(V1) | | a__isNatKind#(x(V1, V2)) | → | a__U61#(a__isNatKind(V1), V2) |
a__U61#(tt, V2) | → | a__isNatKind#(V2) | | a__isNatKind#(plus(V1, V2)) | → | a__isNatKind#(V1) |
a__isNatKind#(s(V1)) | → | a__isNatKind#(V1) |
Rewrite Rules
a__U101(tt, M, N) | → | a__U102(a__isNatKind(M), M, N) | | a__U102(tt, M, N) | → | a__U103(a__isNat(N), M, N) |
a__U103(tt, M, N) | → | a__U104(a__isNatKind(N), M, N) | | a__U104(tt, M, N) | → | a__plus(a__x(mark(N), mark(M)), mark(N)) |
a__U11(tt, V1, V2) | → | a__U12(a__isNatKind(V1), V1, V2) | | a__U12(tt, V1, V2) | → | a__U13(a__isNatKind(V2), V1, V2) |
a__U13(tt, V1, V2) | → | a__U14(a__isNatKind(V2), V1, V2) | | a__U14(tt, V1, V2) | → | a__U15(a__isNat(V1), V2) |
a__U15(tt, V2) | → | a__U16(a__isNat(V2)) | | a__U16(tt) | → | tt |
a__U21(tt, V1) | → | a__U22(a__isNatKind(V1), V1) | | a__U22(tt, V1) | → | a__U23(a__isNat(V1)) |
a__U23(tt) | → | tt | | a__U31(tt, V1, V2) | → | a__U32(a__isNatKind(V1), V1, V2) |
a__U32(tt, V1, V2) | → | a__U33(a__isNatKind(V2), V1, V2) | | a__U33(tt, V1, V2) | → | a__U34(a__isNatKind(V2), V1, V2) |
a__U34(tt, V1, V2) | → | a__U35(a__isNat(V1), V2) | | a__U35(tt, V2) | → | a__U36(a__isNat(V2)) |
a__U36(tt) | → | tt | | a__U41(tt, V2) | → | a__U42(a__isNatKind(V2)) |
a__U42(tt) | → | tt | | a__U51(tt) | → | tt |
a__U61(tt, V2) | → | a__U62(a__isNatKind(V2)) | | a__U62(tt) | → | tt |
a__U71(tt, N) | → | a__U72(a__isNatKind(N), N) | | a__U72(tt, N) | → | mark(N) |
a__U81(tt, M, N) | → | a__U82(a__isNatKind(M), M, N) | | a__U82(tt, M, N) | → | a__U83(a__isNat(N), M, N) |
a__U83(tt, M, N) | → | a__U84(a__isNatKind(N), M, N) | | a__U84(tt, M, N) | → | s(a__plus(mark(N), mark(M))) |
a__U91(tt, N) | → | a__U92(a__isNatKind(N)) | | a__U92(tt) | → | 0 |
a__isNat(0) | → | tt | | a__isNat(plus(V1, V2)) | → | a__U11(a__isNatKind(V1), V1, V2) |
a__isNat(s(V1)) | → | a__U21(a__isNatKind(V1), V1) | | a__isNat(x(V1, V2)) | → | a__U31(a__isNatKind(V1), V1, V2) |
a__isNatKind(0) | → | tt | | a__isNatKind(plus(V1, V2)) | → | a__U41(a__isNatKind(V1), V2) |
a__isNatKind(s(V1)) | → | a__U51(a__isNatKind(V1)) | | a__isNatKind(x(V1, V2)) | → | a__U61(a__isNatKind(V1), V2) |
a__plus(N, 0) | → | a__U71(a__isNat(N), N) | | a__plus(N, s(M)) | → | a__U81(a__isNat(M), M, N) |
a__x(N, 0) | → | a__U91(a__isNat(N), N) | | a__x(N, s(M)) | → | a__U101(a__isNat(M), M, N) |
mark(U101(X1, X2, X3)) | → | a__U101(mark(X1), X2, X3) | | mark(U102(X1, X2, X3)) | → | a__U102(mark(X1), X2, X3) |
mark(isNatKind(X)) | → | a__isNatKind(X) | | mark(U103(X1, X2, X3)) | → | a__U103(mark(X1), X2, X3) |
mark(isNat(X)) | → | a__isNat(X) | | mark(U104(X1, X2, X3)) | → | a__U104(mark(X1), X2, X3) |
mark(plus(X1, X2)) | → | a__plus(mark(X1), mark(X2)) | | mark(x(X1, X2)) | → | a__x(mark(X1), mark(X2)) |
mark(U11(X1, X2, X3)) | → | a__U11(mark(X1), X2, X3) | | mark(U12(X1, X2, X3)) | → | a__U12(mark(X1), X2, X3) |
mark(U13(X1, X2, X3)) | → | a__U13(mark(X1), X2, X3) | | mark(U14(X1, X2, X3)) | → | a__U14(mark(X1), X2, X3) |
mark(U15(X1, X2)) | → | a__U15(mark(X1), X2) | | mark(U16(X)) | → | a__U16(mark(X)) |
mark(U21(X1, X2)) | → | a__U21(mark(X1), X2) | | mark(U22(X1, X2)) | → | a__U22(mark(X1), X2) |
mark(U23(X)) | → | a__U23(mark(X)) | | mark(U31(X1, X2, X3)) | → | a__U31(mark(X1), X2, X3) |
mark(U32(X1, X2, X3)) | → | a__U32(mark(X1), X2, X3) | | mark(U33(X1, X2, X3)) | → | a__U33(mark(X1), X2, X3) |
mark(U34(X1, X2, X3)) | → | a__U34(mark(X1), X2, X3) | | mark(U35(X1, X2)) | → | a__U35(mark(X1), X2) |
mark(U36(X)) | → | a__U36(mark(X)) | | mark(U41(X1, X2)) | → | a__U41(mark(X1), X2) |
mark(U42(X)) | → | a__U42(mark(X)) | | mark(U51(X)) | → | a__U51(mark(X)) |
mark(U61(X1, X2)) | → | a__U61(mark(X1), X2) | | mark(U62(X)) | → | a__U62(mark(X)) |
mark(U71(X1, X2)) | → | a__U71(mark(X1), X2) | | mark(U72(X1, X2)) | → | a__U72(mark(X1), X2) |
mark(U81(X1, X2, X3)) | → | a__U81(mark(X1), X2, X3) | | mark(U82(X1, X2, X3)) | → | a__U82(mark(X1), X2, X3) |
mark(U83(X1, X2, X3)) | → | a__U83(mark(X1), X2, X3) | | mark(U84(X1, X2, X3)) | → | a__U84(mark(X1), X2, X3) |
mark(U91(X1, X2)) | → | a__U91(mark(X1), X2) | | mark(U92(X)) | → | a__U92(mark(X)) |
mark(tt) | → | tt | | mark(s(X)) | → | s(mark(X)) |
mark(0) | → | 0 | | a__U101(X1, X2, X3) | → | U101(X1, X2, X3) |
a__U102(X1, X2, X3) | → | U102(X1, X2, X3) | | a__isNatKind(X) | → | isNatKind(X) |
a__U103(X1, X2, X3) | → | U103(X1, X2, X3) | | a__isNat(X) | → | isNat(X) |
a__U104(X1, X2, X3) | → | U104(X1, X2, X3) | | a__plus(X1, X2) | → | plus(X1, X2) |
a__x(X1, X2) | → | x(X1, X2) | | a__U11(X1, X2, X3) | → | U11(X1, X2, X3) |
a__U12(X1, X2, X3) | → | U12(X1, X2, X3) | | a__U13(X1, X2, X3) | → | U13(X1, X2, X3) |
a__U14(X1, X2, X3) | → | U14(X1, X2, X3) | | a__U15(X1, X2) | → | U15(X1, X2) |
a__U16(X) | → | U16(X) | | a__U21(X1, X2) | → | U21(X1, X2) |
a__U22(X1, X2) | → | U22(X1, X2) | | a__U23(X) | → | U23(X) |
a__U31(X1, X2, X3) | → | U31(X1, X2, X3) | | a__U32(X1, X2, X3) | → | U32(X1, X2, X3) |
a__U33(X1, X2, X3) | → | U33(X1, X2, X3) | | a__U34(X1, X2, X3) | → | U34(X1, X2, X3) |
a__U35(X1, X2) | → | U35(X1, X2) | | a__U36(X) | → | U36(X) |
a__U41(X1, X2) | → | U41(X1, X2) | | a__U42(X) | → | U42(X) |
a__U51(X) | → | U51(X) | | a__U61(X1, X2) | → | U61(X1, X2) |
a__U62(X) | → | U62(X) | | a__U71(X1, X2) | → | U71(X1, X2) |
a__U72(X1, X2) | → | U72(X1, X2) | | a__U81(X1, X2, X3) | → | U81(X1, X2, X3) |
a__U82(X1, X2, X3) | → | U82(X1, X2, X3) | | a__U83(X1, X2, X3) | → | U83(X1, X2, X3) |
a__U84(X1, X2, X3) | → | U84(X1, X2, X3) | | a__U91(X1, X2) | → | U91(X1, X2) |
a__U92(X) | → | U92(X) |
Original Signature
Termination of terms over the following signature is verified: U104, U62, U61, a__U41, a__U72, a__U42, a__U71, U23, U21, U22, plus, a__U84, isNatKind, mark, U71, U36, U72, 0, a__isNat, a__U83, a__U32, a__U82, a__U31, a__U81, U31, U32, a__U36, U33, a__U35, U34, a__U34, a__U104, U35, a__U33, a__U103, a__U51, isNat, U42, a__U91, U92, U41, a__U92, U91, a__U23, a__U22, a__U102, a__U101, a__U21, a__U62, a__plus, U83, U84, s, U14, U51, tt, U15, a__U16, U16, U82, a__U15, U81, a__U14, U11, a__U13, a__U12, U12, a__U11, U13, U102, a__U61, U103, a__x, U101, x, a__isNatKind
Strategy
Projection
The following projection was used:
- π (a__U41#): 2
- π (a__isNatKind#): 1
- π (a__U61#): 2
Thus, the following dependency pairs are removed:
a__isNatKind#(plus(V1, V2)) | → | a__U41#(a__isNatKind(V1), V2) | | a__isNatKind#(x(V1, V2)) | → | a__isNatKind#(V1) |
a__isNatKind#(x(V1, V2)) | → | a__U61#(a__isNatKind(V1), V2) | | a__isNatKind#(plus(V1, V2)) | → | a__isNatKind#(V1) |
a__isNatKind#(s(V1)) | → | a__isNatKind#(V1) |