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) FlatCCProof [EQUIVALENT, 0 ms] (2) QTRS (3) RootLabelingProof [EQUIVALENT, 0 ms] (4) QTRS (5) QTRSRRRProof [EQUIVALENT, 6 ms] (6) QTRS (7) DependencyPairsProof [EQUIVALENT, 163 ms] (8) QDP (9) QDPOrderProof [EQUIVALENT, 214 ms] (10) QDP (11) DependencyGraphProof [EQUIVALENT, 0 ms] (12) TRUE ---------------------------------------- (0) Obligation: Q restricted rewrite system: The TRS R consists of the following rules: a(a(b(x1))) -> b(a(b(x1))) b(a(x1)) -> a(b(b(x1))) b(c(a(x1))) -> c(c(a(a(b(x1))))) Q is empty. ---------------------------------------- (1) FlatCCProof (EQUIVALENT) We used flat context closure [ROOTLAB] As Q is empty the flat context closure was sound AND complete. ---------------------------------------- (2) Obligation: Q restricted rewrite system: The TRS R consists of the following rules: a(a(a(b(x1)))) -> a(b(a(b(x1)))) b(a(a(b(x1)))) -> b(b(a(b(x1)))) c(a(a(b(x1)))) -> c(b(a(b(x1)))) a(b(a(x1))) -> a(a(b(b(x1)))) b(b(a(x1))) -> b(a(b(b(x1)))) c(b(a(x1))) -> c(a(b(b(x1)))) a(b(c(a(x1)))) -> a(c(c(a(a(b(x1)))))) b(b(c(a(x1)))) -> b(c(c(a(a(b(x1)))))) c(b(c(a(x1)))) -> c(c(c(a(a(b(x1)))))) Q is empty. ---------------------------------------- (3) RootLabelingProof (EQUIVALENT) We used plain root labeling [ROOTLAB] with the following heuristic: LabelAll: All function symbols get labeled As Q is empty the root labeling was sound AND complete. ---------------------------------------- (4) Obligation: Q restricted rewrite system: The TRS R consists of the following rules: a_{a_1}(a_{a_1}(a_{b_1}(b_{a_1}(x1)))) -> a_{b_1}(b_{a_1}(a_{b_1}(b_{a_1}(x1)))) a_{a_1}(a_{a_1}(a_{b_1}(b_{b_1}(x1)))) -> a_{b_1}(b_{a_1}(a_{b_1}(b_{b_1}(x1)))) a_{a_1}(a_{a_1}(a_{b_1}(b_{c_1}(x1)))) -> a_{b_1}(b_{a_1}(a_{b_1}(b_{c_1}(x1)))) b_{a_1}(a_{a_1}(a_{b_1}(b_{a_1}(x1)))) -> b_{b_1}(b_{a_1}(a_{b_1}(b_{a_1}(x1)))) b_{a_1}(a_{a_1}(a_{b_1}(b_{b_1}(x1)))) -> b_{b_1}(b_{a_1}(a_{b_1}(b_{b_1}(x1)))) b_{a_1}(a_{a_1}(a_{b_1}(b_{c_1}(x1)))) -> b_{b_1}(b_{a_1}(a_{b_1}(b_{c_1}(x1)))) c_{a_1}(a_{a_1}(a_{b_1}(b_{a_1}(x1)))) -> c_{b_1}(b_{a_1}(a_{b_1}(b_{a_1}(x1)))) c_{a_1}(a_{a_1}(a_{b_1}(b_{b_1}(x1)))) -> c_{b_1}(b_{a_1}(a_{b_1}(b_{b_1}(x1)))) c_{a_1}(a_{a_1}(a_{b_1}(b_{c_1}(x1)))) -> c_{b_1}(b_{a_1}(a_{b_1}(b_{c_1}(x1)))) a_{b_1}(b_{a_1}(a_{a_1}(x1))) -> a_{a_1}(a_{b_1}(b_{b_1}(b_{a_1}(x1)))) a_{b_1}(b_{a_1}(a_{b_1}(x1))) -> a_{a_1}(a_{b_1}(b_{b_1}(b_{b_1}(x1)))) a_{b_1}(b_{a_1}(a_{c_1}(x1))) -> a_{a_1}(a_{b_1}(b_{b_1}(b_{c_1}(x1)))) b_{b_1}(b_{a_1}(a_{a_1}(x1))) -> b_{a_1}(a_{b_1}(b_{b_1}(b_{a_1}(x1)))) b_{b_1}(b_{a_1}(a_{b_1}(x1))) -> b_{a_1}(a_{b_1}(b_{b_1}(b_{b_1}(x1)))) b_{b_1}(b_{a_1}(a_{c_1}(x1))) -> b_{a_1}(a_{b_1}(b_{b_1}(b_{c_1}(x1)))) c_{b_1}(b_{a_1}(a_{a_1}(x1))) -> c_{a_1}(a_{b_1}(b_{b_1}(b_{a_1}(x1)))) c_{b_1}(b_{a_1}(a_{b_1}(x1))) -> c_{a_1}(a_{b_1}(b_{b_1}(b_{b_1}(x1)))) c_{b_1}(b_{a_1}(a_{c_1}(x1))) -> c_{a_1}(a_{b_1}(b_{b_1}(b_{c_1}(x1)))) a_{b_1}(b_{c_1}(c_{a_1}(a_{a_1}(x1)))) -> a_{c_1}(c_{c_1}(c_{a_1}(a_{a_1}(a_{b_1}(b_{a_1}(x1)))))) a_{b_1}(b_{c_1}(c_{a_1}(a_{b_1}(x1)))) -> a_{c_1}(c_{c_1}(c_{a_1}(a_{a_1}(a_{b_1}(b_{b_1}(x1)))))) a_{b_1}(b_{c_1}(c_{a_1}(a_{c_1}(x1)))) -> a_{c_1}(c_{c_1}(c_{a_1}(a_{a_1}(a_{b_1}(b_{c_1}(x1)))))) b_{b_1}(b_{c_1}(c_{a_1}(a_{a_1}(x1)))) -> b_{c_1}(c_{c_1}(c_{a_1}(a_{a_1}(a_{b_1}(b_{a_1}(x1)))))) b_{b_1}(b_{c_1}(c_{a_1}(a_{b_1}(x1)))) -> b_{c_1}(c_{c_1}(c_{a_1}(a_{a_1}(a_{b_1}(b_{b_1}(x1)))))) b_{b_1}(b_{c_1}(c_{a_1}(a_{c_1}(x1)))) -> b_{c_1}(c_{c_1}(c_{a_1}(a_{a_1}(a_{b_1}(b_{c_1}(x1)))))) c_{b_1}(b_{c_1}(c_{a_1}(a_{a_1}(x1)))) -> c_{c_1}(c_{c_1}(c_{a_1}(a_{a_1}(a_{b_1}(b_{a_1}(x1)))))) c_{b_1}(b_{c_1}(c_{a_1}(a_{b_1}(x1)))) -> c_{c_1}(c_{c_1}(c_{a_1}(a_{a_1}(a_{b_1}(b_{b_1}(x1)))))) c_{b_1}(b_{c_1}(c_{a_1}(a_{c_1}(x1)))) -> c_{c_1}(c_{c_1}(c_{a_1}(a_{a_1}(a_{b_1}(b_{c_1}(x1)))))) Q is empty. ---------------------------------------- (5) QTRSRRRProof (EQUIVALENT) Used ordering: Polynomial interpretation [POLO]: POL(a_{a_1}(x_1)) = x_1 POL(a_{b_1}(x_1)) = x_1 POL(a_{c_1}(x_1)) = 1 + x_1 POL(b_{a_1}(x_1)) = x_1 POL(b_{b_1}(x_1)) = x_1 POL(b_{c_1}(x_1)) = 1 + x_1 POL(c_{a_1}(x_1)) = x_1 POL(c_{b_1}(x_1)) = x_1 POL(c_{c_1}(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_{b_1}(b_{c_1}(c_{a_1}(a_{a_1}(x1)))) -> c_{c_1}(c_{c_1}(c_{a_1}(a_{a_1}(a_{b_1}(b_{a_1}(x1)))))) c_{b_1}(b_{c_1}(c_{a_1}(a_{b_1}(x1)))) -> c_{c_1}(c_{c_1}(c_{a_1}(a_{a_1}(a_{b_1}(b_{b_1}(x1)))))) c_{b_1}(b_{c_1}(c_{a_1}(a_{c_1}(x1)))) -> c_{c_1}(c_{c_1}(c_{a_1}(a_{a_1}(a_{b_1}(b_{c_1}(x1)))))) ---------------------------------------- (6) Obligation: Q restricted rewrite system: The TRS R consists of the following rules: a_{a_1}(a_{a_1}(a_{b_1}(b_{a_1}(x1)))) -> a_{b_1}(b_{a_1}(a_{b_1}(b_{a_1}(x1)))) a_{a_1}(a_{a_1}(a_{b_1}(b_{b_1}(x1)))) -> a_{b_1}(b_{a_1}(a_{b_1}(b_{b_1}(x1)))) a_{a_1}(a_{a_1}(a_{b_1}(b_{c_1}(x1)))) -> a_{b_1}(b_{a_1}(a_{b_1}(b_{c_1}(x1)))) b_{a_1}(a_{a_1}(a_{b_1}(b_{a_1}(x1)))) -> b_{b_1}(b_{a_1}(a_{b_1}(b_{a_1}(x1)))) b_{a_1}(a_{a_1}(a_{b_1}(b_{b_1}(x1)))) -> b_{b_1}(b_{a_1}(a_{b_1}(b_{b_1}(x1)))) b_{a_1}(a_{a_1}(a_{b_1}(b_{c_1}(x1)))) -> b_{b_1}(b_{a_1}(a_{b_1}(b_{c_1}(x1)))) c_{a_1}(a_{a_1}(a_{b_1}(b_{a_1}(x1)))) -> c_{b_1}(b_{a_1}(a_{b_1}(b_{a_1}(x1)))) c_{a_1}(a_{a_1}(a_{b_1}(b_{b_1}(x1)))) -> c_{b_1}(b_{a_1}(a_{b_1}(b_{b_1}(x1)))) c_{a_1}(a_{a_1}(a_{b_1}(b_{c_1}(x1)))) -> c_{b_1}(b_{a_1}(a_{b_1}(b_{c_1}(x1)))) a_{b_1}(b_{a_1}(a_{a_1}(x1))) -> a_{a_1}(a_{b_1}(b_{b_1}(b_{a_1}(x1)))) a_{b_1}(b_{a_1}(a_{b_1}(x1))) -> a_{a_1}(a_{b_1}(b_{b_1}(b_{b_1}(x1)))) a_{b_1}(b_{a_1}(a_{c_1}(x1))) -> a_{a_1}(a_{b_1}(b_{b_1}(b_{c_1}(x1)))) b_{b_1}(b_{a_1}(a_{a_1}(x1))) -> b_{a_1}(a_{b_1}(b_{b_1}(b_{a_1}(x1)))) b_{b_1}(b_{a_1}(a_{b_1}(x1))) -> b_{a_1}(a_{b_1}(b_{b_1}(b_{b_1}(x1)))) b_{b_1}(b_{a_1}(a_{c_1}(x1))) -> b_{a_1}(a_{b_1}(b_{b_1}(b_{c_1}(x1)))) c_{b_1}(b_{a_1}(a_{a_1}(x1))) -> c_{a_1}(a_{b_1}(b_{b_1}(b_{a_1}(x1)))) c_{b_1}(b_{a_1}(a_{b_1}(x1))) -> c_{a_1}(a_{b_1}(b_{b_1}(b_{b_1}(x1)))) c_{b_1}(b_{a_1}(a_{c_1}(x1))) -> c_{a_1}(a_{b_1}(b_{b_1}(b_{c_1}(x1)))) a_{b_1}(b_{c_1}(c_{a_1}(a_{a_1}(x1)))) -> a_{c_1}(c_{c_1}(c_{a_1}(a_{a_1}(a_{b_1}(b_{a_1}(x1)))))) a_{b_1}(b_{c_1}(c_{a_1}(a_{b_1}(x1)))) -> a_{c_1}(c_{c_1}(c_{a_1}(a_{a_1}(a_{b_1}(b_{b_1}(x1)))))) a_{b_1}(b_{c_1}(c_{a_1}(a_{c_1}(x1)))) -> a_{c_1}(c_{c_1}(c_{a_1}(a_{a_1}(a_{b_1}(b_{c_1}(x1)))))) b_{b_1}(b_{c_1}(c_{a_1}(a_{a_1}(x1)))) -> b_{c_1}(c_{c_1}(c_{a_1}(a_{a_1}(a_{b_1}(b_{a_1}(x1)))))) b_{b_1}(b_{c_1}(c_{a_1}(a_{b_1}(x1)))) -> b_{c_1}(c_{c_1}(c_{a_1}(a_{a_1}(a_{b_1}(b_{b_1}(x1)))))) b_{b_1}(b_{c_1}(c_{a_1}(a_{c_1}(x1)))) -> b_{c_1}(c_{c_1}(c_{a_1}(a_{a_1}(a_{b_1}(b_{c_1}(x1)))))) Q is empty. ---------------------------------------- (7) DependencyPairsProof (EQUIVALENT) Using Dependency Pairs [AG00,LPAR04] we result in the following initial DP problem. ---------------------------------------- (8) Obligation: Q DP problem: The TRS P consists of the following rules: A_{A_1}(a_{a_1}(a_{b_1}(b_{a_1}(x1)))) -> A_{B_1}(b_{a_1}(a_{b_1}(b_{a_1}(x1)))) A_{A_1}(a_{a_1}(a_{b_1}(b_{a_1}(x1)))) -> B_{A_1}(a_{b_1}(b_{a_1}(x1))) A_{A_1}(a_{a_1}(a_{b_1}(b_{b_1}(x1)))) -> A_{B_1}(b_{a_1}(a_{b_1}(b_{b_1}(x1)))) A_{A_1}(a_{a_1}(a_{b_1}(b_{b_1}(x1)))) -> B_{A_1}(a_{b_1}(b_{b_1}(x1))) A_{A_1}(a_{a_1}(a_{b_1}(b_{c_1}(x1)))) -> A_{B_1}(b_{a_1}(a_{b_1}(b_{c_1}(x1)))) A_{A_1}(a_{a_1}(a_{b_1}(b_{c_1}(x1)))) -> B_{A_1}(a_{b_1}(b_{c_1}(x1))) B_{A_1}(a_{a_1}(a_{b_1}(b_{a_1}(x1)))) -> B_{B_1}(b_{a_1}(a_{b_1}(b_{a_1}(x1)))) B_{A_1}(a_{a_1}(a_{b_1}(b_{a_1}(x1)))) -> B_{A_1}(a_{b_1}(b_{a_1}(x1))) B_{A_1}(a_{a_1}(a_{b_1}(b_{b_1}(x1)))) -> B_{B_1}(b_{a_1}(a_{b_1}(b_{b_1}(x1)))) B_{A_1}(a_{a_1}(a_{b_1}(b_{b_1}(x1)))) -> B_{A_1}(a_{b_1}(b_{b_1}(x1))) B_{A_1}(a_{a_1}(a_{b_1}(b_{c_1}(x1)))) -> B_{B_1}(b_{a_1}(a_{b_1}(b_{c_1}(x1)))) B_{A_1}(a_{a_1}(a_{b_1}(b_{c_1}(x1)))) -> B_{A_1}(a_{b_1}(b_{c_1}(x1))) C_{A_1}(a_{a_1}(a_{b_1}(b_{a_1}(x1)))) -> C_{B_1}(b_{a_1}(a_{b_1}(b_{a_1}(x1)))) C_{A_1}(a_{a_1}(a_{b_1}(b_{a_1}(x1)))) -> B_{A_1}(a_{b_1}(b_{a_1}(x1))) C_{A_1}(a_{a_1}(a_{b_1}(b_{b_1}(x1)))) -> C_{B_1}(b_{a_1}(a_{b_1}(b_{b_1}(x1)))) C_{A_1}(a_{a_1}(a_{b_1}(b_{b_1}(x1)))) -> B_{A_1}(a_{b_1}(b_{b_1}(x1))) C_{A_1}(a_{a_1}(a_{b_1}(b_{c_1}(x1)))) -> C_{B_1}(b_{a_1}(a_{b_1}(b_{c_1}(x1)))) C_{A_1}(a_{a_1}(a_{b_1}(b_{c_1}(x1)))) -> B_{A_1}(a_{b_1}(b_{c_1}(x1))) A_{B_1}(b_{a_1}(a_{a_1}(x1))) -> A_{A_1}(a_{b_1}(b_{b_1}(b_{a_1}(x1)))) A_{B_1}(b_{a_1}(a_{a_1}(x1))) -> A_{B_1}(b_{b_1}(b_{a_1}(x1))) A_{B_1}(b_{a_1}(a_{a_1}(x1))) -> B_{B_1}(b_{a_1}(x1)) A_{B_1}(b_{a_1}(a_{a_1}(x1))) -> B_{A_1}(x1) A_{B_1}(b_{a_1}(a_{b_1}(x1))) -> A_{A_1}(a_{b_1}(b_{b_1}(b_{b_1}(x1)))) A_{B_1}(b_{a_1}(a_{b_1}(x1))) -> A_{B_1}(b_{b_1}(b_{b_1}(x1))) A_{B_1}(b_{a_1}(a_{b_1}(x1))) -> B_{B_1}(b_{b_1}(x1)) A_{B_1}(b_{a_1}(a_{b_1}(x1))) -> B_{B_1}(x1) A_{B_1}(b_{a_1}(a_{c_1}(x1))) -> A_{A_1}(a_{b_1}(b_{b_1}(b_{c_1}(x1)))) A_{B_1}(b_{a_1}(a_{c_1}(x1))) -> A_{B_1}(b_{b_1}(b_{c_1}(x1))) A_{B_1}(b_{a_1}(a_{c_1}(x1))) -> B_{B_1}(b_{c_1}(x1)) B_{B_1}(b_{a_1}(a_{a_1}(x1))) -> B_{A_1}(a_{b_1}(b_{b_1}(b_{a_1}(x1)))) B_{B_1}(b_{a_1}(a_{a_1}(x1))) -> A_{B_1}(b_{b_1}(b_{a_1}(x1))) B_{B_1}(b_{a_1}(a_{a_1}(x1))) -> B_{B_1}(b_{a_1}(x1)) B_{B_1}(b_{a_1}(a_{a_1}(x1))) -> B_{A_1}(x1) B_{B_1}(b_{a_1}(a_{b_1}(x1))) -> B_{A_1}(a_{b_1}(b_{b_1}(b_{b_1}(x1)))) B_{B_1}(b_{a_1}(a_{b_1}(x1))) -> A_{B_1}(b_{b_1}(b_{b_1}(x1))) B_{B_1}(b_{a_1}(a_{b_1}(x1))) -> B_{B_1}(b_{b_1}(x1)) B_{B_1}(b_{a_1}(a_{b_1}(x1))) -> B_{B_1}(x1) B_{B_1}(b_{a_1}(a_{c_1}(x1))) -> B_{A_1}(a_{b_1}(b_{b_1}(b_{c_1}(x1)))) B_{B_1}(b_{a_1}(a_{c_1}(x1))) -> A_{B_1}(b_{b_1}(b_{c_1}(x1))) B_{B_1}(b_{a_1}(a_{c_1}(x1))) -> B_{B_1}(b_{c_1}(x1)) C_{B_1}(b_{a_1}(a_{a_1}(x1))) -> C_{A_1}(a_{b_1}(b_{b_1}(b_{a_1}(x1)))) C_{B_1}(b_{a_1}(a_{a_1}(x1))) -> A_{B_1}(b_{b_1}(b_{a_1}(x1))) C_{B_1}(b_{a_1}(a_{a_1}(x1))) -> B_{B_1}(b_{a_1}(x1)) C_{B_1}(b_{a_1}(a_{a_1}(x1))) -> B_{A_1}(x1) C_{B_1}(b_{a_1}(a_{b_1}(x1))) -> C_{A_1}(a_{b_1}(b_{b_1}(b_{b_1}(x1)))) C_{B_1}(b_{a_1}(a_{b_1}(x1))) -> A_{B_1}(b_{b_1}(b_{b_1}(x1))) C_{B_1}(b_{a_1}(a_{b_1}(x1))) -> B_{B_1}(b_{b_1}(x1)) C_{B_1}(b_{a_1}(a_{b_1}(x1))) -> B_{B_1}(x1) C_{B_1}(b_{a_1}(a_{c_1}(x1))) -> C_{A_1}(a_{b_1}(b_{b_1}(b_{c_1}(x1)))) C_{B_1}(b_{a_1}(a_{c_1}(x1))) -> A_{B_1}(b_{b_1}(b_{c_1}(x1))) C_{B_1}(b_{a_1}(a_{c_1}(x1))) -> B_{B_1}(b_{c_1}(x1)) A_{B_1}(b_{c_1}(c_{a_1}(a_{a_1}(x1)))) -> C_{A_1}(a_{a_1}(a_{b_1}(b_{a_1}(x1)))) A_{B_1}(b_{c_1}(c_{a_1}(a_{a_1}(x1)))) -> A_{A_1}(a_{b_1}(b_{a_1}(x1))) A_{B_1}(b_{c_1}(c_{a_1}(a_{a_1}(x1)))) -> A_{B_1}(b_{a_1}(x1)) A_{B_1}(b_{c_1}(c_{a_1}(a_{a_1}(x1)))) -> B_{A_1}(x1) A_{B_1}(b_{c_1}(c_{a_1}(a_{b_1}(x1)))) -> C_{A_1}(a_{a_1}(a_{b_1}(b_{b_1}(x1)))) A_{B_1}(b_{c_1}(c_{a_1}(a_{b_1}(x1)))) -> A_{A_1}(a_{b_1}(b_{b_1}(x1))) A_{B_1}(b_{c_1}(c_{a_1}(a_{b_1}(x1)))) -> A_{B_1}(b_{b_1}(x1)) A_{B_1}(b_{c_1}(c_{a_1}(a_{b_1}(x1)))) -> B_{B_1}(x1) A_{B_1}(b_{c_1}(c_{a_1}(a_{c_1}(x1)))) -> C_{A_1}(a_{a_1}(a_{b_1}(b_{c_1}(x1)))) A_{B_1}(b_{c_1}(c_{a_1}(a_{c_1}(x1)))) -> A_{A_1}(a_{b_1}(b_{c_1}(x1))) A_{B_1}(b_{c_1}(c_{a_1}(a_{c_1}(x1)))) -> A_{B_1}(b_{c_1}(x1)) B_{B_1}(b_{c_1}(c_{a_1}(a_{a_1}(x1)))) -> C_{A_1}(a_{a_1}(a_{b_1}(b_{a_1}(x1)))) B_{B_1}(b_{c_1}(c_{a_1}(a_{a_1}(x1)))) -> A_{A_1}(a_{b_1}(b_{a_1}(x1))) B_{B_1}(b_{c_1}(c_{a_1}(a_{a_1}(x1)))) -> A_{B_1}(b_{a_1}(x1)) B_{B_1}(b_{c_1}(c_{a_1}(a_{a_1}(x1)))) -> B_{A_1}(x1) B_{B_1}(b_{c_1}(c_{a_1}(a_{b_1}(x1)))) -> C_{A_1}(a_{a_1}(a_{b_1}(b_{b_1}(x1)))) B_{B_1}(b_{c_1}(c_{a_1}(a_{b_1}(x1)))) -> A_{A_1}(a_{b_1}(b_{b_1}(x1))) B_{B_1}(b_{c_1}(c_{a_1}(a_{b_1}(x1)))) -> A_{B_1}(b_{b_1}(x1)) B_{B_1}(b_{c_1}(c_{a_1}(a_{b_1}(x1)))) -> B_{B_1}(x1) B_{B_1}(b_{c_1}(c_{a_1}(a_{c_1}(x1)))) -> C_{A_1}(a_{a_1}(a_{b_1}(b_{c_1}(x1)))) B_{B_1}(b_{c_1}(c_{a_1}(a_{c_1}(x1)))) -> A_{A_1}(a_{b_1}(b_{c_1}(x1))) B_{B_1}(b_{c_1}(c_{a_1}(a_{c_1}(x1)))) -> A_{B_1}(b_{c_1}(x1)) The TRS R consists of the following rules: a_{a_1}(a_{a_1}(a_{b_1}(b_{a_1}(x1)))) -> a_{b_1}(b_{a_1}(a_{b_1}(b_{a_1}(x1)))) a_{a_1}(a_{a_1}(a_{b_1}(b_{b_1}(x1)))) -> a_{b_1}(b_{a_1}(a_{b_1}(b_{b_1}(x1)))) a_{a_1}(a_{a_1}(a_{b_1}(b_{c_1}(x1)))) -> a_{b_1}(b_{a_1}(a_{b_1}(b_{c_1}(x1)))) b_{a_1}(a_{a_1}(a_{b_1}(b_{a_1}(x1)))) -> b_{b_1}(b_{a_1}(a_{b_1}(b_{a_1}(x1)))) b_{a_1}(a_{a_1}(a_{b_1}(b_{b_1}(x1)))) -> b_{b_1}(b_{a_1}(a_{b_1}(b_{b_1}(x1)))) b_{a_1}(a_{a_1}(a_{b_1}(b_{c_1}(x1)))) -> b_{b_1}(b_{a_1}(a_{b_1}(b_{c_1}(x1)))) c_{a_1}(a_{a_1}(a_{b_1}(b_{a_1}(x1)))) -> c_{b_1}(b_{a_1}(a_{b_1}(b_{a_1}(x1)))) c_{a_1}(a_{a_1}(a_{b_1}(b_{b_1}(x1)))) -> c_{b_1}(b_{a_1}(a_{b_1}(b_{b_1}(x1)))) c_{a_1}(a_{a_1}(a_{b_1}(b_{c_1}(x1)))) -> c_{b_1}(b_{a_1}(a_{b_1}(b_{c_1}(x1)))) a_{b_1}(b_{a_1}(a_{a_1}(x1))) -> a_{a_1}(a_{b_1}(b_{b_1}(b_{a_1}(x1)))) a_{b_1}(b_{a_1}(a_{b_1}(x1))) -> a_{a_1}(a_{b_1}(b_{b_1}(b_{b_1}(x1)))) a_{b_1}(b_{a_1}(a_{c_1}(x1))) -> a_{a_1}(a_{b_1}(b_{b_1}(b_{c_1}(x1)))) b_{b_1}(b_{a_1}(a_{a_1}(x1))) -> b_{a_1}(a_{b_1}(b_{b_1}(b_{a_1}(x1)))) b_{b_1}(b_{a_1}(a_{b_1}(x1))) -> b_{a_1}(a_{b_1}(b_{b_1}(b_{b_1}(x1)))) b_{b_1}(b_{a_1}(a_{c_1}(x1))) -> b_{a_1}(a_{b_1}(b_{b_1}(b_{c_1}(x1)))) c_{b_1}(b_{a_1}(a_{a_1}(x1))) -> c_{a_1}(a_{b_1}(b_{b_1}(b_{a_1}(x1)))) c_{b_1}(b_{a_1}(a_{b_1}(x1))) -> c_{a_1}(a_{b_1}(b_{b_1}(b_{b_1}(x1)))) c_{b_1}(b_{a_1}(a_{c_1}(x1))) -> c_{a_1}(a_{b_1}(b_{b_1}(b_{c_1}(x1)))) a_{b_1}(b_{c_1}(c_{a_1}(a_{a_1}(x1)))) -> a_{c_1}(c_{c_1}(c_{a_1}(a_{a_1}(a_{b_1}(b_{a_1}(x1)))))) a_{b_1}(b_{c_1}(c_{a_1}(a_{b_1}(x1)))) -> a_{c_1}(c_{c_1}(c_{a_1}(a_{a_1}(a_{b_1}(b_{b_1}(x1)))))) a_{b_1}(b_{c_1}(c_{a_1}(a_{c_1}(x1)))) -> a_{c_1}(c_{c_1}(c_{a_1}(a_{a_1}(a_{b_1}(b_{c_1}(x1)))))) b_{b_1}(b_{c_1}(c_{a_1}(a_{a_1}(x1)))) -> b_{c_1}(c_{c_1}(c_{a_1}(a_{a_1}(a_{b_1}(b_{a_1}(x1)))))) b_{b_1}(b_{c_1}(c_{a_1}(a_{b_1}(x1)))) -> b_{c_1}(c_{c_1}(c_{a_1}(a_{a_1}(a_{b_1}(b_{b_1}(x1)))))) b_{b_1}(b_{c_1}(c_{a_1}(a_{c_1}(x1)))) -> b_{c_1}(c_{c_1}(c_{a_1}(a_{a_1}(a_{b_1}(b_{c_1}(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. B_{A_1}(a_{a_1}(a_{b_1}(b_{a_1}(x1)))) -> B_{B_1}(b_{a_1}(a_{b_1}(b_{a_1}(x1)))) B_{A_1}(a_{a_1}(a_{b_1}(b_{a_1}(x1)))) -> B_{A_1}(a_{b_1}(b_{a_1}(x1))) B_{A_1}(a_{a_1}(a_{b_1}(b_{b_1}(x1)))) -> B_{B_1}(b_{a_1}(a_{b_1}(b_{b_1}(x1)))) B_{A_1}(a_{a_1}(a_{b_1}(b_{b_1}(x1)))) -> B_{A_1}(a_{b_1}(b_{b_1}(x1))) B_{A_1}(a_{a_1}(a_{b_1}(b_{c_1}(x1)))) -> B_{B_1}(b_{a_1}(a_{b_1}(b_{c_1}(x1)))) B_{A_1}(a_{a_1}(a_{b_1}(b_{c_1}(x1)))) -> B_{A_1}(a_{b_1}(b_{c_1}(x1))) A_{B_1}(b_{a_1}(a_{a_1}(x1))) -> A_{A_1}(a_{b_1}(b_{b_1}(b_{a_1}(x1)))) A_{B_1}(b_{a_1}(a_{a_1}(x1))) -> A_{B_1}(b_{b_1}(b_{a_1}(x1))) A_{B_1}(b_{a_1}(a_{a_1}(x1))) -> B_{B_1}(b_{a_1}(x1)) A_{B_1}(b_{a_1}(a_{a_1}(x1))) -> B_{A_1}(x1) A_{B_1}(b_{a_1}(a_{b_1}(x1))) -> A_{A_1}(a_{b_1}(b_{b_1}(b_{b_1}(x1)))) A_{B_1}(b_{a_1}(a_{b_1}(x1))) -> A_{B_1}(b_{b_1}(b_{b_1}(x1))) A_{B_1}(b_{a_1}(a_{b_1}(x1))) -> B_{B_1}(b_{b_1}(x1)) A_{B_1}(b_{a_1}(a_{b_1}(x1))) -> B_{B_1}(x1) A_{B_1}(b_{a_1}(a_{c_1}(x1))) -> A_{A_1}(a_{b_1}(b_{b_1}(b_{c_1}(x1)))) A_{B_1}(b_{a_1}(a_{c_1}(x1))) -> A_{B_1}(b_{b_1}(b_{c_1}(x1))) A_{B_1}(b_{a_1}(a_{c_1}(x1))) -> B_{B_1}(b_{c_1}(x1)) B_{B_1}(b_{a_1}(a_{a_1}(x1))) -> A_{B_1}(b_{b_1}(b_{a_1}(x1))) B_{B_1}(b_{a_1}(a_{a_1}(x1))) -> B_{B_1}(b_{a_1}(x1)) B_{B_1}(b_{a_1}(a_{a_1}(x1))) -> B_{A_1}(x1) B_{B_1}(b_{a_1}(a_{b_1}(x1))) -> A_{B_1}(b_{b_1}(b_{b_1}(x1))) B_{B_1}(b_{a_1}(a_{b_1}(x1))) -> B_{B_1}(b_{b_1}(x1)) B_{B_1}(b_{a_1}(a_{b_1}(x1))) -> B_{B_1}(x1) B_{B_1}(b_{a_1}(a_{c_1}(x1))) -> A_{B_1}(b_{b_1}(b_{c_1}(x1))) B_{B_1}(b_{a_1}(a_{c_1}(x1))) -> B_{B_1}(b_{c_1}(x1)) C_{B_1}(b_{a_1}(a_{a_1}(x1))) -> C_{A_1}(a_{b_1}(b_{b_1}(b_{a_1}(x1)))) C_{B_1}(b_{a_1}(a_{a_1}(x1))) -> A_{B_1}(b_{b_1}(b_{a_1}(x1))) C_{B_1}(b_{a_1}(a_{a_1}(x1))) -> B_{B_1}(b_{a_1}(x1)) C_{B_1}(b_{a_1}(a_{a_1}(x1))) -> B_{A_1}(x1) C_{B_1}(b_{a_1}(a_{b_1}(x1))) -> C_{A_1}(a_{b_1}(b_{b_1}(b_{b_1}(x1)))) C_{B_1}(b_{a_1}(a_{b_1}(x1))) -> A_{B_1}(b_{b_1}(b_{b_1}(x1))) C_{B_1}(b_{a_1}(a_{b_1}(x1))) -> B_{B_1}(b_{b_1}(x1)) C_{B_1}(b_{a_1}(a_{b_1}(x1))) -> B_{B_1}(x1) C_{B_1}(b_{a_1}(a_{c_1}(x1))) -> C_{A_1}(a_{b_1}(b_{b_1}(b_{c_1}(x1)))) C_{B_1}(b_{a_1}(a_{c_1}(x1))) -> A_{B_1}(b_{b_1}(b_{c_1}(x1))) C_{B_1}(b_{a_1}(a_{c_1}(x1))) -> B_{B_1}(b_{c_1}(x1)) A_{B_1}(b_{c_1}(c_{a_1}(a_{a_1}(x1)))) -> A_{A_1}(a_{b_1}(b_{a_1}(x1))) A_{B_1}(b_{c_1}(c_{a_1}(a_{a_1}(x1)))) -> A_{B_1}(b_{a_1}(x1)) A_{B_1}(b_{c_1}(c_{a_1}(a_{a_1}(x1)))) -> B_{A_1}(x1) A_{B_1}(b_{c_1}(c_{a_1}(a_{b_1}(x1)))) -> A_{A_1}(a_{b_1}(b_{b_1}(x1))) A_{B_1}(b_{c_1}(c_{a_1}(a_{b_1}(x1)))) -> A_{B_1}(b_{b_1}(x1)) A_{B_1}(b_{c_1}(c_{a_1}(a_{b_1}(x1)))) -> B_{B_1}(x1) A_{B_1}(b_{c_1}(c_{a_1}(a_{c_1}(x1)))) -> A_{A_1}(a_{b_1}(b_{c_1}(x1))) A_{B_1}(b_{c_1}(c_{a_1}(a_{c_1}(x1)))) -> A_{B_1}(b_{c_1}(x1)) B_{B_1}(b_{c_1}(c_{a_1}(a_{a_1}(x1)))) -> A_{A_1}(a_{b_1}(b_{a_1}(x1))) B_{B_1}(b_{c_1}(c_{a_1}(a_{a_1}(x1)))) -> A_{B_1}(b_{a_1}(x1)) B_{B_1}(b_{c_1}(c_{a_1}(a_{a_1}(x1)))) -> B_{A_1}(x1) B_{B_1}(b_{c_1}(c_{a_1}(a_{b_1}(x1)))) -> A_{A_1}(a_{b_1}(b_{b_1}(x1))) B_{B_1}(b_{c_1}(c_{a_1}(a_{b_1}(x1)))) -> A_{B_1}(b_{b_1}(x1)) B_{B_1}(b_{c_1}(c_{a_1}(a_{b_1}(x1)))) -> B_{B_1}(x1) B_{B_1}(b_{c_1}(c_{a_1}(a_{c_1}(x1)))) -> A_{A_1}(a_{b_1}(b_{c_1}(x1))) B_{B_1}(b_{c_1}(c_{a_1}(a_{c_1}(x1)))) -> A_{B_1}(b_{c_1}(x1)) The remaining pairs can at least be oriented weakly. Used ordering: Polynomial interpretation [POLO]: POL(A_{A_1}(x_1)) = x_1 POL(A_{B_1}(x_1)) = x_1 POL(B_{A_1}(x_1)) = 1 + x_1 POL(B_{B_1}(x_1)) = x_1 POL(C_{A_1}(x_1)) = x_1 POL(C_{B_1}(x_1)) = x_1 POL(a_{a_1}(x_1)) = 1 + x_1 POL(a_{b_1}(x_1)) = x_1 POL(a_{c_1}(x_1)) = 1 + x_1 POL(b_{a_1}(x_1)) = 1 + x_1 POL(b_{b_1}(x_1)) = x_1 POL(b_{c_1}(x_1)) = 1 + x_1 POL(c_{a_1}(x_1)) = x_1 POL(c_{b_1}(x_1)) = 0 POL(c_{c_1}(x_1)) = 0 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: b_{b_1}(b_{a_1}(a_{a_1}(x1))) -> b_{a_1}(a_{b_1}(b_{b_1}(b_{a_1}(x1)))) b_{a_1}(a_{a_1}(a_{b_1}(b_{a_1}(x1)))) -> b_{b_1}(b_{a_1}(a_{b_1}(b_{a_1}(x1)))) b_{b_1}(b_{a_1}(a_{b_1}(x1))) -> b_{a_1}(a_{b_1}(b_{b_1}(b_{b_1}(x1)))) b_{a_1}(a_{a_1}(a_{b_1}(b_{b_1}(x1)))) -> b_{b_1}(b_{a_1}(a_{b_1}(b_{b_1}(x1)))) b_{b_1}(b_{a_1}(a_{c_1}(x1))) -> b_{a_1}(a_{b_1}(b_{b_1}(b_{c_1}(x1)))) b_{a_1}(a_{a_1}(a_{b_1}(b_{c_1}(x1)))) -> b_{b_1}(b_{a_1}(a_{b_1}(b_{c_1}(x1)))) a_{b_1}(b_{a_1}(a_{a_1}(x1))) -> a_{a_1}(a_{b_1}(b_{b_1}(b_{a_1}(x1)))) a_{a_1}(a_{a_1}(a_{b_1}(b_{a_1}(x1)))) -> a_{b_1}(b_{a_1}(a_{b_1}(b_{a_1}(x1)))) a_{b_1}(b_{a_1}(a_{b_1}(x1))) -> a_{a_1}(a_{b_1}(b_{b_1}(b_{b_1}(x1)))) a_{a_1}(a_{a_1}(a_{b_1}(b_{b_1}(x1)))) -> a_{b_1}(b_{a_1}(a_{b_1}(b_{b_1}(x1)))) a_{b_1}(b_{a_1}(a_{c_1}(x1))) -> a_{a_1}(a_{b_1}(b_{b_1}(b_{c_1}(x1)))) a_{a_1}(a_{a_1}(a_{b_1}(b_{c_1}(x1)))) -> a_{b_1}(b_{a_1}(a_{b_1}(b_{c_1}(x1)))) a_{b_1}(b_{c_1}(c_{a_1}(a_{a_1}(x1)))) -> a_{c_1}(c_{c_1}(c_{a_1}(a_{a_1}(a_{b_1}(b_{a_1}(x1)))))) a_{b_1}(b_{c_1}(c_{a_1}(a_{b_1}(x1)))) -> a_{c_1}(c_{c_1}(c_{a_1}(a_{a_1}(a_{b_1}(b_{b_1}(x1)))))) a_{b_1}(b_{c_1}(c_{a_1}(a_{c_1}(x1)))) -> a_{c_1}(c_{c_1}(c_{a_1}(a_{a_1}(a_{b_1}(b_{c_1}(x1)))))) b_{b_1}(b_{c_1}(c_{a_1}(a_{a_1}(x1)))) -> b_{c_1}(c_{c_1}(c_{a_1}(a_{a_1}(a_{b_1}(b_{a_1}(x1)))))) b_{b_1}(b_{c_1}(c_{a_1}(a_{b_1}(x1)))) -> b_{c_1}(c_{c_1}(c_{a_1}(a_{a_1}(a_{b_1}(b_{b_1}(x1)))))) b_{b_1}(b_{c_1}(c_{a_1}(a_{c_1}(x1)))) -> b_{c_1}(c_{c_1}(c_{a_1}(a_{a_1}(a_{b_1}(b_{c_1}(x1)))))) ---------------------------------------- (10) Obligation: Q DP problem: The TRS P consists of the following rules: A_{A_1}(a_{a_1}(a_{b_1}(b_{a_1}(x1)))) -> A_{B_1}(b_{a_1}(a_{b_1}(b_{a_1}(x1)))) A_{A_1}(a_{a_1}(a_{b_1}(b_{a_1}(x1)))) -> B_{A_1}(a_{b_1}(b_{a_1}(x1))) A_{A_1}(a_{a_1}(a_{b_1}(b_{b_1}(x1)))) -> A_{B_1}(b_{a_1}(a_{b_1}(b_{b_1}(x1)))) A_{A_1}(a_{a_1}(a_{b_1}(b_{b_1}(x1)))) -> B_{A_1}(a_{b_1}(b_{b_1}(x1))) A_{A_1}(a_{a_1}(a_{b_1}(b_{c_1}(x1)))) -> A_{B_1}(b_{a_1}(a_{b_1}(b_{c_1}(x1)))) A_{A_1}(a_{a_1}(a_{b_1}(b_{c_1}(x1)))) -> B_{A_1}(a_{b_1}(b_{c_1}(x1))) C_{A_1}(a_{a_1}(a_{b_1}(b_{a_1}(x1)))) -> C_{B_1}(b_{a_1}(a_{b_1}(b_{a_1}(x1)))) C_{A_1}(a_{a_1}(a_{b_1}(b_{a_1}(x1)))) -> B_{A_1}(a_{b_1}(b_{a_1}(x1))) C_{A_1}(a_{a_1}(a_{b_1}(b_{b_1}(x1)))) -> C_{B_1}(b_{a_1}(a_{b_1}(b_{b_1}(x1)))) C_{A_1}(a_{a_1}(a_{b_1}(b_{b_1}(x1)))) -> B_{A_1}(a_{b_1}(b_{b_1}(x1))) C_{A_1}(a_{a_1}(a_{b_1}(b_{c_1}(x1)))) -> C_{B_1}(b_{a_1}(a_{b_1}(b_{c_1}(x1)))) C_{A_1}(a_{a_1}(a_{b_1}(b_{c_1}(x1)))) -> B_{A_1}(a_{b_1}(b_{c_1}(x1))) B_{B_1}(b_{a_1}(a_{a_1}(x1))) -> B_{A_1}(a_{b_1}(b_{b_1}(b_{a_1}(x1)))) B_{B_1}(b_{a_1}(a_{b_1}(x1))) -> B_{A_1}(a_{b_1}(b_{b_1}(b_{b_1}(x1)))) B_{B_1}(b_{a_1}(a_{c_1}(x1))) -> B_{A_1}(a_{b_1}(b_{b_1}(b_{c_1}(x1)))) A_{B_1}(b_{c_1}(c_{a_1}(a_{a_1}(x1)))) -> C_{A_1}(a_{a_1}(a_{b_1}(b_{a_1}(x1)))) A_{B_1}(b_{c_1}(c_{a_1}(a_{b_1}(x1)))) -> C_{A_1}(a_{a_1}(a_{b_1}(b_{b_1}(x1)))) A_{B_1}(b_{c_1}(c_{a_1}(a_{c_1}(x1)))) -> C_{A_1}(a_{a_1}(a_{b_1}(b_{c_1}(x1)))) B_{B_1}(b_{c_1}(c_{a_1}(a_{a_1}(x1)))) -> C_{A_1}(a_{a_1}(a_{b_1}(b_{a_1}(x1)))) B_{B_1}(b_{c_1}(c_{a_1}(a_{b_1}(x1)))) -> C_{A_1}(a_{a_1}(a_{b_1}(b_{b_1}(x1)))) B_{B_1}(b_{c_1}(c_{a_1}(a_{c_1}(x1)))) -> C_{A_1}(a_{a_1}(a_{b_1}(b_{c_1}(x1)))) The TRS R consists of the following rules: a_{a_1}(a_{a_1}(a_{b_1}(b_{a_1}(x1)))) -> a_{b_1}(b_{a_1}(a_{b_1}(b_{a_1}(x1)))) a_{a_1}(a_{a_1}(a_{b_1}(b_{b_1}(x1)))) -> a_{b_1}(b_{a_1}(a_{b_1}(b_{b_1}(x1)))) a_{a_1}(a_{a_1}(a_{b_1}(b_{c_1}(x1)))) -> a_{b_1}(b_{a_1}(a_{b_1}(b_{c_1}(x1)))) b_{a_1}(a_{a_1}(a_{b_1}(b_{a_1}(x1)))) -> b_{b_1}(b_{a_1}(a_{b_1}(b_{a_1}(x1)))) b_{a_1}(a_{a_1}(a_{b_1}(b_{b_1}(x1)))) -> b_{b_1}(b_{a_1}(a_{b_1}(b_{b_1}(x1)))) b_{a_1}(a_{a_1}(a_{b_1}(b_{c_1}(x1)))) -> b_{b_1}(b_{a_1}(a_{b_1}(b_{c_1}(x1)))) c_{a_1}(a_{a_1}(a_{b_1}(b_{a_1}(x1)))) -> c_{b_1}(b_{a_1}(a_{b_1}(b_{a_1}(x1)))) c_{a_1}(a_{a_1}(a_{b_1}(b_{b_1}(x1)))) -> c_{b_1}(b_{a_1}(a_{b_1}(b_{b_1}(x1)))) c_{a_1}(a_{a_1}(a_{b_1}(b_{c_1}(x1)))) -> c_{b_1}(b_{a_1}(a_{b_1}(b_{c_1}(x1)))) a_{b_1}(b_{a_1}(a_{a_1}(x1))) -> a_{a_1}(a_{b_1}(b_{b_1}(b_{a_1}(x1)))) a_{b_1}(b_{a_1}(a_{b_1}(x1))) -> a_{a_1}(a_{b_1}(b_{b_1}(b_{b_1}(x1)))) a_{b_1}(b_{a_1}(a_{c_1}(x1))) -> a_{a_1}(a_{b_1}(b_{b_1}(b_{c_1}(x1)))) b_{b_1}(b_{a_1}(a_{a_1}(x1))) -> b_{a_1}(a_{b_1}(b_{b_1}(b_{a_1}(x1)))) b_{b_1}(b_{a_1}(a_{b_1}(x1))) -> b_{a_1}(a_{b_1}(b_{b_1}(b_{b_1}(x1)))) b_{b_1}(b_{a_1}(a_{c_1}(x1))) -> b_{a_1}(a_{b_1}(b_{b_1}(b_{c_1}(x1)))) c_{b_1}(b_{a_1}(a_{a_1}(x1))) -> c_{a_1}(a_{b_1}(b_{b_1}(b_{a_1}(x1)))) c_{b_1}(b_{a_1}(a_{b_1}(x1))) -> c_{a_1}(a_{b_1}(b_{b_1}(b_{b_1}(x1)))) c_{b_1}(b_{a_1}(a_{c_1}(x1))) -> c_{a_1}(a_{b_1}(b_{b_1}(b_{c_1}(x1)))) a_{b_1}(b_{c_1}(c_{a_1}(a_{a_1}(x1)))) -> a_{c_1}(c_{c_1}(c_{a_1}(a_{a_1}(a_{b_1}(b_{a_1}(x1)))))) a_{b_1}(b_{c_1}(c_{a_1}(a_{b_1}(x1)))) -> a_{c_1}(c_{c_1}(c_{a_1}(a_{a_1}(a_{b_1}(b_{b_1}(x1)))))) a_{b_1}(b_{c_1}(c_{a_1}(a_{c_1}(x1)))) -> a_{c_1}(c_{c_1}(c_{a_1}(a_{a_1}(a_{b_1}(b_{c_1}(x1)))))) b_{b_1}(b_{c_1}(c_{a_1}(a_{a_1}(x1)))) -> b_{c_1}(c_{c_1}(c_{a_1}(a_{a_1}(a_{b_1}(b_{a_1}(x1)))))) b_{b_1}(b_{c_1}(c_{a_1}(a_{b_1}(x1)))) -> b_{c_1}(c_{c_1}(c_{a_1}(a_{a_1}(a_{b_1}(b_{b_1}(x1)))))) b_{b_1}(b_{c_1}(c_{a_1}(a_{c_1}(x1)))) -> b_{c_1}(c_{c_1}(c_{a_1}(a_{a_1}(a_{b_1}(b_{c_1}(x1)))))) Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (11) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 21 less nodes. ---------------------------------------- (12) TRUE