Termination w.r.t. Q of the following Term Rewriting System could be proven:
Q restricted rewrite system:
The TRS R consists of the following rules:
active(f(f(a))) → mark(c(f(g(f(a)))))
active(f(X)) → f(active(X))
active(g(X)) → g(active(X))
f(mark(X)) → mark(f(X))
g(mark(X)) → mark(g(X))
proper(f(X)) → f(proper(X))
proper(a) → ok(a)
proper(c(X)) → c(proper(X))
proper(g(X)) → g(proper(X))
f(ok(X)) → ok(f(X))
c(ok(X)) → ok(c(X))
g(ok(X)) → ok(g(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
Q is empty.
↳ QTRS
↳ RFCMatchBoundsTRSProof
Q restricted rewrite system:
The TRS R consists of the following rules:
active(f(f(a))) → mark(c(f(g(f(a)))))
active(f(X)) → f(active(X))
active(g(X)) → g(active(X))
f(mark(X)) → mark(f(X))
g(mark(X)) → mark(g(X))
proper(f(X)) → f(proper(X))
proper(a) → ok(a)
proper(c(X)) → c(proper(X))
proper(g(X)) → g(proper(X))
f(ok(X)) → ok(f(X))
c(ok(X)) → ok(c(X))
g(ok(X)) → ok(g(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
Q is empty.
Termination of the TRS R could be shown with a Match Bound [6,7] of 7. This implies Q-termination of R.
The following rules were used to construct the certificate:
active(f(f(a))) → mark(c(f(g(f(a)))))
active(f(X)) → f(active(X))
active(g(X)) → g(active(X))
f(mark(X)) → mark(f(X))
g(mark(X)) → mark(g(X))
proper(f(X)) → f(proper(X))
proper(a) → ok(a)
proper(c(X)) → c(proper(X))
proper(g(X)) → g(proper(X))
f(ok(X)) → ok(f(X))
c(ok(X)) → ok(c(X))
g(ok(X)) → ok(g(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
The certificate found is represented by the following graph.
The certificate consists of the following enumerated nodes:
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, 42, 45, 46, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72
Node 1 is start node and node 2 is final node.
Those nodes are connect through the following edges:
- 1 to 3 labelled ok_1(0), mark_1(0)
- 1 to 4 labelled mark_1(0), ok_1(0)
- 1 to 9 labelled g_1(0), top_1(0), f_1(0), c_1(0)
- 1 to 8 labelled ok_1(0)
- 1 to 19 labelled top_1(1)
- 1 to 20 labelled mark_1(1)
- 1 to 21 labelled ok_1(1)
- 1 to 35 labelled top_1(2)
- 1 to 67 labelled top_1(3)
- 2 to 2 labelled #_1(0)
- 3 to 2 labelled g_1(0), c_1(0)
- 3 to 18 labelled ok_1(1), mark_1(1)
- 4 to 5 labelled c_1(0)
- 4 to 2 labelled f_1(0)
- 4 to 12 labelled mark_1(1), ok_1(1)
- 5 to 6 labelled f_1(0)
- 6 to 7 labelled g_1(0)
- 7 to 8 labelled f_1(0)
- 8 to 2 labelled a(0)
- 9 to 2 labelled proper_1(0), active_1(0)
- 9 to 10 labelled g_1(1), f_1(1), c_1(1)
- 9 to 11 labelled ok_1(1)
- 9 to 13 labelled mark_1(1)
- 9 to 23 labelled mark_1(2)
- 9 to 24 labelled ok_1(2)
- 10 to 2 labelled proper_1(1), active_1(1)
- 10 to 10 labelled g_1(1), f_1(1), c_1(1)
- 10 to 11 labelled ok_1(1)
- 10 to 13 labelled mark_1(1)
- 10 to 23 labelled mark_1(2)
- 10 to 24 labelled ok_1(2)
- 11 to 2 labelled a(1)
- 12 to 2 labelled f_1(1)
- 12 to 12 labelled mark_1(1), ok_1(1)
- 13 to 14 labelled c_1(1)
- 14 to 15 labelled f_1(1)
- 15 to 16 labelled g_1(1)
- 16 to 17 labelled f_1(1)
- 17 to 2 labelled a(1)
- 18 to 2 labelled c_1(1), g_1(1)
- 18 to 18 labelled ok_1(1), mark_1(1)
- 19 to 13 labelled proper_1(1)
- 19 to 11 labelled active_1(1)
- 19 to 22 labelled c_1(2)
- 19 to 23 labelled proper_1(1)
- 19 to 24 labelled active_1(1)
- 19 to 26 labelled f_1(2), g_1(2)
- 19 to 28 labelled mark_1(2)
- 19 to 36 labelled mark_1(3)
- 19 to 57 labelled ok_1(3)
- 20 to 13 labelled f_1(1), g_1(1)
- 20 to 23 labelled f_1(1), g_1(1)
- 21 to 11 labelled f_1(1), c_1(1), g_1(1)
- 21 to 24 labelled f_1(1), c_1(1), g_1(1)
- 22 to 14 labelled proper_1(2)
- 22 to 25 labelled f_1(2)
- 22 to 55 labelled ok_1(3)
- 23 to 13 labelled f_1(2), g_1(2)
- 23 to 23 labelled f_1(2), g_1(2)
- 24 to 11 labelled f_1(2), c_1(2), g_1(2)
- 24 to 24 labelled f_1(2), c_1(2), g_1(2)
- 25 to 15 labelled proper_1(2)
- 25 to 27 labelled g_1(2)
- 25 to 40 labelled ok_1(3)
- 26 to 24 labelled active_1(2)
- 26 to 11 labelled active_1(2)
- 26 to 13 labelled proper_1(2)
- 26 to 23 labelled proper_1(2)
- 26 to 33 labelled f_1(3), g_1(3)
- 26 to 22 labelled c_1(2)
- 26 to 28 labelled mark_1(2)
- 26 to 36 labelled mark_1(3)
- 26 to 42 labelled mark_1(4)
- 26 to 57 labelled ok_1(3)
- 26 to 61 labelled ok_1(4)
- 27 to 16 labelled proper_1(2)
- 27 to 34 labelled f_1(2)
- 27 to 38 labelled ok_1(3)
- 28 to 29 labelled c_1(2)
- 29 to 30 labelled f_1(2)
- 30 to 31 labelled g_1(2)
- 31 to 32 labelled f_1(2)
- 32 to 2 labelled a(2)
- 33 to 24 labelled active_1(3)
- 33 to 11 labelled active_1(3)
- 33 to 13 labelled proper_1(3)
- 33 to 23 labelled proper_1(3)
- 33 to 33 labelled f_1(3), g_1(3)
- 33 to 22 labelled c_1(2)
- 33 to 28 labelled mark_1(2)
- 33 to 36 labelled mark_1(3)
- 33 to 42 labelled mark_1(4)
- 33 to 57 labelled ok_1(3)
- 33 to 61 labelled ok_1(4)
- 34 to 17 labelled proper_1(2)
- 34 to 32 labelled ok_1(2)
- 35 to 28 labelled proper_1(2)
- 35 to 37 labelled c_1(3)
- 35 to 36 labelled proper_1(2)
- 35 to 45 labelled f_1(3), g_1(3)
- 35 to 57 labelled active_1(2)
- 35 to 65 labelled ok_1(4)
- 36 to 28 labelled g_1(3), f_1(3)
- 36 to 36 labelled g_1(3), f_1(3)
- 36 to 42 labelled g_1(3), f_1(3)
- 37 to 29 labelled proper_1(3)
- 37 to 39 labelled f_1(3)
- 37 to 64 labelled ok_1(4)
- 38 to 32 labelled f_1(3)
- 39 to 30 labelled proper_1(3)
- 39 to 46 labelled g_1(3)
- 39 to 63 labelled ok_1(4)
- 40 to 38 labelled g_1(3)
- 42 to 36 labelled g_1(4), f_1(4)
- 42 to 42 labelled g_1(4), f_1(4)
- 45 to 28 labelled proper_1(3)
- 45 to 36 labelled proper_1(3)
- 45 to 37 labelled c_1(3)
- 45 to 59 labelled f_1(4), g_1(4)
- 45 to 42 labelled proper_1(3)
- 45 to 57 labelled active_1(3)
- 45 to 61 labelled active_1(3)
- 45 to 65 labelled ok_1(4)
- 45 to 66 labelled ok_1(5)
- 46 to 31 labelled proper_1(3)
- 46 to 56 labelled f_1(3)
- 46 to 62 labelled ok_1(4)
- 55 to 40 labelled f_1(3)
- 56 to 32 labelled proper_1(3)
- 56 to 58 labelled ok_1(3)
- 57 to 55 labelled c_1(3)
- 57 to 57 labelled g_1(3), f_1(3)
- 57 to 61 labelled g_1(3), f_1(3)
- 58 to 2 labelled a(3)
- 59 to 28 labelled proper_1(4)
- 59 to 36 labelled proper_1(4)
- 59 to 42 labelled proper_1(4)
- 59 to 59 labelled g_1(4), f_1(4)
- 59 to 60 labelled g_1(5), f_1(5)
- 59 to 37 labelled c_1(3)
- 59 to 61 labelled active_1(4)
- 59 to 57 labelled active_1(4)
- 59 to 65 labelled ok_1(4)
- 59 to 66 labelled ok_1(5)
- 59 to 69 labelled ok_1(6)
- 60 to 42 labelled proper_1(5)
- 60 to 36 labelled proper_1(5)
- 60 to 59 labelled g_1(4), f_1(4)
- 60 to 60 labelled g_1(5), f_1(5)
- 60 to 61 labelled active_1(5)
- 60 to 57 labelled active_1(5)
- 60 to 66 labelled ok_1(5)
- 60 to 69 labelled ok_1(6)
- 61 to 57 labelled g_1(4), f_1(4)
- 61 to 61 labelled g_1(4), f_1(4)
- 62 to 58 labelled f_1(4)
- 63 to 62 labelled g_1(4)
- 64 to 63 labelled f_1(4)
- 65 to 64 labelled c_1(4)
- 65 to 65 labelled g_1(4), f_1(4)
- 65 to 66 labelled g_1(4), f_1(4)
- 66 to 65 labelled g_1(5), f_1(5)
- 66 to 66 labelled g_1(5), f_1(5)
- 66 to 69 labelled g_1(5), f_1(5)
- 67 to 65 labelled active_1(3)
- 67 to 68 labelled g_1(4), f_1(4)
- 68 to 65 labelled active_1(4)
- 68 to 70 labelled g_1(5), f_1(5)
- 68 to 66 labelled active_1(4)
- 69 to 66 labelled g_1(6), f_1(6)
- 69 to 69 labelled g_1(6), f_1(6)
- 70 to 66 labelled active_1(5)
- 70 to 65 labelled active_1(5)
- 70 to 70 labelled g_1(5), f_1(5)
- 70 to 71 labelled g_1(6), f_1(6)
- 70 to 69 labelled active_1(5)
- 71 to 69 labelled active_1(6)
- 71 to 66 labelled active_1(6)
- 71 to 65 labelled active_1(6)
- 71 to 72 labelled g_1(7), f_1(7)
- 71 to 70 labelled g_1(5), f_1(5)
- 71 to 71 labelled g_1(6), f_1(6)
- 72 to 69 labelled active_1(7)
- 72 to 66 labelled active_1(7)
- 72 to 72 labelled g_1(7), f_1(7)
- 72 to 71 labelled g_1(6), f_1(6)