/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 b : [] --> o c : [] --> o false : [] --> o gcd : [o * o] --> o gcd2 : [o * o * o] --> o if1 : [o * o * o * o * o * o * o] --> o if2 : [o * o * o * o * o * o] --> o if3 : [o * o * o * o * o] --> o if4 : [o * o * o * o] --> o inc : [o] --> o le : [o * o] --> o minus : [o * o] --> o neededIterations : [o] --> o pair : [o * o] --> o result : [o] --> o s : [o] --> o true : [] --> o gcd(X, Y) => gcd2(X, Y, 0) gcd2(X, Y, Z) => if1(le(X, 0), le(Y, 0), le(X, Y), le(Y, X), X, Y, inc(Z)) if1(true, X, Y, Z, U, V, W) => pair(result(V), neededIterations(W)) if1(false, X, Y, Z, U, V, W) => if2(X, Y, Z, U, V, W) if2(true, X, Y, Z, U, V) => pair(result(Z), neededIterations(V)) if2(false, X, Y, Z, U, V) => if3(X, Y, Z, U, V) if3(false, X, Y, Z, U) => gcd2(minus(Y, Z), Z, U) if3(true, X, Y, Z, U) => if4(X, Y, Z, U) if4(false, X, Y, Z) => gcd2(X, minus(Y, X), Z) if4(true, X, Y, Z) => pair(result(X), neededIterations(Z)) inc(0) => 0 inc(s(X)) => s(inc(X)) le(s(X), 0) => false le(0, X) => true le(s(X), s(Y)) => le(X, Y) minus(X, 0) => X minus(0, X) => 0 minus(s(X), s(Y)) => minus(X, Y) a => b a => c