/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 U11 : [o * o * o * o] --> o U12 : [o * o] --> o a!6220!6220U11 : [o * o * o * o] --> o a!6220!6220U12 : [o * o] --> o a!6220!6220afterNth : [o * o] --> o a!6220!6220and : [o * o] --> o a!6220!6220fst : [o] --> o a!6220!6220head : [o] --> o a!6220!6220natsFrom : [o] --> o a!6220!6220sel : [o * o] --> o a!6220!6220snd : [o] --> o a!6220!6220splitAt : [o * o] --> o a!6220!6220tail : [o] --> o a!6220!6220take : [o * o] --> o afterNth : [o * o] --> o and : [o * o] --> o cons : [o * o] --> o fst : [o] --> o head : [o] --> o mark : [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 a!6220!6220U11(tt, X, Y, Z) => a!6220!6220U12(a!6220!6220splitAt(mark(X), mark(Z)), Y) a!6220!6220U12(pair(X, Y), Z) => pair(cons(mark(Z), X), mark(Y)) a!6220!6220afterNth(X, Y) => a!6220!6220snd(a!6220!6220splitAt(mark(X), mark(Y))) a!6220!6220and(tt, X) => mark(X) a!6220!6220fst(pair(X, Y)) => mark(X) a!6220!6220head(cons(X, Y)) => mark(X) a!6220!6220natsFrom(X) => cons(mark(X), natsFrom(s(X))) a!6220!6220sel(X, Y) => a!6220!6220head(a!6220!6220afterNth(mark(X), mark(Y))) a!6220!6220snd(pair(X, Y)) => mark(Y) a!6220!6220splitAt(0, X) => pair(nil, mark(X)) a!6220!6220splitAt(s(X), cons(Y, Z)) => a!6220!6220U11(tt, X, Y, Z) a!6220!6220tail(cons(X, Y)) => mark(Y) a!6220!6220take(X, Y) => a!6220!6220fst(a!6220!6220splitAt(mark(X), mark(Y))) mark(U11(X, Y, Z, U)) => a!6220!6220U11(mark(X), Y, Z, U) mark(U12(X, Y)) => a!6220!6220U12(mark(X), Y) mark(splitAt(X, Y)) => a!6220!6220splitAt(mark(X), mark(Y)) mark(afterNth(X, Y)) => a!6220!6220afterNth(mark(X), mark(Y)) mark(snd(X)) => a!6220!6220snd(mark(X)) mark(and(X, Y)) => a!6220!6220and(mark(X), Y) mark(fst(X)) => a!6220!6220fst(mark(X)) mark(head(X)) => a!6220!6220head(mark(X)) mark(natsFrom(X)) => a!6220!6220natsFrom(mark(X)) mark(sel(X, Y)) => a!6220!6220sel(mark(X), mark(Y)) mark(tail(X)) => a!6220!6220tail(mark(X)) mark(take(X, Y)) => a!6220!6220take(mark(X), mark(Y)) mark(tt) => tt mark(pair(X, Y)) => pair(mark(X), mark(Y)) mark(cons(X, Y)) => cons(mark(X), Y) mark(s(X)) => s(mark(X)) mark(0) => 0 mark(nil) => nil a!6220!6220U11(X, Y, Z, U) => U11(X, Y, Z, U) a!6220!6220U12(X, Y) => U12(X, Y) a!6220!6220splitAt(X, Y) => splitAt(X, Y) a!6220!6220afterNth(X, Y) => afterNth(X, Y) a!6220!6220snd(X) => snd(X) a!6220!6220and(X, Y) => and(X, Y) a!6220!6220fst(X) => fst(X) a!6220!6220head(X) => head(X) a!6220!6220natsFrom(X) => natsFrom(X) a!6220!6220sel(X, Y) => sel(X, Y) a!6220!6220tail(X) => tail(X) a!6220!6220take(X, Y) => take(X, Y)