/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: 794c25de1cacf0d048858bcd21c9a779e1221865 marcel 20200619 unpublished dirty Termination w.r.t. Q of the given QTRS could be proven: (0) QTRS (1) QTRS Reverse [EQUIVALENT, 0 ms] (2) QTRS (3) FlatCCProof [EQUIVALENT, 0 ms] (4) QTRS (5) RootLabelingProof [EQUIVALENT, 0 ms] (6) QTRS (7) DependencyPairsProof [EQUIVALENT, 32 ms] (8) QDP (9) DependencyGraphProof [EQUIVALENT, 0 ms] (10) QDP (11) QDPOrderProof [EQUIVALENT, 58 ms] (12) QDP (13) DependencyGraphProof [EQUIVALENT, 0 ms] (14) TRUE ---------------------------------------- (0) Obligation: Q restricted rewrite system: The TRS R consists of the following rules: a(b(b(a(x1)))) -> b(b(a(a(x1)))) b(b(b(a(x1)))) -> a(a(a(a(x1)))) a(b(a(a(x1)))) -> b(a(b(b(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: a(b(b(a(x1)))) -> a(a(b(b(x1)))) a(b(b(b(x1)))) -> a(a(a(a(x1)))) a(a(b(a(x1)))) -> b(b(a(b(x1)))) Q is empty. ---------------------------------------- (3) FlatCCProof (EQUIVALENT) We used flat context closure [ROOTLAB] As Q is empty the flat context closure was sound AND complete. ---------------------------------------- (4) Obligation: Q restricted rewrite system: The TRS R consists of the following rules: a(b(b(a(x1)))) -> a(a(b(b(x1)))) a(b(b(b(x1)))) -> a(a(a(a(x1)))) a(a(a(b(a(x1))))) -> a(b(b(a(b(x1))))) b(a(a(b(a(x1))))) -> b(b(b(a(b(x1))))) Q is empty. ---------------------------------------- (5) 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. ---------------------------------------- (6) Obligation: Q restricted rewrite system: The TRS R consists of the following rules: a_{b_1}(b_{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_{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_{b_1}(b_{b_1}(b_{a_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}(x1)))) -> a_{a_1}(a_{a_1}(a_{a_1}(a_{b_1}(x1)))) a_{a_1}(a_{a_1}(a_{b_1}(b_{a_1}(a_{a_1}(x1))))) -> a_{b_1}(b_{b_1}(b_{a_1}(a_{b_1}(b_{a_1}(x1))))) a_{a_1}(a_{a_1}(a_{b_1}(b_{a_1}(a_{b_1}(x1))))) -> a_{b_1}(b_{b_1}(b_{a_1}(a_{b_1}(b_{b_1}(x1))))) b_{a_1}(a_{a_1}(a_{b_1}(b_{a_1}(a_{a_1}(x1))))) -> b_{b_1}(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}(a_{b_1}(x1))))) -> b_{b_1}(b_{b_1}(b_{a_1}(a_{b_1}(b_{b_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_{B_1}(b_{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_{b_1}(b_{a_1}(a_{a_1}(x1)))) -> A_{B_1}(b_{b_1}(b_{a_1}(x1))) A_{B_1}(b_{b_1}(b_{a_1}(a_{a_1}(x1)))) -> B_{A_1}(x1) A_{B_1}(b_{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_{b_1}(b_{a_1}(a_{b_1}(x1)))) -> A_{B_1}(b_{b_1}(b_{b_1}(x1))) A_{B_1}(b_{b_1}(b_{b_1}(b_{a_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_{a_1}(x1)))) -> A_{A_1}(a_{a_1}(a_{a_1}(x1))) A_{B_1}(b_{b_1}(b_{b_1}(b_{a_1}(x1)))) -> A_{A_1}(a_{a_1}(x1)) A_{B_1}(b_{b_1}(b_{b_1}(b_{a_1}(x1)))) -> A_{A_1}(x1) A_{B_1}(b_{b_1}(b_{b_1}(b_{b_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}(x1)))) -> A_{A_1}(a_{a_1}(a_{b_1}(x1))) A_{B_1}(b_{b_1}(b_{b_1}(b_{b_1}(x1)))) -> A_{A_1}(a_{b_1}(x1)) A_{B_1}(b_{b_1}(b_{b_1}(b_{b_1}(x1)))) -> A_{B_1}(x1) A_{A_1}(a_{a_1}(a_{b_1}(b_{a_1}(a_{a_1}(x1))))) -> A_{B_1}(b_{b_1}(b_{a_1}(a_{b_1}(b_{a_1}(x1))))) A_{A_1}(a_{a_1}(a_{b_1}(b_{a_1}(a_{a_1}(x1))))) -> B_{A_1}(a_{b_1}(b_{a_1}(x1))) A_{A_1}(a_{a_1}(a_{b_1}(b_{a_1}(a_{a_1}(x1))))) -> A_{B_1}(b_{a_1}(x1)) A_{A_1}(a_{a_1}(a_{b_1}(b_{a_1}(a_{a_1}(x1))))) -> B_{A_1}(x1) A_{A_1}(a_{a_1}(a_{b_1}(b_{a_1}(a_{b_1}(x1))))) -> A_{B_1}(b_{b_1}(b_{a_1}(a_{b_1}(b_{b_1}(x1))))) A_{A_1}(a_{a_1}(a_{b_1}(b_{a_1}(a_{b_1}(x1))))) -> B_{A_1}(a_{b_1}(b_{b_1}(x1))) A_{A_1}(a_{a_1}(a_{b_1}(b_{a_1}(a_{b_1}(x1))))) -> A_{B_1}(b_{b_1}(x1)) B_{A_1}(a_{a_1}(a_{b_1}(b_{a_1}(a_{a_1}(x1))))) -> B_{A_1}(a_{b_1}(b_{a_1}(x1))) B_{A_1}(a_{a_1}(a_{b_1}(b_{a_1}(a_{a_1}(x1))))) -> A_{B_1}(b_{a_1}(x1)) B_{A_1}(a_{a_1}(a_{b_1}(b_{a_1}(a_{a_1}(x1))))) -> B_{A_1}(x1) B_{A_1}(a_{a_1}(a_{b_1}(b_{a_1}(a_{b_1}(x1))))) -> B_{A_1}(a_{b_1}(b_{b_1}(x1))) B_{A_1}(a_{a_1}(a_{b_1}(b_{a_1}(a_{b_1}(x1))))) -> A_{B_1}(b_{b_1}(x1)) The TRS R consists of the following rules: a_{b_1}(b_{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_{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_{b_1}(b_{b_1}(b_{a_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}(x1)))) -> a_{a_1}(a_{a_1}(a_{a_1}(a_{b_1}(x1)))) a_{a_1}(a_{a_1}(a_{b_1}(b_{a_1}(a_{a_1}(x1))))) -> a_{b_1}(b_{b_1}(b_{a_1}(a_{b_1}(b_{a_1}(x1))))) a_{a_1}(a_{a_1}(a_{b_1}(b_{a_1}(a_{b_1}(x1))))) -> a_{b_1}(b_{b_1}(b_{a_1}(a_{b_1}(b_{b_1}(x1))))) b_{a_1}(a_{a_1}(a_{b_1}(b_{a_1}(a_{a_1}(x1))))) -> b_{b_1}(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}(a_{b_1}(x1))))) -> b_{b_1}(b_{b_1}(b_{a_1}(a_{b_1}(b_{b_1}(x1))))) Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (9) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 10 less nodes. ---------------------------------------- (10) Obligation: Q DP problem: The TRS P consists of the following rules: A_{B_1}(b_{b_1}(b_{a_1}(a_{a_1}(x1)))) -> B_{A_1}(x1) B_{A_1}(a_{a_1}(a_{b_1}(b_{a_1}(a_{a_1}(x1))))) -> A_{B_1}(b_{a_1}(x1)) A_{B_1}(b_{b_1}(b_{b_1}(b_{a_1}(x1)))) -> A_{A_1}(a_{a_1}(x1)) A_{A_1}(a_{a_1}(a_{b_1}(b_{a_1}(a_{a_1}(x1))))) -> A_{B_1}(b_{b_1}(b_{a_1}(a_{b_1}(b_{a_1}(x1))))) A_{B_1}(b_{b_1}(b_{a_1}(a_{a_1}(x1)))) -> A_{B_1}(b_{b_1}(b_{a_1}(x1))) A_{B_1}(b_{b_1}(b_{a_1}(a_{b_1}(x1)))) -> A_{B_1}(b_{b_1}(b_{b_1}(x1))) A_{B_1}(b_{b_1}(b_{b_1}(b_{a_1}(x1)))) -> A_{A_1}(x1) A_{A_1}(a_{a_1}(a_{b_1}(b_{a_1}(a_{a_1}(x1))))) -> A_{B_1}(b_{a_1}(x1)) A_{B_1}(b_{b_1}(b_{b_1}(b_{b_1}(x1)))) -> A_{A_1}(a_{a_1}(a_{b_1}(x1))) A_{A_1}(a_{a_1}(a_{b_1}(b_{a_1}(a_{a_1}(x1))))) -> B_{A_1}(x1) B_{A_1}(a_{a_1}(a_{b_1}(b_{a_1}(a_{a_1}(x1))))) -> B_{A_1}(x1) B_{A_1}(a_{a_1}(a_{b_1}(b_{a_1}(a_{b_1}(x1))))) -> A_{B_1}(b_{b_1}(x1)) A_{B_1}(b_{b_1}(b_{b_1}(b_{b_1}(x1)))) -> A_{B_1}(x1) A_{A_1}(a_{a_1}(a_{b_1}(b_{a_1}(a_{b_1}(x1))))) -> A_{B_1}(b_{b_1}(b_{a_1}(a_{b_1}(b_{b_1}(x1))))) A_{A_1}(a_{a_1}(a_{b_1}(b_{a_1}(a_{b_1}(x1))))) -> A_{B_1}(b_{b_1}(x1)) The TRS R consists of the following rules: a_{b_1}(b_{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_{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_{b_1}(b_{b_1}(b_{a_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}(x1)))) -> a_{a_1}(a_{a_1}(a_{a_1}(a_{b_1}(x1)))) a_{a_1}(a_{a_1}(a_{b_1}(b_{a_1}(a_{a_1}(x1))))) -> a_{b_1}(b_{b_1}(b_{a_1}(a_{b_1}(b_{a_1}(x1))))) a_{a_1}(a_{a_1}(a_{b_1}(b_{a_1}(a_{b_1}(x1))))) -> a_{b_1}(b_{b_1}(b_{a_1}(a_{b_1}(b_{b_1}(x1))))) b_{a_1}(a_{a_1}(a_{b_1}(b_{a_1}(a_{a_1}(x1))))) -> b_{b_1}(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}(a_{b_1}(x1))))) -> b_{b_1}(b_{b_1}(b_{a_1}(a_{b_1}(b_{b_1}(x1))))) Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (11) QDPOrderProof (EQUIVALENT) We use the reduction pair processor [LPAR04,JAR06]. The following pairs can be oriented strictly and are deleted. A_{B_1}(b_{b_1}(b_{a_1}(a_{a_1}(x1)))) -> B_{A_1}(x1) B_{A_1}(a_{a_1}(a_{b_1}(b_{a_1}(a_{a_1}(x1))))) -> A_{B_1}(b_{a_1}(x1)) A_{B_1}(b_{b_1}(b_{b_1}(b_{a_1}(x1)))) -> A_{A_1}(a_{a_1}(x1)) A_{B_1}(b_{b_1}(b_{a_1}(a_{a_1}(x1)))) -> A_{B_1}(b_{b_1}(b_{a_1}(x1))) A_{B_1}(b_{b_1}(b_{a_1}(a_{b_1}(x1)))) -> A_{B_1}(b_{b_1}(b_{b_1}(x1))) A_{B_1}(b_{b_1}(b_{b_1}(b_{a_1}(x1)))) -> A_{A_1}(x1) A_{A_1}(a_{a_1}(a_{b_1}(b_{a_1}(a_{a_1}(x1))))) -> A_{B_1}(b_{a_1}(x1)) A_{B_1}(b_{b_1}(b_{b_1}(b_{b_1}(x1)))) -> A_{A_1}(a_{a_1}(a_{b_1}(x1))) A_{A_1}(a_{a_1}(a_{b_1}(b_{a_1}(a_{a_1}(x1))))) -> B_{A_1}(x1) B_{A_1}(a_{a_1}(a_{b_1}(b_{a_1}(a_{a_1}(x1))))) -> B_{A_1}(x1) B_{A_1}(a_{a_1}(a_{b_1}(b_{a_1}(a_{b_1}(x1))))) -> A_{B_1}(b_{b_1}(x1)) A_{B_1}(b_{b_1}(b_{b_1}(b_{b_1}(x1)))) -> A_{B_1}(x1) A_{A_1}(a_{a_1}(a_{b_1}(b_{a_1}(a_{b_1}(x1))))) -> A_{B_1}(b_{b_1}(x1)) The remaining pairs can at least be oriented weakly. Used ordering: Polynomial interpretation [POLO]: POL(A_{A_1}(x_1)) = 1 + x_1 POL(A_{B_1}(x_1)) = 1 + x_1 POL(B_{A_1}(x_1)) = x_1 POL(a_{a_1}(x_1)) = 1 + x_1 POL(a_{b_1}(x_1)) = 1 + x_1 POL(b_{a_1}(x_1)) = 1 + x_1 POL(b_{b_1}(x_1)) = 1 + x_1 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: b_{a_1}(a_{a_1}(a_{b_1}(b_{a_1}(a_{a_1}(x1))))) -> b_{b_1}(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}(a_{b_1}(x1))))) -> b_{b_1}(b_{b_1}(b_{a_1}(a_{b_1}(b_{b_1}(x1))))) a_{a_1}(a_{a_1}(a_{b_1}(b_{a_1}(a_{a_1}(x1))))) -> a_{b_1}(b_{b_1}(b_{a_1}(a_{b_1}(b_{a_1}(x1))))) a_{b_1}(b_{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}(a_{b_1}(x1))))) -> a_{b_1}(b_{b_1}(b_{a_1}(a_{b_1}(b_{b_1}(x1))))) a_{b_1}(b_{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_{b_1}(b_{b_1}(b_{a_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}(x1)))) -> a_{a_1}(a_{a_1}(a_{a_1}(a_{b_1}(x1)))) ---------------------------------------- (12) Obligation: Q DP problem: The TRS P consists of the following rules: A_{A_1}(a_{a_1}(a_{b_1}(b_{a_1}(a_{a_1}(x1))))) -> A_{B_1}(b_{b_1}(b_{a_1}(a_{b_1}(b_{a_1}(x1))))) A_{A_1}(a_{a_1}(a_{b_1}(b_{a_1}(a_{b_1}(x1))))) -> A_{B_1}(b_{b_1}(b_{a_1}(a_{b_1}(b_{b_1}(x1))))) The TRS R consists of the following rules: a_{b_1}(b_{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_{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_{b_1}(b_{b_1}(b_{a_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}(x1)))) -> a_{a_1}(a_{a_1}(a_{a_1}(a_{b_1}(x1)))) a_{a_1}(a_{a_1}(a_{b_1}(b_{a_1}(a_{a_1}(x1))))) -> a_{b_1}(b_{b_1}(b_{a_1}(a_{b_1}(b_{a_1}(x1))))) a_{a_1}(a_{a_1}(a_{b_1}(b_{a_1}(a_{b_1}(x1))))) -> a_{b_1}(b_{b_1}(b_{a_1}(a_{b_1}(b_{b_1}(x1))))) b_{a_1}(a_{a_1}(a_{b_1}(b_{a_1}(a_{a_1}(x1))))) -> b_{b_1}(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}(a_{b_1}(x1))))) -> b_{b_1}(b_{b_1}(b_{a_1}(a_{b_1}(b_{b_1}(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 0 SCCs with 2 less nodes. ---------------------------------------- (14) TRUE