/export/starexec/sandbox2/solver/bin/starexec_run_FirstOrder /export/starexec/sandbox2/benchmark/theBenchmark.xml /export/starexec/sandbox2/output/output_files -------------------------------------------------------------------------------- MAYBE We consider the system theBenchmark. We are asked to determine termination of the following first-order TRS. 0 : [] --> o U101 : [o * o * o] --> o U102 : [o * o * o] --> o U103 : [o * o * o] --> o U104 : [o * o * o] --> o U105 : [o * o] --> o U106 : [o] --> o U11 : [o * o] --> o U111 : [o * o * o] --> o U112 : [o * o * o] --> o U113 : [o * o * o] --> o U114 : [o * o] --> o U12 : [o * o] --> o U121 : [o * o] --> o U122 : [o] --> o U13 : [o] --> o U131 : [o * o * o * o] --> o U132 : [o * o * o * o] --> o U133 : [o * o * o * o] --> o U134 : [o * o * o * o] --> o U135 : [o * o * o * o] --> o U136 : [o * o * o * o] --> o U21 : [o * o] --> o U22 : [o * o] --> o U23 : [o] --> o U31 : [o * o] --> o U32 : [o * o] --> o U33 : [o] --> o U41 : [o * o * o] --> o U42 : [o * o * o] --> o U43 : [o * o * o] --> o U44 : [o * o * o] --> o U45 : [o * o] --> o U46 : [o] --> o U51 : [o * o] --> o U52 : [o] --> o U61 : [o * o] --> o U62 : [o] --> o U71 : [o] --> o U81 : [o] --> o U91 : [o * o * o] --> o U92 : [o * o * o] --> o U93 : [o * o * o] --> o U94 : [o * o * o] --> o U95 : [o * o] --> o U96 : [o] --> o active : [o] --> o cons : [o * o] --> o isNat : [o] --> o isNatIList : [o] --> o isNatIListKind : [o] --> o isNatKind : [o] --> o isNatList : [o] --> o length : [o] --> o mark : [o] --> o nil : [] --> o s : [o] --> o take : [o * o] --> o tt : [] --> o zeros : [] --> o active(zeros) => mark(cons(0, zeros)) active(U101(tt, X, Y)) => mark(U102(isNatKind(X), X, Y)) active(U102(tt, X, Y)) => mark(U103(isNatIListKind(Y), X, Y)) active(U103(tt, X, Y)) => mark(U104(isNatIListKind(Y), X, Y)) active(U104(tt, X, Y)) => mark(U105(isNat(X), Y)) active(U105(tt, X)) => mark(U106(isNatIList(X))) active(U106(tt)) => mark(tt) active(U11(tt, X)) => mark(U12(isNatIListKind(X), X)) active(U111(tt, X, Y)) => mark(U112(isNatIListKind(X), X, Y)) active(U112(tt, X, Y)) => mark(U113(isNat(Y), X, Y)) active(U113(tt, X, Y)) => mark(U114(isNatKind(Y), X)) active(U114(tt, X)) => mark(s(length(X))) active(U12(tt, X)) => mark(U13(isNatList(X))) active(U121(tt, X)) => mark(U122(isNatIListKind(X))) active(U122(tt)) => mark(nil) active(U13(tt)) => mark(tt) active(U131(tt, X, Y, Z)) => mark(U132(isNatIListKind(X), X, Y, Z)) active(U132(tt, X, Y, Z)) => mark(U133(isNat(Y), X, Y, Z)) active(U133(tt, X, Y, Z)) => mark(U134(isNatKind(Y), X, Y, Z)) active(U134(tt, X, Y, Z)) => mark(U135(isNat(Z), X, Y, Z)) active(U135(tt, X, Y, Z)) => mark(U136(isNatKind(Z), X, Y, Z)) active(U136(tt, X, Y, Z)) => mark(cons(Z, take(Y, X))) active(U21(tt, X)) => mark(U22(isNatKind(X), X)) active(U22(tt, X)) => mark(U23(isNat(X))) active(U23(tt)) => mark(tt) active(U31(tt, X)) => mark(U32(isNatIListKind(X), X)) active(U32(tt, X)) => mark(U33(isNatList(X))) active(U33(tt)) => mark(tt) active(U41(tt, X, Y)) => mark(U42(isNatKind(X), X, Y)) active(U42(tt, X, Y)) => mark(U43(isNatIListKind(Y), X, Y)) active(U43(tt, X, Y)) => mark(U44(isNatIListKind(Y), X, Y)) active(U44(tt, X, Y)) => mark(U45(isNat(X), Y)) active(U45(tt, X)) => mark(U46(isNatIList(X))) active(U46(tt)) => mark(tt) active(U51(tt, X)) => mark(U52(isNatIListKind(X))) active(U52(tt)) => mark(tt) active(U61(tt, X)) => mark(U62(isNatIListKind(X))) active(U62(tt)) => mark(tt) active(U71(tt)) => mark(tt) active(U81(tt)) => mark(tt) active(U91(tt, X, Y)) => mark(U92(isNatKind(X), X, Y)) active(U92(tt, X, Y)) => mark(U93(isNatIListKind(Y), X, Y)) active(U93(tt, X, Y)) => mark(U94(isNatIListKind(Y), X, Y)) active(U94(tt, X, Y)) => mark(U95(isNat(X), Y)) active(U95(tt, X)) => mark(U96(isNatList(X))) active(U96(tt)) => mark(tt) active(isNat(0)) => mark(tt) active(isNat(length(X))) => mark(U11(isNatIListKind(X), X)) active(isNat(s(X))) => mark(U21(isNatKind(X), X)) active(isNatIList(X)) => mark(U31(isNatIListKind(X), X)) active(isNatIList(zeros)) => mark(tt) active(isNatIList(cons(X, Y))) => mark(U41(isNatKind(X), X, Y)) active(isNatIListKind(nil)) => mark(tt) active(isNatIListKind(zeros)) => mark(tt) active(isNatIListKind(cons(X, Y))) => mark(U51(isNatKind(X), Y)) active(isNatIListKind(take(X, Y))) => mark(U61(isNatKind(X), Y)) active(isNatKind(0)) => mark(tt) active(isNatKind(length(X))) => mark(U71(isNatIListKind(X))) active(isNatKind(s(X))) => mark(U81(isNatKind(X))) active(isNatList(nil)) => mark(tt) active(isNatList(cons(X, Y))) => mark(U91(isNatKind(X), X, Y)) active(isNatList(take(X, Y))) => mark(U101(isNatKind(X), X, Y)) active(length(nil)) => mark(0) active(length(cons(X, Y))) => mark(U111(isNatList(Y), Y, X)) active(take(0, X)) => mark(U121(isNatIList(X), X)) active(take(s(X), cons(Y, Z))) => mark(U131(isNatIList(Z), Z, X, Y)) mark(zeros) => active(zeros) mark(cons(X, Y)) => active(cons(mark(X), Y)) mark(0) => active(0) mark(U101(X, Y, Z)) => active(U101(mark(X), Y, Z)) mark(tt) => active(tt) mark(U102(X, Y, Z)) => active(U102(mark(X), Y, Z)) mark(isNatKind(X)) => active(isNatKind(X)) mark(U103(X, Y, Z)) => active(U103(mark(X), Y, Z)) mark(isNatIListKind(X)) => active(isNatIListKind(X)) mark(U104(X, Y, Z)) => active(U104(mark(X), Y, Z)) mark(U105(X, Y)) => active(U105(mark(X), Y)) mark(isNat(X)) => active(isNat(X)) mark(U106(X)) => active(U106(mark(X))) mark(isNatIList(X)) => active(isNatIList(X)) mark(U11(X, Y)) => active(U11(mark(X), Y)) mark(U12(X, Y)) => active(U12(mark(X), Y)) mark(U111(X, Y, Z)) => active(U111(mark(X), Y, Z)) mark(U112(X, Y, Z)) => active(U112(mark(X), Y, Z)) mark(U113(X, Y, Z)) => active(U113(mark(X), Y, Z)) mark(U114(X, Y)) => active(U114(mark(X), Y)) mark(s(X)) => active(s(mark(X))) mark(length(X)) => active(length(mark(X))) mark(U13(X)) => active(U13(mark(X))) mark(isNatList(X)) => active(isNatList(X)) mark(U121(X, Y)) => active(U121(mark(X), Y)) mark(U122(X)) => active(U122(mark(X))) mark(nil) => active(nil) mark(U131(X, Y, Z, U)) => active(U131(mark(X), Y, Z, U)) mark(U132(X, Y, Z, U)) => active(U132(mark(X), Y, Z, U)) mark(U133(X, Y, Z, U)) => active(U133(mark(X), Y, Z, U)) mark(U134(X, Y, Z, U)) => active(U134(mark(X), Y, Z, U)) mark(U135(X, Y, Z, U)) => active(U135(mark(X), Y, Z, U)) mark(U136(X, Y, Z, U)) => active(U136(mark(X), Y, Z, U)) mark(take(X, Y)) => active(take(mark(X), mark(Y))) mark(U21(X, Y)) => active(U21(mark(X), Y)) mark(U22(X, Y)) => active(U22(mark(X), Y)) mark(U23(X)) => active(U23(mark(X))) mark(U31(X, Y)) => active(U31(mark(X), Y)) mark(U32(X, Y)) => active(U32(mark(X), Y)) mark(U33(X)) => active(U33(mark(X))) mark(U41(X, Y, Z)) => active(U41(mark(X), Y, Z)) mark(U42(X, Y, Z)) => active(U42(mark(X), Y, Z)) mark(U43(X, Y, Z)) => active(U43(mark(X), Y, Z)) mark(U44(X, Y, Z)) => active(U44(mark(X), Y, Z)) mark(U45(X, Y)) => active(U45(mark(X), Y)) mark(U46(X)) => active(U46(mark(X))) mark(U51(X, Y)) => active(U51(mark(X), Y)) mark(U52(X)) => active(U52(mark(X))) mark(U61(X, Y)) => active(U61(mark(X), Y)) mark(U62(X)) => active(U62(mark(X))) mark(U71(X)) => active(U71(mark(X))) mark(U81(X)) => active(U81(mark(X))) mark(U91(X, Y, Z)) => active(U91(mark(X), Y, Z)) mark(U92(X, Y, Z)) => active(U92(mark(X), Y, Z)) mark(U93(X, Y, Z)) => active(U93(mark(X), Y, Z)) mark(U94(X, Y, Z)) => active(U94(mark(X), Y, Z)) mark(U95(X, Y)) => active(U95(mark(X), Y)) mark(U96(X)) => active(U96(mark(X))) cons(mark(X), Y) => cons(X, Y) cons(X, mark(Y)) => cons(X, Y) cons(active(X), Y) => cons(X, Y) cons(X, active(Y)) => cons(X, Y) U101(mark(X), Y, Z) => U101(X, Y, Z) U101(X, mark(Y), Z) => U101(X, Y, Z) U101(X, Y, mark(Z)) => U101(X, Y, Z) U101(active(X), Y, Z) => U101(X, Y, Z) U101(X, active(Y), Z) => U101(X, Y, Z) U101(X, Y, active(Z)) => U101(X, Y, Z) U102(mark(X), Y, Z) => U102(X, Y, Z) U102(X, mark(Y), Z) => U102(X, Y, Z) U102(X, Y, mark(Z)) => U102(X, Y, Z) U102(active(X), Y, Z) => U102(X, Y, Z) U102(X, active(Y), Z) => U102(X, Y, Z) U102(X, Y, active(Z)) => U102(X, Y, Z) isNatKind(mark(X)) => isNatKind(X) isNatKind(active(X)) => isNatKind(X) U103(mark(X), Y, Z) => U103(X, Y, Z) U103(X, mark(Y), Z) => U103(X, Y, Z) U103(X, Y, mark(Z)) => U103(X, Y, Z) U103(active(X), Y, Z) => U103(X, Y, Z) U103(X, active(Y), Z) => U103(X, Y, Z) U103(X, Y, active(Z)) => U103(X, Y, Z) isNatIListKind(mark(X)) => isNatIListKind(X) isNatIListKind(active(X)) => isNatIListKind(X) U104(mark(X), Y, Z) => U104(X, Y, Z) U104(X, mark(Y), Z) => U104(X, Y, Z) U104(X, Y, mark(Z)) => U104(X, Y, Z) U104(active(X), Y, Z) => U104(X, Y, Z) U104(X, active(Y), Z) => U104(X, Y, Z) U104(X, Y, active(Z)) => U104(X, Y, Z) U105(mark(X), Y) => U105(X, Y) U105(X, mark(Y)) => U105(X, Y) U105(active(X), Y) => U105(X, Y) U105(X, active(Y)) => U105(X, Y) isNat(mark(X)) => isNat(X) isNat(active(X)) => isNat(X) U106(mark(X)) => U106(X) U106(active(X)) => U106(X) isNatIList(mark(X)) => isNatIList(X) isNatIList(active(X)) => isNatIList(X) U11(mark(X), Y) => U11(X, Y) U11(X, mark(Y)) => U11(X, Y) U11(active(X), Y) => U11(X, Y) U11(X, active(Y)) => U11(X, Y) U12(mark(X), Y) => U12(X, Y) U12(X, mark(Y)) => U12(X, Y) U12(active(X), Y) => U12(X, Y) U12(X, active(Y)) => U12(X, Y) U111(mark(X), Y, Z) => U111(X, Y, Z) U111(X, mark(Y), Z) => U111(X, Y, Z) U111(X, Y, mark(Z)) => U111(X, Y, Z) U111(active(X), Y, Z) => U111(X, Y, Z) U111(X, active(Y), Z) => U111(X, Y, Z) U111(X, Y, active(Z)) => U111(X, Y, Z) U112(mark(X), Y, Z) => U112(X, Y, Z) U112(X, mark(Y), Z) => U112(X, Y, Z) U112(X, Y, mark(Z)) => U112(X, Y, Z) U112(active(X), Y, Z) => U112(X, Y, Z) U112(X, active(Y), Z) => U112(X, Y, Z) U112(X, Y, active(Z)) => U112(X, Y, Z) U113(mark(X), Y, Z) => U113(X, Y, Z) U113(X, mark(Y), Z) => U113(X, Y, Z) U113(X, Y, mark(Z)) => U113(X, Y, Z) U113(active(X), Y, Z) => U113(X, Y, Z) U113(X, active(Y), Z) => U113(X, Y, Z) U113(X, Y, active(Z)) => U113(X, Y, Z) U114(mark(X), Y) => U114(X, Y) U114(X, mark(Y)) => U114(X, Y) U114(active(X), Y) => U114(X, Y) U114(X, active(Y)) => U114(X, Y) s(mark(X)) => s(X) s(active(X)) => s(X) length(mark(X)) => length(X) length(active(X)) => length(X) U13(mark(X)) => U13(X) U13(active(X)) => U13(X) isNatList(mark(X)) => isNatList(X) isNatList(active(X)) => isNatList(X) U121(mark(X), Y) => U121(X, Y) U121(X, mark(Y)) => U121(X, Y) U121(active(X), Y) => U121(X, Y) U121(X, active(Y)) => U121(X, Y) U122(mark(X)) => U122(X) U122(active(X)) => U122(X) U131(mark(X), Y, Z, U) => U131(X, Y, Z, U) U131(X, mark(Y), Z, U) => U131(X, Y, Z, U) U131(X, Y, mark(Z), U) => U131(X, Y, Z, U) U131(X, Y, Z, mark(U)) => U131(X, Y, Z, U) U131(active(X), Y, Z, U) => U131(X, Y, Z, U) U131(X, active(Y), Z, U) => U131(X, Y, Z, U) U131(X, Y, active(Z), U) => U131(X, Y, Z, U) U131(X, Y, Z, active(U)) => U131(X, Y, Z, U) U132(mark(X), Y, Z, U) => U132(X, Y, Z, U) U132(X, mark(Y), Z, U) => U132(X, Y, Z, U) U132(X, Y, mark(Z), U) => U132(X, Y, Z, U) U132(X, Y, Z, mark(U)) => U132(X, Y, Z, U) U132(active(X), Y, Z, U) => U132(X, Y, Z, U) U132(X, active(Y), Z, U) => U132(X, Y, Z, U) U132(X, Y, active(Z), U) => U132(X, Y, Z, U) U132(X, Y, Z, active(U)) => U132(X, Y, Z, U) U133(mark(X), Y, Z, U) => U133(X, Y, Z, U) U133(X, mark(Y), Z, U) => U133(X, Y, Z, U) U133(X, Y, mark(Z), U) => U133(X, Y, Z, U) U133(X, Y, Z, mark(U)) => U133(X, Y, Z, U) U133(active(X), Y, Z, U) => U133(X, Y, Z, U) U133(X, active(Y), Z, U) => U133(X, Y, Z, U) U133(X, Y, active(Z), U) => U133(X, Y, Z, U) U133(X, Y, Z, active(U)) => U133(X, Y, Z, U) U134(mark(X), Y, Z, U) => U134(X, Y, Z, U) U134(X, mark(Y), Z, U) => U134(X, Y, Z, U) U134(X, Y, mark(Z), U) => U134(X, Y, Z, U) U134(X, Y, Z, mark(U)) => U134(X, Y, Z, U) U134(active(X), Y, Z, U) => U134(X, Y, Z, U) U134(X, active(Y), Z, U) => U134(X, Y, Z, U) U134(X, Y, active(Z), U) => U134(X, Y, Z, U) U134(X, Y, Z, active(U)) => U134(X, Y, Z, U) U135(mark(X), Y, Z, U) => U135(X, Y, Z, U) U135(X, mark(Y), Z, U) => U135(X, Y, Z, U) U135(X, Y, mark(Z), U) => U135(X, Y, Z, U) U135(X, Y, Z, mark(U)) => U135(X, Y, Z, U) U135(active(X), Y, Z, U) => U135(X, Y, Z, U) U135(X, active(Y), Z, U) => U135(X, Y, Z, U) U135(X, Y, active(Z), U) => U135(X, Y, Z, U) U135(X, Y, Z, active(U)) => U135(X, Y, Z, U) U136(mark(X), Y, Z, U) => U136(X, Y, Z, U) U136(X, mark(Y), Z, U) => U136(X, Y, Z, U) U136(X, Y, mark(Z), U) => U136(X, Y, Z, U) U136(X, Y, Z, mark(U)) => U136(X, Y, Z, U) U136(active(X), Y, Z, U) => U136(X, Y, Z, U) U136(X, active(Y), Z, U) => U136(X, Y, Z, U) U136(X, Y, active(Z), U) => U136(X, Y, Z, U) U136(X, Y, Z, active(U)) => U136(X, Y, Z, U) take(mark(X), Y) => take(X, Y) take(X, mark(Y)) => take(X, Y) take(active(X), Y) => take(X, Y) take(X, active(Y)) => take(X, Y) U21(mark(X), Y) => U21(X, Y) U21(X, mark(Y)) => U21(X, Y) U21(active(X), Y) => U21(X, Y) U21(X, active(Y)) => U21(X, Y) U22(mark(X), Y) => U22(X, Y) U22(X, mark(Y)) => U22(X, Y) U22(active(X), Y) => U22(X, Y) U22(X, active(Y)) => U22(X, Y) U23(mark(X)) => U23(X) U23(active(X)) => U23(X) U31(mark(X), Y) => U31(X, Y) U31(X, mark(Y)) => U31(X, Y) U31(active(X), Y) => U31(X, Y) U31(X, active(Y)) => U31(X, Y) U32(mark(X), Y) => U32(X, Y) U32(X, mark(Y)) => U32(X, Y) U32(active(X), Y) => U32(X, Y) U32(X, active(Y)) => U32(X, Y) U33(mark(X)) => U33(X) U33(active(X)) => U33(X) U41(mark(X), Y, Z) => U41(X, Y, Z) U41(X, mark(Y), Z) => U41(X, Y, Z) U41(X, Y, mark(Z)) => U41(X, Y, Z) U41(active(X), Y, Z) => U41(X, Y, Z) U41(X, active(Y), Z) => U41(X, Y, Z) U41(X, Y, active(Z)) => U41(X, Y, Z) U42(mark(X), Y, Z) => U42(X, Y, Z) U42(X, mark(Y), Z) => U42(X, Y, Z) U42(X, Y, mark(Z)) => U42(X, Y, Z) U42(active(X), Y, Z) => U42(X, Y, Z) U42(X, active(Y), Z) => U42(X, Y, Z) U42(X, Y, active(Z)) => U42(X, Y, Z) U43(mark(X), Y, Z) => U43(X, Y, Z) U43(X, mark(Y), Z) => U43(X, Y, Z) U43(X, Y, mark(Z)) => U43(X, Y, Z) U43(active(X), Y, Z) => U43(X, Y, Z) U43(X, active(Y), Z) => U43(X, Y, Z) U43(X, Y, active(Z)) => U43(X, Y, Z) U44(mark(X), Y, Z) => U44(X, Y, Z) U44(X, mark(Y), Z) => U44(X, Y, Z) U44(X, Y, mark(Z)) => U44(X, Y, Z) U44(active(X), Y, Z) => U44(X, Y, Z) U44(X, active(Y), Z) => U44(X, Y, Z) U44(X, Y, active(Z)) => U44(X, Y, Z) U45(mark(X), Y) => U45(X, Y) U45(X, mark(Y)) => U45(X, Y) U45(active(X), Y) => U45(X, Y) U45(X, active(Y)) => U45(X, Y) U46(mark(X)) => U46(X) U46(active(X)) => U46(X) U51(mark(X), Y) => U51(X, Y) U51(X, mark(Y)) => U51(X, Y) U51(active(X), Y) => U51(X, Y) U51(X, active(Y)) => U51(X, Y) U52(mark(X)) => U52(X) U52(active(X)) => U52(X) U61(mark(X), Y) => U61(X, Y) U61(X, mark(Y)) => U61(X, Y) U61(active(X), Y) => U61(X, Y) U61(X, active(Y)) => U61(X, Y) U62(mark(X)) => U62(X) U62(active(X)) => U62(X) U71(mark(X)) => U71(X) U71(active(X)) => U71(X) U81(mark(X)) => U81(X) U81(active(X)) => U81(X) U91(mark(X), Y, Z) => U91(X, Y, Z) U91(X, mark(Y), Z) => U91(X, Y, Z) U91(X, Y, mark(Z)) => U91(X, Y, Z) U91(active(X), Y, Z) => U91(X, Y, Z) U91(X, active(Y), Z) => U91(X, Y, Z) U91(X, Y, active(Z)) => U91(X, Y, Z) U92(mark(X), Y, Z) => U92(X, Y, Z) U92(X, mark(Y), Z) => U92(X, Y, Z) U92(X, Y, mark(Z)) => U92(X, Y, Z) U92(active(X), Y, Z) => U92(X, Y, Z) U92(X, active(Y), Z) => U92(X, Y, Z) U92(X, Y, active(Z)) => U92(X, Y, Z) U93(mark(X), Y, Z) => U93(X, Y, Z) U93(X, mark(Y), Z) => U93(X, Y, Z) U93(X, Y, mark(Z)) => U93(X, Y, Z) U93(active(X), Y, Z) => U93(X, Y, Z) U93(X, active(Y), Z) => U93(X, Y, Z) U93(X, Y, active(Z)) => U93(X, Y, Z) U94(mark(X), Y, Z) => U94(X, Y, Z) U94(X, mark(Y), Z) => U94(X, Y, Z) U94(X, Y, mark(Z)) => U94(X, Y, Z) U94(active(X), Y, Z) => U94(X, Y, Z) U94(X, active(Y), Z) => U94(X, Y, Z) U94(X, Y, active(Z)) => U94(X, Y, Z) U95(mark(X), Y) => U95(X, Y) U95(X, mark(Y)) => U95(X, Y) U95(active(X), Y) => U95(X, Y) U95(X, active(Y)) => U95(X, Y) U96(mark(X)) => U96(X) U96(active(X)) => U96(X)