30.38/8.59 YES 30.38/8.61 proof of /export/starexec/sandbox/benchmark/theBenchmark.xml 30.38/8.61 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 30.38/8.61 30.38/8.61 30.38/8.61 Termination w.r.t. Q of the given QTRS could be proven: 30.38/8.61 30.38/8.61 (0) QTRS 30.38/8.61 (1) QTRS Reverse [EQUIVALENT, 0 ms] 30.38/8.61 (2) QTRS 30.38/8.61 (3) DependencyPairsProof [EQUIVALENT, 6 ms] 30.38/8.61 (4) QDP 30.38/8.61 (5) QDPOrderProof [EQUIVALENT, 99 ms] 30.38/8.61 (6) QDP 30.38/8.61 (7) DependencyGraphProof [EQUIVALENT, 0 ms] 30.38/8.61 (8) AND 30.38/8.61 (9) QDP 30.38/8.61 (10) UsableRulesProof [EQUIVALENT, 0 ms] 30.38/8.61 (11) QDP 30.38/8.61 (12) QDPSizeChangeProof [EQUIVALENT, 0 ms] 30.38/8.61 (13) YES 30.38/8.61 (14) QDP 30.38/8.61 (15) QDPOrderProof [EQUIVALENT, 0 ms] 30.38/8.61 (16) QDP 30.38/8.61 (17) PisEmptyProof [EQUIVALENT, 0 ms] 30.38/8.61 (18) YES 30.38/8.61 30.38/8.61 30.38/8.61 ---------------------------------------- 30.38/8.61 30.38/8.61 (0) 30.38/8.61 Obligation: 30.38/8.61 Q restricted rewrite system: 30.38/8.61 The TRS R consists of the following rules: 30.38/8.61 30.38/8.61 a(x1) -> x1 30.38/8.61 a(x1) -> b(x1) 30.38/8.61 a(b(x1)) -> b(c(x1)) 30.38/8.61 c(c(x1)) -> a(c(a(x1))) 30.38/8.61 30.38/8.61 Q is empty. 30.38/8.61 30.38/8.61 ---------------------------------------- 30.38/8.61 30.38/8.61 (1) QTRS Reverse (EQUIVALENT) 30.38/8.61 We applied the QTRS Reverse Processor [REVERSE]. 30.38/8.61 ---------------------------------------- 30.38/8.61 30.38/8.61 (2) 30.38/8.61 Obligation: 30.38/8.61 Q restricted rewrite system: 30.38/8.61 The TRS R consists of the following rules: 30.38/8.61 30.38/8.61 a(x1) -> x1 30.38/8.61 a(x1) -> b(x1) 30.38/8.61 b(a(x1)) -> c(b(x1)) 30.38/8.61 c(c(x1)) -> a(c(a(x1))) 30.38/8.61 30.38/8.61 Q is empty. 30.38/8.61 30.38/8.61 ---------------------------------------- 30.38/8.61 30.38/8.61 (3) DependencyPairsProof (EQUIVALENT) 30.38/8.61 Using Dependency Pairs [AG00,LPAR04] we result in the following initial DP problem. 30.38/8.61 ---------------------------------------- 30.38/8.61 30.38/8.61 (4) 30.38/8.61 Obligation: 30.38/8.61 Q DP problem: 30.38/8.61 The TRS P consists of the following rules: 30.38/8.61 30.38/8.61 A(x1) -> B(x1) 30.38/8.61 B(a(x1)) -> C(b(x1)) 30.38/8.61 B(a(x1)) -> B(x1) 30.38/8.61 C(c(x1)) -> A(c(a(x1))) 30.38/8.61 C(c(x1)) -> C(a(x1)) 30.38/8.61 C(c(x1)) -> A(x1) 30.38/8.61 30.38/8.61 The TRS R consists of the following rules: 30.38/8.61 30.38/8.61 a(x1) -> x1 30.38/8.61 a(x1) -> b(x1) 30.38/8.61 b(a(x1)) -> c(b(x1)) 30.38/8.61 c(c(x1)) -> a(c(a(x1))) 30.38/8.61 30.38/8.61 Q is empty. 30.38/8.61 We have to consider all minimal (P,Q,R)-chains. 30.38/8.61 ---------------------------------------- 30.38/8.61 30.38/8.61 (5) QDPOrderProof (EQUIVALENT) 30.38/8.61 We use the reduction pair processor [LPAR04,JAR06]. 30.38/8.61 30.38/8.61 30.38/8.61 The following pairs can be oriented strictly and are deleted. 30.38/8.61 30.38/8.61 B(a(x1)) -> C(b(x1)) 30.38/8.61 The remaining pairs can at least be oriented weakly. 30.38/8.61 Used ordering: Matrix interpretation [MATRO] with arctic natural numbers [ARCTIC]: 30.38/8.61 30.38/8.61 <<< 30.38/8.61 POL(A(x_1)) = [[-I]] + [[0A, -I, 1A]] * x_1 30.38/8.61 >>> 30.38/8.61 30.38/8.61 <<< 30.38/8.61 POL(B(x_1)) = [[-I]] + [[0A, -I, 0A]] * x_1 30.38/8.61 >>> 30.38/8.61 30.38/8.61 <<< 30.38/8.61 POL(a(x_1)) = [[-I], [-I], [-I]] + [[1A, 0A, 0A], [0A, 0A, 0A], [0A, -I, 0A]] * x_1 30.38/8.61 >>> 30.38/8.61 30.38/8.61 <<< 30.38/8.61 POL(C(x_1)) = [[-I]] + [[0A, 0A, 0A]] * x_1 30.38/8.61 >>> 30.38/8.61 30.38/8.61 <<< 30.38/8.61 POL(b(x_1)) = [[-I], [-I], [-I]] + [[0A, -I, -I], [0A, -I, -I], [0A, -I, -I]] * x_1 30.38/8.61 >>> 30.38/8.61 30.38/8.61 <<< 30.38/8.61 POL(c(x_1)) = [[-I], [-I], [-I]] + [[0A, 1A, 0A], [1A, 1A, 1A], [-I, 0A, 0A]] * x_1 30.38/8.61 >>> 30.38/8.61 30.38/8.61 30.38/8.61 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 30.38/8.61 30.38/8.61 a(x1) -> b(x1) 30.38/8.61 b(a(x1)) -> c(b(x1)) 30.38/8.61 c(c(x1)) -> a(c(a(x1))) 30.38/8.61 a(x1) -> x1 30.38/8.61 30.38/8.61 30.38/8.61 ---------------------------------------- 30.38/8.61 30.38/8.61 (6) 30.38/8.61 Obligation: 30.38/8.61 Q DP problem: 30.38/8.61 The TRS P consists of the following rules: 30.38/8.61 30.38/8.61 A(x1) -> B(x1) 30.38/8.61 B(a(x1)) -> B(x1) 30.38/8.61 C(c(x1)) -> A(c(a(x1))) 30.38/8.61 C(c(x1)) -> C(a(x1)) 30.38/8.61 C(c(x1)) -> A(x1) 30.38/8.61 30.38/8.61 The TRS R consists of the following rules: 30.38/8.61 30.38/8.61 a(x1) -> x1 30.38/8.61 a(x1) -> b(x1) 30.38/8.61 b(a(x1)) -> c(b(x1)) 30.38/8.61 c(c(x1)) -> a(c(a(x1))) 30.38/8.61 30.38/8.61 Q is empty. 30.38/8.61 We have to consider all minimal (P,Q,R)-chains. 30.38/8.61 ---------------------------------------- 30.38/8.61 30.38/8.61 (7) DependencyGraphProof (EQUIVALENT) 30.38/8.61 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 3 less nodes. 30.38/8.61 ---------------------------------------- 30.38/8.61 30.38/8.61 (8) 30.38/8.61 Complex Obligation (AND) 30.38/8.61 30.38/8.61 ---------------------------------------- 30.38/8.61 30.38/8.61 (9) 30.38/8.61 Obligation: 30.38/8.61 Q DP problem: 30.38/8.61 The TRS P consists of the following rules: 30.38/8.61 30.38/8.61 B(a(x1)) -> B(x1) 30.38/8.61 30.38/8.61 The TRS R consists of the following rules: 30.38/8.61 30.38/8.61 a(x1) -> x1 30.38/8.61 a(x1) -> b(x1) 30.38/8.61 b(a(x1)) -> c(b(x1)) 30.38/8.61 c(c(x1)) -> a(c(a(x1))) 30.38/8.61 30.38/8.61 Q is empty. 30.38/8.61 We have to consider all minimal (P,Q,R)-chains. 30.38/8.61 ---------------------------------------- 30.38/8.61 30.38/8.61 (10) UsableRulesProof (EQUIVALENT) 30.38/8.61 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. 30.38/8.61 ---------------------------------------- 30.38/8.61 30.38/8.61 (11) 30.38/8.61 Obligation: 30.38/8.61 Q DP problem: 30.38/8.61 The TRS P consists of the following rules: 30.38/8.61 30.38/8.61 B(a(x1)) -> B(x1) 30.38/8.61 30.38/8.61 R is empty. 30.38/8.61 Q is empty. 30.38/8.61 We have to consider all minimal (P,Q,R)-chains. 30.38/8.61 ---------------------------------------- 30.38/8.61 30.38/8.61 (12) QDPSizeChangeProof (EQUIVALENT) 30.38/8.61 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. 30.38/8.61 30.38/8.61 From the DPs we obtained the following set of size-change graphs: 30.38/8.61 *B(a(x1)) -> B(x1) 30.38/8.61 The graph contains the following edges 1 > 1 30.38/8.61 30.38/8.61 30.38/8.61 ---------------------------------------- 30.38/8.61 30.38/8.61 (13) 30.38/8.61 YES 30.38/8.61 30.38/8.61 ---------------------------------------- 30.38/8.61 30.38/8.61 (14) 30.38/8.61 Obligation: 30.38/8.61 Q DP problem: 30.38/8.61 The TRS P consists of the following rules: 30.38/8.61 30.38/8.61 C(c(x1)) -> C(a(x1)) 30.38/8.61 30.38/8.61 The TRS R consists of the following rules: 30.38/8.61 30.38/8.61 a(x1) -> x1 30.38/8.61 a(x1) -> b(x1) 30.38/8.61 b(a(x1)) -> c(b(x1)) 30.38/8.61 c(c(x1)) -> a(c(a(x1))) 30.38/8.61 30.38/8.61 Q is empty. 30.38/8.61 We have to consider all minimal (P,Q,R)-chains. 30.38/8.61 ---------------------------------------- 30.38/8.61 30.38/8.61 (15) QDPOrderProof (EQUIVALENT) 30.38/8.61 We use the reduction pair processor [LPAR04,JAR06]. 30.38/8.61 30.38/8.61 30.38/8.61 The following pairs can be oriented strictly and are deleted. 30.38/8.61 30.38/8.61 C(c(x1)) -> C(a(x1)) 30.38/8.61 The remaining pairs can at least be oriented weakly. 30.38/8.61 Used ordering: Matrix interpretation [MATRO] with arctic natural numbers [ARCTIC]: 30.38/8.61 30.38/8.61 <<< 30.38/8.61 POL(C(x_1)) = [[-I]] + [[0A, -I, 0A]] * x_1 30.38/8.61 >>> 30.38/8.61 30.38/8.61 <<< 30.38/8.61 POL(c(x_1)) = [[1A], [0A], [-I]] + [[1A, 1A, 1A], [0A, -I, 0A], [-I, -I, 0A]] * x_1 30.38/8.61 >>> 30.38/8.61 30.38/8.61 <<< 30.38/8.61 POL(a(x_1)) = [[0A], [1A], [-I]] + [[0A, 0A, 0A], [-I, 1A, 1A], [-I, -I, 0A]] * x_1 30.38/8.61 >>> 30.38/8.61 30.38/8.61 <<< 30.38/8.61 POL(b(x_1)) = [[0A], [0A], [-I]] + [[-I, 0A, 0A], [-I, 0A, 0A], [-I, -I, -I]] * x_1 30.38/8.61 >>> 30.38/8.61 30.38/8.61 30.38/8.61 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 30.38/8.61 30.38/8.61 a(x1) -> x1 30.38/8.61 a(x1) -> b(x1) 30.38/8.61 b(a(x1)) -> c(b(x1)) 30.38/8.61 c(c(x1)) -> a(c(a(x1))) 30.38/8.61 30.38/8.61 30.38/8.61 ---------------------------------------- 30.38/8.61 30.38/8.61 (16) 30.38/8.61 Obligation: 30.38/8.61 Q DP problem: 30.38/8.61 P is empty. 30.38/8.61 The TRS R consists of the following rules: 30.38/8.61 30.38/8.61 a(x1) -> x1 30.38/8.61 a(x1) -> b(x1) 30.38/8.61 b(a(x1)) -> c(b(x1)) 30.38/8.61 c(c(x1)) -> a(c(a(x1))) 30.38/8.61 30.38/8.61 Q is empty. 30.38/8.61 We have to consider all minimal (P,Q,R)-chains. 30.38/8.61 ---------------------------------------- 30.38/8.61 30.38/8.61 (17) PisEmptyProof (EQUIVALENT) 30.38/8.61 The TRS P is empty. Hence, there is no (P,Q,R) chain. 30.38/8.61 ---------------------------------------- 30.38/8.61 30.38/8.61 (18) 30.38/8.61 YES 30.92/8.81 EOF