/export/starexec/sandbox2/solver/bin/starexec_run_standard /export/starexec/sandbox2/benchmark/theBenchmark.xml /export/starexec/sandbox2/output/output_files -------------------------------------------------------------------------------- YES proof of /export/starexec/sandbox2/benchmark/theBenchmark.xml # AProVE Commit ID: c69e44bd14796315568835c1ffa2502984884775 mhark 20210624 unpublished Termination w.r.t. Q of the given QTRS could be proven: (0) QTRS (1) QTRS Reverse [EQUIVALENT, 0 ms] (2) QTRS (3) RFCMatchBoundsTRSProof [EQUIVALENT, 0 ms] (4) YES ---------------------------------------- (0) Obligation: Q restricted rewrite system: The TRS R consists of the following rules: active(c) -> mark(f(g(c))) active(f(g(X))) -> mark(g(X)) proper(c) -> ok(c) proper(f(X)) -> f(proper(X)) proper(g(X)) -> g(proper(X)) f(ok(X)) -> ok(f(X)) g(ok(X)) -> ok(g(X)) top(mark(X)) -> top(proper(X)) top(ok(X)) -> top(active(X)) 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: c'(active(x)) -> c'(g(f(mark(x)))) g(f(active(X))) -> g(mark(X)) c'(proper(x)) -> c'(ok(x)) f(proper(X)) -> proper(f(X)) g(proper(X)) -> proper(g(X)) ok(f(X)) -> f(ok(X)) ok(g(X)) -> g(ok(X)) mark(top(X)) -> proper(top(X)) ok(top(X)) -> active(top(X)) Q is empty. ---------------------------------------- (3) RFCMatchBoundsTRSProof (EQUIVALENT) Termination of the TRS R could be shown with a Match Bound [MATCHBOUNDS1,MATCHBOUNDS2] of 5. This implies Q-termination of R. The following rules were used to construct the certificate: c'(active(x)) -> c'(g(f(mark(x)))) g(f(active(X))) -> g(mark(X)) c'(proper(x)) -> c'(ok(x)) f(proper(X)) -> proper(f(X)) g(proper(X)) -> proper(g(X)) ok(f(X)) -> f(ok(X)) ok(g(X)) -> g(ok(X)) mark(top(X)) -> proper(top(X)) ok(top(X)) -> active(top(X)) The certificate found is represented by the following graph. The certificate consists of the following enumerated nodes: 58, 59, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 96, 97, 98, 99, 100, 101, 102, 103, 104 Node 58 is start node and node 59 is final node. Those nodes are connected through the following edges: * 58 to 61 labelled c'_1(0), f_1(0), g_1(0)* 58 to 63 labelled g_1(0)* 58 to 64 labelled proper_1(0), active_1(0)* 58 to 69 labelled c'_1(1)* 58 to 72 labelled proper_1(1)* 58 to 71 labelled g_1(1)* 58 to 78 labelled proper_1(2)* 58 to 83 labelled c'_1(2)* 58 to 102 labelled c'_1(3)* 59 to 59 labelled #_1(0)* 61 to 62 labelled g_1(0)* 61 to 59 labelled ok_1(0)* 61 to 65 labelled f_1(1), g_1(1)* 61 to 66 labelled active_1(1)* 61 to 74 labelled proper_1(1)* 61 to 77 labelled g_1(2)* 61 to 80 labelled proper_1(3)* 61 to 84 labelled proper_1(2)* 62 to 63 labelled f_1(0)* 62 to 73 labelled proper_1(1)* 63 to 59 labelled mark_1(0)* 63 to 66 labelled proper_1(1)* 64 to 59 labelled f_1(0), g_1(0), top_1(0)* 64 to 67 labelled proper_1(1)* 64 to 68 labelled g_1(1)* 64 to 75 labelled proper_1(2)* 65 to 59 labelled ok_1(1)* 65 to 65 labelled f_1(1), g_1(1)* 65 to 66 labelled active_1(1)* 65 to 77 labelled g_1(2)* 65 to 80 labelled proper_1(3)* 65 to 84 labelled proper_1(2)* 66 to 59 labelled top_1(1)* 67 to 59 labelled f_1(1), g_1(1)* 67 to 67 labelled proper_1(1)* 67 to 68 labelled g_1(1)* 67 to 75 labelled proper_1(2)* 68 to 59 labelled mark_1(1)* 68 to 66 labelled proper_1(1)* 69 to 70 labelled g_1(1)* 69 to 74 labelled ok_1(1)* 69 to 81 labelled proper_1(2)* 69 to 82 labelled g_1(2)* 69 to 80 labelled ok_1(1)* 69 to 84 labelled ok_1(1)* 69 to 87 labelled f_1(2), g_1(2)* 69 to 90 labelled g_1(3)* 69 to 98 labelled proper_1(4)* 70 to 71 labelled f_1(1)* 70 to 79 labelled proper_1(2)* 71 to 66 labelled mark_1(1)* 71 to 76 labelled proper_1(2)* 72 to 66 labelled g_1(1)* 72 to 74 labelled f_1(1), g_1(1)* 72 to 80 labelled f_1(1), g_1(1)* 72 to 84 labelled f_1(1), g_1(1)* 73 to 66 labelled f_1(1)* 74 to 73 labelled g_1(1)* 75 to 66 labelled g_1(2)* 76 to 59 labelled top_1(2)* 77 to 66 labelled mark_1(2)* 77 to 76 labelled proper_1(2)* 78 to 76 labelled g_1(2)* 79 to 76 labelled f_1(2)* 80 to 76 labelled g_1(3)* 81 to 79 labelled g_1(2)* 82 to 73 labelled ok_1(2)* 82 to 85 labelled f_1(2)* 82 to 76 labelled ok_1(2)* 82 to 89 labelled active_1(3)* 83 to 81 labelled ok_1(2)* 83 to 86 labelled g_1(3)* 83 to 99 labelled g_1(4)* 83 to 98 labelled ok_1(2)* 83 to 101 labelled proper_1(5)* 84 to 80 labelled f_1(2), g_1(2)* 84 to 84 labelled f_1(2), g_1(2)* 85 to 66 labelled ok_1(2)* 85 to 76 labelled active_1(2)* 86 to 79 labelled ok_1(3)* 86 to 88 labelled f_1(3)* 86 to 89 labelled ok_1(3)* 86 to 100 labelled active_1(4)* 87 to 80 labelled ok_1(2)* 87 to 84 labelled ok_1(2)* 87 to 88 labelled g_1(3)* 87 to 96 labelled f_1(3), g_1(3)* 88 to 76 labelled ok_1(3)* 88 to 89 labelled active_1(3)* 89 to 59 labelled top_1(3)* 90 to 76 labelled mark_1(3)* 90 to 89 labelled proper_1(3)* 96 to 80 labelled ok_1(3)* 96 to 84 labelled ok_1(3)* 96 to 97 labelled g_1(4)* 96 to 96 labelled f_1(3), g_1(3)* 97 to 76 labelled ok_1(4)* 97 to 89 labelled active_1(3)* 98 to 89 labelled g_1(4)* 99 to 89 labelled mark_1(4)* 99 to 100 labelled proper_1(4)* 100 to 59 labelled top_1(4)* 101 to 100 labelled g_1(5)* 102 to 101 labelled ok_1(3)* 102 to 103 labelled g_1(4)* 103 to 100 labelled ok_1(4)* 103 to 104 labelled active_1(5)* 104 to 59 labelled top_1(5) ---------------------------------------- (4) YES