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) RFCMatchBoundsTRSProof [EQUIVALENT, 42 ms] (4) YES ---------------------------------------- (0) Obligation: Q restricted rewrite system: The TRS R consists of the following rules: active(f(f(X))) -> mark(c(f(g(f(X))))) active(c(X)) -> mark(d(X)) active(h(X)) -> mark(c(d(X))) active(f(X)) -> f(active(X)) active(h(X)) -> h(active(X)) f(mark(X)) -> mark(f(X)) h(mark(X)) -> mark(h(X)) proper(f(X)) -> f(proper(X)) proper(c(X)) -> c(proper(X)) proper(g(X)) -> g(proper(X)) proper(d(X)) -> d(proper(X)) proper(h(X)) -> h(proper(X)) f(ok(X)) -> ok(f(X)) c(ok(X)) -> ok(c(X)) g(ok(X)) -> ok(g(X)) d(ok(X)) -> ok(d(X)) h(ok(X)) -> ok(h(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: f(f(active(X))) -> f(g(f(c(mark(X))))) c(active(X)) -> d(mark(X)) h(active(X)) -> d(c(mark(X))) f(active(X)) -> active(f(X)) h(active(X)) -> active(h(X)) mark(f(X)) -> f(mark(X)) mark(h(X)) -> h(mark(X)) f(proper(X)) -> proper(f(X)) c(proper(X)) -> proper(c(X)) g(proper(X)) -> proper(g(X)) d(proper(X)) -> proper(d(X)) h(proper(X)) -> proper(h(X)) ok(f(X)) -> f(ok(X)) ok(c(X)) -> c(ok(X)) ok(g(X)) -> g(ok(X)) ok(d(X)) -> d(ok(X)) ok(h(X)) -> h(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 4. This implies Q-termination of R. The following rules were used to construct the certificate: f(f(active(X))) -> f(g(f(c(mark(X))))) c(active(X)) -> d(mark(X)) h(active(X)) -> d(c(mark(X))) f(active(X)) -> active(f(X)) h(active(X)) -> active(h(X)) mark(f(X)) -> f(mark(X)) mark(h(X)) -> h(mark(X)) f(proper(X)) -> proper(f(X)) c(proper(X)) -> proper(c(X)) g(proper(X)) -> proper(g(X)) d(proper(X)) -> proper(d(X)) h(proper(X)) -> proper(h(X)) ok(f(X)) -> f(ok(X)) ok(c(X)) -> c(ok(X)) ok(g(X)) -> g(ok(X)) ok(d(X)) -> d(ok(X)) ok(h(X)) -> h(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, 6, 8, 9, 11, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 34, 35, 36, 37, 38, 39, 40, 42, 43, 44, 45, 67, 68, 69, 70, 74, 75, 76, 77, 78, 79, 80, 81, 86, 87, 88 Node 3 is start node and node 4 is final node. Those nodes are connected through the following edges: * 3 to 6 labelled f_1(0), c_1(0), g_1(0), d_1(0), h_1(0)* 3 to 11 labelled d_1(0), f_1(0), h_1(0)* 3 to 9 labelled d_1(0)* 3 to 13 labelled active_1(0), proper_1(0)* 3 to 22 labelled active_1(1), proper_1(1)* 3 to 23 labelled d_1(1)* 3 to 24 labelled d_1(1)* 3 to 26 labelled proper_1(1)* 3 to 37 labelled f_1(1)* 3 to 67 labelled proper_1(2)* 4 to 4 labelled #_1(0)* 6 to 8 labelled g_1(0)* 6 to 4 labelled ok_1(0)* 6 to 14 labelled f_1(1), c_1(1), g_1(1), d_1(1), h_1(1)* 6 to 15 labelled active_1(1)* 6 to 29 labelled active_1(2)* 6 to 30 labelled d_1(2)* 6 to 31 labelled d_1(2)* 6 to 42 labelled f_1(2)* 6 to 68 labelled proper_1(1)* 6 to 74 labelled proper_1(3)* 6 to 78 labelled proper_1(2)* 8 to 9 labelled f_1(0)* 8 to 28 labelled proper_1(1)* 9 to 11 labelled c_1(0)* 9 to 27 labelled proper_1(1)* 11 to 4 labelled mark_1(0)* 11 to 16 labelled f_1(1), h_1(1)* 11 to 15 labelled proper_1(1)* 11 to 29 labelled proper_1(2)* 13 to 4 labelled f_1(0), h_1(0), c_1(0), g_1(0), d_1(0), top_1(0)* 13 to 17 labelled f_1(1)* 13 to 21 labelled active_1(1), proper_1(1)* 13 to 19 labelled d_1(1)* 13 to 16 labelled d_1(1)* 13 to 34 labelled proper_1(2)* 14 to 4 labelled ok_1(1)* 14 to 14 labelled f_1(1), c_1(1), g_1(1), d_1(1), h_1(1)* 14 to 15 labelled active_1(1)* 14 to 29 labelled active_1(2)* 14 to 30 labelled d_1(2)* 14 to 31 labelled d_1(2)* 14 to 42 labelled f_1(2)* 14 to 74 labelled proper_1(3)* 14 to 78 labelled proper_1(2)* 15 to 4 labelled top_1(1)* 16 to 4 labelled mark_1(1)* 16 to 16 labelled f_1(1), h_1(1)* 16 to 15 labelled proper_1(1)* 16 to 29 labelled proper_1(2)* 17 to 18 labelled g_1(1)* 17 to 75 labelled proper_1(2)* 18 to 19 labelled f_1(1)* 18 to 69 labelled proper_1(2)* 19 to 20 labelled c_1(1)* 19 to 35 labelled proper_1(2)* 20 to 4 labelled mark_1(1)* 20 to 16 labelled f_1(1), h_1(1)* 20 to 15 labelled proper_1(1)* 20 to 29 labelled proper_1(2)* 21 to 4 labelled f_1(1), h_1(1), c_1(1), g_1(1), d_1(1)* 21 to 17 labelled f_1(1)* 21 to 21 labelled active_1(1), proper_1(1)* 21 to 19 labelled d_1(1)* 21 to 16 labelled d_1(1)* 21 to 34 labelled proper_1(2)* 22 to 15 labelled f_1(1), h_1(1)* 22 to 27 labelled d_1(1)* 22 to 29 labelled f_1(1), h_1(1), d_1(1)* 22 to 68 labelled f_1(1), c_1(1), g_1(1), d_1(1), h_1(1)* 22 to 74 labelled f_1(1), c_1(1), g_1(1), d_1(1), h_1(1)* 22 to 78 labelled f_1(1), c_1(1), g_1(1), d_1(1), h_1(1)* 23 to 15 labelled mark_1(1)* 23 to 36 labelled proper_1(2)* 23 to 29 labelled mark_1(1)* 23 to 30 labelled f_1(2), h_1(2)* 23 to 79 labelled proper_1(3)* 24 to 25 labelled c_1(1)* 24 to 70 labelled proper_1(2)* 25 to 15 labelled mark_1(1)* 25 to 36 labelled proper_1(2)* 25 to 29 labelled mark_1(1)* 25 to 30 labelled f_1(2), h_1(2)* 25 to 79 labelled proper_1(3)* 26 to 15 labelled d_1(1)* 27 to 15 labelled c_1(1)* 27 to 29 labelled c_1(1)* 28 to 27 labelled f_1(1)* 29 to 15 labelled f_1(2), h_1(2)* 29 to 29 labelled f_1(2), h_1(2)* 30 to 15 labelled mark_1(2)* 30 to 29 labelled mark_1(2)* 30 to 36 labelled proper_1(2)* 30 to 76 labelled f_1(3), h_1(3)* 30 to 79 labelled proper_1(3)* 30 to 88 labelled proper_1(4)* 31 to 32 labelled c_1(2)* 31 to 77 labelled proper_1(3)* 32 to 15 labelled mark_1(2)* 32 to 29 labelled mark_1(2)* 32 to 36 labelled proper_1(2)* 32 to 76 labelled f_1(3), h_1(3)* 32 to 79 labelled proper_1(3)* 32 to 88 labelled proper_1(4)* 34 to 15 labelled d_1(2)* 34 to 29 labelled d_1(2)* 34 to 35 labelled d_1(2)* 34 to 75 labelled f_1(2)* 35 to 15 labelled c_1(2)* 35 to 29 labelled c_1(2)* 36 to 4 labelled top_1(2)* 37 to 38 labelled g_1(1)* 37 to 86 labelled proper_1(2)* 38 to 39 labelled f_1(1)* 38 to 80 labelled proper_1(2)* 39 to 40 labelled c_1(1)* 39 to 70 labelled proper_1(2)* 40 to 15 labelled mark_1(1)* 40 to 36 labelled proper_1(2)* 40 to 29 labelled mark_1(1)* 40 to 30 labelled f_1(2), h_1(2)* 40 to 79 labelled proper_1(3)* 42 to 43 labelled g_1(2)* 42 to 87 labelled proper_1(3)* 43 to 44 labelled f_1(2)* 43 to 81 labelled proper_1(3)* 44 to 45 labelled c_1(2)* 44 to 77 labelled proper_1(3)* 45 to 15 labelled mark_1(2)* 45 to 36 labelled proper_1(2)* 45 to 29 labelled mark_1(2)* 45 to 76 labelled f_1(3), h_1(3)* 45 to 79 labelled proper_1(3)* 45 to 88 labelled proper_1(4)* 67 to 36 labelled d_1(2)* 67 to 70 labelled d_1(2)* 67 to 79 labelled d_1(2)* 67 to 86 labelled f_1(2)* 68 to 28 labelled g_1(1)* 69 to 35 labelled f_1(2)* 70 to 36 labelled c_1(2)* 70 to 79 labelled c_1(2)* 74 to 36 labelled d_1(3)* 74 to 77 labelled d_1(3)* 74 to 79 labelled d_1(3)* 74 to 87 labelled f_1(3)* 74 to 88 labelled d_1(3)* 75 to 69 labelled g_1(2)* 76 to 15 labelled mark_1(3)* 76 to 29 labelled mark_1(3)* 76 to 76 labelled f_1(3), h_1(3)* 76 to 36 labelled proper_1(2)* 76 to 79 labelled proper_1(3)* 76 to 88 labelled proper_1(4)* 77 to 36 labelled c_1(3)* 77 to 79 labelled c_1(3)* 77 to 88 labelled c_1(3)* 78 to 74 labelled f_1(2), c_1(2), g_1(2), d_1(2), h_1(2)* 78 to 78 labelled f_1(2), c_1(2), g_1(2), d_1(2), h_1(2)* 79 to 36 labelled f_1(3), h_1(3)* 79 to 79 labelled f_1(3), h_1(3)* 79 to 88 labelled f_1(3), h_1(3)* 80 to 70 labelled f_1(2)* 81 to 77 labelled f_1(3)* 86 to 80 labelled g_1(2)* 87 to 81 labelled g_1(3)* 88 to 79 labelled f_1(4), h_1(4)* 88 to 88 labelled f_1(4), h_1(4) ---------------------------------------- (4) YES