/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 baseError : [] --> o false : [] --> o if : [o * o * o * o * o] --> o le : [o * o] --> o log : [o * o] --> o logZeroError : [] --> o loop : [o * o * o * o] --> o plus : [o * o] --> o s : [o] --> o times : [o * o] --> o true : [] --> o le(s(X), 0) => false le(0, X) => true le(s(X), s(Y)) => le(X, Y) plus(0, X) => X plus(s(X), Y) => s(plus(X, Y)) times(0, X) => 0 times(s(X), Y) => plus(Y, times(X, Y)) log(X, 0) => baseError log(X, s(0)) => baseError log(0, s(s(X))) => logZeroError log(s(X), s(s(Y))) => loop(s(X), s(s(Y)), s(0), 0) loop(X, s(s(Y)), s(Z), U) => if(le(X, s(Z)), X, s(s(Y)), s(Z), U) if(true, X, Y, Z, U) => U if(false, X, Y, Z, U) => loop(X, Y, times(Y, Z), s(U)) 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 : [] --> ze baseError : [] --> ze false : [] --> ud if : [ud * ze * ze * ze * ze] --> ze le : [ze * ze] --> ud log : [ze * ze] --> ze logZeroError : [] --> ze loop : [ze * ze * ze * ze] --> ze plus : [ze * ze] --> ze s : [ze] --> ze times : [ze * ze] --> ze true : [] --> ud +++ 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.