/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: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 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) RFCMatchBoundsTRSProof [EQUIVALENT, 6 ms] (4) YES ---------------------------------------- (0) Obligation: Q restricted rewrite system: The TRS R consists of the following rules: active(f(f(a))) -> mark(f(g(f(a)))) active(g(X)) -> g(active(X)) g(mark(X)) -> mark(g(X)) proper(f(X)) -> f(proper(X)) proper(a) -> ok(a) 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: a'(f(f(active(x)))) -> a'(f(g(f(mark(x))))) g(active(X)) -> active(g(X)) mark(g(X)) -> g(mark(X)) f(proper(X)) -> proper(f(X)) a'(proper(x)) -> a'(ok(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 6. This implies Q-termination of R. The following rules were used to construct the certificate: a'(f(f(active(x)))) -> a'(f(g(f(mark(x))))) g(active(X)) -> active(g(X)) mark(g(X)) -> g(mark(X)) f(proper(X)) -> proper(f(X)) a'(proper(x)) -> a'(ok(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: 3, 4, 11, 12, 13, 14, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 80, 83, 84 Node 3 is start node and node 4 is final node. Those nodes are connected through the following edges: * 3 to 11 labelled a'_1(0), f_1(0), g_1(0)* 3 to 21 labelled active_1(0), proper_1(0)* 3 to 14 labelled g_1(0)* 3 to 22 labelled proper_1(0)* 3 to 28 labelled active_1(1), proper_1(1)* 3 to 32 labelled a'_1(1)* 3 to 66 labelled a'_1(2)* 4 to 4 labelled #_1(0)* 11 to 12 labelled f_1(0)* 11 to 4 labelled ok_1(0)* 11 to 23 labelled f_1(1), g_1(1)* 11 to 24 labelled active_1(1)* 11 to 30 labelled active_1(2)* 11 to 56 labelled proper_1(1)* 12 to 13 labelled g_1(0)* 12 to 31 labelled proper_1(1)* 13 to 14 labelled f_1(0)* 13 to 29 labelled proper_1(1)* 14 to 4 labelled mark_1(0)* 14 to 25 labelled g_1(1)* 14 to 24 labelled proper_1(1)* 14 to 30 labelled proper_1(2)* 21 to 4 labelled g_1(0), top_1(0)* 21 to 26 labelled active_1(1), proper_1(1)* 22 to 4 labelled f_1(0)* 22 to 27 labelled proper_1(1)* 23 to 4 labelled ok_1(1)* 23 to 23 labelled f_1(1), g_1(1)* 23 to 24 labelled active_1(1)* 23 to 30 labelled active_1(2)* 24 to 4 labelled top_1(1)* 25 to 4 labelled mark_1(1)* 25 to 25 labelled g_1(1)* 25 to 24 labelled proper_1(1)* 25 to 30 labelled proper_1(2)* 26 to 4 labelled g_1(1)* 26 to 26 labelled active_1(1), proper_1(1)* 27 to 4 labelled f_1(1)* 27 to 27 labelled proper_1(1)* 28 to 24 labelled g_1(1)* 28 to 30 labelled g_1(1)* 28 to 56 labelled f_1(1), g_1(1)* 29 to 24 labelled f_1(1)* 29 to 30 labelled f_1(1)* 30 to 24 labelled g_1(2)* 30 to 30 labelled g_1(2)* 31 to 29 labelled g_1(1)* 32 to 33 labelled f_1(1)* 32 to 56 labelled ok_1(1)* 32 to 60 labelled f_1(2)* 32 to 63 labelled proper_1(2)* 33 to 34 labelled g_1(1)* 33 to 61 labelled proper_1(2)* 34 to 35 labelled f_1(1)* 34 to 58 labelled proper_1(2)* 35 to 24 labelled mark_1(1)* 35 to 57 labelled proper_1(2)* 35 to 30 labelled mark_1(1)* 35 to 59 labelled g_1(2)* 35 to 64 labelled proper_1(3)* 56 to 31 labelled f_1(1)* 57 to 4 labelled top_1(2)* 58 to 57 labelled f_1(2)* 58 to 64 labelled f_1(2)* 59 to 24 labelled mark_1(2)* 59 to 30 labelled mark_1(2)* 59 to 57 labelled proper_1(2)* 59 to 62 labelled g_1(3)* 59 to 64 labelled proper_1(3)* 59 to 69 labelled proper_1(4)* 60 to 31 labelled ok_1(2)* 60 to 65 labelled g_1(2)* 61 to 58 labelled g_1(2)* 62 to 24 labelled mark_1(3)* 62 to 30 labelled mark_1(3)* 62 to 57 labelled proper_1(2)* 62 to 62 labelled g_1(3)* 62 to 64 labelled proper_1(3)* 62 to 69 labelled proper_1(4)* 63 to 61 labelled f_1(2)* 64 to 57 labelled g_1(3)* 64 to 64 labelled g_1(3)* 64 to 69 labelled g_1(3)* 65 to 29 labelled ok_1(2)* 65 to 67 labelled f_1(2)* 66 to 63 labelled ok_1(2)* 66 to 70 labelled f_1(3)* 67 to 24 labelled ok_1(2)* 67 to 30 labelled ok_1(2)* 67 to 57 labelled active_1(2)* 67 to 68 labelled g_1(3)* 67 to 64 labelled active_1(3)* 67 to 69 labelled active_1(4)* 68 to 24 labelled ok_1(3)* 68 to 30 labelled ok_1(3)* 68 to 57 labelled active_1(2)* 68 to 68 labelled g_1(3)* 68 to 64 labelled active_1(3)* 68 to 69 labelled active_1(4)* 69 to 64 labelled g_1(4)* 69 to 69 labelled g_1(4)* 70 to 61 labelled ok_1(3)* 70 to 71 labelled g_1(3)* 71 to 58 labelled ok_1(3)* 71 to 72 labelled f_1(3)* 72 to 57 labelled ok_1(3)* 72 to 64 labelled ok_1(3)* 72 to 73 labelled active_1(3)* 72 to 74 labelled g_1(4)* 72 to 80 labelled active_1(4)* 72 to 83 labelled active_1(5)* 73 to 4 labelled top_1(3)* 74 to 57 labelled ok_1(4)* 74 to 64 labelled ok_1(4)* 74 to 69 labelled ok_1(4)* 74 to 73 labelled active_1(3)* 74 to 74 labelled g_1(4)* 74 to 75 labelled g_1(5)* 74 to 80 labelled active_1(4)* 74 to 83 labelled active_1(5)* 74 to 84 labelled active_1(6)* 75 to 64 labelled ok_1(5)* 75 to 69 labelled ok_1(5)* 75 to 74 labelled g_1(4)* 75 to 75 labelled g_1(5)* 75 to 80 labelled active_1(4)* 75 to 83 labelled active_1(5)* 75 to 84 labelled active_1(6)* 80 to 73 labelled g_1(4)* 83 to 80 labelled g_1(5)* 83 to 83 labelled g_1(5)* 83 to 84 labelled g_1(5)* 84 to 83 labelled g_1(6)* 84 to 84 labelled g_1(6) ---------------------------------------- (4) YES