3.56/1.72 YES 3.56/1.74 proof of /export/starexec/sandbox/benchmark/theBenchmark.xml 3.56/1.74 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 3.56/1.74 3.56/1.74 3.56/1.74 Termination w.r.t. Q of the given QTRS could be proven: 3.56/1.74 3.56/1.74 (0) QTRS 3.56/1.74 (1) RFCMatchBoundsTRSProof [EQUIVALENT, 17 ms] 3.56/1.74 (2) YES 3.56/1.74 3.56/1.74 3.56/1.74 ---------------------------------------- 3.56/1.74 3.56/1.74 (0) 3.56/1.74 Obligation: 3.56/1.74 Q restricted rewrite system: 3.56/1.74 The TRS R consists of the following rules: 3.56/1.74 3.56/1.74 active(f(f(a))) -> mark(f(g(f(a)))) 3.56/1.74 active(f(X)) -> f(active(X)) 3.56/1.74 f(mark(X)) -> mark(f(X)) 3.56/1.74 proper(f(X)) -> f(proper(X)) 3.56/1.74 proper(a) -> ok(a) 3.56/1.74 proper(g(X)) -> g(proper(X)) 3.56/1.74 f(ok(X)) -> ok(f(X)) 3.56/1.74 g(ok(X)) -> ok(g(X)) 3.56/1.74 top(mark(X)) -> top(proper(X)) 3.56/1.74 top(ok(X)) -> top(active(X)) 3.56/1.74 3.56/1.74 The set Q consists of the following terms: 3.56/1.74 3.56/1.74 active(f(x0)) 3.56/1.74 f(mark(x0)) 3.56/1.74 proper(f(x0)) 3.56/1.74 proper(a) 3.56/1.74 proper(g(x0)) 3.56/1.74 f(ok(x0)) 3.56/1.74 g(ok(x0)) 3.56/1.74 top(mark(x0)) 3.56/1.74 top(ok(x0)) 3.56/1.74 3.56/1.74 3.56/1.74 ---------------------------------------- 3.56/1.74 3.56/1.74 (1) RFCMatchBoundsTRSProof (EQUIVALENT) 3.56/1.74 Termination of the TRS R could be shown with a Match Bound [MATCHBOUNDS1,MATCHBOUNDS2] of 7. This implies Q-termination of R. 3.56/1.74 The following rules were used to construct the certificate: 3.56/1.74 3.56/1.74 active(f(f(a))) -> mark(f(g(f(a)))) 3.56/1.74 active(f(X)) -> f(active(X)) 3.56/1.74 f(mark(X)) -> mark(f(X)) 3.56/1.74 proper(f(X)) -> f(proper(X)) 3.56/1.74 proper(a) -> ok(a) 3.56/1.74 proper(g(X)) -> g(proper(X)) 3.56/1.74 f(ok(X)) -> ok(f(X)) 3.56/1.74 g(ok(X)) -> ok(g(X)) 3.56/1.74 top(mark(X)) -> top(proper(X)) 3.56/1.74 top(ok(X)) -> top(active(X)) 3.56/1.74 3.56/1.74 The certificate found is represented by the following graph. 3.56/1.74 The certificate consists of the following enumerated nodes: 3.56/1.74 1, 2, 3, 4, 5, 6, 7, 15, 18, 19, 20, 21, 23, 32, 33, 34, 35, 36, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 81, 82, 84, 85, 86, 87, 88, 89, 90, 91 3.56/1.74 3.56/1.74 Node 1 is start node and node 2 is final node. 3.56/1.74 3.56/1.74 Those nodes are connected through the following edges: 3.56/1.74 3.56/1.74 * 1 to 3 labelled mark_1(0), ok_1(0)* 1 to 7 labelled f_1(0), g_1(0), top_1(0)* 1 to 6 labelled ok_1(0)* 1 to 32 labelled mark_1(1)* 1 to 33 labelled top_1(1)* 1 to 20 labelled ok_1(1)* 1 to 60 labelled top_1(2)* 1 to 85 labelled top_1(3)* 2 to 2 labelled #_1(0)* 3 to 4 labelled f_1(0)* 3 to 2 labelled f_1(0), g_1(0)* 3 to 15 labelled mark_1(1), ok_1(1)* 4 to 5 labelled g_1(0)* 5 to 6 labelled f_1(0)* 6 to 2 labelled a(0)* 7 to 2 labelled active_1(0), proper_1(0)* 7 to 18 labelled mark_1(1)* 7 to 23 labelled f_1(1), g_1(1)* 7 to 21 labelled ok_1(1)* 7 to 34 labelled mark_1(2)* 7 to 35 labelled ok_1(2)* 15 to 2 labelled f_1(1), g_1(1)* 15 to 15 labelled mark_1(1), ok_1(1)* 18 to 19 labelled f_1(1)* 19 to 20 labelled g_1(1)* 20 to 21 labelled f_1(1), g_1(1)* 20 to 35 labelled f_1(1), g_1(1)* 21 to 2 labelled a(1)* 23 to 2 labelled active_1(1), proper_1(1)* 23 to 18 labelled mark_1(1)* 23 to 23 labelled f_1(1), g_1(1)* 23 to 21 labelled ok_1(1)* 23 to 34 labelled mark_1(2)* 23 to 35 labelled ok_1(2)* 32 to 18 labelled f_1(1)* 32 to 34 labelled f_1(1)* 33 to 18 labelled proper_1(1)* 33 to 21 labelled active_1(1)* 33 to 36 labelled f_1(2)* 33 to 34 labelled proper_1(1)* 33 to 35 labelled active_1(1)* 33 to 56 labelled mark_1(2)* 33 to 63 labelled mark_1(3)* 33 to 68 labelled ok_1(3)* 34 to 18 labelled f_1(2)* 34 to 34 labelled f_1(2)* 35 to 21 labelled f_1(2), g_1(2)* 35 to 35 labelled f_1(2), g_1(2)* 36 to 19 labelled proper_1(2)* 36 to 54 labelled g_1(2)* 36 to 18 labelled proper_1(2)* 36 to 34 labelled proper_1(2)* 36 to 21 labelled active_1(2)* 36 to 35 labelled active_1(2)* 36 to 36 labelled f_1(2)* 36 to 61 labelled f_1(3)* 36 to 56 labelled mark_1(2)* 36 to 63 labelled mark_1(3)* 36 to 66 labelled ok_1(3)* 36 to 68 labelled ok_1(3)* 36 to 69 labelled mark_1(4)* 36 to 72 labelled ok_1(4)* 54 to 20 labelled proper_1(2)* 54 to 55 labelled f_1(2), g_1(2)* 54 to 64 labelled ok_1(3)* 54 to 66 labelled ok_1(3)* 55 to 21 labelled proper_1(2)* 55 to 35 labelled proper_1(2)* 55 to 62 labelled f_1(3), g_1(3)* 55 to 59 labelled ok_1(2)* 55 to 64 labelled ok_1(3)* 55 to 70 labelled ok_1(4)* 56 to 57 labelled f_1(2)* 57 to 58 labelled g_1(2)* 58 to 59 labelled f_1(2)* 59 to 2 labelled a(2)* 60 to 56 labelled proper_1(2)* 60 to 65 labelled f_1(3)* 60 to 63 labelled proper_1(2)* 60 to 68 labelled active_1(2)* 60 to 84 labelled ok_1(4)* 61 to 18 labelled proper_1(3)* 61 to 34 labelled proper_1(3)* 61 to 21 labelled active_1(3)* 61 to 35 labelled active_1(3)* 61 to 36 labelled f_1(2)* 61 to 61 labelled f_1(3)* 61 to 56 labelled mark_1(2)* 61 to 63 labelled mark_1(3)* 61 to 68 labelled ok_1(3)* 61 to 69 labelled mark_1(4)* 61 to 72 labelled ok_1(4)* 62 to 21 labelled proper_1(3)* 62 to 35 labelled proper_1(3)* 62 to 62 labelled f_1(3), g_1(3)* 62 to 59 labelled ok_1(2)* 62 to 64 labelled ok_1(3)* 62 to 70 labelled ok_1(4)* 63 to 56 labelled f_1(3)* 63 to 63 labelled f_1(3)* 63 to 69 labelled f_1(3)* 64 to 59 labelled f_1(3), g_1(3)* 64 to 64 labelled f_1(3)* 64 to 70 labelled f_1(3), g_1(3)* 65 to 57 labelled proper_1(3)* 65 to 67 labelled g_1(3)* 65 to 56 labelled proper_1(3)* 65 to 63 labelled proper_1(3)* 65 to 65 labelled f_1(3)* 65 to 73 labelled f_1(4)* 65 to 69 labelled proper_1(3)* 65 to 66 labelled active_1(3)* 65 to 68 labelled active_1(3)* 65 to 72 labelled active_1(3)* 65 to 81 labelled ok_1(4)* 65 to 84 labelled ok_1(4)* 65 to 86 labelled ok_1(5)* 66 to 64 labelled g_1(3)* 66 to 66 labelled g_1(3)* 67 to 58 labelled proper_1(3)* 67 to 71 labelled f_1(3)* 67 to 75 labelled ok_1(4)* 68 to 66 labelled f_1(3)* 68 to 68 labelled f_1(3)* 68 to 72 labelled f_1(3)* 69 to 63 labelled f_1(4)* 69 to 69 labelled f_1(4)* 70 to 64 labelled f_1(4), g_1(4)* 70 to 70 labelled f_1(4), g_1(4)* 71 to 59 labelled proper_1(3)* 71 to 74 labelled ok_1(3)* 72 to 68 labelled f_1(4)* 72 to 72 labelled f_1(4)* 73 to 56 labelled proper_1(4)* 73 to 63 labelled proper_1(4)* 73 to 65 labelled f_1(3)* 73 to 73 labelled f_1(4)* 73 to 69 labelled proper_1(4)* 73 to 66 labelled active_1(4)* 73 to 68 labelled active_1(4)* 73 to 72 labelled active_1(4)* 73 to 82 labelled f_1(5)* 73 to 84 labelled ok_1(4)* 73 to 86 labelled ok_1(5)* 73 to 87 labelled ok_1(6)* 74 to 2 labelled a(3)* 75 to 74 labelled f_1(4)* 81 to 75 labelled g_1(4)* 82 to 63 labelled proper_1(5)* 82 to 69 labelled proper_1(5)* 82 to 73 labelled f_1(4)* 82 to 82 labelled f_1(5)* 82 to 68 labelled active_1(5)* 82 to 72 labelled active_1(5)* 82 to 86 labelled ok_1(5)* 82 to 87 labelled ok_1(6)* 84 to 81 labelled f_1(4)* 84 to 84 labelled f_1(4)* 84 to 86 labelled f_1(4)* 85 to 84 labelled active_1(3)* 85 to 88 labelled f_1(4)* 86 to 84 labelled f_1(5)* 86 to 86 labelled f_1(5)* 86 to 87 labelled f_1(5)* 87 to 86 labelled f_1(6)* 87 to 87 labelled f_1(6)* 88 to 81 labelled active_1(4)* 88 to 84 labelled active_1(4)* 88 to 89 labelled f_1(5)* 88 to 86 labelled active_1(4)* 89 to 81 labelled active_1(5)* 89 to 84 labelled active_1(5)* 89 to 86 labelled active_1(5)* 89 to 89 labelled f_1(5)* 89 to 90 labelled f_1(6)* 89 to 87 labelled active_1(5)* 90 to 84 labelled active_1(6)* 90 to 86 labelled active_1(6)* 90 to 87 labelled active_1(6)* 90 to 89 labelled f_1(5)* 90 to 90 labelled f_1(6)* 90 to 91 labelled f_1(7)* 91 to 86 labelled active_1(7)* 91 to 87 labelled active_1(7)* 91 to 90 labelled f_1(6)* 91 to 91 labelled f_1(7) 3.56/1.75 3.56/1.75 3.56/1.75 ---------------------------------------- 3.56/1.75 3.56/1.75 (2) 3.56/1.75 YES 3.84/2.52 EOF