/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 a : [] --> o app : [o * o] --> o append : [o * o] --> o averIter : [o * o * o] --> o average : [o * o] --> o b : [] --> o c : [] --> o cons : [o * o] --> o error : [] --> o false : [] --> o ge : [o * o] --> o head : [o] --> o high : [o * o] --> o if : [o * o * o] --> o if!6220high : [o * o * o] --> o if!6220low : [o * o * o] --> o ifIter : [o * o * o * o] --> o ifquick : [o * o] --> o isempty : [o] --> o low : [o * o] --> o nil : [] --> o plus : [o * o] --> o quicksort : [o] --> o s : [o] --> o tail : [o] --> o true : [] --> o average(X, Y) => if(ge(X, Y), X, Y) if(true, X, Y) => averIter(Y, X, Y) if(false, X, Y) => averIter(X, Y, X) averIter(X, Y, Z) => ifIter(ge(X, Y), X, Y, Z) ifIter(true, X, Y, Z) => Z ifIter(false, X, Y, Z) => averIter(plus(X, s(s(s(0)))), plus(Y, s(0)), plus(Z, s(0))) append(nil, X) => X append(cons(X, Y), Z) => cons(X, app(Y, Z)) low(X, nil) => nil low(X, cons(Y, Z)) => if!6220low(ge(Y, X), X, cons(Y, Z)) if!6220low(false, X, cons(Y, Z)) => cons(Y, low(X, Z)) if!6220low(true, X, cons(Y, Z)) => low(X, Z) high(X, nil) => nil high(X, cons(Y, Z)) => if!6220high(ge(Y, X), X, cons(Y, Z)) if!6220high(false, X, cons(Y, Z)) => high(X, Z) if!6220high(true, X, cons(Y, Z)) => cons(average(Y, Y), high(X, Z)) quicksort(X) => ifquick(isempty(X), X) ifquick(true, X) => nil ifquick(false, X) => append(quicksort(low(head(X), tail(X))), cons(tail(X), quicksort(high(head(X), tail(X))))) plus(0, X) => X plus(s(X), Y) => s(plus(X, Y)) isempty(nil) => true isempty(cons(X, Y)) => false head(nil) => error head(cons(X, Y)) => X tail(nil) => nil tail(cons(X, Y)) => Y ge(X, 0) => true ge(0, s(X)) => false ge(s(X), s(Y)) => ge(X, Y) a => b a => c