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