/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. !plus : [o * o] --> o 0 : [] --> o J1 : [o * o] --> o J2 : [o * o * o] --> o M : [o * o * o] --> o P : [o * o * o] --> o Q11 : [o * o] --> o Q21 : [o * o * o] --> o Q22 : [o * o * o] --> o R1 : [o * o * o] --> o R2 : [o * o * o * o] --> o S : [o] --> o a : [o] --> o l : [o] --> o o : [o] --> o a(X) => X o(X) => X l(X) => X S(X) => X !plus(X, Y) => Y !plus(X, Y) => X P(X, Y, Z) => Z P(X, Y, Z) => Y P(X, Y, Z) => X M(X, Y, Z) => Z M(X, Y, Z) => Y M(X, Y, Z) => X J1(X, Y) => Y J1(X, Y) => X J2(X, Y, Z) => Z J2(X, Y, Z) => Y J2(X, Y, Z) => X Q11(X, Y) => Y Q11(X, Y) => X Q21(X, Y, Z) => Z Q21(X, Y, Z) => Y Q21(X, Y, Z) => X Q22(X, Y, Z) => Z Q22(X, Y, Z) => Y Q22(X, Y, Z) => X R1(X, Y, Z) => Z R1(X, Y, Z) => Y R1(X, Y, Z) => X R2(X, Y, Z, U) => U R2(X, Y, Z, U) => Z R2(X, Y, Z, U) => Y R2(X, Y, Z, U) => X P(0, 0, 0) => S(0) !plus(X, S(Y)) => S(!plus(X, Y)) a(l(X)) => l(a(a(X))) l(o(X)) => o(l(l(X))) o(X) => l(X) l(X) => a(X) a(S(X)) => S(l(X)) a(!plus(X, Y)) => !plus(l(X), Y) a(!plus(X, Y)) => !plus(X, l(Y)) a(P(X, Y, Z)) => P(X, Y, l(Z)) a(P(X, Y, Z)) => P(X, l(Y), Z) a(P(X, Y, Z)) => P(l(X), Y, Z) !plus(X, o(Y)) => o(!plus(X, Y)) P(X, Y, o(Z)) => o(P(X, Y, Z)) P(X, o(Y), Z) => o(P(X, Y, Z)) P(o(X), Y, Z) => o(P(X, Y, Z)) M(X, Y, l(Z)) => !plus(M(X, Y, Z), P(X, Y, Z)) J2(X, l(Y), Z) => P(X, J2(X, Y, Z), 0) J1(l(X), Y) => P(J1(X, Y), 0, 0) a(S(X)) => o(X) P(0, 0, S(X)) => o(M(0, 0, X)) P(0, 0, P(X, Y, Z)) => o(M(X, Y, Z)) P(X, S(Y), Z) => o(J2(X, Y, Z)) P(S(X), 0, Y) => o(J1(X, Y)) P(X, S(Y), S(Z)) => o(J2(X, Y, P(X, S(Y), Z))) P(S(X), 0, S(Y)) => o(J1(X, P(S(X), 0, Y))) a(P(X, Y, 0)) => Q22(X, a(Y), Y) a(P(X, Y, 0)) => Q21(X, a(Y), X) a(P(X, 0, 0)) => Q11(a(X), X) Q22(X, o(Y), Z) => o(P(X, Y, Z)) Q21(X, o(Y), Z) => o(P(X, Y, Z)) Q11(o(X), Y) => o(P(X, 0, Y)) a(P(X, Y, S(Z))) => R2(X, a(Y), Y, Z) a(P(X, 0, S(Y))) => R1(a(X), X, Y) R2(X, o(Y), Z, U) => o(P(X, Y, P(X, Z, U))) R1(o(X), Y, Z) => o(P(X, 0, P(Y, 0, Z)))