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, 121 ms] (6) QTRS (7) QTRSRRRProof [EQUIVALENT, 0 ms] (8) QTRS (9) QTRSRRRProof [EQUIVALENT, 2 ms] (10) QTRS (11) RisEmptyProof [EQUIVALENT, 0 ms] (12) YES ---------------------------------------- (0) Obligation: Q restricted rewrite system: The TRS R consists of the following rules: a(a(x1)) -> b(c(x1)) b(b(x1)) -> c(d(x1)) c(c(x1)) -> d(d(d(x1))) d(c(x1)) -> b(f(x1)) d(d(d(x1))) -> a(c(x1)) f(f(x1)) -> f(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: f(f(x1)) -> f(b(x1)) a(a(a(x1))) -> a(b(c(x1))) b(a(a(x1))) -> b(b(c(x1))) c(a(a(x1))) -> c(b(c(x1))) d(a(a(x1))) -> d(b(c(x1))) f(a(a(x1))) -> f(b(c(x1))) a(b(b(x1))) -> a(c(d(x1))) b(b(b(x1))) -> b(c(d(x1))) c(b(b(x1))) -> c(c(d(x1))) d(b(b(x1))) -> d(c(d(x1))) f(b(b(x1))) -> f(c(d(x1))) a(c(c(x1))) -> a(d(d(d(x1)))) b(c(c(x1))) -> b(d(d(d(x1)))) c(c(c(x1))) -> c(d(d(d(x1)))) d(c(c(x1))) -> d(d(d(d(x1)))) f(c(c(x1))) -> f(d(d(d(x1)))) a(d(c(x1))) -> a(b(f(x1))) b(d(c(x1))) -> b(b(f(x1))) c(d(c(x1))) -> c(b(f(x1))) d(d(c(x1))) -> d(b(f(x1))) f(d(c(x1))) -> f(b(f(x1))) a(d(d(d(x1)))) -> a(a(c(x1))) b(d(d(d(x1)))) -> b(a(c(x1))) c(d(d(d(x1)))) -> c(a(c(x1))) d(d(d(d(x1)))) -> d(a(c(x1))) f(d(d(d(x1)))) -> f(a(c(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: f_{f_1}(f_{f_1}(x1)) -> f_{b_1}(b_{f_1}(x1)) f_{f_1}(f_{b_1}(x1)) -> f_{b_1}(b_{b_1}(x1)) f_{f_1}(f_{a_1}(x1)) -> f_{b_1}(b_{a_1}(x1)) f_{f_1}(f_{c_1}(x1)) -> f_{b_1}(b_{c_1}(x1)) f_{f_1}(f_{d_1}(x1)) -> f_{b_1}(b_{d_1}(x1)) a_{a_1}(a_{a_1}(a_{f_1}(x1))) -> a_{b_1}(b_{c_1}(c_{f_1}(x1))) a_{a_1}(a_{a_1}(a_{b_1}(x1))) -> a_{b_1}(b_{c_1}(c_{b_1}(x1))) a_{a_1}(a_{a_1}(a_{a_1}(x1))) -> a_{b_1}(b_{c_1}(c_{a_1}(x1))) a_{a_1}(a_{a_1}(a_{c_1}(x1))) -> a_{b_1}(b_{c_1}(c_{c_1}(x1))) a_{a_1}(a_{a_1}(a_{d_1}(x1))) -> a_{b_1}(b_{c_1}(c_{d_1}(x1))) b_{a_1}(a_{a_1}(a_{f_1}(x1))) -> b_{b_1}(b_{c_1}(c_{f_1}(x1))) b_{a_1}(a_{a_1}(a_{b_1}(x1))) -> b_{b_1}(b_{c_1}(c_{b_1}(x1))) b_{a_1}(a_{a_1}(a_{a_1}(x1))) -> b_{b_1}(b_{c_1}(c_{a_1}(x1))) b_{a_1}(a_{a_1}(a_{c_1}(x1))) -> b_{b_1}(b_{c_1}(c_{c_1}(x1))) b_{a_1}(a_{a_1}(a_{d_1}(x1))) -> b_{b_1}(b_{c_1}(c_{d_1}(x1))) c_{a_1}(a_{a_1}(a_{f_1}(x1))) -> c_{b_1}(b_{c_1}(c_{f_1}(x1))) c_{a_1}(a_{a_1}(a_{b_1}(x1))) -> c_{b_1}(b_{c_1}(c_{b_1}(x1))) c_{a_1}(a_{a_1}(a_{a_1}(x1))) -> c_{b_1}(b_{c_1}(c_{a_1}(x1))) c_{a_1}(a_{a_1}(a_{c_1}(x1))) -> c_{b_1}(b_{c_1}(c_{c_1}(x1))) c_{a_1}(a_{a_1}(a_{d_1}(x1))) -> c_{b_1}(b_{c_1}(c_{d_1}(x1))) d_{a_1}(a_{a_1}(a_{f_1}(x1))) -> d_{b_1}(b_{c_1}(c_{f_1}(x1))) d_{a_1}(a_{a_1}(a_{b_1}(x1))) -> d_{b_1}(b_{c_1}(c_{b_1}(x1))) d_{a_1}(a_{a_1}(a_{a_1}(x1))) -> d_{b_1}(b_{c_1}(c_{a_1}(x1))) d_{a_1}(a_{a_1}(a_{c_1}(x1))) -> d_{b_1}(b_{c_1}(c_{c_1}(x1))) d_{a_1}(a_{a_1}(a_{d_1}(x1))) -> d_{b_1}(b_{c_1}(c_{d_1}(x1))) f_{a_1}(a_{a_1}(a_{f_1}(x1))) -> f_{b_1}(b_{c_1}(c_{f_1}(x1))) f_{a_1}(a_{a_1}(a_{b_1}(x1))) -> f_{b_1}(b_{c_1}(c_{b_1}(x1))) f_{a_1}(a_{a_1}(a_{a_1}(x1))) -> f_{b_1}(b_{c_1}(c_{a_1}(x1))) f_{a_1}(a_{a_1}(a_{c_1}(x1))) -> f_{b_1}(b_{c_1}(c_{c_1}(x1))) f_{a_1}(a_{a_1}(a_{d_1}(x1))) -> f_{b_1}(b_{c_1}(c_{d_1}(x1))) a_{b_1}(b_{b_1}(b_{f_1}(x1))) -> a_{c_1}(c_{d_1}(d_{f_1}(x1))) a_{b_1}(b_{b_1}(b_{b_1}(x1))) -> a_{c_1}(c_{d_1}(d_{b_1}(x1))) a_{b_1}(b_{b_1}(b_{a_1}(x1))) -> a_{c_1}(c_{d_1}(d_{a_1}(x1))) a_{b_1}(b_{b_1}(b_{c_1}(x1))) -> a_{c_1}(c_{d_1}(d_{c_1}(x1))) a_{b_1}(b_{b_1}(b_{d_1}(x1))) -> a_{c_1}(c_{d_1}(d_{d_1}(x1))) b_{b_1}(b_{b_1}(b_{f_1}(x1))) -> b_{c_1}(c_{d_1}(d_{f_1}(x1))) b_{b_1}(b_{b_1}(b_{b_1}(x1))) -> b_{c_1}(c_{d_1}(d_{b_1}(x1))) b_{b_1}(b_{b_1}(b_{a_1}(x1))) -> b_{c_1}(c_{d_1}(d_{a_1}(x1))) b_{b_1}(b_{b_1}(b_{c_1}(x1))) -> b_{c_1}(c_{d_1}(d_{c_1}(x1))) b_{b_1}(b_{b_1}(b_{d_1}(x1))) -> b_{c_1}(c_{d_1}(d_{d_1}(x1))) c_{b_1}(b_{b_1}(b_{f_1}(x1))) -> c_{c_1}(c_{d_1}(d_{f_1}(x1))) c_{b_1}(b_{b_1}(b_{b_1}(x1))) -> c_{c_1}(c_{d_1}(d_{b_1}(x1))) c_{b_1}(b_{b_1}(b_{a_1}(x1))) -> c_{c_1}(c_{d_1}(d_{a_1}(x1))) c_{b_1}(b_{b_1}(b_{c_1}(x1))) -> c_{c_1}(c_{d_1}(d_{c_1}(x1))) c_{b_1}(b_{b_1}(b_{d_1}(x1))) -> c_{c_1}(c_{d_1}(d_{d_1}(x1))) d_{b_1}(b_{b_1}(b_{f_1}(x1))) -> d_{c_1}(c_{d_1}(d_{f_1}(x1))) d_{b_1}(b_{b_1}(b_{b_1}(x1))) -> d_{c_1}(c_{d_1}(d_{b_1}(x1))) d_{b_1}(b_{b_1}(b_{a_1}(x1))) -> d_{c_1}(c_{d_1}(d_{a_1}(x1))) d_{b_1}(b_{b_1}(b_{c_1}(x1))) -> d_{c_1}(c_{d_1}(d_{c_1}(x1))) d_{b_1}(b_{b_1}(b_{d_1}(x1))) -> d_{c_1}(c_{d_1}(d_{d_1}(x1))) f_{b_1}(b_{b_1}(b_{f_1}(x1))) -> f_{c_1}(c_{d_1}(d_{f_1}(x1))) f_{b_1}(b_{b_1}(b_{b_1}(x1))) -> f_{c_1}(c_{d_1}(d_{b_1}(x1))) f_{b_1}(b_{b_1}(b_{a_1}(x1))) -> f_{c_1}(c_{d_1}(d_{a_1}(x1))) f_{b_1}(b_{b_1}(b_{c_1}(x1))) -> f_{c_1}(c_{d_1}(d_{c_1}(x1))) f_{b_1}(b_{b_1}(b_{d_1}(x1))) -> f_{c_1}(c_{d_1}(d_{d_1}(x1))) a_{c_1}(c_{c_1}(c_{f_1}(x1))) -> a_{d_1}(d_{d_1}(d_{d_1}(d_{f_1}(x1)))) a_{c_1}(c_{c_1}(c_{b_1}(x1))) -> a_{d_1}(d_{d_1}(d_{d_1}(d_{b_1}(x1)))) a_{c_1}(c_{c_1}(c_{a_1}(x1))) -> a_{d_1}(d_{d_1}(d_{d_1}(d_{a_1}(x1)))) a_{c_1}(c_{c_1}(c_{c_1}(x1))) -> a_{d_1}(d_{d_1}(d_{d_1}(d_{c_1}(x1)))) a_{c_1}(c_{c_1}(c_{d_1}(x1))) -> a_{d_1}(d_{d_1}(d_{d_1}(d_{d_1}(x1)))) b_{c_1}(c_{c_1}(c_{f_1}(x1))) -> b_{d_1}(d_{d_1}(d_{d_1}(d_{f_1}(x1)))) b_{c_1}(c_{c_1}(c_{b_1}(x1))) -> b_{d_1}(d_{d_1}(d_{d_1}(d_{b_1}(x1)))) b_{c_1}(c_{c_1}(c_{a_1}(x1))) -> b_{d_1}(d_{d_1}(d_{d_1}(d_{a_1}(x1)))) b_{c_1}(c_{c_1}(c_{c_1}(x1))) -> b_{d_1}(d_{d_1}(d_{d_1}(d_{c_1}(x1)))) b_{c_1}(c_{c_1}(c_{d_1}(x1))) -> b_{d_1}(d_{d_1}(d_{d_1}(d_{d_1}(x1)))) c_{c_1}(c_{c_1}(c_{f_1}(x1))) -> c_{d_1}(d_{d_1}(d_{d_1}(d_{f_1}(x1)))) c_{c_1}(c_{c_1}(c_{b_1}(x1))) -> c_{d_1}(d_{d_1}(d_{d_1}(d_{b_1}(x1)))) c_{c_1}(c_{c_1}(c_{a_1}(x1))) -> c_{d_1}(d_{d_1}(d_{d_1}(d_{a_1}(x1)))) c_{c_1}(c_{c_1}(c_{c_1}(x1))) -> c_{d_1}(d_{d_1}(d_{d_1}(d_{c_1}(x1)))) c_{c_1}(c_{c_1}(c_{d_1}(x1))) -> c_{d_1}(d_{d_1}(d_{d_1}(d_{d_1}(x1)))) d_{c_1}(c_{c_1}(c_{f_1}(x1))) -> d_{d_1}(d_{d_1}(d_{d_1}(d_{f_1}(x1)))) d_{c_1}(c_{c_1}(c_{b_1}(x1))) -> d_{d_1}(d_{d_1}(d_{d_1}(d_{b_1}(x1)))) d_{c_1}(c_{c_1}(c_{a_1}(x1))) -> d_{d_1}(d_{d_1}(d_{d_1}(d_{a_1}(x1)))) d_{c_1}(c_{c_1}(c_{c_1}(x1))) -> d_{d_1}(d_{d_1}(d_{d_1}(d_{c_1}(x1)))) d_{c_1}(c_{c_1}(c_{d_1}(x1))) -> d_{d_1}(d_{d_1}(d_{d_1}(d_{d_1}(x1)))) f_{c_1}(c_{c_1}(c_{f_1}(x1))) -> f_{d_1}(d_{d_1}(d_{d_1}(d_{f_1}(x1)))) f_{c_1}(c_{c_1}(c_{b_1}(x1))) -> f_{d_1}(d_{d_1}(d_{d_1}(d_{b_1}(x1)))) f_{c_1}(c_{c_1}(c_{a_1}(x1))) -> f_{d_1}(d_{d_1}(d_{d_1}(d_{a_1}(x1)))) f_{c_1}(c_{c_1}(c_{c_1}(x1))) -> f_{d_1}(d_{d_1}(d_{d_1}(d_{c_1}(x1)))) f_{c_1}(c_{c_1}(c_{d_1}(x1))) -> f_{d_1}(d_{d_1}(d_{d_1}(d_{d_1}(x1)))) a_{d_1}(d_{c_1}(c_{f_1}(x1))) -> a_{b_1}(b_{f_1}(f_{f_1}(x1))) a_{d_1}(d_{c_1}(c_{b_1}(x1))) -> a_{b_1}(b_{f_1}(f_{b_1}(x1))) a_{d_1}(d_{c_1}(c_{a_1}(x1))) -> a_{b_1}(b_{f_1}(f_{a_1}(x1))) a_{d_1}(d_{c_1}(c_{c_1}(x1))) -> a_{b_1}(b_{f_1}(f_{c_1}(x1))) a_{d_1}(d_{c_1}(c_{d_1}(x1))) -> a_{b_1}(b_{f_1}(f_{d_1}(x1))) b_{d_1}(d_{c_1}(c_{f_1}(x1))) -> b_{b_1}(b_{f_1}(f_{f_1}(x1))) b_{d_1}(d_{c_1}(c_{b_1}(x1))) -> b_{b_1}(b_{f_1}(f_{b_1}(x1))) b_{d_1}(d_{c_1}(c_{a_1}(x1))) -> b_{b_1}(b_{f_1}(f_{a_1}(x1))) b_{d_1}(d_{c_1}(c_{c_1}(x1))) -> b_{b_1}(b_{f_1}(f_{c_1}(x1))) b_{d_1}(d_{c_1}(c_{d_1}(x1))) -> b_{b_1}(b_{f_1}(f_{d_1}(x1))) c_{d_1}(d_{c_1}(c_{f_1}(x1))) -> c_{b_1}(b_{f_1}(f_{f_1}(x1))) c_{d_1}(d_{c_1}(c_{b_1}(x1))) -> c_{b_1}(b_{f_1}(f_{b_1}(x1))) c_{d_1}(d_{c_1}(c_{a_1}(x1))) -> c_{b_1}(b_{f_1}(f_{a_1}(x1))) c_{d_1}(d_{c_1}(c_{c_1}(x1))) -> c_{b_1}(b_{f_1}(f_{c_1}(x1))) c_{d_1}(d_{c_1}(c_{d_1}(x1))) -> c_{b_1}(b_{f_1}(f_{d_1}(x1))) d_{d_1}(d_{c_1}(c_{f_1}(x1))) -> d_{b_1}(b_{f_1}(f_{f_1}(x1))) d_{d_1}(d_{c_1}(c_{b_1}(x1))) -> d_{b_1}(b_{f_1}(f_{b_1}(x1))) d_{d_1}(d_{c_1}(c_{a_1}(x1))) -> d_{b_1}(b_{f_1}(f_{a_1}(x1))) d_{d_1}(d_{c_1}(c_{c_1}(x1))) -> d_{b_1}(b_{f_1}(f_{c_1}(x1))) d_{d_1}(d_{c_1}(c_{d_1}(x1))) -> d_{b_1}(b_{f_1}(f_{d_1}(x1))) f_{d_1}(d_{c_1}(c_{f_1}(x1))) -> f_{b_1}(b_{f_1}(f_{f_1}(x1))) f_{d_1}(d_{c_1}(c_{b_1}(x1))) -> f_{b_1}(b_{f_1}(f_{b_1}(x1))) f_{d_1}(d_{c_1}(c_{a_1}(x1))) -> f_{b_1}(b_{f_1}(f_{a_1}(x1))) f_{d_1}(d_{c_1}(c_{c_1}(x1))) -> f_{b_1}(b_{f_1}(f_{c_1}(x1))) f_{d_1}(d_{c_1}(c_{d_1}(x1))) -> f_{b_1}(b_{f_1}(f_{d_1}(x1))) a_{d_1}(d_{d_1}(d_{d_1}(d_{f_1}(x1)))) -> a_{a_1}(a_{c_1}(c_{f_1}(x1))) a_{d_1}(d_{d_1}(d_{d_1}(d_{b_1}(x1)))) -> a_{a_1}(a_{c_1}(c_{b_1}(x1))) a_{d_1}(d_{d_1}(d_{d_1}(d_{a_1}(x1)))) -> a_{a_1}(a_{c_1}(c_{a_1}(x1))) a_{d_1}(d_{d_1}(d_{d_1}(d_{c_1}(x1)))) -> a_{a_1}(a_{c_1}(c_{c_1}(x1))) a_{d_1}(d_{d_1}(d_{d_1}(d_{d_1}(x1)))) -> a_{a_1}(a_{c_1}(c_{d_1}(x1))) b_{d_1}(d_{d_1}(d_{d_1}(d_{f_1}(x1)))) -> b_{a_1}(a_{c_1}(c_{f_1}(x1))) b_{d_1}(d_{d_1}(d_{d_1}(d_{b_1}(x1)))) -> b_{a_1}(a_{c_1}(c_{b_1}(x1))) b_{d_1}(d_{d_1}(d_{d_1}(d_{a_1}(x1)))) -> b_{a_1}(a_{c_1}(c_{a_1}(x1))) b_{d_1}(d_{d_1}(d_{d_1}(d_{c_1}(x1)))) -> b_{a_1}(a_{c_1}(c_{c_1}(x1))) b_{d_1}(d_{d_1}(d_{d_1}(d_{d_1}(x1)))) -> b_{a_1}(a_{c_1}(c_{d_1}(x1))) c_{d_1}(d_{d_1}(d_{d_1}(d_{f_1}(x1)))) -> c_{a_1}(a_{c_1}(c_{f_1}(x1))) c_{d_1}(d_{d_1}(d_{d_1}(d_{b_1}(x1)))) -> c_{a_1}(a_{c_1}(c_{b_1}(x1))) c_{d_1}(d_{d_1}(d_{d_1}(d_{a_1}(x1)))) -> c_{a_1}(a_{c_1}(c_{a_1}(x1))) c_{d_1}(d_{d_1}(d_{d_1}(d_{c_1}(x1)))) -> c_{a_1}(a_{c_1}(c_{c_1}(x1))) c_{d_1}(d_{d_1}(d_{d_1}(d_{d_1}(x1)))) -> c_{a_1}(a_{c_1}(c_{d_1}(x1))) d_{d_1}(d_{d_1}(d_{d_1}(d_{f_1}(x1)))) -> d_{a_1}(a_{c_1}(c_{f_1}(x1))) d_{d_1}(d_{d_1}(d_{d_1}(d_{b_1}(x1)))) -> d_{a_1}(a_{c_1}(c_{b_1}(x1))) d_{d_1}(d_{d_1}(d_{d_1}(d_{a_1}(x1)))) -> d_{a_1}(a_{c_1}(c_{a_1}(x1))) d_{d_1}(d_{d_1}(d_{d_1}(d_{c_1}(x1)))) -> d_{a_1}(a_{c_1}(c_{c_1}(x1))) d_{d_1}(d_{d_1}(d_{d_1}(d_{d_1}(x1)))) -> d_{a_1}(a_{c_1}(c_{d_1}(x1))) f_{d_1}(d_{d_1}(d_{d_1}(d_{f_1}(x1)))) -> f_{a_1}(a_{c_1}(c_{f_1}(x1))) f_{d_1}(d_{d_1}(d_{d_1}(d_{b_1}(x1)))) -> f_{a_1}(a_{c_1}(c_{b_1}(x1))) f_{d_1}(d_{d_1}(d_{d_1}(d_{a_1}(x1)))) -> f_{a_1}(a_{c_1}(c_{a_1}(x1))) f_{d_1}(d_{d_1}(d_{d_1}(d_{c_1}(x1)))) -> f_{a_1}(a_{c_1}(c_{c_1}(x1))) f_{d_1}(d_{d_1}(d_{d_1}(d_{d_1}(x1)))) -> f_{a_1}(a_{c_1}(c_{d_1}(x1))) Q is empty. ---------------------------------------- (5) QTRSRRRProof (EQUIVALENT) Used ordering: Polynomial interpretation [POLO]: POL(a_{a_1}(x_1)) = 93 + x_1 POL(a_{b_1}(x_1)) = 91 + x_1 POL(a_{c_1}(x_1)) = 92 + x_1 POL(a_{d_1}(x_1)) = 92 + x_1 POL(a_{f_1}(x_1)) = 177 + x_1 POL(b_{a_1}(x_1)) = 83 + x_1 POL(b_{b_1}(x_1)) = 83 + x_1 POL(b_{c_1}(x_1)) = 84 + x_1 POL(b_{d_1}(x_1)) = 84 + x_1 POL(b_{f_1}(x_1)) = 165 + x_1 POL(c_{a_1}(x_1)) = 100 + x_1 POL(c_{b_1}(x_1)) = 99 + x_1 POL(c_{c_1}(x_1)) = 100 + x_1 POL(c_{d_1}(x_1)) = 99 + x_1 POL(c_{f_1}(x_1)) = 185 + x_1 POL(d_{a_1}(x_1)) = 65 + x_1 POL(d_{b_1}(x_1)) = 65 + x_1 POL(d_{c_1}(x_1)) = 66 + x_1 POL(d_{d_1}(x_1)) = 66 + x_1 POL(d_{f_1}(x_1)) = 147 + x_1 POL(f_{a_1}(x_1)) = x_1 POL(f_{b_1}(x_1)) = x_1 POL(f_{c_1}(x_1)) = x_1 POL(f_{d_1}(x_1)) = x_1 POL(f_{f_1}(x_1)) = 85 + x_1 With this ordering the following rules can be removed by the rule removal processor [LPAR04] because they are oriented strictly: f_{f_1}(f_{f_1}(x1)) -> f_{b_1}(b_{f_1}(x1)) f_{f_1}(f_{b_1}(x1)) -> f_{b_1}(b_{b_1}(x1)) f_{f_1}(f_{a_1}(x1)) -> f_{b_1}(b_{a_1}(x1)) f_{f_1}(f_{c_1}(x1)) -> f_{b_1}(b_{c_1}(x1)) f_{f_1}(f_{d_1}(x1)) -> f_{b_1}(b_{d_1}(x1)) a_{a_1}(a_{a_1}(a_{f_1}(x1))) -> a_{b_1}(b_{c_1}(c_{f_1}(x1))) a_{a_1}(a_{a_1}(a_{b_1}(x1))) -> a_{b_1}(b_{c_1}(c_{b_1}(x1))) a_{a_1}(a_{a_1}(a_{a_1}(x1))) -> a_{b_1}(b_{c_1}(c_{a_1}(x1))) a_{a_1}(a_{a_1}(a_{c_1}(x1))) -> a_{b_1}(b_{c_1}(c_{c_1}(x1))) a_{a_1}(a_{a_1}(a_{d_1}(x1))) -> a_{b_1}(b_{c_1}(c_{d_1}(x1))) b_{a_1}(a_{a_1}(a_{f_1}(x1))) -> b_{b_1}(b_{c_1}(c_{f_1}(x1))) b_{a_1}(a_{a_1}(a_{b_1}(x1))) -> b_{b_1}(b_{c_1}(c_{b_1}(x1))) b_{a_1}(a_{a_1}(a_{a_1}(x1))) -> b_{b_1}(b_{c_1}(c_{a_1}(x1))) b_{a_1}(a_{a_1}(a_{c_1}(x1))) -> b_{b_1}(b_{c_1}(c_{c_1}(x1))) b_{a_1}(a_{a_1}(a_{d_1}(x1))) -> b_{b_1}(b_{c_1}(c_{d_1}(x1))) c_{a_1}(a_{a_1}(a_{f_1}(x1))) -> c_{b_1}(b_{c_1}(c_{f_1}(x1))) c_{a_1}(a_{a_1}(a_{b_1}(x1))) -> c_{b_1}(b_{c_1}(c_{b_1}(x1))) c_{a_1}(a_{a_1}(a_{a_1}(x1))) -> c_{b_1}(b_{c_1}(c_{a_1}(x1))) c_{a_1}(a_{a_1}(a_{c_1}(x1))) -> c_{b_1}(b_{c_1}(c_{c_1}(x1))) c_{a_1}(a_{a_1}(a_{d_1}(x1))) -> c_{b_1}(b_{c_1}(c_{d_1}(x1))) d_{a_1}(a_{a_1}(a_{f_1}(x1))) -> d_{b_1}(b_{c_1}(c_{f_1}(x1))) d_{a_1}(a_{a_1}(a_{b_1}(x1))) -> d_{b_1}(b_{c_1}(c_{b_1}(x1))) d_{a_1}(a_{a_1}(a_{a_1}(x1))) -> d_{b_1}(b_{c_1}(c_{a_1}(x1))) d_{a_1}(a_{a_1}(a_{c_1}(x1))) -> d_{b_1}(b_{c_1}(c_{c_1}(x1))) d_{a_1}(a_{a_1}(a_{d_1}(x1))) -> d_{b_1}(b_{c_1}(c_{d_1}(x1))) f_{a_1}(a_{a_1}(a_{f_1}(x1))) -> f_{b_1}(b_{c_1}(c_{f_1}(x1))) f_{a_1}(a_{a_1}(a_{b_1}(x1))) -> f_{b_1}(b_{c_1}(c_{b_1}(x1))) f_{a_1}(a_{a_1}(a_{a_1}(x1))) -> f_{b_1}(b_{c_1}(c_{a_1}(x1))) f_{a_1}(a_{a_1}(a_{c_1}(x1))) -> f_{b_1}(b_{c_1}(c_{c_1}(x1))) f_{a_1}(a_{a_1}(a_{d_1}(x1))) -> f_{b_1}(b_{c_1}(c_{d_1}(x1))) a_{b_1}(b_{b_1}(b_{f_1}(x1))) -> a_{c_1}(c_{d_1}(d_{f_1}(x1))) a_{b_1}(b_{b_1}(b_{b_1}(x1))) -> a_{c_1}(c_{d_1}(d_{b_1}(x1))) a_{b_1}(b_{b_1}(b_{a_1}(x1))) -> a_{c_1}(c_{d_1}(d_{a_1}(x1))) a_{b_1}(b_{b_1}(b_{c_1}(x1))) -> a_{c_1}(c_{d_1}(d_{c_1}(x1))) a_{b_1}(b_{b_1}(b_{d_1}(x1))) -> a_{c_1}(c_{d_1}(d_{d_1}(x1))) b_{b_1}(b_{b_1}(b_{f_1}(x1))) -> b_{c_1}(c_{d_1}(d_{f_1}(x1))) b_{b_1}(b_{b_1}(b_{b_1}(x1))) -> b_{c_1}(c_{d_1}(d_{b_1}(x1))) b_{b_1}(b_{b_1}(b_{a_1}(x1))) -> b_{c_1}(c_{d_1}(d_{a_1}(x1))) b_{b_1}(b_{b_1}(b_{c_1}(x1))) -> b_{c_1}(c_{d_1}(d_{c_1}(x1))) b_{b_1}(b_{b_1}(b_{d_1}(x1))) -> b_{c_1}(c_{d_1}(d_{d_1}(x1))) c_{b_1}(b_{b_1}(b_{f_1}(x1))) -> c_{c_1}(c_{d_1}(d_{f_1}(x1))) c_{b_1}(b_{b_1}(b_{b_1}(x1))) -> c_{c_1}(c_{d_1}(d_{b_1}(x1))) c_{b_1}(b_{b_1}(b_{a_1}(x1))) -> c_{c_1}(c_{d_1}(d_{a_1}(x1))) c_{b_1}(b_{b_1}(b_{c_1}(x1))) -> c_{c_1}(c_{d_1}(d_{c_1}(x1))) c_{b_1}(b_{b_1}(b_{d_1}(x1))) -> c_{c_1}(c_{d_1}(d_{d_1}(x1))) d_{b_1}(b_{b_1}(b_{f_1}(x1))) -> d_{c_1}(c_{d_1}(d_{f_1}(x1))) d_{b_1}(b_{b_1}(b_{b_1}(x1))) -> d_{c_1}(c_{d_1}(d_{b_1}(x1))) d_{b_1}(b_{b_1}(b_{a_1}(x1))) -> d_{c_1}(c_{d_1}(d_{a_1}(x1))) d_{b_1}(b_{b_1}(b_{c_1}(x1))) -> d_{c_1}(c_{d_1}(d_{c_1}(x1))) d_{b_1}(b_{b_1}(b_{d_1}(x1))) -> d_{c_1}(c_{d_1}(d_{d_1}(x1))) f_{b_1}(b_{b_1}(b_{f_1}(x1))) -> f_{c_1}(c_{d_1}(d_{f_1}(x1))) f_{b_1}(b_{b_1}(b_{b_1}(x1))) -> f_{c_1}(c_{d_1}(d_{b_1}(x1))) f_{b_1}(b_{b_1}(b_{a_1}(x1))) -> f_{c_1}(c_{d_1}(d_{a_1}(x1))) f_{b_1}(b_{b_1}(b_{c_1}(x1))) -> f_{c_1}(c_{d_1}(d_{c_1}(x1))) f_{b_1}(b_{b_1}(b_{d_1}(x1))) -> f_{c_1}(c_{d_1}(d_{d_1}(x1))) a_{c_1}(c_{c_1}(c_{f_1}(x1))) -> a_{d_1}(d_{d_1}(d_{d_1}(d_{f_1}(x1)))) a_{c_1}(c_{c_1}(c_{b_1}(x1))) -> a_{d_1}(d_{d_1}(d_{d_1}(d_{b_1}(x1)))) a_{c_1}(c_{c_1}(c_{a_1}(x1))) -> a_{d_1}(d_{d_1}(d_{d_1}(d_{a_1}(x1)))) a_{c_1}(c_{c_1}(c_{c_1}(x1))) -> a_{d_1}(d_{d_1}(d_{d_1}(d_{c_1}(x1)))) a_{c_1}(c_{c_1}(c_{d_1}(x1))) -> a_{d_1}(d_{d_1}(d_{d_1}(d_{d_1}(x1)))) b_{c_1}(c_{c_1}(c_{f_1}(x1))) -> b_{d_1}(d_{d_1}(d_{d_1}(d_{f_1}(x1)))) b_{c_1}(c_{c_1}(c_{b_1}(x1))) -> b_{d_1}(d_{d_1}(d_{d_1}(d_{b_1}(x1)))) b_{c_1}(c_{c_1}(c_{a_1}(x1))) -> b_{d_1}(d_{d_1}(d_{d_1}(d_{a_1}(x1)))) b_{c_1}(c_{c_1}(c_{c_1}(x1))) -> b_{d_1}(d_{d_1}(d_{d_1}(d_{c_1}(x1)))) b_{c_1}(c_{c_1}(c_{d_1}(x1))) -> b_{d_1}(d_{d_1}(d_{d_1}(d_{d_1}(x1)))) c_{c_1}(c_{c_1}(c_{f_1}(x1))) -> c_{d_1}(d_{d_1}(d_{d_1}(d_{f_1}(x1)))) c_{c_1}(c_{c_1}(c_{b_1}(x1))) -> c_{d_1}(d_{d_1}(d_{d_1}(d_{b_1}(x1)))) c_{c_1}(c_{c_1}(c_{a_1}(x1))) -> c_{d_1}(d_{d_1}(d_{d_1}(d_{a_1}(x1)))) c_{c_1}(c_{c_1}(c_{c_1}(x1))) -> c_{d_1}(d_{d_1}(d_{d_1}(d_{c_1}(x1)))) c_{c_1}(c_{c_1}(c_{d_1}(x1))) -> c_{d_1}(d_{d_1}(d_{d_1}(d_{d_1}(x1)))) d_{c_1}(c_{c_1}(c_{f_1}(x1))) -> d_{d_1}(d_{d_1}(d_{d_1}(d_{f_1}(x1)))) d_{c_1}(c_{c_1}(c_{b_1}(x1))) -> d_{d_1}(d_{d_1}(d_{d_1}(d_{b_1}(x1)))) d_{c_1}(c_{c_1}(c_{a_1}(x1))) -> d_{d_1}(d_{d_1}(d_{d_1}(d_{a_1}(x1)))) d_{c_1}(c_{c_1}(c_{c_1}(x1))) -> d_{d_1}(d_{d_1}(d_{d_1}(d_{c_1}(x1)))) d_{c_1}(c_{c_1}(c_{d_1}(x1))) -> d_{d_1}(d_{d_1}(d_{d_1}(d_{d_1}(x1)))) f_{c_1}(c_{c_1}(c_{f_1}(x1))) -> f_{d_1}(d_{d_1}(d_{d_1}(d_{f_1}(x1)))) f_{c_1}(c_{c_1}(c_{b_1}(x1))) -> f_{d_1}(d_{d_1}(d_{d_1}(d_{b_1}(x1)))) f_{c_1}(c_{c_1}(c_{a_1}(x1))) -> f_{d_1}(d_{d_1}(d_{d_1}(d_{a_1}(x1)))) f_{c_1}(c_{c_1}(c_{c_1}(x1))) -> f_{d_1}(d_{d_1}(d_{d_1}(d_{c_1}(x1)))) f_{c_1}(c_{c_1}(c_{d_1}(x1))) -> f_{d_1}(d_{d_1}(d_{d_1}(d_{d_1}(x1)))) a_{d_1}(d_{c_1}(c_{f_1}(x1))) -> a_{b_1}(b_{f_1}(f_{f_1}(x1))) a_{d_1}(d_{c_1}(c_{b_1}(x1))) -> a_{b_1}(b_{f_1}(f_{b_1}(x1))) a_{d_1}(d_{c_1}(c_{a_1}(x1))) -> a_{b_1}(b_{f_1}(f_{a_1}(x1))) a_{d_1}(d_{c_1}(c_{c_1}(x1))) -> a_{b_1}(b_{f_1}(f_{c_1}(x1))) a_{d_1}(d_{c_1}(c_{d_1}(x1))) -> a_{b_1}(b_{f_1}(f_{d_1}(x1))) b_{d_1}(d_{c_1}(c_{f_1}(x1))) -> b_{b_1}(b_{f_1}(f_{f_1}(x1))) b_{d_1}(d_{c_1}(c_{b_1}(x1))) -> b_{b_1}(b_{f_1}(f_{b_1}(x1))) b_{d_1}(d_{c_1}(c_{a_1}(x1))) -> b_{b_1}(b_{f_1}(f_{a_1}(x1))) b_{d_1}(d_{c_1}(c_{c_1}(x1))) -> b_{b_1}(b_{f_1}(f_{c_1}(x1))) b_{d_1}(d_{c_1}(c_{d_1}(x1))) -> b_{b_1}(b_{f_1}(f_{d_1}(x1))) c_{d_1}(d_{c_1}(c_{f_1}(x1))) -> c_{b_1}(b_{f_1}(f_{f_1}(x1))) c_{d_1}(d_{c_1}(c_{a_1}(x1))) -> c_{b_1}(b_{f_1}(f_{a_1}(x1))) c_{d_1}(d_{c_1}(c_{c_1}(x1))) -> c_{b_1}(b_{f_1}(f_{c_1}(x1))) d_{d_1}(d_{c_1}(c_{f_1}(x1))) -> d_{b_1}(b_{f_1}(f_{f_1}(x1))) d_{d_1}(d_{c_1}(c_{b_1}(x1))) -> d_{b_1}(b_{f_1}(f_{b_1}(x1))) d_{d_1}(d_{c_1}(c_{a_1}(x1))) -> d_{b_1}(b_{f_1}(f_{a_1}(x1))) d_{d_1}(d_{c_1}(c_{c_1}(x1))) -> d_{b_1}(b_{f_1}(f_{c_1}(x1))) d_{d_1}(d_{c_1}(c_{d_1}(x1))) -> d_{b_1}(b_{f_1}(f_{d_1}(x1))) f_{d_1}(d_{c_1}(c_{f_1}(x1))) -> f_{b_1}(b_{f_1}(f_{f_1}(x1))) f_{d_1}(d_{c_1}(c_{a_1}(x1))) -> f_{b_1}(b_{f_1}(f_{a_1}(x1))) f_{d_1}(d_{c_1}(c_{c_1}(x1))) -> f_{b_1}(b_{f_1}(f_{c_1}(x1))) a_{d_1}(d_{d_1}(d_{d_1}(d_{f_1}(x1)))) -> a_{a_1}(a_{c_1}(c_{f_1}(x1))) a_{d_1}(d_{d_1}(d_{d_1}(d_{b_1}(x1)))) -> a_{a_1}(a_{c_1}(c_{b_1}(x1))) a_{d_1}(d_{d_1}(d_{d_1}(d_{a_1}(x1)))) -> a_{a_1}(a_{c_1}(c_{a_1}(x1))) a_{d_1}(d_{d_1}(d_{d_1}(d_{c_1}(x1)))) -> a_{a_1}(a_{c_1}(c_{c_1}(x1))) a_{d_1}(d_{d_1}(d_{d_1}(d_{d_1}(x1)))) -> a_{a_1}(a_{c_1}(c_{d_1}(x1))) b_{d_1}(d_{d_1}(d_{d_1}(d_{f_1}(x1)))) -> b_{a_1}(a_{c_1}(c_{f_1}(x1))) b_{d_1}(d_{d_1}(d_{d_1}(d_{b_1}(x1)))) -> b_{a_1}(a_{c_1}(c_{b_1}(x1))) b_{d_1}(d_{d_1}(d_{d_1}(d_{a_1}(x1)))) -> b_{a_1}(a_{c_1}(c_{a_1}(x1))) b_{d_1}(d_{d_1}(d_{d_1}(d_{c_1}(x1)))) -> b_{a_1}(a_{c_1}(c_{c_1}(x1))) b_{d_1}(d_{d_1}(d_{d_1}(d_{d_1}(x1)))) -> b_{a_1}(a_{c_1}(c_{d_1}(x1))) c_{d_1}(d_{d_1}(d_{d_1}(d_{f_1}(x1)))) -> c_{a_1}(a_{c_1}(c_{f_1}(x1))) c_{d_1}(d_{d_1}(d_{d_1}(d_{b_1}(x1)))) -> c_{a_1}(a_{c_1}(c_{b_1}(x1))) c_{d_1}(d_{d_1}(d_{d_1}(d_{a_1}(x1)))) -> c_{a_1}(a_{c_1}(c_{a_1}(x1))) c_{d_1}(d_{d_1}(d_{d_1}(d_{c_1}(x1)))) -> c_{a_1}(a_{c_1}(c_{c_1}(x1))) c_{d_1}(d_{d_1}(d_{d_1}(d_{d_1}(x1)))) -> c_{a_1}(a_{c_1}(c_{d_1}(x1))) d_{d_1}(d_{d_1}(d_{d_1}(d_{f_1}(x1)))) -> d_{a_1}(a_{c_1}(c_{f_1}(x1))) d_{d_1}(d_{d_1}(d_{d_1}(d_{b_1}(x1)))) -> d_{a_1}(a_{c_1}(c_{b_1}(x1))) d_{d_1}(d_{d_1}(d_{d_1}(d_{a_1}(x1)))) -> d_{a_1}(a_{c_1}(c_{a_1}(x1))) d_{d_1}(d_{d_1}(d_{d_1}(d_{c_1}(x1)))) -> d_{a_1}(a_{c_1}(c_{c_1}(x1))) d_{d_1}(d_{d_1}(d_{d_1}(d_{d_1}(x1)))) -> d_{a_1}(a_{c_1}(c_{d_1}(x1))) f_{d_1}(d_{d_1}(d_{d_1}(d_{f_1}(x1)))) -> f_{a_1}(a_{c_1}(c_{f_1}(x1))) f_{d_1}(d_{d_1}(d_{d_1}(d_{b_1}(x1)))) -> f_{a_1}(a_{c_1}(c_{b_1}(x1))) f_{d_1}(d_{d_1}(d_{d_1}(d_{a_1}(x1)))) -> f_{a_1}(a_{c_1}(c_{a_1}(x1))) f_{d_1}(d_{d_1}(d_{d_1}(d_{c_1}(x1)))) -> f_{a_1}(a_{c_1}(c_{c_1}(x1))) f_{d_1}(d_{d_1}(d_{d_1}(d_{d_1}(x1)))) -> f_{a_1}(a_{c_1}(c_{d_1}(x1))) ---------------------------------------- (6) Obligation: Q restricted rewrite system: The TRS R consists of the following rules: c_{d_1}(d_{c_1}(c_{b_1}(x1))) -> c_{b_1}(b_{f_1}(f_{b_1}(x1))) c_{d_1}(d_{c_1}(c_{d_1}(x1))) -> c_{b_1}(b_{f_1}(f_{d_1}(x1))) f_{d_1}(d_{c_1}(c_{b_1}(x1))) -> f_{b_1}(b_{f_1}(f_{b_1}(x1))) f_{d_1}(d_{c_1}(c_{d_1}(x1))) -> f_{b_1}(b_{f_1}(f_{d_1}(x1))) Q is empty. ---------------------------------------- (7) QTRSRRRProof (EQUIVALENT) Used ordering: Polynomial interpretation [POLO]: POL(b_{f_1}(x_1)) = x_1 POL(c_{b_1}(x_1)) = x_1 POL(c_{d_1}(x_1)) = 1 + x_1 POL(d_{c_1}(x_1)) = x_1 POL(f_{b_1}(x_1)) = x_1 POL(f_{d_1}(x_1)) = 2 + x_1 With this ordering the following rules can be removed by the rule removal processor [LPAR04] because they are oriented strictly: c_{d_1}(d_{c_1}(c_{b_1}(x1))) -> c_{b_1}(b_{f_1}(f_{b_1}(x1))) f_{d_1}(d_{c_1}(c_{b_1}(x1))) -> f_{b_1}(b_{f_1}(f_{b_1}(x1))) f_{d_1}(d_{c_1}(c_{d_1}(x1))) -> f_{b_1}(b_{f_1}(f_{d_1}(x1))) ---------------------------------------- (8) Obligation: Q restricted rewrite system: The TRS R consists of the following rules: c_{d_1}(d_{c_1}(c_{d_1}(x1))) -> c_{b_1}(b_{f_1}(f_{d_1}(x1))) Q is empty. ---------------------------------------- (9) QTRSRRRProof (EQUIVALENT) Used ordering: Polynomial interpretation [POLO]: POL(b_{f_1}(x_1)) = x_1 POL(c_{b_1}(x_1)) = x_1 POL(c_{d_1}(x_1)) = x_1 POL(d_{c_1}(x_1)) = 1 + x_1 POL(f_{d_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_{d_1}(d_{c_1}(c_{d_1}(x1))) -> c_{b_1}(b_{f_1}(f_{d_1}(x1))) ---------------------------------------- (10) Obligation: Q restricted rewrite system: R is empty. Q is empty. ---------------------------------------- (11) RisEmptyProof (EQUIVALENT) The TRS R is empty. Hence, termination is trivially proven. ---------------------------------------- (12) YES