/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 1 : [] --> o c : [] --> o d : [] --> o f0 : [o * o * o] --> o f1 : [o * o * o] --> o f2 : [o * o * o] --> o false : [] --> o ge : [o * o] --> o ifPlus : [o * o * o] --> o ifTimes : [o * o * o * o * o] --> o inc : [o] --> o isZero : [o] --> o p : [o] --> o plus : [o * o] --> o s : [o] --> o times : [o * o] --> o timesIter : [o * o * o * o] --> o true : [] --> o plus(X, Y) => ifPlus(isZero(X), X, inc(Y)) ifPlus(true, X, Y) => p(Y) ifPlus(false, X, Y) => plus(p(X), Y) times(X, Y) => timesIter(0, X, Y, 0) timesIter(X, Y, Z, U) => ifTimes(ge(X, Y), X, Y, Z, U) ifTimes(true, X, Y, Z, U) => U ifTimes(false, X, Y, Z, U) => timesIter(inc(X), Y, Z, plus(U, Z)) isZero(0) => true isZero(s(0)) => false isZero(s(s(X))) => isZero(s(X)) inc(0) => s(0) inc(s(X)) => s(inc(X)) inc(X) => s(X) p(0) => 0 p(s(X)) => X p(s(s(X))) => s(p(s(X))) ge(X, 0) => true ge(0, s(X)) => false ge(s(X), s(Y)) => ge(X, Y) f0(0, X, Y) => f1(Y, X, Y) f1(X, Y, Z) => f2(X, Y, Z) f2(X, 1, Y) => f0(X, Y, Y) f0(X, Y, Z) => d f1(X, Y, Z) => c