/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. !770!870 : [o * o] --> o !dot : [o * o] --> o 0 : [] --> o bsort : [o] --> o bubble : [o] --> o butlast : [o] --> o if : [o * o * o] --> o last : [o] --> o nil : [] --> o bsort(nil) => nil bsort(!dot(X, Y)) => last(!dot(bubble(!dot(X, Y)), bsort(butlast(bubble(!dot(X, Y)))))) bubble(nil) => nil bubble(!dot(X, nil)) => !dot(X, nil) bubble(!dot(X, !dot(Y, Z))) => if(!770!870(X, Y), !dot(Y, bubble(!dot(X, Z))), !dot(X, bubble(!dot(Y, Z)))) last(nil) => 0 last(!dot(X, nil)) => X last(!dot(X, !dot(Y, Z))) => last(!dot(Y, Z)) butlast(nil) => nil butlast(!dot(X, nil)) => nil butlast(!dot(X, !dot(Y, Z))) => !dot(X, butlast(!dot(Y, Z))) 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: !770!870 : [rd * rd] --> lb !dot : [rd * rd] --> rd 0 : [] --> rd bsort : [rd] --> rd bubble : [rd] --> rd butlast : [rd] --> rd if : [lb * rd * rd] --> rd last : [rd] --> rd nil : [] --> rd +++ 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.