/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 count : [o * o] --> o empty : [] --> o false : [] --> o if : [o * o * o * o * o * o] --> o inc : [o] --> o isEmpty : [o] --> o left : [o] --> o node : [o * o] --> o nrOfNodes : [o] --> o right : [o] --> o s : [o] --> o true : [] --> o isEmpty(empty) => true isEmpty(node(X, Y)) => false left(empty) => empty left(node(X, Y)) => X right(empty) => empty right(node(X, Y)) => Y inc(0) => s(0) inc(s(X)) => s(inc(X)) count(X, Y) => if(isEmpty(X), isEmpty(left(X)), right(X), node(left(left(X)), node(right(left(X)), right(X))), Y, inc(Y)) if(true, X, Y, Z, U, V) => U if(false, false, X, Y, Z, U) => count(Y, Z) if(false, true, X, Y, Z, U) => count(X, U) nrOfNodes(X) => count(X, 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 : [] --> fe count : [xc * fe] --> fe empty : [] --> xc false : [] --> uc if : [uc * uc * xc * xc * fe * fe] --> fe inc : [fe] --> fe isEmpty : [xc] --> uc left : [xc] --> xc node : [xc * xc] --> xc nrOfNodes : [xc] --> fe right : [xc] --> xc s : [fe] --> fe true : [] --> uc +++ 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.