3.73/1.75 YES 3.73/1.76 proof of /export/starexec/sandbox/benchmark/theBenchmark.xml 3.73/1.76 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 3.73/1.76 3.73/1.76 3.73/1.76 Termination w.r.t. Q of the given QTRS could be proven: 3.73/1.76 3.73/1.76 (0) QTRS 3.73/1.76 (1) RFCMatchBoundsTRSProof [EQUIVALENT, 0 ms] 3.73/1.76 (2) YES 3.73/1.76 3.73/1.76 3.73/1.76 ---------------------------------------- 3.73/1.76 3.73/1.76 (0) 3.73/1.76 Obligation: 3.73/1.76 Q restricted rewrite system: 3.73/1.76 The TRS R consists of the following rules: 3.73/1.76 3.73/1.76 active(f(f(a))) -> mark(c(f(g(f(a))))) 3.73/1.76 active(f(X)) -> f(active(X)) 3.73/1.76 active(g(X)) -> g(active(X)) 3.73/1.76 f(mark(X)) -> mark(f(X)) 3.73/1.76 g(mark(X)) -> mark(g(X)) 3.73/1.76 proper(f(X)) -> f(proper(X)) 3.73/1.76 proper(a) -> ok(a) 3.73/1.76 proper(c(X)) -> c(proper(X)) 3.73/1.76 proper(g(X)) -> g(proper(X)) 3.73/1.76 f(ok(X)) -> ok(f(X)) 3.73/1.76 c(ok(X)) -> ok(c(X)) 3.73/1.76 g(ok(X)) -> ok(g(X)) 3.73/1.76 top(mark(X)) -> top(proper(X)) 3.73/1.76 top(ok(X)) -> top(active(X)) 3.73/1.76 3.73/1.76 The set Q consists of the following terms: 3.73/1.76 3.73/1.76 active(f(x0)) 3.73/1.76 active(g(x0)) 3.73/1.76 f(mark(x0)) 3.73/1.76 g(mark(x0)) 3.73/1.76 proper(f(x0)) 3.73/1.76 proper(a) 3.73/1.76 proper(c(x0)) 3.73/1.76 proper(g(x0)) 3.73/1.76 f(ok(x0)) 3.73/1.76 c(ok(x0)) 3.73/1.76 g(ok(x0)) 3.73/1.76 top(mark(x0)) 3.73/1.76 top(ok(x0)) 3.73/1.76 3.73/1.76 3.73/1.76 ---------------------------------------- 3.73/1.76 3.73/1.76 (1) RFCMatchBoundsTRSProof (EQUIVALENT) 3.73/1.76 Termination of the TRS R could be shown with a Match Bound [MATCHBOUNDS1,MATCHBOUNDS2] of 7. This implies Q-termination of R. 3.73/1.76 The following rules were used to construct the certificate: 3.73/1.76 3.73/1.76 active(f(f(a))) -> mark(c(f(g(f(a))))) 3.73/1.76 active(f(X)) -> f(active(X)) 3.73/1.76 active(g(X)) -> g(active(X)) 3.73/1.76 f(mark(X)) -> mark(f(X)) 3.73/1.76 g(mark(X)) -> mark(g(X)) 3.73/1.76 proper(f(X)) -> f(proper(X)) 3.73/1.76 proper(a) -> ok(a) 3.73/1.76 proper(c(X)) -> c(proper(X)) 3.73/1.76 proper(g(X)) -> g(proper(X)) 3.73/1.76 f(ok(X)) -> ok(f(X)) 3.73/1.76 c(ok(X)) -> ok(c(X)) 3.73/1.76 g(ok(X)) -> ok(g(X)) 3.73/1.76 top(mark(X)) -> top(proper(X)) 3.73/1.76 top(ok(X)) -> top(active(X)) 3.73/1.76 3.73/1.76 The certificate found is represented by the following graph. 3.73/1.76 The certificate consists of the following enumerated nodes: 3.73/1.76 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 83, 86, 87, 88, 89, 90, 91, 92 3.73/1.76 3.73/1.76 Node 1 is start node and node 2 is final node. 3.73/1.76 3.73/1.76 Those nodes are connected through the following edges: 3.73/1.76 3.73/1.76 * 1 to 3 labelled mark_1(0), ok_1(0)* 1 to 8 labelled f_1(0), g_1(0), c_1(0), top_1(0)* 1 to 7 labelled ok_1(0)* 1 to 16 labelled mark_1(1)* 1 to 17 labelled top_1(1)* 1 to 13 labelled ok_1(1)* 1 to 29 labelled top_1(2)* 1 to 86 labelled top_1(3)* 2 to 2 labelled #_1(0)* 3 to 4 labelled c_1(0)* 3 to 2 labelled f_1(0), g_1(0), c_1(0)* 3 to 9 labelled mark_1(1), ok_1(1)* 4 to 5 labelled f_1(0)* 5 to 6 labelled g_1(0)* 6 to 7 labelled f_1(0)* 7 to 2 labelled a(0)* 8 to 2 labelled active_1(0), proper_1(0)* 8 to 10 labelled mark_1(1)* 8 to 15 labelled f_1(1), g_1(1), c_1(1)* 8 to 14 labelled ok_1(1)* 8 to 18 labelled mark_1(2)* 8 to 19 labelled ok_1(2)* 9 to 2 labelled f_1(1), g_1(1), c_1(1)* 9 to 9 labelled mark_1(1), ok_1(1)* 10 to 11 labelled c_1(1)* 11 to 12 labelled f_1(1)* 12 to 13 labelled g_1(1)* 13 to 14 labelled f_1(1), g_1(1), c_1(1)* 13 to 19 labelled f_1(1), g_1(1), c_1(1)* 14 to 2 labelled a(1)* 15 to 2 labelled active_1(1), proper_1(1)* 15 to 10 labelled mark_1(1)* 15 to 15 labelled f_1(1), g_1(1), c_1(1)* 15 to 14 labelled ok_1(1)* 15 to 18 labelled mark_1(2)* 15 to 19 labelled ok_1(2)* 16 to 10 labelled f_1(1), g_1(1)* 16 to 18 labelled f_1(1), g_1(1)* 17 to 10 labelled proper_1(1)* 17 to 14 labelled active_1(1)* 17 to 20 labelled c_1(2)* 17 to 18 labelled proper_1(1)* 17 to 19 labelled active_1(1)* 17 to 22 labelled f_1(2), g_1(2)* 17 to 24 labelled mark_1(2)* 17 to 33 labelled mark_1(3)* 17 to 72 labelled ok_1(3)* 18 to 10 labelled f_1(2), g_1(2)* 18 to 18 labelled f_1(2), g_1(2)* 19 to 14 labelled f_1(2), g_1(2), c_1(2)* 19 to 19 labelled f_1(2), g_1(2), c_1(2)* 20 to 11 labelled proper_1(2)* 20 to 21 labelled f_1(2)* 20 to 69 labelled ok_1(3)* 21 to 12 labelled proper_1(2)* 21 to 23 labelled g_1(2)* 21 to 37 labelled ok_1(3)* 22 to 10 labelled proper_1(2)* 22 to 18 labelled proper_1(2)* 22 to 14 labelled active_1(2)* 22 to 19 labelled active_1(2)* 22 to 20 labelled c_1(2)* 22 to 30 labelled f_1(3), g_1(3)* 22 to 24 labelled mark_1(2)* 22 to 33 labelled mark_1(3)* 22 to 38 labelled mark_1(4)* 22 to 72 labelled ok_1(3)* 22 to 75 labelled ok_1(4)* 23 to 13 labelled proper_1(2)* 23 to 31 labelled f_1(2), g_1(2), c_1(2)* 23 to 35 labelled ok_1(3)* 23 to 37 labelled ok_1(3)* 24 to 25 labelled c_1(2)* 25 to 26 labelled f_1(2)* 26 to 27 labelled g_1(2)* 27 to 28 labelled f_1(2)* 28 to 2 labelled a(2)* 29 to 24 labelled proper_1(2)* 29 to 34 labelled c_1(3)* 29 to 33 labelled proper_1(2)* 29 to 39 labelled f_1(3), g_1(3)* 29 to 72 labelled active_1(2)* 29 to 83 labelled ok_1(4)* 30 to 10 labelled proper_1(3)* 30 to 18 labelled proper_1(3)* 30 to 14 labelled active_1(3)* 30 to 19 labelled active_1(3)* 30 to 20 labelled c_1(2)* 30 to 30 labelled f_1(3), g_1(3)* 30 to 24 labelled mark_1(2)* 30 to 33 labelled mark_1(3)* 30 to 38 labelled mark_1(4)* 30 to 72 labelled ok_1(3)* 30 to 75 labelled ok_1(4)* 31 to 14 labelled proper_1(2)* 31 to 19 labelled proper_1(2)* 31 to 32 labelled f_1(3), g_1(3), c_1(3)* 31 to 28 labelled ok_1(2)* 31 to 35 labelled ok_1(3)* 31 to 70 labelled ok_1(4)* 32 to 14 labelled proper_1(3)* 32 to 19 labelled proper_1(3)* 32 to 32 labelled f_1(3), g_1(3), c_1(3)* 32 to 28 labelled ok_1(2)* 32 to 35 labelled ok_1(3)* 32 to 70 labelled ok_1(4)* 33 to 24 labelled f_1(3), g_1(3)* 33 to 33 labelled f_1(3), g_1(3)* 33 to 38 labelled f_1(3), g_1(3)* 34 to 25 labelled proper_1(3)* 34 to 36 labelled f_1(3)* 34 to 79 labelled ok_1(4)* 35 to 28 labelled f_1(3), g_1(3), c_1(3)* 35 to 35 labelled f_1(3), c_1(3)* 35 to 70 labelled f_1(3), g_1(3), c_1(3)* 36 to 26 labelled proper_1(3)* 36 to 40 labelled g_1(3)* 36 to 78 labelled ok_1(4)* 37 to 35 labelled g_1(3)* 37 to 37 labelled g_1(3)* 38 to 33 labelled f_1(4), g_1(4)* 38 to 38 labelled f_1(4), g_1(4)* 39 to 24 labelled proper_1(3)* 39 to 34 labelled c_1(3)* 39 to 33 labelled proper_1(3)* 39 to 73 labelled f_1(4), g_1(4)* 39 to 38 labelled proper_1(3)* 39 to 72 labelled active_1(3)* 39 to 75 labelled active_1(3)* 39 to 83 labelled ok_1(4)* 39 to 87 labelled ok_1(5)* 40 to 27 labelled proper_1(3)* 40 to 71 labelled f_1(3)* 40 to 77 labelled ok_1(4)* 69 to 37 labelled f_1(3)* 70 to 35 labelled f_1(4), g_1(4), c_1(4)* 70 to 70 labelled f_1(4), g_1(4), c_1(4)* 71 to 28 labelled proper_1(3)* 71 to 74 labelled ok_1(3)* 72 to 69 labelled c_1(3)* 72 to 72 labelled f_1(3), g_1(3)* 72 to 75 labelled f_1(3), g_1(3)* 73 to 24 labelled proper_1(4)* 73 to 33 labelled proper_1(4)* 73 to 38 labelled proper_1(4)* 73 to 34 labelled c_1(3)* 73 to 73 labelled f_1(4), g_1(4)* 73 to 76 labelled f_1(5), g_1(5)* 73 to 72 labelled active_1(4)* 73 to 75 labelled active_1(4)* 73 to 83 labelled ok_1(4)* 73 to 87 labelled ok_1(5)* 73 to 88 labelled ok_1(6)* 74 to 2 labelled a(3)* 75 to 72 labelled f_1(4), g_1(4)* 75 to 75 labelled f_1(4), g_1(4)* 76 to 33 labelled proper_1(5)* 76 to 38 labelled proper_1(5)* 76 to 73 labelled f_1(4), g_1(4)* 76 to 76 labelled f_1(5), g_1(5)* 76 to 72 labelled active_1(5)* 76 to 75 labelled active_1(5)* 76 to 87 labelled ok_1(5)* 76 to 88 labelled ok_1(6)* 77 to 74 labelled f_1(4)* 78 to 77 labelled g_1(4)* 79 to 78 labelled f_1(4)* 83 to 79 labelled c_1(4)* 83 to 83 labelled f_1(4), g_1(4)* 83 to 87 labelled f_1(4), g_1(4)* 86 to 83 labelled active_1(3)* 86 to 89 labelled f_1(4), g_1(4)* 87 to 83 labelled f_1(5), g_1(5)* 87 to 87 labelled f_1(5), g_1(5)* 87 to 88 labelled f_1(5), g_1(5)* 88 to 87 labelled f_1(6), g_1(6)* 88 to 88 labelled f_1(6), g_1(6)* 89 to 83 labelled active_1(4)* 89 to 90 labelled f_1(5), g_1(5)* 89 to 87 labelled active_1(4)* 90 to 83 labelled active_1(5)* 90 to 87 labelled active_1(5)* 90 to 90 labelled f_1(5), g_1(5)* 90 to 91 labelled f_1(6), g_1(6)* 90 to 88 labelled active_1(5)* 91 to 83 labelled active_1(6)* 91 to 87 labelled active_1(6)* 91 to 88 labelled active_1(6)* 91 to 90 labelled f_1(5), g_1(5)* 91 to 91 labelled f_1(6), g_1(6)* 91 to 92 labelled f_1(7), g_1(7)* 92 to 87 labelled active_1(7)* 92 to 88 labelled active_1(7)* 92 to 91 labelled f_1(6), g_1(6)* 92 to 92 labelled f_1(7), g_1(7) 3.73/1.76 3.73/1.76 3.73/1.76 ---------------------------------------- 3.73/1.76 3.73/1.76 (2) 3.73/1.76 YES 3.77/1.78 EOF