7.49/2.77 YES 7.78/2.86 proof of /export/starexec/sandbox/benchmark/theBenchmark.xml 7.78/2.86 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 7.78/2.86 7.78/2.86 7.78/2.86 Termination w.r.t. Q of the given QTRS could be proven: 7.78/2.86 7.78/2.86 (0) QTRS 7.78/2.86 (1) QTRS Reverse [EQUIVALENT, 0 ms] 7.78/2.86 (2) QTRS 7.78/2.86 (3) FlatCCProof [EQUIVALENT, 0 ms] 7.78/2.86 (4) QTRS 7.78/2.86 (5) RootLabelingProof [EQUIVALENT, 0 ms] 7.78/2.86 (6) QTRS 7.78/2.86 (7) QTRSRRRProof [EQUIVALENT, 8 ms] 7.78/2.86 (8) QTRS 7.78/2.86 (9) QTRSRRRProof [EQUIVALENT, 2 ms] 7.78/2.86 (10) QTRS 7.78/2.86 (11) QTRSRRRProof [EQUIVALENT, 2 ms] 7.78/2.86 (12) QTRS 7.78/2.86 (13) RisEmptyProof [EQUIVALENT, 0 ms] 7.78/2.86 (14) YES 7.78/2.86 7.78/2.86 7.78/2.86 ---------------------------------------- 7.78/2.86 7.78/2.86 (0) 7.78/2.86 Obligation: 7.78/2.86 Q restricted rewrite system: 7.78/2.86 The TRS R consists of the following rules: 7.78/2.86 7.78/2.86 b(b(x1)) -> c(c(c(c(x1)))) 7.78/2.86 c(x1) -> x1 7.78/2.86 b(c(b(x1))) -> b(b(b(x1))) 7.78/2.86 7.78/2.86 Q is empty. 7.78/2.86 7.78/2.86 ---------------------------------------- 7.78/2.86 7.78/2.86 (1) QTRS Reverse (EQUIVALENT) 7.78/2.86 We applied the QTRS Reverse Processor [REVERSE]. 7.78/2.86 ---------------------------------------- 7.78/2.86 7.78/2.86 (2) 7.78/2.86 Obligation: 7.78/2.86 Q restricted rewrite system: 7.78/2.86 The TRS R consists of the following rules: 7.78/2.86 7.78/2.86 b(b(x1)) -> c(c(c(c(x1)))) 7.78/2.86 c(x1) -> x1 7.78/2.86 b(c(b(x1))) -> b(b(b(x1))) 7.78/2.86 7.78/2.86 Q is empty. 7.78/2.86 7.78/2.86 ---------------------------------------- 7.78/2.86 7.78/2.86 (3) FlatCCProof (EQUIVALENT) 7.78/2.86 We used flat context closure [ROOTLAB] 7.78/2.86 As Q is empty the flat context closure was sound AND complete. 7.78/2.86 7.78/2.86 ---------------------------------------- 7.78/2.86 7.78/2.86 (4) 7.78/2.86 Obligation: 7.78/2.86 Q restricted rewrite system: 7.78/2.86 The TRS R consists of the following rules: 7.78/2.86 7.78/2.86 b(c(b(x1))) -> b(b(b(x1))) 7.78/2.86 b(b(b(x1))) -> b(c(c(c(c(x1))))) 7.78/2.86 c(b(b(x1))) -> c(c(c(c(c(x1))))) 7.78/2.86 b(c(x1)) -> b(x1) 7.78/2.86 c(c(x1)) -> c(x1) 7.78/2.86 7.78/2.86 Q is empty. 7.78/2.86 7.78/2.86 ---------------------------------------- 7.78/2.86 7.78/2.86 (5) RootLabelingProof (EQUIVALENT) 7.78/2.86 We used plain root labeling [ROOTLAB] with the following heuristic: 7.78/2.86 LabelAll: All function symbols get labeled 7.78/2.86 7.78/2.86 As Q is empty the root labeling was sound AND complete. 7.78/2.86 7.78/2.86 ---------------------------------------- 7.78/2.86 7.78/2.86 (6) 7.78/2.86 Obligation: 7.78/2.86 Q restricted rewrite system: 7.78/2.86 The TRS R consists of the following rules: 7.78/2.86 7.78/2.86 b_{c_1}(c_{b_1}(b_{b_1}(x1))) -> b_{b_1}(b_{b_1}(b_{b_1}(x1))) 7.78/2.86 b_{c_1}(c_{b_1}(b_{c_1}(x1))) -> b_{b_1}(b_{b_1}(b_{c_1}(x1))) 7.78/2.86 b_{b_1}(b_{b_1}(b_{b_1}(x1))) -> b_{c_1}(c_{c_1}(c_{c_1}(c_{c_1}(c_{b_1}(x1))))) 7.78/2.86 b_{b_1}(b_{b_1}(b_{c_1}(x1))) -> b_{c_1}(c_{c_1}(c_{c_1}(c_{c_1}(c_{c_1}(x1))))) 7.78/2.86 c_{b_1}(b_{b_1}(b_{b_1}(x1))) -> c_{c_1}(c_{c_1}(c_{c_1}(c_{c_1}(c_{b_1}(x1))))) 7.78/2.86 c_{b_1}(b_{b_1}(b_{c_1}(x1))) -> c_{c_1}(c_{c_1}(c_{c_1}(c_{c_1}(c_{c_1}(x1))))) 7.78/2.86 b_{c_1}(c_{b_1}(x1)) -> b_{b_1}(x1) 7.78/2.86 b_{c_1}(c_{c_1}(x1)) -> b_{c_1}(x1) 7.78/2.86 c_{c_1}(c_{b_1}(x1)) -> c_{b_1}(x1) 7.78/2.86 c_{c_1}(c_{c_1}(x1)) -> c_{c_1}(x1) 7.78/2.86 7.78/2.86 Q is empty. 7.78/2.86 7.78/2.86 ---------------------------------------- 7.78/2.86 7.78/2.86 (7) QTRSRRRProof (EQUIVALENT) 7.78/2.86 Used ordering: 7.78/2.86 Polynomial interpretation [POLO]: 7.78/2.86 7.78/2.86 POL(b_{b_1}(x_1)) = 1 + x_1 7.78/2.86 POL(b_{c_1}(x_1)) = x_1 7.78/2.86 POL(c_{b_1}(x_1)) = 2 + x_1 7.78/2.86 POL(c_{c_1}(x_1)) = x_1 7.78/2.86 With this ordering the following rules can be removed by the rule removal processor [LPAR04] because they are oriented strictly: 7.78/2.86 7.78/2.86 b_{b_1}(b_{b_1}(b_{b_1}(x1))) -> b_{c_1}(c_{c_1}(c_{c_1}(c_{c_1}(c_{b_1}(x1))))) 7.78/2.86 b_{b_1}(b_{b_1}(b_{c_1}(x1))) -> b_{c_1}(c_{c_1}(c_{c_1}(c_{c_1}(c_{c_1}(x1))))) 7.78/2.86 c_{b_1}(b_{b_1}(b_{b_1}(x1))) -> c_{c_1}(c_{c_1}(c_{c_1}(c_{c_1}(c_{b_1}(x1))))) 7.78/2.86 c_{b_1}(b_{b_1}(b_{c_1}(x1))) -> c_{c_1}(c_{c_1}(c_{c_1}(c_{c_1}(c_{c_1}(x1))))) 7.78/2.86 b_{c_1}(c_{b_1}(x1)) -> b_{b_1}(x1) 7.78/2.86 7.78/2.86 7.78/2.86 7.78/2.86 7.78/2.86 ---------------------------------------- 7.78/2.86 7.78/2.86 (8) 7.78/2.86 Obligation: 7.78/2.86 Q restricted rewrite system: 7.78/2.86 The TRS R consists of the following rules: 7.78/2.86 7.78/2.86 b_{c_1}(c_{b_1}(b_{b_1}(x1))) -> b_{b_1}(b_{b_1}(b_{b_1}(x1))) 7.78/2.86 b_{c_1}(c_{b_1}(b_{c_1}(x1))) -> b_{b_1}(b_{b_1}(b_{c_1}(x1))) 7.78/2.86 b_{c_1}(c_{c_1}(x1)) -> b_{c_1}(x1) 7.78/2.86 c_{c_1}(c_{b_1}(x1)) -> c_{b_1}(x1) 7.78/2.86 c_{c_1}(c_{c_1}(x1)) -> c_{c_1}(x1) 7.78/2.86 7.78/2.86 Q is empty. 7.78/2.86 7.78/2.86 ---------------------------------------- 7.78/2.86 7.78/2.86 (9) QTRSRRRProof (EQUIVALENT) 7.78/2.86 Used ordering: 7.78/2.86 Polynomial interpretation [POLO]: 7.78/2.86 7.78/2.86 POL(b_{b_1}(x_1)) = x_1 7.78/2.86 POL(b_{c_1}(x_1)) = x_1 7.78/2.86 POL(c_{b_1}(x_1)) = 1 + x_1 7.78/2.86 POL(c_{c_1}(x_1)) = x_1 7.78/2.86 With this ordering the following rules can be removed by the rule removal processor [LPAR04] because they are oriented strictly: 7.78/2.86 7.78/2.86 b_{c_1}(c_{b_1}(b_{b_1}(x1))) -> b_{b_1}(b_{b_1}(b_{b_1}(x1))) 7.78/2.86 b_{c_1}(c_{b_1}(b_{c_1}(x1))) -> b_{b_1}(b_{b_1}(b_{c_1}(x1))) 7.78/2.86 7.78/2.86 7.78/2.86 7.78/2.86 7.78/2.86 ---------------------------------------- 7.78/2.86 7.78/2.86 (10) 7.78/2.86 Obligation: 7.78/2.86 Q restricted rewrite system: 7.78/2.86 The TRS R consists of the following rules: 7.78/2.86 7.78/2.86 b_{c_1}(c_{c_1}(x1)) -> b_{c_1}(x1) 7.78/2.86 c_{c_1}(c_{b_1}(x1)) -> c_{b_1}(x1) 7.78/2.86 c_{c_1}(c_{c_1}(x1)) -> c_{c_1}(x1) 7.78/2.86 7.78/2.86 Q is empty. 7.78/2.86 7.78/2.86 ---------------------------------------- 7.78/2.86 7.78/2.86 (11) QTRSRRRProof (EQUIVALENT) 7.78/2.86 Used ordering: 7.78/2.86 Polynomial interpretation [POLO]: 7.78/2.86 7.78/2.86 POL(b_{c_1}(x_1)) = x_1 7.78/2.86 POL(c_{b_1}(x_1)) = x_1 7.78/2.86 POL(c_{c_1}(x_1)) = 1 + x_1 7.78/2.86 With this ordering the following rules can be removed by the rule removal processor [LPAR04] because they are oriented strictly: 7.78/2.86 7.78/2.86 b_{c_1}(c_{c_1}(x1)) -> b_{c_1}(x1) 7.78/2.86 c_{c_1}(c_{b_1}(x1)) -> c_{b_1}(x1) 7.78/2.86 c_{c_1}(c_{c_1}(x1)) -> c_{c_1}(x1) 7.78/2.86 7.78/2.86 7.78/2.86 7.78/2.86 7.78/2.86 ---------------------------------------- 7.78/2.86 7.78/2.86 (12) 7.78/2.86 Obligation: 7.78/2.86 Q restricted rewrite system: 7.78/2.86 R is empty. 7.78/2.86 Q is empty. 7.78/2.86 7.78/2.86 ---------------------------------------- 7.78/2.86 7.78/2.86 (13) RisEmptyProof (EQUIVALENT) 7.78/2.86 The TRS R is empty. Hence, termination is trivially proven. 7.78/2.86 ---------------------------------------- 7.78/2.86 7.78/2.86 (14) 7.78/2.86 YES 7.91/2.91 EOF