3.87/1.80 YES 3.99/1.83 proof of /export/starexec/sandbox/benchmark/theBenchmark.xml 3.99/1.83 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 3.99/1.83 3.99/1.83 3.99/1.83 Termination w.r.t. Q of the given QTRS could be proven: 3.99/1.83 3.99/1.83 (0) QTRS 3.99/1.83 (1) QTRS Reverse [SOUND, 0 ms] 3.99/1.83 (2) QTRS 3.99/1.83 (3) RFCMatchBoundsTRSProof [EQUIVALENT, 0 ms] 3.99/1.83 (4) YES 3.99/1.83 3.99/1.83 3.99/1.83 ---------------------------------------- 3.99/1.83 3.99/1.83 (0) 3.99/1.83 Obligation: 3.99/1.83 Q restricted rewrite system: 3.99/1.83 The TRS R consists of the following rules: 3.99/1.83 3.99/1.83 active(f(f(X))) -> mark(c(f(g(f(X))))) 3.99/1.83 active(c(X)) -> mark(d(X)) 3.99/1.83 active(h(X)) -> mark(c(d(X))) 3.99/1.83 active(f(X)) -> f(active(X)) 3.99/1.83 active(h(X)) -> h(active(X)) 3.99/1.83 f(mark(X)) -> mark(f(X)) 3.99/1.83 h(mark(X)) -> mark(h(X)) 3.99/1.83 proper(f(X)) -> f(proper(X)) 3.99/1.83 proper(c(X)) -> c(proper(X)) 3.99/1.83 proper(g(X)) -> g(proper(X)) 3.99/1.83 proper(d(X)) -> d(proper(X)) 3.99/1.83 proper(h(X)) -> h(proper(X)) 3.99/1.83 f(ok(X)) -> ok(f(X)) 3.99/1.83 c(ok(X)) -> ok(c(X)) 3.99/1.83 g(ok(X)) -> ok(g(X)) 3.99/1.83 d(ok(X)) -> ok(d(X)) 3.99/1.83 h(ok(X)) -> ok(h(X)) 3.99/1.83 top(mark(X)) -> top(proper(X)) 3.99/1.83 top(ok(X)) -> top(active(X)) 3.99/1.83 3.99/1.83 The set Q consists of the following terms: 3.99/1.83 3.99/1.83 active(c(x0)) 3.99/1.83 active(h(x0)) 3.99/1.83 active(f(x0)) 3.99/1.83 f(mark(x0)) 3.99/1.83 h(mark(x0)) 3.99/1.83 proper(f(x0)) 3.99/1.83 proper(c(x0)) 3.99/1.83 proper(g(x0)) 3.99/1.83 proper(d(x0)) 3.99/1.83 proper(h(x0)) 3.99/1.83 f(ok(x0)) 3.99/1.83 c(ok(x0)) 3.99/1.83 g(ok(x0)) 3.99/1.83 d(ok(x0)) 3.99/1.83 h(ok(x0)) 3.99/1.83 top(mark(x0)) 3.99/1.83 top(ok(x0)) 3.99/1.83 3.99/1.83 3.99/1.83 ---------------------------------------- 3.99/1.83 3.99/1.83 (1) QTRS Reverse (SOUND) 3.99/1.83 We applied the QTRS Reverse Processor [REVERSE]. 3.99/1.83 ---------------------------------------- 3.99/1.83 3.99/1.83 (2) 3.99/1.83 Obligation: 3.99/1.83 Q restricted rewrite system: 3.99/1.83 The TRS R consists of the following rules: 3.99/1.83 3.99/1.83 f(f(active(X))) -> f(g(f(c(mark(X))))) 3.99/1.83 c(active(X)) -> d(mark(X)) 3.99/1.83 h(active(X)) -> d(c(mark(X))) 3.99/1.83 f(active(X)) -> active(f(X)) 3.99/1.83 h(active(X)) -> active(h(X)) 3.99/1.83 mark(f(X)) -> f(mark(X)) 3.99/1.83 mark(h(X)) -> h(mark(X)) 3.99/1.83 f(proper(X)) -> proper(f(X)) 3.99/1.83 c(proper(X)) -> proper(c(X)) 3.99/1.83 g(proper(X)) -> proper(g(X)) 3.99/1.83 d(proper(X)) -> proper(d(X)) 3.99/1.83 h(proper(X)) -> proper(h(X)) 3.99/1.83 ok(f(X)) -> f(ok(X)) 3.99/1.83 ok(c(X)) -> c(ok(X)) 3.99/1.83 ok(g(X)) -> g(ok(X)) 3.99/1.83 ok(d(X)) -> d(ok(X)) 3.99/1.83 ok(h(X)) -> h(ok(X)) 3.99/1.83 mark(top(X)) -> proper(top(X)) 3.99/1.83 ok(top(X)) -> active(top(X)) 3.99/1.83 3.99/1.83 Q is empty. 3.99/1.83 3.99/1.83 ---------------------------------------- 3.99/1.83 3.99/1.83 (3) RFCMatchBoundsTRSProof (EQUIVALENT) 3.99/1.83 Termination of the TRS R could be shown with a Match Bound [MATCHBOUNDS1,MATCHBOUNDS2] of 4. This implies Q-termination of R. 3.99/1.83 The following rules were used to construct the certificate: 3.99/1.83 3.99/1.83 f(f(active(X))) -> f(g(f(c(mark(X))))) 3.99/1.83 c(active(X)) -> d(mark(X)) 3.99/1.83 h(active(X)) -> d(c(mark(X))) 3.99/1.83 f(active(X)) -> active(f(X)) 3.99/1.83 h(active(X)) -> active(h(X)) 3.99/1.83 mark(f(X)) -> f(mark(X)) 3.99/1.83 mark(h(X)) -> h(mark(X)) 3.99/1.83 f(proper(X)) -> proper(f(X)) 3.99/1.83 c(proper(X)) -> proper(c(X)) 3.99/1.83 g(proper(X)) -> proper(g(X)) 3.99/1.83 d(proper(X)) -> proper(d(X)) 3.99/1.83 h(proper(X)) -> proper(h(X)) 3.99/1.83 ok(f(X)) -> f(ok(X)) 3.99/1.83 ok(c(X)) -> c(ok(X)) 3.99/1.83 ok(g(X)) -> g(ok(X)) 3.99/1.83 ok(d(X)) -> d(ok(X)) 3.99/1.83 ok(h(X)) -> h(ok(X)) 3.99/1.83 mark(top(X)) -> proper(top(X)) 3.99/1.83 ok(top(X)) -> active(top(X)) 3.99/1.83 3.99/1.83 The certificate found is represented by the following graph. 3.99/1.83 The certificate consists of the following enumerated nodes: 3.99/1.83 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97 3.99/1.83 3.99/1.83 Node 43 is start node and node 44 is final node. 3.99/1.83 3.99/1.83 Those nodes are connected through the following edges: 3.99/1.83 3.99/1.83 * 43 to 45 labelled f_1(0), c_1(0), g_1(0), d_1(0), h_1(0)* 43 to 48 labelled d_1(0), f_1(0), h_1(0)* 43 to 47 labelled d_1(0)* 43 to 49 labelled active_1(0), proper_1(0)* 43 to 58 labelled active_1(1), proper_1(1)* 43 to 59 labelled d_1(1)* 43 to 60 labelled d_1(1)* 43 to 62 labelled proper_1(1)* 43 to 72 labelled f_1(1)* 43 to 83 labelled proper_1(2)* 44 to 44 labelled #_1(0)* 45 to 46 labelled g_1(0)* 45 to 44 labelled ok_1(0)* 45 to 50 labelled f_1(1), c_1(1), g_1(1), d_1(1), h_1(1)* 45 to 51 labelled active_1(1)* 45 to 65 labelled active_1(2)* 45 to 66 labelled d_1(2)* 45 to 67 labelled d_1(2)* 45 to 76 labelled f_1(2)* 45 to 84 labelled proper_1(1)* 45 to 87 labelled proper_1(3)* 45 to 91 labelled proper_1(2)* 46 to 47 labelled f_1(0)* 46 to 64 labelled proper_1(1)* 47 to 48 labelled c_1(0)* 47 to 63 labelled proper_1(1)* 48 to 44 labelled mark_1(0)* 48 to 52 labelled f_1(1), h_1(1)* 48 to 51 labelled proper_1(1)* 48 to 65 labelled proper_1(2)* 49 to 44 labelled f_1(0), h_1(0), c_1(0), g_1(0), d_1(0), top_1(0)* 49 to 53 labelled f_1(1)* 49 to 57 labelled active_1(1), proper_1(1)* 49 to 55 labelled d_1(1)* 49 to 52 labelled d_1(1)* 49 to 69 labelled proper_1(2)* 50 to 44 labelled ok_1(1)* 50 to 50 labelled f_1(1), c_1(1), g_1(1), d_1(1), h_1(1)* 50 to 51 labelled active_1(1)* 50 to 65 labelled active_1(2)* 50 to 66 labelled d_1(2)* 50 to 67 labelled d_1(2)* 50 to 76 labelled f_1(2)* 50 to 87 labelled proper_1(3)* 50 to 91 labelled proper_1(2)* 51 to 44 labelled top_1(1)* 52 to 44 labelled mark_1(1)* 52 to 52 labelled f_1(1), h_1(1)* 52 to 51 labelled proper_1(1)* 52 to 65 labelled proper_1(2)* 53 to 54 labelled g_1(1)* 53 to 88 labelled proper_1(2)* 54 to 55 labelled f_1(1)* 54 to 85 labelled proper_1(2)* 55 to 56 labelled c_1(1)* 55 to 70 labelled proper_1(2)* 56 to 44 labelled mark_1(1)* 56 to 52 labelled f_1(1), h_1(1)* 56 to 51 labelled proper_1(1)* 56 to 65 labelled proper_1(2)* 57 to 44 labelled f_1(1), h_1(1), c_1(1), g_1(1), d_1(1)* 57 to 53 labelled f_1(1)* 57 to 57 labelled active_1(1), proper_1(1)* 57 to 55 labelled d_1(1)* 57 to 52 labelled d_1(1)* 57 to 69 labelled proper_1(2)* 58 to 51 labelled f_1(1), h_1(1)* 58 to 63 labelled d_1(1)* 58 to 65 labelled f_1(1), h_1(1), d_1(1)* 58 to 84 labelled f_1(1), c_1(1), g_1(1), d_1(1), h_1(1)* 58 to 87 labelled f_1(1), c_1(1), g_1(1), d_1(1), h_1(1)* 58 to 91 labelled f_1(1), c_1(1), g_1(1), d_1(1), h_1(1)* 59 to 51 labelled mark_1(1)* 59 to 71 labelled proper_1(2)* 59 to 65 labelled mark_1(1)* 59 to 66 labelled f_1(2), h_1(2)* 59 to 92 labelled proper_1(3)* 60 to 61 labelled c_1(1)* 60 to 86 labelled proper_1(2)* 61 to 51 labelled mark_1(1)* 61 to 71 labelled proper_1(2)* 61 to 65 labelled mark_1(1)* 61 to 66 labelled f_1(2), h_1(2)* 61 to 92 labelled proper_1(3)* 62 to 51 labelled d_1(1)* 63 to 51 labelled c_1(1)* 63 to 65 labelled c_1(1)* 64 to 63 labelled f_1(1)* 65 to 51 labelled f_1(2), h_1(2)* 65 to 65 labelled f_1(2), h_1(2)* 66 to 51 labelled mark_1(2)* 66 to 65 labelled mark_1(2)* 66 to 71 labelled proper_1(2)* 66 to 89 labelled f_1(3), h_1(3)* 66 to 92 labelled proper_1(3)* 66 to 97 labelled proper_1(4)* 67 to 68 labelled c_1(2)* 67 to 90 labelled proper_1(3)* 68 to 51 labelled mark_1(2)* 68 to 65 labelled mark_1(2)* 68 to 71 labelled proper_1(2)* 68 to 89 labelled f_1(3), h_1(3)* 68 to 92 labelled proper_1(3)* 68 to 97 labelled proper_1(4)* 69 to 51 labelled d_1(2)* 69 to 65 labelled d_1(2)* 69 to 70 labelled d_1(2)* 69 to 88 labelled f_1(2)* 70 to 51 labelled c_1(2)* 70 to 65 labelled c_1(2)* 71 to 44 labelled top_1(2)* 72 to 73 labelled g_1(1)* 72 to 95 labelled proper_1(2)* 73 to 74 labelled f_1(1)* 73 to 93 labelled proper_1(2)* 74 to 75 labelled c_1(1)* 74 to 86 labelled proper_1(2)* 75 to 51 labelled mark_1(1)* 75 to 71 labelled proper_1(2)* 75 to 65 labelled mark_1(1)* 75 to 66 labelled f_1(2), h_1(2)* 75 to 92 labelled proper_1(3)* 76 to 77 labelled g_1(2)* 76 to 96 labelled proper_1(3)* 77 to 78 labelled f_1(2)* 77 to 94 labelled proper_1(3)* 78 to 79 labelled c_1(2)* 78 to 90 labelled proper_1(3)* 79 to 51 labelled mark_1(2)* 79 to 71 labelled proper_1(2)* 79 to 65 labelled mark_1(2)* 79 to 89 labelled f_1(3), h_1(3)* 79 to 92 labelled proper_1(3)* 79 to 97 labelled proper_1(4)* 83 to 71 labelled d_1(2)* 83 to 86 labelled d_1(2)* 83 to 92 labelled d_1(2)* 83 to 95 labelled f_1(2)* 84 to 64 labelled g_1(1)* 85 to 70 labelled f_1(2)* 86 to 71 labelled c_1(2)* 86 to 92 labelled c_1(2)* 87 to 71 labelled d_1(3)* 87 to 90 labelled d_1(3)* 87 to 92 labelled d_1(3)* 87 to 96 labelled f_1(3)* 87 to 97 labelled d_1(3)* 88 to 85 labelled g_1(2)* 89 to 51 labelled mark_1(3)* 89 to 65 labelled mark_1(3)* 89 to 89 labelled f_1(3), h_1(3)* 89 to 71 labelled proper_1(2)* 89 to 92 labelled proper_1(3)* 89 to 97 labelled proper_1(4)* 90 to 71 labelled c_1(3)* 90 to 92 labelled c_1(3)* 90 to 97 labelled c_1(3)* 91 to 87 labelled f_1(2), c_1(2), g_1(2), d_1(2), h_1(2)* 91 to 91 labelled f_1(2), c_1(2), g_1(2), d_1(2), h_1(2)* 92 to 71 labelled f_1(3), h_1(3)* 92 to 92 labelled f_1(3), h_1(3)* 92 to 97 labelled f_1(3), h_1(3)* 93 to 86 labelled f_1(2)* 94 to 90 labelled f_1(3)* 95 to 93 labelled g_1(2)* 96 to 94 labelled g_1(3)* 97 to 92 labelled f_1(4), h_1(4)* 97 to 97 labelled f_1(4), h_1(4) 3.99/1.83 3.99/1.83 3.99/1.83 ---------------------------------------- 3.99/1.83 3.99/1.83 (4) 3.99/1.83 YES 3.99/1.87 EOF