/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 app : [o * o] --> o cons : [o * o] --> o false : [] --> o gt : [o * o] --> o id : [o] --> o if : [o * o * o] --> o minus : [o * o] --> o nil : [] --> o not : [o] --> o plus : [o * o] --> o quot : [o * o] --> o s : [o] --> o sum : [o] --> o true : [] --> o zero : [] --> o minus(X, 0) => X minus(s(X), s(Y)) => minus(X, Y) quot(0, s(X)) => 0 quot(s(X), s(Y)) => s(quot(minus(X, Y), s(Y))) plus(0, X) => X plus(s(X), Y) => s(plus(X, Y)) minus(minus(X, Y), Z) => minus(X, plus(Y, Z)) app(nil, X) => X app(X, nil) => X app(cons(X, Y), Z) => cons(X, app(Y, Z)) sum(cons(X, nil)) => cons(X, nil) sum(cons(X, cons(Y, Z))) => sum(cons(plus(X, Y), Z)) sum(app(X, cons(Y, cons(Z, U)))) => sum(app(X, sum(cons(Y, cons(Z, U))))) plus(s(X), s(Y)) => s(s(plus(if(gt(X, Y), X, Y), if(not(gt(X, Y)), id(X), id(Y))))) plus(s(X), X) => plus(if(gt(X, X), id(X), id(X)), s(X)) plus(zero, X) => X plus(id(X), s(Y)) => s(plus(X, if(gt(s(Y), Y), Y, s(Y)))) id(X) => X if(true, X, Y) => X if(false, X, Y) => Y not(X) => if(X, false, true) gt(s(X), zero) => true gt(zero, X) => false gt(s(X), s(Y)) => gt(X, Y)