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