YES proof of /export/starexec/sandbox/benchmark/theBenchmark.xml # AProVE Commit ID: 794c25de1cacf0d048858bcd21c9a779e1221865 marcel 20200619 unpublished dirty Termination of the given RelTRS could be proven: (0) RelTRS (1) FlatCCProof [EQUIVALENT, 0 ms] (2) RelTRS (3) RootLabelingProof [EQUIVALENT, 0 ms] (4) RelTRS (5) RelTRSRRRProof [EQUIVALENT, 160 ms] (6) RelTRS (7) RelTRSRRRProof [EQUIVALENT, 4 ms] (8) RelTRS (9) SIsEmptyProof [EQUIVALENT, 0 ms] (10) QTRS (11) RFCMatchBoundsTRSProof [EQUIVALENT, 11 ms] (12) YES ---------------------------------------- (0) Obligation: Relative term rewrite system: The relative TRS consists of the following R rules: b(a(b(x1))) -> b(a(a(a(b(x1))))) The relative TRS consists of the following S rules: a(a(a(x1))) -> b(b(b(b(x1)))) ---------------------------------------- (1) FlatCCProof (EQUIVALENT) We used flat context closure [ROOTLAB] ---------------------------------------- (2) Obligation: Relative term rewrite system: The relative TRS consists of the following R rules: b(a(b(x1))) -> b(a(a(a(b(x1))))) The relative TRS consists of the following S rules: b(a(a(a(x1)))) -> b(b(b(b(b(x1))))) a(a(a(a(x1)))) -> a(b(b(b(b(x1))))) ---------------------------------------- (3) RootLabelingProof (EQUIVALENT) We used plain root labeling [ROOTLAB] with the following heuristic: LabelAll: All function symbols get labeled ---------------------------------------- (4) Obligation: Relative term rewrite system: The relative TRS consists of the following R rules: b_{a_1}(a_{b_1}(b_{b_1}(x1))) -> b_{a_1}(a_{a_1}(a_{a_1}(a_{b_1}(b_{b_1}(x1))))) b_{a_1}(a_{b_1}(b_{a_1}(x1))) -> b_{a_1}(a_{a_1}(a_{a_1}(a_{b_1}(b_{a_1}(x1))))) The relative TRS consists of the following S rules: b_{a_1}(a_{a_1}(a_{a_1}(a_{b_1}(x1)))) -> b_{b_1}(b_{b_1}(b_{b_1}(b_{b_1}(b_{b_1}(x1))))) b_{a_1}(a_{a_1}(a_{a_1}(a_{a_1}(x1)))) -> b_{b_1}(b_{b_1}(b_{b_1}(b_{b_1}(b_{a_1}(x1))))) a_{a_1}(a_{a_1}(a_{a_1}(a_{b_1}(x1)))) -> a_{b_1}(b_{b_1}(b_{b_1}(b_{b_1}(b_{b_1}(x1))))) a_{a_1}(a_{a_1}(a_{a_1}(a_{a_1}(x1)))) -> a_{b_1}(b_{b_1}(b_{b_1}(b_{b_1}(b_{a_1}(x1))))) ---------------------------------------- (5) RelTRSRRRProof (EQUIVALENT) We used the following monotonic ordering for rule removal: Matrix interpretation [MATRO] to (N^3, +, *, >=, >) : <<< POL(b_{a_1}(x_1)) = [[0], [0], [0]] + [[1, 0, 0], [0, 0, 0], [0, 0, 0]] * x_1 >>> <<< POL(a_{b_1}(x_1)) = [[0], [0], [0]] + [[1, 0, 0], [0, 0, 0], [0, 0, 0]] * x_1 >>> <<< POL(b_{b_1}(x_1)) = [[0], [0], [0]] + [[1, 0, 0], [0, 0, 0], [0, 0, 0]] * x_1 >>> <<< POL(a_{a_1}(x_1)) = [[0], [1], [0]] + [[1, 0, 1], [0, 1, 0], [0, 1, 0]] * x_1 >>> With this ordering the following rules can be removed [MATRO] because they are oriented strictly: Rules from R: none Rules from S: b_{a_1}(a_{a_1}(a_{a_1}(a_{a_1}(x1)))) -> b_{b_1}(b_{b_1}(b_{b_1}(b_{b_1}(b_{a_1}(x1))))) a_{a_1}(a_{a_1}(a_{a_1}(a_{b_1}(x1)))) -> a_{b_1}(b_{b_1}(b_{b_1}(b_{b_1}(b_{b_1}(x1))))) a_{a_1}(a_{a_1}(a_{a_1}(a_{a_1}(x1)))) -> a_{b_1}(b_{b_1}(b_{b_1}(b_{b_1}(b_{a_1}(x1))))) ---------------------------------------- (6) Obligation: Relative term rewrite system: The relative TRS consists of the following R rules: b_{a_1}(a_{b_1}(b_{b_1}(x1))) -> b_{a_1}(a_{a_1}(a_{a_1}(a_{b_1}(b_{b_1}(x1))))) b_{a_1}(a_{b_1}(b_{a_1}(x1))) -> b_{a_1}(a_{a_1}(a_{a_1}(a_{b_1}(b_{a_1}(x1))))) The relative TRS consists of the following S rules: b_{a_1}(a_{a_1}(a_{a_1}(a_{b_1}(x1)))) -> b_{b_1}(b_{b_1}(b_{b_1}(b_{b_1}(b_{b_1}(x1))))) ---------------------------------------- (7) RelTRSRRRProof (EQUIVALENT) We used the following monotonic ordering for rule removal: 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 With this ordering the following rules can be removed [MATRO] because they are oriented strictly: Rules from R: none Rules from S: b_{a_1}(a_{a_1}(a_{a_1}(a_{b_1}(x1)))) -> b_{b_1}(b_{b_1}(b_{b_1}(b_{b_1}(b_{b_1}(x1))))) ---------------------------------------- (8) Obligation: Relative term rewrite system: The relative TRS consists of the following R rules: b_{a_1}(a_{b_1}(b_{b_1}(x1))) -> b_{a_1}(a_{a_1}(a_{a_1}(a_{b_1}(b_{b_1}(x1))))) b_{a_1}(a_{b_1}(b_{a_1}(x1))) -> b_{a_1}(a_{a_1}(a_{a_1}(a_{b_1}(b_{a_1}(x1))))) S is empty. ---------------------------------------- (9) SIsEmptyProof (EQUIVALENT) The TRS S is empty. Hence, termination of R/S is equivalent to termination of R. ---------------------------------------- (10) Obligation: Q restricted rewrite system: The TRS R consists of the following rules: b_{a_1}(a_{b_1}(b_{b_1}(x1))) -> b_{a_1}(a_{a_1}(a_{a_1}(a_{b_1}(b_{b_1}(x1))))) b_{a_1}(a_{b_1}(b_{a_1}(x1))) -> b_{a_1}(a_{a_1}(a_{a_1}(a_{b_1}(b_{a_1}(x1))))) Q is empty. ---------------------------------------- (11) RFCMatchBoundsTRSProof (EQUIVALENT) Termination of the TRS R could be shown with a Match Bound [MATCHBOUNDS1,MATCHBOUNDS2] of 1. This implies Q-termination of R. The following rules were used to construct the certificate: b_{a_1}(a_{b_1}(b_{b_1}(x1))) -> b_{a_1}(a_{a_1}(a_{a_1}(a_{b_1}(b_{b_1}(x1))))) b_{a_1}(a_{b_1}(b_{a_1}(x1))) -> b_{a_1}(a_{a_1}(a_{a_1}(a_{b_1}(b_{a_1}(x1))))) The certificate found is represented by the following graph. The certificate consists of the following enumerated nodes: 140, 141, 142, 143, 144, 145, 146, 147, 148, 149 Node 140 is start node and node 141 is final node. Those nodes are connected through the following edges: * 140 to 142 labelled b_{a_1}_1(0)* 141 to 141 labelled #_1(0)* 142 to 143 labelled a_{a_1}_1(0)* 143 to 144 labelled a_{a_1}_1(0)* 144 to 145 labelled a_{b_1}_1(0)* 145 to 141 labelled b_{b_1}_1(0), b_{a_1}_1(0)* 145 to 146 labelled b_{a_1}_1(1)* 146 to 147 labelled a_{a_1}_1(1)* 147 to 148 labelled a_{a_1}_1(1)* 148 to 149 labelled a_{b_1}_1(1)* 149 to 141 labelled b_{b_1}_1(1), b_{a_1}_1(1)* 149 to 146 labelled b_{a_1}_1(1) ---------------------------------------- (12) YES