/export/starexec/sandbox/solver/bin/starexec_run_FirstOrder /export/starexec/sandbox/benchmark/theBenchmark.xml /export/starexec/sandbox/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] --> o U111 : [o * o] --> o U112 : [o] --> o U12 : [o * o * o] --> o U121 : [o * o] --> o U122 : [o] --> o U13 : [o * o * o] --> o U131 : [o] --> o U14 : [o * o * o] --> o U141 : [o] --> o U151 : [o] --> o U161 : [o] --> o U171 : [o * o] --> o U172 : [o] --> o U181 : [o * o] --> o U182 : [o * o] --> o U183 : [o] --> o U191 : [o * o] --> o U192 : [o * o] --> o U193 : [o] --> o U201 : [o * o * o] --> o U202 : [o * o * o] --> o U203 : [o * o * o] --> o U204 : [o * o * o] --> o U205 : [o * o] --> o U206 : [o] --> o U21 : [o * o * o] --> o U211 : [o] --> o U22 : [o * o * o] --> o U221 : [o] --> o U23 : [o * o * o] --> o U231 : [o * o] --> o U232 : [o] --> o U24 : [o * o] --> o U241 : [o * o * o] --> o U242 : [o * o * o] --> o U243 : [o * o * o] --> o U244 : [o * o * o] --> o U245 : [o * o] --> o U246 : [o] --> o U251 : [o * o * o] --> o U252 : [o * o * o] --> o U253 : [o * o * o] --> o U254 : [o * o * o] --> o U255 : [o * o] --> o U256 : [o] --> o U261 : [o * o] --> o U262 : [o] --> o U271 : [o * o] --> o U272 : [o] --> o U281 : [o * o] --> o U282 : [o * o] --> o U291 : [o * o * o] --> o U292 : [o * o * o] --> o U293 : [o * o * o] --> o U294 : [o * o * o] --> o U301 : [o * o * o] --> o U302 : [o * o] --> o U303 : [o * o] --> o U304 : [o * o] --> o U31 : [o * o * o] --> o U311 : [o * o] --> o U312 : [o * o] --> o U32 : [o * o * o] --> o U321 : [o * o * o * o] --> o U322 : [o * o * o * o] --> o U323 : [o * o * o * o] --> o U324 : [o * o * o * o] --> o U325 : [o * o * o * o] --> o U326 : [o * o * o * o] --> o U327 : [o * o] --> o U33 : [o * o * o] --> o U331 : [o * o * o] --> o U332 : [o * o] --> o U333 : [o * o] --> o U334 : [o * o] --> o U34 : [o * o] --> o U341 : [o * o * o] --> o U342 : [o * o * o] --> o U343 : [o * o * o] --> o U344 : [o * o * 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] --> o U52 : [o * o * o] --> o U53 : [o * o * o] --> o U54 : [o * o * o] --> o U55 : [o * o] --> o U56 : [o] --> o U61 : [o * o] --> o U62 : [o * o] --> o U63 : [o] --> o U71 : [o * o] --> o U72 : [o * o] --> o U73 : [o] --> o U81 : [o * o] --> o U82 : [o * o] --> o U83 : [o] --> o U91 : [o * o] --> o U92 : [o * o] --> o U93 : [o] --> o activate : [o] --> o afterNth : [o * o] --> o cons : [o * o] --> o fst : [o] --> o head : [o] --> o isLNat : [o] --> o isLNatKind : [o] --> o isNatural : [o] --> o isNaturalKind : [o] --> o isPLNat : [o] --> o isPLNatKind : [o] --> o n!6220!62200 : [] --> o n!6220!6220afterNth : [o * o] --> o n!6220!6220cons : [o * o] --> o n!6220!6220fst : [o] --> o n!6220!6220head : [o] --> o n!6220!6220natsFrom : [o] --> o n!6220!6220nil : [] --> o n!6220!6220pair : [o * o] --> o n!6220!6220s : [o] --> o n!6220!6220sel : [o * o] --> o n!6220!6220snd : [o] --> o n!6220!6220splitAt : [o * o] --> o n!6220!6220tail : [o] --> o n!6220!6220take : [o * o] --> o natsFrom : [o] --> o nil : [] --> o pair : [o * o] --> o s : [o] --> o sel : [o * o] --> o snd : [o] --> o splitAt : [o * o] --> o tail : [o] --> o take : [o * o] --> o tt : [] --> o U101(tt, X, Y) => U102(isNaturalKind(activate(X)), activate(X), activate(Y)) U102(tt, X, Y) => U103(isLNatKind(activate(Y)), activate(X), activate(Y)) U103(tt, X, Y) => U104(isLNatKind(activate(Y)), activate(X), activate(Y)) U104(tt, X, Y) => U105(isNatural(activate(X)), activate(Y)) U105(tt, X) => U106(isLNat(activate(X))) U106(tt) => tt U11(tt, X, Y) => U12(isNaturalKind(activate(X)), activate(X), activate(Y)) U111(tt, X) => U112(isLNatKind(activate(X))) U112(tt) => tt U12(tt, X, Y) => U13(isLNat(activate(Y)), activate(X), activate(Y)) U121(tt, X) => U122(isLNatKind(activate(X))) U122(tt) => tt U13(tt, X, Y) => U14(isLNatKind(activate(Y)), activate(X), activate(Y)) U131(tt) => tt U14(tt, X, Y) => snd(splitAt(activate(X), activate(Y))) U141(tt) => tt U151(tt) => tt U161(tt) => tt U171(tt, X) => U172(isLNatKind(activate(X))) U172(tt) => tt U181(tt, X) => U182(isLNatKind(activate(X)), activate(X)) U182(tt, X) => U183(isLNat(activate(X))) U183(tt) => tt U191(tt, X) => U192(isNaturalKind(activate(X)), activate(X)) U192(tt, X) => U193(isNatural(activate(X))) U193(tt) => tt U201(tt, X, Y) => U202(isNaturalKind(activate(X)), activate(X), activate(Y)) U202(tt, X, Y) => U203(isLNatKind(activate(Y)), activate(X), activate(Y)) U203(tt, X, Y) => U204(isLNatKind(activate(Y)), activate(X), activate(Y)) U204(tt, X, Y) => U205(isNatural(activate(X)), activate(Y)) U205(tt, X) => U206(isLNat(activate(X))) U206(tt) => tt U21(tt, X, Y) => U22(isLNatKind(activate(X)), activate(X), activate(Y)) U211(tt) => tt U22(tt, X, Y) => U23(isLNat(activate(Y)), activate(X), activate(Y)) U221(tt) => tt U23(tt, X, Y) => U24(isLNatKind(activate(Y)), activate(X)) U231(tt, X) => U232(isLNatKind(activate(X))) U232(tt) => tt U24(tt, X) => activate(X) U241(tt, X, Y) => U242(isLNatKind(activate(X)), activate(X), activate(Y)) U242(tt, X, Y) => U243(isLNatKind(activate(Y)), activate(X), activate(Y)) U243(tt, X, Y) => U244(isLNatKind(activate(Y)), activate(X), activate(Y)) U244(tt, X, Y) => U245(isLNat(activate(X)), activate(Y)) U245(tt, X) => U246(isLNat(activate(X))) U246(tt) => tt U251(tt, X, Y) => U252(isNaturalKind(activate(X)), activate(X), activate(Y)) U252(tt, X, Y) => U253(isLNatKind(activate(Y)), activate(X), activate(Y)) U253(tt, X, Y) => U254(isLNatKind(activate(Y)), activate(X), activate(Y)) U254(tt, X, Y) => U255(isNatural(activate(X)), activate(Y)) U255(tt, X) => U256(isLNat(activate(X))) U256(tt) => tt U261(tt, X) => U262(isLNatKind(activate(X))) U262(tt) => tt U271(tt, X) => U272(isLNatKind(activate(X))) U272(tt) => tt U281(tt, X) => U282(isNaturalKind(activate(X)), activate(X)) U282(tt, X) => cons(activate(X), n!6220!6220natsFrom(n!6220!6220s(activate(X)))) U291(tt, X, Y) => U292(isNaturalKind(activate(X)), activate(X), activate(Y)) U292(tt, X, Y) => U293(isLNat(activate(Y)), activate(X), activate(Y)) U293(tt, X, Y) => U294(isLNatKind(activate(Y)), activate(X), activate(Y)) U294(tt, X, Y) => head(afterNth(activate(X), activate(Y))) U301(tt, X, Y) => U302(isLNatKind(activate(X)), activate(Y)) U302(tt, X) => U303(isLNat(activate(X)), activate(X)) U303(tt, X) => U304(isLNatKind(activate(X)), activate(X)) U304(tt, X) => activate(X) U31(tt, X, Y) => U32(isNaturalKind(activate(X)), activate(X), activate(Y)) U311(tt, X) => U312(isLNatKind(activate(X)), activate(X)) U312(tt, X) => pair(nil, activate(X)) U32(tt, X, Y) => U33(isLNat(activate(Y)), activate(X), activate(Y)) U321(tt, X, Y, Z) => U322(isNaturalKind(activate(X)), activate(X), activate(Y), activate(Z)) U322(tt, X, Y, Z) => U323(isNatural(activate(Y)), activate(X), activate(Y), activate(Z)) U323(tt, X, Y, Z) => U324(isNaturalKind(activate(Y)), activate(X), activate(Y), activate(Z)) U324(tt, X, Y, Z) => U325(isLNat(activate(Z)), activate(X), activate(Y), activate(Z)) U325(tt, X, Y, Z) => U326(isLNatKind(activate(Z)), activate(X), activate(Y), activate(Z)) U326(tt, X, Y, Z) => U327(splitAt(activate(X), activate(Z)), activate(Y)) U327(pair(X, Y), Z) => pair(cons(activate(Z), X), Y) U33(tt, X, Y) => U34(isLNatKind(activate(Y)), activate(X)) U331(tt, X, Y) => U332(isNaturalKind(activate(X)), activate(Y)) U332(tt, X) => U333(isLNat(activate(X)), activate(X)) U333(tt, X) => U334(isLNatKind(activate(X)), activate(X)) U334(tt, X) => activate(X) U34(tt, X) => activate(X) U341(tt, X, Y) => U342(isNaturalKind(activate(X)), activate(X), activate(Y)) U342(tt, X, Y) => U343(isLNat(activate(Y)), activate(X), activate(Y)) U343(tt, X, Y) => U344(isLNatKind(activate(Y)), activate(X), activate(Y)) U344(tt, X, Y) => fst(splitAt(activate(X), activate(Y))) U41(tt, X, Y) => U42(isNaturalKind(activate(X)), activate(X), activate(Y)) U42(tt, X, Y) => U43(isLNatKind(activate(Y)), activate(X), activate(Y)) U43(tt, X, Y) => U44(isLNatKind(activate(Y)), activate(X), activate(Y)) U44(tt, X, Y) => U45(isNatural(activate(X)), activate(Y)) U45(tt, X) => U46(isLNat(activate(X))) U46(tt) => tt U51(tt, X, Y) => U52(isNaturalKind(activate(X)), activate(X), activate(Y)) U52(tt, X, Y) => U53(isLNatKind(activate(Y)), activate(X), activate(Y)) U53(tt, X, Y) => U54(isLNatKind(activate(Y)), activate(X), activate(Y)) U54(tt, X, Y) => U55(isNatural(activate(X)), activate(Y)) U55(tt, X) => U56(isLNat(activate(X))) U56(tt) => tt U61(tt, X) => U62(isPLNatKind(activate(X)), activate(X)) U62(tt, X) => U63(isPLNat(activate(X))) U63(tt) => tt U71(tt, X) => U72(isNaturalKind(activate(X)), activate(X)) U72(tt, X) => U73(isNatural(activate(X))) U73(tt) => tt U81(tt, X) => U82(isPLNatKind(activate(X)), activate(X)) U82(tt, X) => U83(isPLNat(activate(X))) U83(tt) => tt U91(tt, X) => U92(isLNatKind(activate(X)), activate(X)) U92(tt, X) => U93(isLNat(activate(X))) U93(tt) => tt afterNth(X, Y) => U11(isNatural(X), X, Y) fst(pair(X, Y)) => U21(isLNat(X), X, Y) head(cons(X, Y)) => U31(isNatural(X), X, activate(Y)) isLNat(n!6220!6220nil) => tt isLNat(n!6220!6220afterNth(X, Y)) => U41(isNaturalKind(activate(X)), activate(X), activate(Y)) isLNat(n!6220!6220cons(X, Y)) => U51(isNaturalKind(activate(X)), activate(X), activate(Y)) isLNat(n!6220!6220fst(X)) => U61(isPLNatKind(activate(X)), activate(X)) isLNat(n!6220!6220natsFrom(X)) => U71(isNaturalKind(activate(X)), activate(X)) isLNat(n!6220!6220snd(X)) => U81(isPLNatKind(activate(X)), activate(X)) isLNat(n!6220!6220tail(X)) => U91(isLNatKind(activate(X)), activate(X)) isLNat(n!6220!6220take(X, Y)) => U101(isNaturalKind(activate(X)), activate(X), activate(Y)) isLNatKind(n!6220!6220nil) => tt isLNatKind(n!6220!6220afterNth(X, Y)) => U111(isNaturalKind(activate(X)), activate(Y)) isLNatKind(n!6220!6220cons(X, Y)) => U121(isNaturalKind(activate(X)), activate(Y)) isLNatKind(n!6220!6220fst(X)) => U131(isPLNatKind(activate(X))) isLNatKind(n!6220!6220natsFrom(X)) => U141(isNaturalKind(activate(X))) isLNatKind(n!6220!6220snd(X)) => U151(isPLNatKind(activate(X))) isLNatKind(n!6220!6220tail(X)) => U161(isLNatKind(activate(X))) isLNatKind(n!6220!6220take(X, Y)) => U171(isNaturalKind(activate(X)), activate(Y)) isNatural(n!6220!62200) => tt isNatural(n!6220!6220head(X)) => U181(isLNatKind(activate(X)), activate(X)) isNatural(n!6220!6220s(X)) => U191(isNaturalKind(activate(X)), activate(X)) isNatural(n!6220!6220sel(X, Y)) => U201(isNaturalKind(activate(X)), activate(X), activate(Y)) isNaturalKind(n!6220!62200) => tt isNaturalKind(n!6220!6220head(X)) => U211(isLNatKind(activate(X))) isNaturalKind(n!6220!6220s(X)) => U221(isNaturalKind(activate(X))) isNaturalKind(n!6220!6220sel(X, Y)) => U231(isNaturalKind(activate(X)), activate(Y)) isPLNat(n!6220!6220pair(X, Y)) => U241(isLNatKind(activate(X)), activate(X), activate(Y)) isPLNat(n!6220!6220splitAt(X, Y)) => U251(isNaturalKind(activate(X)), activate(X), activate(Y)) isPLNatKind(n!6220!6220pair(X, Y)) => U261(isLNatKind(activate(X)), activate(Y)) isPLNatKind(n!6220!6220splitAt(X, Y)) => U271(isNaturalKind(activate(X)), activate(Y)) natsFrom(X) => U281(isNatural(X), X) sel(X, Y) => U291(isNatural(X), X, Y) snd(pair(X, Y)) => U301(isLNat(X), X, Y) splitAt(0, X) => U311(isLNat(X), X) splitAt(s(X), cons(Y, Z)) => U321(isNatural(X), X, Y, activate(Z)) tail(cons(X, Y)) => U331(isNatural(X), X, activate(Y)) take(X, Y) => U341(isNatural(X), X, Y) natsFrom(X) => n!6220!6220natsFrom(X) s(X) => n!6220!6220s(X) nil => n!6220!6220nil afterNth(X, Y) => n!6220!6220afterNth(X, Y) cons(X, Y) => n!6220!6220cons(X, Y) fst(X) => n!6220!6220fst(X) snd(X) => n!6220!6220snd(X) tail(X) => n!6220!6220tail(X) take(X, Y) => n!6220!6220take(X, Y) 0 => n!6220!62200 head(X) => n!6220!6220head(X) sel(X, Y) => n!6220!6220sel(X, Y) pair(X, Y) => n!6220!6220pair(X, Y) splitAt(X, Y) => n!6220!6220splitAt(X, Y) activate(n!6220!6220natsFrom(X)) => natsFrom(activate(X)) activate(n!6220!6220s(X)) => s(activate(X)) activate(n!6220!6220nil) => nil activate(n!6220!6220afterNth(X, Y)) => afterNth(activate(X), activate(Y)) activate(n!6220!6220cons(X, Y)) => cons(activate(X), Y) activate(n!6220!6220fst(X)) => fst(activate(X)) activate(n!6220!6220snd(X)) => snd(activate(X)) activate(n!6220!6220tail(X)) => tail(activate(X)) activate(n!6220!6220take(X, Y)) => take(activate(X), activate(Y)) activate(n!6220!62200) => 0 activate(n!6220!6220head(X)) => head(activate(X)) activate(n!6220!6220sel(X, Y)) => sel(activate(X), activate(Y)) activate(n!6220!6220pair(X, Y)) => pair(activate(X), activate(Y)) activate(n!6220!6220splitAt(X, Y)) => splitAt(activate(X), activate(Y)) activate(X) => X