YES proof of /export/starexec/sandbox2/benchmark/theBenchmark.xml # AProVE Commit ID: 794c25de1cacf0d048858bcd21c9a779e1221865 marcel 20200619 unpublished dirty Termination w.r.t. Q of the given QTRS could be proven: (0) QTRS (1) QTRS Reverse [EQUIVALENT, 0 ms] (2) QTRS (3) DependencyPairsProof [EQUIVALENT, 2 ms] (4) QDP (5) DependencyGraphProof [EQUIVALENT, 0 ms] (6) QDP (7) QDPOrderProof [EQUIVALENT, 98 ms] (8) QDP (9) QDPOrderProof [EQUIVALENT, 87 ms] (10) QDP (11) UsableRulesProof [EQUIVALENT, 3 ms] (12) QDP (13) QDPSizeChangeProof [EQUIVALENT, 0 ms] (14) YES ---------------------------------------- (0) Obligation: Q restricted rewrite system: The TRS R consists of the following rules: a(x1) -> b(b(c(b(x1)))) c(b(b(x1))) -> a(c(x1)) c(c(x1)) -> x1 Q is empty. ---------------------------------------- (1) QTRS Reverse (EQUIVALENT) We applied the QTRS Reverse Processor [REVERSE]. ---------------------------------------- (2) Obligation: Q restricted rewrite system: The TRS R consists of the following rules: a(x1) -> b(c(b(b(x1)))) b(b(c(x1))) -> c(a(x1)) c(c(x1)) -> x1 Q is empty. ---------------------------------------- (3) DependencyPairsProof (EQUIVALENT) Using Dependency Pairs [AG00,LPAR04] we result in the following initial DP problem. ---------------------------------------- (4) Obligation: Q DP problem: The TRS P consists of the following rules: A(x1) -> B(c(b(b(x1)))) A(x1) -> C(b(b(x1))) A(x1) -> B(b(x1)) A(x1) -> B(x1) B(b(c(x1))) -> C(a(x1)) B(b(c(x1))) -> A(x1) The TRS R consists of the following rules: a(x1) -> b(c(b(b(x1)))) b(b(c(x1))) -> c(a(x1)) c(c(x1)) -> x1 Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (5) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 2 less nodes. ---------------------------------------- (6) Obligation: Q DP problem: The TRS P consists of the following rules: B(b(c(x1))) -> A(x1) A(x1) -> B(c(b(b(x1)))) A(x1) -> B(b(x1)) A(x1) -> B(x1) The TRS R consists of the following rules: a(x1) -> b(c(b(b(x1)))) b(b(c(x1))) -> c(a(x1)) c(c(x1)) -> x1 Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (7) QDPOrderProof (EQUIVALENT) We use the reduction pair processor [LPAR04,JAR06]. The following pairs can be oriented strictly and are deleted. A(x1) -> B(b(x1)) The remaining pairs can at least be oriented weakly. Used ordering: Matrix interpretation [MATRO] with arctic natural numbers [ARCTIC]: <<< POL(B(x_1)) = [[0A]] + [[-I, 0A, -I]] * x_1 >>> <<< POL(b(x_1)) = [[0A], [0A], [0A]] + [[-I, 0A, 0A], [0A, -I, -I], [-I, -I, 0A]] * x_1 >>> <<< POL(c(x_1)) = [[1A], [0A], [0A]] + [[1A, 0A, 1A], [0A, -I, 0A], [0A, -I, 0A]] * x_1 >>> <<< POL(A(x_1)) = [[1A]] + [[1A, 0A, 0A]] * x_1 >>> <<< POL(a(x_1)) = [[0A], [1A], [0A]] + [[0A, -I, 0A], [1A, 0A, 1A], [0A, -I, 0A]] * x_1 >>> The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: b(b(c(x1))) -> c(a(x1)) c(c(x1)) -> x1 a(x1) -> b(c(b(b(x1)))) ---------------------------------------- (8) Obligation: Q DP problem: The TRS P consists of the following rules: B(b(c(x1))) -> A(x1) A(x1) -> B(c(b(b(x1)))) A(x1) -> B(x1) The TRS R consists of the following rules: a(x1) -> b(c(b(b(x1)))) b(b(c(x1))) -> c(a(x1)) c(c(x1)) -> x1 Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (9) QDPOrderProof (EQUIVALENT) We use the reduction pair processor [LPAR04,JAR06]. The following pairs can be oriented strictly and are deleted. A(x1) -> B(c(b(b(x1)))) The remaining pairs can at least be oriented weakly. Used ordering: Matrix interpretation [MATRO] with arctic natural numbers [ARCTIC]: <<< POL(B(x_1)) = [[0A]] + [[0A, -I, -I]] * x_1 >>> <<< POL(b(x_1)) = [[0A], [0A], [0A]] + [[-I, 0A, 0A], [0A, -I, -I], [0A, -I, -I]] * x_1 >>> <<< POL(c(x_1)) = [[0A], [1A], [0A]] + [[-I, 0A, 0A], [0A, 1A, 1A], [0A, 0A, 0A]] * x_1 >>> <<< POL(A(x_1)) = [[1A]] + [[0A, 1A, 1A]] * x_1 >>> <<< POL(a(x_1)) = [[1A], [0A], [0A]] + [[0A, 1A, 1A], [-I, 0A, 0A], [-I, 0A, 0A]] * x_1 >>> The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: b(b(c(x1))) -> c(a(x1)) c(c(x1)) -> x1 a(x1) -> b(c(b(b(x1)))) ---------------------------------------- (10) Obligation: Q DP problem: The TRS P consists of the following rules: B(b(c(x1))) -> A(x1) A(x1) -> B(x1) The TRS R consists of the following rules: a(x1) -> b(c(b(b(x1)))) b(b(c(x1))) -> c(a(x1)) c(c(x1)) -> x1 Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (11) UsableRulesProof (EQUIVALENT) We can use the usable rules and reduction pair processor [LPAR04] with the Ce-compatible extension of the polynomial order that maps every function symbol to the sum of its arguments. Then, we can delete all non-usable rules [FROCOS05] from R. ---------------------------------------- (12) Obligation: Q DP problem: The TRS P consists of the following rules: B(b(c(x1))) -> A(x1) A(x1) -> B(x1) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (13) QDPSizeChangeProof (EQUIVALENT) By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. From the DPs we obtained the following set of size-change graphs: *A(x1) -> B(x1) The graph contains the following edges 1 >= 1 *B(b(c(x1))) -> A(x1) The graph contains the following edges 1 > 1 ---------------------------------------- (14) YES