/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 [SOUND, 0 ms] (2) QTRS (3) RFCMatchBoundsTRSProof [EQUIVALENT, 10 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)) The set Q consists of the following terms: active(c) active(f(g(x0))) proper(c) proper(f(x0)) proper(g(x0)) f(ok(x0)) g(ok(x0)) top(mark(x0)) top(ok(x0)) ---------------------------------------- (1) QTRS Reverse (SOUND) 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: 16, 17, 18, 19, 20, 21, 30, 31, 32, 33, 34, 35, 36, 37, 38, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 60, 61, 62, 63, 64, 70, 71, 72, 77, 79, 80, 84, 85 Node 16 is start node and node 17 is final node. Those nodes are connected through the following edges: * 16 to 18 labelled c'_1(0), f_1(0), g_1(0)* 16 to 20 labelled g_1(0)* 16 to 21 labelled proper_1(0), active_1(0)* 16 to 34 labelled c'_1(1)* 16 to 37 labelled proper_1(1)* 16 to 36 labelled g_1(1)* 16 to 46 labelled proper_1(2)* 16 to 51 labelled c'_1(2)* 16 to 80 labelled c'_1(3)* 17 to 17 labelled #_1(0)* 18 to 19 labelled g_1(0)* 18 to 17 labelled ok_1(0)* 18 to 30 labelled f_1(1), g_1(1)* 18 to 31 labelled active_1(1)* 18 to 42 labelled proper_1(1)* 18 to 45 labelled g_1(2)* 18 to 48 labelled proper_1(3)* 18 to 52 labelled proper_1(2)* 19 to 20 labelled f_1(0)* 19 to 38 labelled proper_1(1)* 20 to 17 labelled mark_1(0)* 20 to 31 labelled proper_1(1)* 21 to 17 labelled f_1(0), g_1(0), top_1(0)* 21 to 32 labelled proper_1(1)* 21 to 33 labelled g_1(1)* 21 to 43 labelled proper_1(2)* 30 to 17 labelled ok_1(1)* 30 to 30 labelled f_1(1), g_1(1)* 30 to 31 labelled active_1(1)* 30 to 45 labelled g_1(2)* 30 to 48 labelled proper_1(3)* 30 to 52 labelled proper_1(2)* 31 to 17 labelled top_1(1)* 32 to 17 labelled f_1(1), g_1(1)* 32 to 32 labelled proper_1(1)* 32 to 33 labelled g_1(1)* 32 to 43 labelled proper_1(2)* 33 to 17 labelled mark_1(1)* 33 to 31 labelled proper_1(1)* 34 to 35 labelled g_1(1)* 34 to 42 labelled ok_1(1)* 34 to 49 labelled proper_1(2)* 34 to 50 labelled g_1(2)* 34 to 48 labelled ok_1(1)* 34 to 52 labelled ok_1(1)* 34 to 60 labelled f_1(2), g_1(2)* 34 to 63 labelled g_1(3)* 34 to 71 labelled proper_1(4)* 35 to 36 labelled f_1(1)* 35 to 47 labelled proper_1(2)* 36 to 31 labelled mark_1(1)* 36 to 44 labelled proper_1(2)* 37 to 31 labelled g_1(1)* 37 to 42 labelled f_1(1), g_1(1)* 37 to 48 labelled f_1(1), g_1(1)* 37 to 52 labelled f_1(1), g_1(1)* 38 to 31 labelled f_1(1)* 42 to 38 labelled g_1(1)* 43 to 31 labelled g_1(2)* 44 to 17 labelled top_1(2)* 45 to 31 labelled mark_1(2)* 45 to 44 labelled proper_1(2)* 46 to 44 labelled g_1(2)* 47 to 44 labelled f_1(2)* 48 to 44 labelled g_1(3)* 49 to 47 labelled g_1(2)* 50 to 38 labelled ok_1(2)* 50 to 53 labelled f_1(2)* 50 to 44 labelled ok_1(2)* 50 to 62 labelled active_1(3)* 51 to 49 labelled ok_1(2)* 51 to 54 labelled g_1(3)* 51 to 72 labelled g_1(4)* 51 to 71 labelled ok_1(2)* 51 to 79 labelled proper_1(5)* 52 to 48 labelled f_1(2), g_1(2)* 52 to 52 labelled f_1(2), g_1(2)* 53 to 31 labelled ok_1(2)* 53 to 44 labelled active_1(2)* 54 to 47 labelled ok_1(3)* 54 to 61 labelled f_1(3)* 54 to 62 labelled ok_1(3)* 54 to 77 labelled active_1(4)* 60 to 48 labelled ok_1(2)* 60 to 52 labelled ok_1(2)* 60 to 61 labelled g_1(3)* 60 to 64 labelled f_1(3), g_1(3)* 61 to 44 labelled ok_1(3)* 61 to 62 labelled active_1(3)* 62 to 17 labelled top_1(3)* 63 to 44 labelled mark_1(3)* 63 to 62 labelled proper_1(3)* 64 to 48 labelled ok_1(3)* 64 to 52 labelled ok_1(3)* 64 to 70 labelled g_1(4)* 64 to 64 labelled f_1(3), g_1(3)* 70 to 44 labelled ok_1(4)* 70 to 62 labelled active_1(3)* 71 to 62 labelled g_1(4)* 72 to 62 labelled mark_1(4)* 72 to 77 labelled proper_1(4)* 77 to 17 labelled top_1(4)* 79 to 77 labelled g_1(5)* 80 to 79 labelled ok_1(3)* 80 to 84 labelled g_1(4)* 84 to 77 labelled ok_1(4)* 84 to 85 labelled active_1(5)* 85 to 17 labelled top_1(5) ---------------------------------------- (4) YES