/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 div : [o * o] --> o divByZeroError : [] --> o false : [] --> o ge : [o * o] --> o if : [o * o * o] --> o ify : [o * o * o] --> o minus : [o * o] --> o plus : [o * o] --> o s : [o] --> o true : [] --> o ge(0, 0) => true ge(s(X), 0) => ge(X, 0) ge(0, s(0)) => false ge(0, s(s(X))) => ge(0, s(X)) ge(s(X), s(Y)) => ge(X, Y) minus(0, 0) => 0 minus(0, s(X)) => minus(0, X) minus(s(X), 0) => s(minus(X, 0)) minus(s(X), s(Y)) => minus(X, Y) plus(0, 0) => 0 plus(0, s(X)) => s(plus(0, X)) plus(s(X), Y) => s(plus(X, Y)) div(X, Y) => ify(ge(Y, s(0)), X, Y) ify(false, X, Y) => divByZeroError ify(true, X, Y) => if(ge(X, Y), X, Y) if(false, X, Y) => 0 if(true, X, Y) => s(div(minus(X, Y), Y)) As the system is orthogonal, it is terminating if it is innermost terminating by [Gra95]. Then, by [FuhGieParSchSwi11], it suffices to prove (innermost) termination of the typed system, with sort annotations chosen to respect the rules, as follows: 0 : [] --> jf div : [jf * jf] --> jf divByZeroError : [] --> jf false : [] --> pe ge : [jf * jf] --> pe if : [pe * jf * jf] --> jf ify : [pe * jf * jf] --> jf minus : [jf * jf] --> jf plus : [jf * jf] --> jf s : [jf] --> jf true : [] --> pe +++ Citations +++ [FuhGieParSchSwi11] C. Fuhs, J. Giesl, M. Parting, P. Schneider-Kamp, and S. Swiderski. Proving Termination by Dependency Pairs and Inductive Theorem Proving. In volume 47(2) of Journal of Automated Reasoning. 133--160, 2011. [Gra95] B. Gramlich. Abstract Relations Between Restricted Termination and Confluence Properties of Rewrite Systems. In volume 24(1-2) of Fundamentae Informaticae. 3--23, 1995.