3.38/1.70 YES 3.66/1.72 proof of /export/starexec/sandbox/benchmark/theBenchmark.xml 3.66/1.72 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 3.66/1.72 3.66/1.72 3.66/1.72 Termination w.r.t. Q of the given QTRS could be proven: 3.66/1.72 3.66/1.72 (0) QTRS 3.66/1.72 (1) QTRS Reverse [SOUND, 0 ms] 3.66/1.72 (2) QTRS 3.66/1.72 (3) RFCMatchBoundsTRSProof [EQUIVALENT, 5 ms] 3.66/1.72 (4) YES 3.66/1.72 3.66/1.72 3.66/1.72 ---------------------------------------- 3.66/1.72 3.66/1.72 (0) 3.66/1.72 Obligation: 3.66/1.72 Q restricted rewrite system: 3.66/1.72 The TRS R consists of the following rules: 3.66/1.72 3.66/1.72 active(f(X)) -> mark(g(h(f(X)))) 3.66/1.72 active(f(X)) -> f(active(X)) 3.66/1.72 active(h(X)) -> h(active(X)) 3.66/1.72 f(mark(X)) -> mark(f(X)) 3.66/1.72 h(mark(X)) -> mark(h(X)) 3.66/1.72 proper(f(X)) -> f(proper(X)) 3.66/1.72 proper(g(X)) -> g(proper(X)) 3.66/1.72 proper(h(X)) -> h(proper(X)) 3.66/1.72 f(ok(X)) -> ok(f(X)) 3.66/1.72 g(ok(X)) -> ok(g(X)) 3.66/1.72 h(ok(X)) -> ok(h(X)) 3.66/1.72 top(mark(X)) -> top(proper(X)) 3.66/1.72 top(ok(X)) -> top(active(X)) 3.66/1.72 3.66/1.72 The set Q consists of the following terms: 3.66/1.72 3.66/1.72 active(f(x0)) 3.66/1.72 active(h(x0)) 3.66/1.72 f(mark(x0)) 3.66/1.72 h(mark(x0)) 3.66/1.72 proper(f(x0)) 3.66/1.72 proper(g(x0)) 3.66/1.72 proper(h(x0)) 3.66/1.72 f(ok(x0)) 3.66/1.72 g(ok(x0)) 3.66/1.72 h(ok(x0)) 3.66/1.72 top(mark(x0)) 3.66/1.72 top(ok(x0)) 3.66/1.72 3.66/1.72 3.66/1.72 ---------------------------------------- 3.66/1.72 3.66/1.72 (1) QTRS Reverse (SOUND) 3.66/1.72 We applied the QTRS Reverse Processor [REVERSE]. 3.66/1.72 ---------------------------------------- 3.66/1.72 3.66/1.72 (2) 3.66/1.72 Obligation: 3.66/1.72 Q restricted rewrite system: 3.66/1.72 The TRS R consists of the following rules: 3.66/1.72 3.66/1.72 f(active(X)) -> f(h(g(mark(X)))) 3.66/1.72 f(active(X)) -> active(f(X)) 3.66/1.72 h(active(X)) -> active(h(X)) 3.66/1.72 mark(f(X)) -> f(mark(X)) 3.66/1.72 mark(h(X)) -> h(mark(X)) 3.66/1.72 f(proper(X)) -> proper(f(X)) 3.66/1.72 g(proper(X)) -> proper(g(X)) 3.66/1.72 h(proper(X)) -> proper(h(X)) 3.66/1.72 ok(f(X)) -> f(ok(X)) 3.66/1.72 ok(g(X)) -> g(ok(X)) 3.66/1.72 ok(h(X)) -> h(ok(X)) 3.66/1.72 mark(top(X)) -> proper(top(X)) 3.66/1.72 ok(top(X)) -> active(top(X)) 3.66/1.72 3.66/1.72 Q is empty. 3.66/1.72 3.66/1.72 ---------------------------------------- 3.66/1.72 3.66/1.72 (3) RFCMatchBoundsTRSProof (EQUIVALENT) 3.66/1.72 Termination of the TRS R could be shown with a Match Bound [MATCHBOUNDS1,MATCHBOUNDS2] of 4. This implies Q-termination of R. 3.66/1.72 The following rules were used to construct the certificate: 3.66/1.72 3.66/1.72 f(active(X)) -> f(h(g(mark(X)))) 3.66/1.72 f(active(X)) -> active(f(X)) 3.66/1.72 h(active(X)) -> active(h(X)) 3.66/1.72 mark(f(X)) -> f(mark(X)) 3.66/1.72 mark(h(X)) -> h(mark(X)) 3.66/1.72 f(proper(X)) -> proper(f(X)) 3.66/1.72 g(proper(X)) -> proper(g(X)) 3.66/1.72 h(proper(X)) -> proper(h(X)) 3.66/1.72 ok(f(X)) -> f(ok(X)) 3.66/1.72 ok(g(X)) -> g(ok(X)) 3.66/1.72 ok(h(X)) -> h(ok(X)) 3.66/1.72 mark(top(X)) -> proper(top(X)) 3.66/1.72 ok(top(X)) -> active(top(X)) 3.66/1.72 3.66/1.72 The certificate found is represented by the following graph. 3.66/1.72 The certificate consists of the following enumerated nodes: 3.66/1.72 3, 4, 9, 10, 11, 12, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 47, 48, 49, 50, 51, 60, 61, 62, 63, 64, 65, 66, 67, 71, 72, 73, 75, 76, 77 3.66/1.72 3.66/1.72 Node 3 is start node and node 4 is final node. 3.66/1.72 3.66/1.72 Those nodes are connected through the following edges: 3.66/1.72 3.66/1.72 * 3 to 9 labelled f_1(0), g_1(0), h_1(0)* 3 to 12 labelled active_1(0), proper_1(0)* 3 to 11 labelled f_1(0), h_1(0)* 3 to 29 labelled f_1(1)* 3 to 32 labelled active_1(1), proper_1(1)* 3 to 71 labelled proper_1(2)* 4 to 4 labelled #_1(0)* 9 to 10 labelled h_1(0)* 9 to 4 labelled ok_1(0)* 9 to 22 labelled f_1(1), g_1(1), h_1(1)* 9 to 23 labelled active_1(1)* 9 to 47 labelled proper_1(1)* 9 to 48 labelled f_1(2)* 9 to 51 labelled active_1(2)* 9 to 75 labelled proper_1(3)* 9 to 76 labelled proper_1(2)* 10 to 11 labelled g_1(0)* 10 to 33 labelled proper_1(1)* 11 to 4 labelled mark_1(0)* 11 to 24 labelled f_1(1), h_1(1)* 11 to 23 labelled proper_1(1)* 11 to 51 labelled proper_1(2)* 12 to 4 labelled f_1(0), h_1(0), g_1(0), top_1(0)* 12 to 25 labelled f_1(1)* 12 to 28 labelled active_1(1), proper_1(1)* 12 to 64 labelled proper_1(2)* 22 to 4 labelled ok_1(1)* 22 to 22 labelled f_1(1), g_1(1), h_1(1)* 22 to 23 labelled active_1(1)* 22 to 48 labelled f_1(2)* 22 to 51 labelled active_1(2)* 22 to 75 labelled proper_1(3)* 22 to 76 labelled proper_1(2)* 23 to 4 labelled top_1(1)* 24 to 4 labelled mark_1(1)* 24 to 24 labelled f_1(1), h_1(1)* 24 to 23 labelled proper_1(1)* 24 to 51 labelled proper_1(2)* 25 to 26 labelled h_1(1)* 25 to 62 labelled proper_1(2)* 26 to 27 labelled g_1(1)* 26 to 60 labelled proper_1(2)* 27 to 4 labelled mark_1(1)* 27 to 24 labelled f_1(1), h_1(1)* 27 to 23 labelled proper_1(1)* 27 to 51 labelled proper_1(2)* 28 to 4 labelled f_1(1), h_1(1), g_1(1)* 28 to 25 labelled f_1(1)* 28 to 28 labelled active_1(1), proper_1(1)* 28 to 64 labelled proper_1(2)* 29 to 30 labelled h_1(1)* 29 to 65 labelled proper_1(2)* 30 to 31 labelled g_1(1)* 30 to 63 labelled proper_1(2)* 31 to 23 labelled mark_1(1)* 31 to 61 labelled proper_1(2)* 31 to 51 labelled mark_1(1)* 31 to 50 labelled f_1(2), h_1(2)* 31 to 72 labelled proper_1(3)* 32 to 23 labelled f_1(1), h_1(1)* 32 to 47 labelled f_1(1), g_1(1), h_1(1)* 32 to 51 labelled f_1(1), h_1(1)* 32 to 75 labelled f_1(1), g_1(1), h_1(1)* 32 to 76 labelled f_1(1), g_1(1), h_1(1)* 33 to 23 labelled g_1(1)* 33 to 51 labelled g_1(1)* 47 to 33 labelled h_1(1)* 48 to 49 labelled h_1(2)* 48 to 73 labelled proper_1(3)* 49 to 50 labelled g_1(2)* 49 to 67 labelled proper_1(3)* 50 to 23 labelled mark_1(2)* 50 to 51 labelled mark_1(2)* 50 to 61 labelled proper_1(2)* 50 to 66 labelled f_1(3), h_1(3)* 50 to 72 labelled proper_1(3)* 50 to 77 labelled proper_1(4)* 51 to 23 labelled f_1(2), h_1(2)* 51 to 51 labelled f_1(2), h_1(2)* 60 to 23 labelled g_1(2)* 60 to 51 labelled g_1(2)* 61 to 4 labelled top_1(2)* 62 to 60 labelled h_1(2)* 63 to 61 labelled g_1(2)* 63 to 72 labelled g_1(2)* 64 to 62 labelled f_1(2)* 65 to 63 labelled h_1(2)* 66 to 23 labelled mark_1(3)* 66 to 51 labelled mark_1(3)* 66 to 61 labelled proper_1(2)* 66 to 66 labelled f_1(3), h_1(3)* 66 to 72 labelled proper_1(3)* 66 to 77 labelled proper_1(4)* 67 to 61 labelled g_1(3)* 67 to 72 labelled g_1(3)* 67 to 77 labelled g_1(3)* 71 to 65 labelled f_1(2)* 72 to 61 labelled f_1(3), h_1(3)* 72 to 72 labelled f_1(3), h_1(3)* 72 to 77 labelled f_1(3), h_1(3)* 73 to 67 labelled h_1(3)* 75 to 73 labelled f_1(3)* 76 to 75 labelled f_1(2), g_1(2), h_1(2)* 76 to 76 labelled f_1(2), g_1(2), h_1(2)* 77 to 72 labelled f_1(4), h_1(4)* 77 to 77 labelled f_1(4), h_1(4) 3.66/1.72 3.66/1.72 3.66/1.72 ---------------------------------------- 3.66/1.72 3.66/1.72 (4) 3.66/1.72 YES 3.66/1.78 EOF