/export/starexec/sandbox2/solver/bin/starexec_run_FirstOrder /export/starexec/sandbox2/benchmark/theBenchmark.xml /export/starexec/sandbox2/output/output_files -------------------------------------------------------------------------------- MAYBE We consider the system theBenchmark. We are asked to determine termination of the following first-order TRS. add : [o * o] --> o app : [o * o] --> o false : [] --> o head : [o] --> o if : [o * o * o * o] --> o nil : [] --> o null : [o] --> o reverse : [o] --> o shuff : [o * o] --> o shuffle : [o] --> o tail : [o] --> o true : [] --> o null(nil) => true null(add(X, Y)) => false tail(add(X, Y)) => Y tail(nil) => nil head(add(X, Y)) => X app(nil, X) => X app(add(X, Y), Z) => add(X, app(Y, Z)) reverse(nil) => nil reverse(add(X, Y)) => app(reverse(Y), add(X, nil)) shuffle(X) => shuff(X, nil) shuff(X, Y) => if(null(X), X, Y, app(Y, add(head(X), nil))) if(true, X, Y, Z) => Y if(false, X, Y, Z) => shuff(reverse(tail(X)), 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: add : [wc * td] --> td app : [td * td] --> td false : [] --> rc head : [td] --> wc if : [rc * td * td * td] --> td nil : [] --> td null : [td] --> rc reverse : [td] --> td shuff : [td * td] --> td shuffle : [td] --> td tail : [td] --> td true : [] --> rc +++ 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.