/export/starexec/sandbox/solver/bin/starexec_run_standard /export/starexec/sandbox/benchmark/theBenchmark.xml /export/starexec/sandbox/output/output_files -------------------------------------------------------------------------------- NO proof of /export/starexec/sandbox/benchmark/theBenchmark.xml # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty Termination w.r.t. Q of the given QTRS could be disproven: (0) QTRS (1) DependencyPairsProof [EQUIVALENT, 10 ms] (2) QDP (3) DependencyGraphProof [EQUIVALENT, 0 ms] (4) QDP (5) TransformationProof [EQUIVALENT, 0 ms] (6) QDP (7) TransformationProof [EQUIVALENT, 0 ms] (8) QDP (9) DependencyGraphProof [EQUIVALENT, 0 ms] (10) QDP (11) TransformationProof [EQUIVALENT, 0 ms] (12) QDP (13) DependencyGraphProof [EQUIVALENT, 0 ms] (14) QDP (15) TransformationProof [EQUIVALENT, 0 ms] (16) QDP (17) NonTerminationLoopProof [COMPLETE, 2 ms] (18) NO ---------------------------------------- (0) Obligation: Q restricted rewrite system: The TRS R consists of the following rules: from(X) -> cons(X, n__from(s(X))) length(n__nil) -> 0 length(n__cons(X, Y)) -> s(length1(activate(Y))) length1(X) -> length(activate(X)) from(X) -> n__from(X) nil -> n__nil cons(X1, X2) -> n__cons(X1, X2) activate(n__from(X)) -> from(X) activate(n__nil) -> nil activate(n__cons(X1, X2)) -> cons(X1, X2) activate(X) -> X Q is empty. ---------------------------------------- (1) DependencyPairsProof (EQUIVALENT) Using Dependency Pairs [AG00,LPAR04] we result in the following initial DP problem. ---------------------------------------- (2) Obligation: Q DP problem: The TRS P consists of the following rules: FROM(X) -> CONS(X, n__from(s(X))) LENGTH(n__cons(X, Y)) -> LENGTH1(activate(Y)) LENGTH(n__cons(X, Y)) -> ACTIVATE(Y) LENGTH1(X) -> LENGTH(activate(X)) LENGTH1(X) -> ACTIVATE(X) ACTIVATE(n__from(X)) -> FROM(X) ACTIVATE(n__nil) -> NIL ACTIVATE(n__cons(X1, X2)) -> CONS(X1, X2) The TRS R consists of the following rules: from(X) -> cons(X, n__from(s(X))) length(n__nil) -> 0 length(n__cons(X, Y)) -> s(length1(activate(Y))) length1(X) -> length(activate(X)) from(X) -> n__from(X) nil -> n__nil cons(X1, X2) -> n__cons(X1, X2) activate(n__from(X)) -> from(X) activate(n__nil) -> nil activate(n__cons(X1, X2)) -> cons(X1, X2) activate(X) -> X Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (3) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 6 less nodes. ---------------------------------------- (4) Obligation: Q DP problem: The TRS P consists of the following rules: LENGTH(n__cons(X, Y)) -> LENGTH1(activate(Y)) LENGTH1(X) -> LENGTH(activate(X)) The TRS R consists of the following rules: from(X) -> cons(X, n__from(s(X))) length(n__nil) -> 0 length(n__cons(X, Y)) -> s(length1(activate(Y))) length1(X) -> length(activate(X)) from(X) -> n__from(X) nil -> n__nil cons(X1, X2) -> n__cons(X1, X2) activate(n__from(X)) -> from(X) activate(n__nil) -> nil activate(n__cons(X1, X2)) -> cons(X1, X2) activate(X) -> X Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (5) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule LENGTH1(X) -> LENGTH(activate(X)) at position [0] we obtained the following new rules [LPAR04]: (LENGTH1(n__from(x0)) -> LENGTH(from(x0)),LENGTH1(n__from(x0)) -> LENGTH(from(x0))) (LENGTH1(n__nil) -> LENGTH(nil),LENGTH1(n__nil) -> LENGTH(nil)) (LENGTH1(n__cons(x0, x1)) -> LENGTH(cons(x0, x1)),LENGTH1(n__cons(x0, x1)) -> LENGTH(cons(x0, x1))) (LENGTH1(x0) -> LENGTH(x0),LENGTH1(x0) -> LENGTH(x0)) ---------------------------------------- (6) Obligation: Q DP problem: The TRS P consists of the following rules: LENGTH(n__cons(X, Y)) -> LENGTH1(activate(Y)) LENGTH1(n__from(x0)) -> LENGTH(from(x0)) LENGTH1(n__nil) -> LENGTH(nil) LENGTH1(n__cons(x0, x1)) -> LENGTH(cons(x0, x1)) LENGTH1(x0) -> LENGTH(x0) The TRS R consists of the following rules: from(X) -> cons(X, n__from(s(X))) length(n__nil) -> 0 length(n__cons(X, Y)) -> s(length1(activate(Y))) length1(X) -> length(activate(X)) from(X) -> n__from(X) nil -> n__nil cons(X1, X2) -> n__cons(X1, X2) activate(n__from(X)) -> from(X) activate(n__nil) -> nil activate(n__cons(X1, X2)) -> cons(X1, X2) activate(X) -> X Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (7) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule LENGTH1(n__from(x0)) -> LENGTH(from(x0)) at position [0] we obtained the following new rules [LPAR04]: (LENGTH1(n__from(x0)) -> LENGTH(cons(x0, n__from(s(x0)))),LENGTH1(n__from(x0)) -> LENGTH(cons(x0, n__from(s(x0))))) (LENGTH1(n__from(x0)) -> LENGTH(n__from(x0)),LENGTH1(n__from(x0)) -> LENGTH(n__from(x0))) ---------------------------------------- (8) Obligation: Q DP problem: The TRS P consists of the following rules: LENGTH(n__cons(X, Y)) -> LENGTH1(activate(Y)) LENGTH1(n__nil) -> LENGTH(nil) LENGTH1(n__cons(x0, x1)) -> LENGTH(cons(x0, x1)) LENGTH1(x0) -> LENGTH(x0) LENGTH1(n__from(x0)) -> LENGTH(cons(x0, n__from(s(x0)))) LENGTH1(n__from(x0)) -> LENGTH(n__from(x0)) The TRS R consists of the following rules: from(X) -> cons(X, n__from(s(X))) length(n__nil) -> 0 length(n__cons(X, Y)) -> s(length1(activate(Y))) length1(X) -> length(activate(X)) from(X) -> n__from(X) nil -> n__nil cons(X1, X2) -> n__cons(X1, X2) activate(n__from(X)) -> from(X) activate(n__nil) -> nil activate(n__cons(X1, X2)) -> cons(X1, X2) activate(X) -> X Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (9) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (10) Obligation: Q DP problem: The TRS P consists of the following rules: LENGTH1(n__nil) -> LENGTH(nil) LENGTH(n__cons(X, Y)) -> LENGTH1(activate(Y)) LENGTH1(n__cons(x0, x1)) -> LENGTH(cons(x0, x1)) LENGTH1(x0) -> LENGTH(x0) LENGTH1(n__from(x0)) -> LENGTH(cons(x0, n__from(s(x0)))) The TRS R consists of the following rules: from(X) -> cons(X, n__from(s(X))) length(n__nil) -> 0 length(n__cons(X, Y)) -> s(length1(activate(Y))) length1(X) -> length(activate(X)) from(X) -> n__from(X) nil -> n__nil cons(X1, X2) -> n__cons(X1, X2) activate(n__from(X)) -> from(X) activate(n__nil) -> nil activate(n__cons(X1, X2)) -> cons(X1, X2) activate(X) -> X Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (11) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule LENGTH1(n__nil) -> LENGTH(nil) at position [0] we obtained the following new rules [LPAR04]: (LENGTH1(n__nil) -> LENGTH(n__nil),LENGTH1(n__nil) -> LENGTH(n__nil)) ---------------------------------------- (12) Obligation: Q DP problem: The TRS P consists of the following rules: LENGTH(n__cons(X, Y)) -> LENGTH1(activate(Y)) LENGTH1(n__cons(x0, x1)) -> LENGTH(cons(x0, x1)) LENGTH1(x0) -> LENGTH(x0) LENGTH1(n__from(x0)) -> LENGTH(cons(x0, n__from(s(x0)))) LENGTH1(n__nil) -> LENGTH(n__nil) The TRS R consists of the following rules: from(X) -> cons(X, n__from(s(X))) length(n__nil) -> 0 length(n__cons(X, Y)) -> s(length1(activate(Y))) length1(X) -> length(activate(X)) from(X) -> n__from(X) nil -> n__nil cons(X1, X2) -> n__cons(X1, X2) activate(n__from(X)) -> from(X) activate(n__nil) -> nil activate(n__cons(X1, X2)) -> cons(X1, X2) activate(X) -> X Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (13) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (14) Obligation: Q DP problem: The TRS P consists of the following rules: LENGTH1(n__cons(x0, x1)) -> LENGTH(cons(x0, x1)) LENGTH(n__cons(X, Y)) -> LENGTH1(activate(Y)) LENGTH1(x0) -> LENGTH(x0) LENGTH1(n__from(x0)) -> LENGTH(cons(x0, n__from(s(x0)))) The TRS R consists of the following rules: from(X) -> cons(X, n__from(s(X))) length(n__nil) -> 0 length(n__cons(X, Y)) -> s(length1(activate(Y))) length1(X) -> length(activate(X)) from(X) -> n__from(X) nil -> n__nil cons(X1, X2) -> n__cons(X1, X2) activate(n__from(X)) -> from(X) activate(n__nil) -> nil activate(n__cons(X1, X2)) -> cons(X1, X2) activate(X) -> X Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (15) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule LENGTH1(n__cons(x0, x1)) -> LENGTH(cons(x0, x1)) at position [0] we obtained the following new rules [LPAR04]: (LENGTH1(n__cons(x0, x1)) -> LENGTH(n__cons(x0, x1)),LENGTH1(n__cons(x0, x1)) -> LENGTH(n__cons(x0, x1))) ---------------------------------------- (16) Obligation: Q DP problem: The TRS P consists of the following rules: LENGTH(n__cons(X, Y)) -> LENGTH1(activate(Y)) LENGTH1(x0) -> LENGTH(x0) LENGTH1(n__from(x0)) -> LENGTH(cons(x0, n__from(s(x0)))) LENGTH1(n__cons(x0, x1)) -> LENGTH(n__cons(x0, x1)) The TRS R consists of the following rules: from(X) -> cons(X, n__from(s(X))) length(n__nil) -> 0 length(n__cons(X, Y)) -> s(length1(activate(Y))) length1(X) -> length(activate(X)) from(X) -> n__from(X) nil -> n__nil cons(X1, X2) -> n__cons(X1, X2) activate(n__from(X)) -> from(X) activate(n__nil) -> nil activate(n__cons(X1, X2)) -> cons(X1, X2) activate(X) -> X Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (17) NonTerminationLoopProof (COMPLETE) We used the non-termination processor [FROCOS05] to show that the DP problem is infinite. Found a loop by narrowing to the left: s = LENGTH1(activate(n__from(x0))) evaluates to t =LENGTH1(activate(n__from(s(x0)))) Thus s starts an infinite chain as s semiunifies with t with the following substitutions: * Matcher: [x0 / s(x0)] * Semiunifier: [ ] -------------------------------------------------------------------------------- Rewriting sequence LENGTH1(activate(n__from(x0))) -> LENGTH1(n__from(x0)) with rule activate(X) -> X at position [0] and matcher [X / n__from(x0)] LENGTH1(n__from(x0)) -> LENGTH(cons(x0, n__from(s(x0)))) with rule LENGTH1(n__from(x0')) -> LENGTH(cons(x0', n__from(s(x0')))) at position [] and matcher [x0' / x0] LENGTH(cons(x0, n__from(s(x0)))) -> LENGTH(n__cons(x0, n__from(s(x0)))) with rule cons(X1, X2) -> n__cons(X1, X2) at position [0] and matcher [X1 / x0, X2 / n__from(s(x0))] LENGTH(n__cons(x0, n__from(s(x0)))) -> LENGTH1(activate(n__from(s(x0)))) with rule LENGTH(n__cons(X, Y)) -> LENGTH1(activate(Y)) Now applying the matcher to the start term leads to a term which is equal to the last term in the rewriting sequence All these steps are and every following step will be a correct step w.r.t to Q. ---------------------------------------- (18) NO