/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 false : [] --> o if : [o * o * o * o * o] --> o if2 : [o * o * o * o * o] --> o le : [o * o] --> o mod : [o * o] --> o modIter : [o * o * o * o] --> o modZeroErro : [] --> o s : [o] --> o true : [] --> o le(0, X) => true le(s(X), 0) => false le(s(X), s(Y)) => le(X, Y) mod(X, 0) => modZeroErro mod(X, s(Y)) => modIter(X, s(Y), 0, 0) modIter(X, s(Y), Z, U) => if(le(X, Z), X, s(Y), Z, U) if(true, X, Y, Z, U) => U if(false, X, Y, Z, U) => if2(le(Y, s(U)), X, Y, s(Z), s(U)) if2(false, X, Y, Z, U) => modIter(X, Y, Z, U) if2(true, X, Y, Z, U) => modIter(X, Y, Z, 0) 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 : [] --> ud false : [] --> pc if : [pc * ud * ud * ud * ud] --> ud if2 : [pc * ud * ud * ud * ud] --> ud le : [ud * ud] --> pc mod : [ud * ud] --> ud modIter : [ud * ud * ud * ud] --> ud modZeroErro : [] --> ud s : [ud] --> ud true : [] --> pc +++ 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.