/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 U102 : [o] --> o U11 : [o * o * o] --> o U111 : [o] --> o U12 : [o * o * o] --> o U121 : [o] --> o U131 : [o * o] --> o U132 : [o] --> o U141 : [o * o] --> o U142 : [o] --> o U151 : [o * o] --> o U152 : [o] --> o U161 : [o * o] --> o U171 : [o * o * o] --> o U172 : [o * o * o] --> o U181 : [o * o] --> o U182 : [o * o] --> o U191 : [o * o] --> o U201 : [o * o * o * o] --> o U202 : [o * o * o * o] --> o U203 : [o * o * o * o] --> o U204 : [o * o] --> o U21 : [o * o * o] --> o U211 : [o * o] --> o U212 : [o * o] --> o U22 : [o * o] --> o U221 : [o * o * o] --> o U222 : [o * o * o] --> o U31 : [o * o * o] --> o U32 : [o * o] --> o U41 : [o * o] --> o U42 : [o] --> o U51 : [o * o] --> o U52 : [o] --> o U61 : [o] --> o U71 : [o] --> o U81 : [o] --> o U91 : [o] --> o active : [o] --> o afterNth : [o * o] --> o cons : [o * o] --> o fst : [o] --> o head : [o] --> o isLNat : [o] --> o isNatural : [o] --> o isPLNat : [o] --> o mark : [o] --> o natsFrom : [o] --> o nil : [] --> o ok : [o] --> o pair : [o * o] --> o proper : [o] --> o s : [o] --> o sel : [o * o] --> o snd : [o] --> o splitAt : [o * o] --> o tail : [o] --> o take : [o * o] --> o top : [o] --> o tt : [] --> o active(U101(tt, X)) => mark(U102(isLNat(X))) active(U102(tt)) => mark(tt) active(U11(tt, X, Y)) => mark(U12(isLNat(Y), X, Y)) active(U111(tt)) => mark(tt) active(U12(tt, X, Y)) => mark(snd(splitAt(X, Y))) active(U121(tt)) => mark(tt) active(U131(tt, X)) => mark(U132(isLNat(X))) active(U132(tt)) => mark(tt) active(U141(tt, X)) => mark(U142(isLNat(X))) active(U142(tt)) => mark(tt) active(U151(tt, X)) => mark(U152(isLNat(X))) active(U152(tt)) => mark(tt) active(U161(tt, X)) => mark(cons(X, natsFrom(s(X)))) active(U171(tt, X, Y)) => mark(U172(isLNat(Y), X, Y)) active(U172(tt, X, Y)) => mark(head(afterNth(X, Y))) active(U181(tt, X)) => mark(U182(isLNat(X), X)) active(U182(tt, X)) => mark(X) active(U191(tt, X)) => mark(pair(nil, X)) active(U201(tt, X, Y, Z)) => mark(U202(isNatural(Y), X, Y, Z)) active(U202(tt, X, Y, Z)) => mark(U203(isLNat(Z), X, Y, Z)) active(U203(tt, X, Y, Z)) => mark(U204(splitAt(X, Z), Y)) active(U204(pair(X, Y), Z)) => mark(pair(cons(Z, X), Y)) active(U21(tt, X, Y)) => mark(U22(isLNat(Y), X)) active(U211(tt, X)) => mark(U212(isLNat(X), X)) active(U212(tt, X)) => mark(X) active(U22(tt, X)) => mark(X) active(U221(tt, X, Y)) => mark(U222(isLNat(Y), X, Y)) active(U222(tt, X, Y)) => mark(fst(splitAt(X, Y))) active(U31(tt, X, Y)) => mark(U32(isLNat(Y), X)) active(U32(tt, X)) => mark(X) active(U41(tt, X)) => mark(U42(isLNat(X))) active(U42(tt)) => mark(tt) active(U51(tt, X)) => mark(U52(isLNat(X))) active(U52(tt)) => mark(tt) active(U61(tt)) => mark(tt) active(U71(tt)) => mark(tt) active(U81(tt)) => mark(tt) active(U91(tt)) => mark(tt) active(afterNth(X, Y)) => mark(U11(isNatural(X), X, Y)) active(fst(pair(X, Y))) => mark(U21(isLNat(X), X, Y)) active(head(cons(X, Y))) => mark(U31(isNatural(X), X, Y)) active(isLNat(nil)) => mark(tt) active(isLNat(afterNth(X, Y))) => mark(U41(isNatural(X), Y)) active(isLNat(cons(X, Y))) => mark(U51(isNatural(X), Y)) active(isLNat(fst(X))) => mark(U61(isPLNat(X))) active(isLNat(natsFrom(X))) => mark(U71(isNatural(X))) active(isLNat(snd(X))) => mark(U81(isPLNat(X))) active(isLNat(tail(X))) => mark(U91(isLNat(X))) active(isLNat(take(X, Y))) => mark(U101(isNatural(X), Y)) active(isNatural(0)) => mark(tt) active(isNatural(head(X))) => mark(U111(isLNat(X))) active(isNatural(s(X))) => mark(U121(isNatural(X))) active(isNatural(sel(X, Y))) => mark(U131(isNatural(X), Y)) active(isPLNat(pair(X, Y))) => mark(U141(isLNat(X), Y)) active(isPLNat(splitAt(X, Y))) => mark(U151(isNatural(X), Y)) active(natsFrom(X)) => mark(U161(isNatural(X), X)) active(sel(X, Y)) => mark(U171(isNatural(X), X, Y)) active(snd(pair(X, Y))) => mark(U181(isLNat(X), Y)) active(splitAt(0, X)) => mark(U191(isLNat(X), X)) active(splitAt(s(X), cons(Y, Z))) => mark(U201(isNatural(X), X, Y, Z)) active(tail(cons(X, Y))) => mark(U211(isNatural(X), Y)) active(take(X, Y)) => mark(U221(isNatural(X), X, Y)) active(U101(X, Y)) => U101(active(X), Y) active(U102(X)) => U102(active(X)) active(U11(X, Y, Z)) => U11(active(X), Y, Z) active(U12(X, Y, Z)) => U12(active(X), Y, Z) active(U111(X)) => U111(active(X)) active(snd(X)) => snd(active(X)) active(splitAt(X, Y)) => splitAt(active(X), Y) active(splitAt(X, Y)) => splitAt(X, active(Y)) active(U121(X)) => U121(active(X)) active(U131(X, Y)) => U131(active(X), Y) active(U132(X)) => U132(active(X)) active(U141(X, Y)) => U141(active(X), Y) active(U142(X)) => U142(active(X)) active(U151(X, Y)) => U151(active(X), Y) active(U152(X)) => U152(active(X)) active(U161(X, Y)) => U161(active(X), Y) active(cons(X, Y)) => cons(active(X), Y) active(natsFrom(X)) => natsFrom(active(X)) active(s(X)) => s(active(X)) active(U171(X, Y, Z)) => U171(active(X), Y, Z) active(U172(X, Y, Z)) => U172(active(X), Y, Z) active(head(X)) => head(active(X)) active(afterNth(X, Y)) => afterNth(active(X), Y) active(afterNth(X, Y)) => afterNth(X, active(Y)) active(U181(X, Y)) => U181(active(X), Y) active(U182(X, Y)) => U182(active(X), Y) active(U191(X, Y)) => U191(active(X), Y) active(pair(X, Y)) => pair(active(X), Y) active(pair(X, Y)) => pair(X, active(Y)) active(U201(X, Y, Z, U)) => U201(active(X), Y, Z, U) active(U202(X, Y, Z, U)) => U202(active(X), Y, Z, U) active(U203(X, Y, Z, U)) => U203(active(X), Y, Z, U) active(U204(X, Y)) => U204(active(X), Y) active(U21(X, Y, Z)) => U21(active(X), Y, Z) active(U22(X, Y)) => U22(active(X), Y) active(U211(X, Y)) => U211(active(X), Y) active(U212(X, Y)) => U212(active(X), Y) active(U221(X, Y, Z)) => U221(active(X), Y, Z) active(U222(X, Y, Z)) => U222(active(X), Y, Z) active(fst(X)) => fst(active(X)) active(U31(X, Y, Z)) => U31(active(X), Y, Z) active(U32(X, Y)) => U32(active(X), Y) active(U41(X, Y)) => U41(active(X), Y) active(U42(X)) => U42(active(X)) active(U51(X, Y)) => U51(active(X), Y) active(U52(X)) => U52(active(X)) active(U61(X)) => U61(active(X)) active(U71(X)) => U71(active(X)) active(U81(X)) => U81(active(X)) active(U91(X)) => U91(active(X)) active(tail(X)) => tail(active(X)) active(take(X, Y)) => take(active(X), Y) active(take(X, Y)) => take(X, active(Y)) active(sel(X, Y)) => sel(active(X), Y) active(sel(X, Y)) => sel(X, active(Y)) U101(mark(X), Y) => mark(U101(X, Y)) U102(mark(X)) => mark(U102(X)) U11(mark(X), Y, Z) => mark(U11(X, Y, Z)) U12(mark(X), Y, Z) => mark(U12(X, Y, Z)) U111(mark(X)) => mark(U111(X)) snd(mark(X)) => mark(snd(X)) splitAt(mark(X), Y) => mark(splitAt(X, Y)) splitAt(X, mark(Y)) => mark(splitAt(X, Y)) U121(mark(X)) => mark(U121(X)) U131(mark(X), Y) => mark(U131(X, Y)) U132(mark(X)) => mark(U132(X)) U141(mark(X), Y) => mark(U141(X, Y)) U142(mark(X)) => mark(U142(X)) U151(mark(X), Y) => mark(U151(X, Y)) U152(mark(X)) => mark(U152(X)) U161(mark(X), Y) => mark(U161(X, Y)) cons(mark(X), Y) => mark(cons(X, Y)) natsFrom(mark(X)) => mark(natsFrom(X)) s(mark(X)) => mark(s(X)) U171(mark(X), Y, Z) => mark(U171(X, Y, Z)) U172(mark(X), Y, Z) => mark(U172(X, Y, Z)) head(mark(X)) => mark(head(X)) afterNth(mark(X), Y) => mark(afterNth(X, Y)) afterNth(X, mark(Y)) => mark(afterNth(X, Y)) U181(mark(X), Y) => mark(U181(X, Y)) U182(mark(X), Y) => mark(U182(X, Y)) U191(mark(X), Y) => mark(U191(X, Y)) pair(mark(X), Y) => mark(pair(X, Y)) pair(X, mark(Y)) => mark(pair(X, Y)) U201(mark(X), Y, Z, U) => mark(U201(X, Y, Z, U)) U202(mark(X), Y, Z, U) => mark(U202(X, Y, Z, U)) U203(mark(X), Y, Z, U) => mark(U203(X, Y, Z, U)) U204(mark(X), Y) => mark(U204(X, Y)) U21(mark(X), Y, Z) => mark(U21(X, Y, Z)) U22(mark(X), Y) => mark(U22(X, Y)) U211(mark(X), Y) => mark(U211(X, Y)) U212(mark(X), Y) => mark(U212(X, Y)) U221(mark(X), Y, Z) => mark(U221(X, Y, Z)) U222(mark(X), Y, Z) => mark(U222(X, Y, Z)) fst(mark(X)) => mark(fst(X)) U31(mark(X), Y, Z) => mark(U31(X, Y, Z)) U32(mark(X), Y) => mark(U32(X, Y)) U41(mark(X), Y) => mark(U41(X, Y)) U42(mark(X)) => mark(U42(X)) U51(mark(X), Y) => mark(U51(X, Y)) U52(mark(X)) => mark(U52(X)) U61(mark(X)) => mark(U61(X)) U71(mark(X)) => mark(U71(X)) U81(mark(X)) => mark(U81(X)) U91(mark(X)) => mark(U91(X)) tail(mark(X)) => mark(tail(X)) take(mark(X), Y) => mark(take(X, Y)) take(X, mark(Y)) => mark(take(X, Y)) sel(mark(X), Y) => mark(sel(X, Y)) sel(X, mark(Y)) => mark(sel(X, Y)) proper(U101(X, Y)) => U101(proper(X), proper(Y)) proper(tt) => ok(tt) proper(U102(X)) => U102(proper(X)) proper(isLNat(X)) => isLNat(proper(X)) proper(U11(X, Y, Z)) => U11(proper(X), proper(Y), proper(Z)) proper(U12(X, Y, Z)) => U12(proper(X), proper(Y), proper(Z)) proper(U111(X)) => U111(proper(X)) proper(snd(X)) => snd(proper(X)) proper(splitAt(X, Y)) => splitAt(proper(X), proper(Y)) proper(U121(X)) => U121(proper(X)) proper(U131(X, Y)) => U131(proper(X), proper(Y)) proper(U132(X)) => U132(proper(X)) proper(U141(X, Y)) => U141(proper(X), proper(Y)) proper(U142(X)) => U142(proper(X)) proper(U151(X, Y)) => U151(proper(X), proper(Y)) proper(U152(X)) => U152(proper(X)) proper(U161(X, Y)) => U161(proper(X), proper(Y)) proper(cons(X, Y)) => cons(proper(X), proper(Y)) proper(natsFrom(X)) => natsFrom(proper(X)) proper(s(X)) => s(proper(X)) proper(U171(X, Y, Z)) => U171(proper(X), proper(Y), proper(Z)) proper(U172(X, Y, Z)) => U172(proper(X), proper(Y), proper(Z)) proper(head(X)) => head(proper(X)) proper(afterNth(X, Y)) => afterNth(proper(X), proper(Y)) proper(U181(X, Y)) => U181(proper(X), proper(Y)) proper(U182(X, Y)) => U182(proper(X), proper(Y)) proper(U191(X, Y)) => U191(proper(X), proper(Y)) proper(pair(X, Y)) => pair(proper(X), proper(Y)) proper(nil) => ok(nil) proper(U201(X, Y, Z, U)) => U201(proper(X), proper(Y), proper(Z), proper(U)) proper(U202(X, Y, Z, U)) => U202(proper(X), proper(Y), proper(Z), proper(U)) proper(isNatural(X)) => isNatural(proper(X)) proper(U203(X, Y, Z, U)) => U203(proper(X), proper(Y), proper(Z), proper(U)) proper(U204(X, Y)) => U204(proper(X), proper(Y)) proper(U21(X, Y, Z)) => U21(proper(X), proper(Y), proper(Z)) proper(U22(X, Y)) => U22(proper(X), proper(Y)) proper(U211(X, Y)) => U211(proper(X), proper(Y)) proper(U212(X, Y)) => U212(proper(X), proper(Y)) proper(U221(X, Y, Z)) => U221(proper(X), proper(Y), proper(Z)) proper(U222(X, Y, Z)) => U222(proper(X), proper(Y), proper(Z)) proper(fst(X)) => fst(proper(X)) proper(U31(X, Y, Z)) => U31(proper(X), proper(Y), proper(Z)) proper(U32(X, Y)) => U32(proper(X), proper(Y)) proper(U41(X, Y)) => U41(proper(X), proper(Y)) proper(U42(X)) => U42(proper(X)) proper(U51(X, Y)) => U51(proper(X), proper(Y)) proper(U52(X)) => U52(proper(X)) proper(U61(X)) => U61(proper(X)) proper(U71(X)) => U71(proper(X)) proper(U81(X)) => U81(proper(X)) proper(U91(X)) => U91(proper(X)) proper(isPLNat(X)) => isPLNat(proper(X)) proper(tail(X)) => tail(proper(X)) proper(take(X, Y)) => take(proper(X), proper(Y)) proper(0) => ok(0) proper(sel(X, Y)) => sel(proper(X), proper(Y)) U101(ok(X), ok(Y)) => ok(U101(X, Y)) U102(ok(X)) => ok(U102(X)) isLNat(ok(X)) => ok(isLNat(X)) U11(ok(X), ok(Y), ok(Z)) => ok(U11(X, Y, Z)) U12(ok(X), ok(Y), ok(Z)) => ok(U12(X, Y, Z)) U111(ok(X)) => ok(U111(X)) snd(ok(X)) => ok(snd(X)) splitAt(ok(X), ok(Y)) => ok(splitAt(X, Y)) U121(ok(X)) => ok(U121(X)) U131(ok(X), ok(Y)) => ok(U131(X, Y)) U132(ok(X)) => ok(U132(X)) U141(ok(X), ok(Y)) => ok(U141(X, Y)) U142(ok(X)) => ok(U142(X)) U151(ok(X), ok(Y)) => ok(U151(X, Y)) U152(ok(X)) => ok(U152(X)) U161(ok(X), ok(Y)) => ok(U161(X, Y)) cons(ok(X), ok(Y)) => ok(cons(X, Y)) natsFrom(ok(X)) => ok(natsFrom(X)) s(ok(X)) => ok(s(X)) U171(ok(X), ok(Y), ok(Z)) => ok(U171(X, Y, Z)) U172(ok(X), ok(Y), ok(Z)) => ok(U172(X, Y, Z)) head(ok(X)) => ok(head(X)) afterNth(ok(X), ok(Y)) => ok(afterNth(X, Y)) U181(ok(X), ok(Y)) => ok(U181(X, Y)) U182(ok(X), ok(Y)) => ok(U182(X, Y)) U191(ok(X), ok(Y)) => ok(U191(X, Y)) pair(ok(X), ok(Y)) => ok(pair(X, Y)) U201(ok(X), ok(Y), ok(Z), ok(U)) => ok(U201(X, Y, Z, U)) U202(ok(X), ok(Y), ok(Z), ok(U)) => ok(U202(X, Y, Z, U)) isNatural(ok(X)) => ok(isNatural(X)) U203(ok(X), ok(Y), ok(Z), ok(U)) => ok(U203(X, Y, Z, U)) U204(ok(X), ok(Y)) => ok(U204(X, Y)) U21(ok(X), ok(Y), ok(Z)) => ok(U21(X, Y, Z)) U22(ok(X), ok(Y)) => ok(U22(X, Y)) U211(ok(X), ok(Y)) => ok(U211(X, Y)) U212(ok(X), ok(Y)) => ok(U212(X, Y)) U221(ok(X), ok(Y), ok(Z)) => ok(U221(X, Y, Z)) U222(ok(X), ok(Y), ok(Z)) => ok(U222(X, Y, Z)) fst(ok(X)) => ok(fst(X)) U31(ok(X), ok(Y), ok(Z)) => ok(U31(X, Y, Z)) U32(ok(X), ok(Y)) => ok(U32(X, Y)) U41(ok(X), ok(Y)) => ok(U41(X, Y)) U42(ok(X)) => ok(U42(X)) U51(ok(X), ok(Y)) => ok(U51(X, Y)) U52(ok(X)) => ok(U52(X)) U61(ok(X)) => ok(U61(X)) U71(ok(X)) => ok(U71(X)) U81(ok(X)) => ok(U81(X)) U91(ok(X)) => ok(U91(X)) isPLNat(ok(X)) => ok(isPLNat(X)) tail(ok(X)) => ok(tail(X)) take(ok(X), ok(Y)) => ok(take(X, Y)) sel(ok(X), ok(Y)) => ok(sel(X, Y)) top(mark(X)) => top(proper(X)) top(ok(X)) => top(active(X))