/export/starexec/sandbox/solver/bin/starexec_run_standard /export/starexec/sandbox/benchmark/theBenchmark.xml /export/starexec/sandbox/output/output_files -------------------------------------------------------------------------------- YES proof of /export/starexec/sandbox/benchmark/theBenchmark.xml # AProVE Commit ID: c69e44bd14796315568835c1ffa2502984884775 mhark 20210624 unpublished Termination w.r.t. Q of the given QTRS could be proven: (0) QTRS (1) QTRS Reverse [EQUIVALENT, 0 ms] (2) QTRS (3) QTRSRRRProof [EQUIVALENT, 23 ms] (4) QTRS (5) QTRSRRRProof [EQUIVALENT, 3 ms] (6) QTRS (7) QTRSRRRProof [EQUIVALENT, 2 ms] (8) QTRS (9) DependencyPairsProof [EQUIVALENT, 19 ms] (10) QDP (11) MRRProof [EQUIVALENT, 100 ms] (12) QDP (13) DependencyGraphProof [EQUIVALENT, 3 ms] (14) AND (15) QDP (16) UsableRulesProof [EQUIVALENT, 0 ms] (17) QDP (18) QDPSizeChangeProof [EQUIVALENT, 0 ms] (19) YES (20) QDP (21) UsableRulesProof [EQUIVALENT, 0 ms] (22) QDP (23) QDPSizeChangeProof [EQUIVALENT, 0 ms] (24) YES (25) QDP (26) MRRProof [EQUIVALENT, 12 ms] (27) QDP (28) PisEmptyProof [EQUIVALENT, 0 ms] (29) YES ---------------------------------------- (0) Obligation: Q restricted rewrite system: The TRS R consists of the following rules: a(b(c(x1))) -> c(b(a(x1))) C(B(A(x1))) -> A(B(C(x1))) b(a(C(x1))) -> C(a(b(x1))) c(A(B(x1))) -> B(A(c(x1))) A(c(b(x1))) -> b(c(A(x1))) B(C(a(x1))) -> a(C(B(x1))) a(A(x1)) -> x1 A(a(x1)) -> x1 b(B(x1)) -> x1 B(b(x1)) -> x1 c(C(x1)) -> 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: c(b(a(x1))) -> a(b(c(x1))) A(B(C(x1))) -> C(B(A(x1))) C(a(b(x1))) -> b(a(C(x1))) B(A(c(x1))) -> c(A(B(x1))) b(c(A(x1))) -> A(c(b(x1))) a(C(B(x1))) -> B(C(a(x1))) A(a(x1)) -> x1 a(A(x1)) -> x1 B(b(x1)) -> x1 b(B(x1)) -> x1 C(c(x1)) -> x1 c(C(x1)) -> x1 Q is empty. ---------------------------------------- (3) QTRSRRRProof (EQUIVALENT) Used ordering: Polynomial interpretation [POLO]: POL(A(x_1)) = 1 + x_1 POL(B(x_1)) = x_1 POL(C(x_1)) = x_1 POL(a(x_1)) = x_1 POL(b(x_1)) = x_1 POL(c(x_1)) = x_1 With this ordering the following rules can be removed by the rule removal processor [LPAR04] because they are oriented strictly: A(a(x1)) -> x1 a(A(x1)) -> x1 ---------------------------------------- (4) Obligation: Q restricted rewrite system: The TRS R consists of the following rules: c(b(a(x1))) -> a(b(c(x1))) A(B(C(x1))) -> C(B(A(x1))) C(a(b(x1))) -> b(a(C(x1))) B(A(c(x1))) -> c(A(B(x1))) b(c(A(x1))) -> A(c(b(x1))) a(C(B(x1))) -> B(C(a(x1))) B(b(x1)) -> x1 b(B(x1)) -> x1 C(c(x1)) -> x1 c(C(x1)) -> x1 Q is empty. ---------------------------------------- (5) QTRSRRRProof (EQUIVALENT) Used ordering: Polynomial interpretation [POLO]: POL(A(x_1)) = x_1 POL(B(x_1)) = 1 + x_1 POL(C(x_1)) = x_1 POL(a(x_1)) = x_1 POL(b(x_1)) = x_1 POL(c(x_1)) = x_1 With this ordering the following rules can be removed by the rule removal processor [LPAR04] because they are oriented strictly: B(b(x1)) -> x1 b(B(x1)) -> x1 ---------------------------------------- (6) Obligation: Q restricted rewrite system: The TRS R consists of the following rules: c(b(a(x1))) -> a(b(c(x1))) A(B(C(x1))) -> C(B(A(x1))) C(a(b(x1))) -> b(a(C(x1))) B(A(c(x1))) -> c(A(B(x1))) b(c(A(x1))) -> A(c(b(x1))) a(C(B(x1))) -> B(C(a(x1))) C(c(x1)) -> x1 c(C(x1)) -> x1 Q is empty. ---------------------------------------- (7) QTRSRRRProof (EQUIVALENT) Used ordering: Polynomial interpretation [POLO]: POL(A(x_1)) = x_1 POL(B(x_1)) = x_1 POL(C(x_1)) = 1 + x_1 POL(a(x_1)) = x_1 POL(b(x_1)) = x_1 POL(c(x_1)) = x_1 With this ordering the following rules can be removed by the rule removal processor [LPAR04] because they are oriented strictly: C(c(x1)) -> x1 c(C(x1)) -> x1 ---------------------------------------- (8) Obligation: Q restricted rewrite system: The TRS R consists of the following rules: c(b(a(x1))) -> a(b(c(x1))) A(B(C(x1))) -> C(B(A(x1))) C(a(b(x1))) -> b(a(C(x1))) B(A(c(x1))) -> c(A(B(x1))) b(c(A(x1))) -> A(c(b(x1))) a(C(B(x1))) -> B(C(a(x1))) Q is empty. ---------------------------------------- (9) DependencyPairsProof (EQUIVALENT) Using Dependency Pairs [AG00,LPAR04] we result in the following initial DP problem. ---------------------------------------- (10) Obligation: Q DP problem: The TRS P consists of the following rules: C^1(b(a(x1))) -> A^1(b(c(x1))) C^1(b(a(x1))) -> B^1(c(x1)) C^1(b(a(x1))) -> C^1(x1) A^2(B(C(x1))) -> C^2(B(A(x1))) A^2(B(C(x1))) -> B^2(A(x1)) A^2(B(C(x1))) -> A^2(x1) C^2(a(b(x1))) -> B^1(a(C(x1))) C^2(a(b(x1))) -> A^1(C(x1)) C^2(a(b(x1))) -> C^2(x1) B^2(A(c(x1))) -> C^1(A(B(x1))) B^2(A(c(x1))) -> A^2(B(x1)) B^2(A(c(x1))) -> B^2(x1) B^1(c(A(x1))) -> A^2(c(b(x1))) B^1(c(A(x1))) -> C^1(b(x1)) B^1(c(A(x1))) -> B^1(x1) A^1(C(B(x1))) -> B^2(C(a(x1))) A^1(C(B(x1))) -> C^2(a(x1)) A^1(C(B(x1))) -> A^1(x1) The TRS R consists of the following rules: c(b(a(x1))) -> a(b(c(x1))) A(B(C(x1))) -> C(B(A(x1))) C(a(b(x1))) -> b(a(C(x1))) B(A(c(x1))) -> c(A(B(x1))) b(c(A(x1))) -> A(c(b(x1))) a(C(B(x1))) -> B(C(a(x1))) Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (11) MRRProof (EQUIVALENT) By using the rule removal processor [LPAR04] with the following ordering, at least one Dependency Pair or term rewrite system rule of this QDP problem can be strictly oriented. Strictly oriented dependency pairs: C^1(b(a(x1))) -> A^1(b(c(x1))) C^1(b(a(x1))) -> C^1(x1) A^2(B(C(x1))) -> C^2(B(A(x1))) A^2(B(C(x1))) -> B^2(A(x1)) C^2(a(b(x1))) -> B^1(a(C(x1))) C^2(a(b(x1))) -> A^1(C(x1)) C^2(a(b(x1))) -> C^2(x1) B^2(A(c(x1))) -> C^1(A(B(x1))) B^2(A(c(x1))) -> A^2(B(x1)) B^2(A(c(x1))) -> B^2(x1) B^1(c(A(x1))) -> B^1(x1) Strictly oriented rules of the TRS R: C(a(b(x1))) -> b(a(C(x1))) B(A(c(x1))) -> c(A(B(x1))) Used ordering: Polynomial interpretation [POLO]: POL(A(x_1)) = x_1 POL(A^1(x_1)) = x_1 POL(A^2(x_1)) = 1 + x_1 POL(B(x_1)) = 2*x_1 POL(B^1(x_1)) = 3 + 2*x_1 POL(B^2(x_1)) = 2*x_1 POL(C(x_1)) = 2*x_1 POL(C^1(x_1)) = 3 + 2*x_1 POL(C^2(x_1)) = 2*x_1 POL(a(x_1)) = x_1 POL(b(x_1)) = 2 + 2*x_1 POL(c(x_1)) = 2 + 2*x_1 ---------------------------------------- (12) Obligation: Q DP problem: The TRS P consists of the following rules: C^1(b(a(x1))) -> B^1(c(x1)) A^2(B(C(x1))) -> A^2(x1) B^1(c(A(x1))) -> A^2(c(b(x1))) B^1(c(A(x1))) -> C^1(b(x1)) A^1(C(B(x1))) -> B^2(C(a(x1))) A^1(C(B(x1))) -> C^2(a(x1)) A^1(C(B(x1))) -> A^1(x1) The TRS R consists of the following rules: c(b(a(x1))) -> a(b(c(x1))) A(B(C(x1))) -> C(B(A(x1))) b(c(A(x1))) -> A(c(b(x1))) a(C(B(x1))) -> B(C(a(x1))) 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 3 SCCs with 3 less nodes. ---------------------------------------- (14) Complex Obligation (AND) ---------------------------------------- (15) Obligation: Q DP problem: The TRS P consists of the following rules: A^1(C(B(x1))) -> A^1(x1) The TRS R consists of the following rules: c(b(a(x1))) -> a(b(c(x1))) A(B(C(x1))) -> C(B(A(x1))) b(c(A(x1))) -> A(c(b(x1))) a(C(B(x1))) -> B(C(a(x1))) Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (16) 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. ---------------------------------------- (17) Obligation: Q DP problem: The TRS P consists of the following rules: A^1(C(B(x1))) -> A^1(x1) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (18) 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^1(C(B(x1))) -> A^1(x1) The graph contains the following edges 1 > 1 ---------------------------------------- (19) YES ---------------------------------------- (20) Obligation: Q DP problem: The TRS P consists of the following rules: A^2(B(C(x1))) -> A^2(x1) The TRS R consists of the following rules: c(b(a(x1))) -> a(b(c(x1))) A(B(C(x1))) -> C(B(A(x1))) b(c(A(x1))) -> A(c(b(x1))) a(C(B(x1))) -> B(C(a(x1))) Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (21) 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. ---------------------------------------- (22) Obligation: Q DP problem: The TRS P consists of the following rules: A^2(B(C(x1))) -> A^2(x1) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (23) 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^2(B(C(x1))) -> A^2(x1) The graph contains the following edges 1 > 1 ---------------------------------------- (24) YES ---------------------------------------- (25) Obligation: Q DP problem: The TRS P consists of the following rules: B^1(c(A(x1))) -> C^1(b(x1)) C^1(b(a(x1))) -> B^1(c(x1)) The TRS R consists of the following rules: c(b(a(x1))) -> a(b(c(x1))) A(B(C(x1))) -> C(B(A(x1))) b(c(A(x1))) -> A(c(b(x1))) a(C(B(x1))) -> B(C(a(x1))) Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (26) MRRProof (EQUIVALENT) By using the rule removal processor [LPAR04] with the following ordering, at least one Dependency Pair or term rewrite system rule of this QDP problem can be strictly oriented. Strictly oriented dependency pairs: B^1(c(A(x1))) -> C^1(b(x1)) C^1(b(a(x1))) -> B^1(c(x1)) Strictly oriented rules of the TRS R: c(b(a(x1))) -> a(b(c(x1))) b(c(A(x1))) -> A(c(b(x1))) Used ordering: Polynomial interpretation [POLO]: POL(A(x_1)) = 1 + x_1 POL(B(x_1)) = x_1 POL(B^1(x_1)) = 3 + 2*x_1 POL(C(x_1)) = x_1 POL(C^1(x_1)) = 2 + 2*x_1 POL(a(x_1)) = x_1 POL(b(x_1)) = 3 + 2*x_1 POL(c(x_1)) = 2 + 2*x_1 ---------------------------------------- (27) Obligation: Q DP problem: P is empty. The TRS R consists of the following rules: A(B(C(x1))) -> C(B(A(x1))) a(C(B(x1))) -> B(C(a(x1))) Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (28) PisEmptyProof (EQUIVALENT) The TRS P is empty. Hence, there is no (P,Q,R) chain. ---------------------------------------- (29) YES