/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 append : [o * o] --> o cons : [o * o] --> o eq : [o * o] --> o false : [] --> o ge : [o * o] --> o help : [o * o * o * o] --> o if : [o * o * o * o * o] --> o length : [o] --> o nil : [] --> o rev : [o] --> o s : [o] --> o true : [] --> o ge(X, 0) => true ge(0, s(X)) => false ge(s(X), s(Y)) => ge(X, Y) rev(X) => if(X, eq(0, length(X)), nil, 0, length(X)) if(X, true, Y, Z, U) => Y if(X, false, Y, Z, U) => help(s(Z), U, X, Y) help(X, Y, cons(Z, U), V) => if(append(U, cons(Z, nil)), ge(X, Y), cons(Z, V), X, Y) append(nil, X) => X append(cons(X, Y), Z) => cons(X, append(Y, Z)) length(nil) => 0 length(cons(X, Y)) => s(length(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 : [] --> be append : [be * be] --> be cons : [be * be] --> be eq : [be * be] --> tc false : [] --> tc ge : [be * be] --> tc help : [be * be * be * be] --> be if : [be * tc * be * be * be] --> be length : [be] --> be nil : [] --> be rev : [be] --> be s : [be] --> be true : [] --> tc +++ 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.