YES Termination w.r.t. Q proof of Transformed_CSR_04_Ex6_GM04_C.ari

(0) Obligation:

Q restricted rewrite system:
The TRS R consists of the following rules:

active(c) → mark(f(g(c)))
active(f(g(X))) → mark(g(X))
proper(c) → ok(c)
proper(f(X)) → f(proper(X))
proper(g(X)) → g(proper(X))
f(ok(X)) → ok(f(X))
g(ok(X)) → ok(g(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))

Q is empty.

(1) QTRS Reverse (EQUIVALENT transformation)

We applied the QTRS Reverse Processor [REVERSE].

(2) Obligation:

Q restricted rewrite system:
The TRS R consists of the following rules:

c'(active(x)) → c'(g(f(mark(x))))
g(f(active(X))) → g(mark(X))
c'(proper(x)) → c'(ok(x))
f(proper(X)) → proper(f(X))
g(proper(X)) → proper(g(X))
ok(f(X)) → f(ok(X))
ok(g(X)) → g(ok(X))
mark(top(X)) → proper(top(X))
ok(top(X)) → active(top(X))

Q is empty.

(3) RFCMatchBoundsTRSProof (EQUIVALENT transformation)

Termination of the TRS R could be shown with a Match Bound [MATCHBOUNDS1,MATCHBOUNDS2] of 5. This implies Q-termination of R.
The following rules were used to construct the certificate:

c'(active(x)) → c'(g(f(mark(x))))
g(f(active(X))) → g(mark(X))
c'(proper(x)) → c'(ok(x))
f(proper(X)) → proper(f(X))
g(proper(X)) → proper(g(X))
ok(f(X)) → f(ok(X))
ok(g(X)) → g(ok(X))
mark(top(X)) → proper(top(X))
ok(top(X)) → active(top(X))

The certificate found is represented by the following graph.

The certificate consists of the following enumerated nodes:

1, 4, 5, 6, 7, 11, 14, 18, 22, 23, 26, 27, 28, 30, 31, 39, 40, 41, 42, 43, 44, 50, 51, 52, 56, 57, 58, 62, 65, 70, 71, 72, 73, 74, 75, 76, 77, 79, 80, 84, 86

Node 1 is start node and node 4 is final node.

Those nodes are connected through the following edges:

  • 1 to 5 labelled c'_1(0), f_1(0), g_1(0)
  • 1 to 7 labelled g_1(0)
  • 1 to 11 labelled proper_1(0), active_1(0)
  • 1 to 26 labelled c'_1(1)
  • 1 to 30 labelled proper_1(1)
  • 1 to 28 labelled g_1(1)
  • 1 to 43 labelled proper_1(2)
  • 1 to 56 labelled c'_1(2)
  • 1 to 80 labelled c'_1(3)
  • 4 to 4 labelled #_1(0)
  • 5 to 6 labelled g_1(0)
  • 5 to 4 labelled ok_1(0)
  • 5 to 14 labelled f_1(1), g_1(1)
  • 5 to 18 labelled active_1(1)
  • 5 to 39 labelled proper_1(1)
  • 5 to 42 labelled g_1(2)
  • 5 to 50 labelled proper_1(3)
  • 5 to 57 labelled proper_1(2)
  • 6 to 7 labelled f_1(0)
  • 6 to 31 labelled proper_1(1)
  • 7 to 4 labelled mark_1(0)
  • 7 to 18 labelled proper_1(1)
  • 11 to 4 labelled f_1(0), g_1(0), top_1(0)
  • 11 to 22 labelled proper_1(1)
  • 11 to 23 labelled g_1(1)
  • 11 to 40 labelled proper_1(2)
  • 14 to 4 labelled ok_1(1)
  • 14 to 14 labelled f_1(1), g_1(1)
  • 14 to 18 labelled active_1(1)
  • 14 to 42 labelled g_1(2)
  • 14 to 50 labelled proper_1(3)
  • 14 to 57 labelled proper_1(2)
  • 18 to 4 labelled top_1(1)
  • 22 to 4 labelled f_1(1), g_1(1)
  • 22 to 22 labelled proper_1(1)
  • 22 to 23 labelled g_1(1)
  • 22 to 40 labelled proper_1(2)
  • 23 to 4 labelled mark_1(1)
  • 23 to 18 labelled proper_1(1)
  • 26 to 27 labelled g_1(1)
  • 26 to 39 labelled ok_1(1)
  • 26 to 51 labelled proper_1(2)
  • 26 to 52 labelled g_1(2)
  • 26 to 50 labelled ok_1(1)
  • 26 to 57 labelled ok_1(1)
  • 26 to 65 labelled f_1(2), g_1(2)
  • 26 to 72 labelled g_1(3)
  • 26 to 75 labelled proper_1(4)
  • 27 to 28 labelled f_1(1)
  • 27 to 44 labelled proper_1(2)
  • 28 to 18 labelled mark_1(1)
  • 28 to 41 labelled proper_1(2)
  • 30 to 18 labelled g_1(1)
  • 30 to 39 labelled f_1(1), g_1(1)
  • 30 to 50 labelled f_1(1), g_1(1)
  • 30 to 57 labelled f_1(1), g_1(1)
  • 31 to 18 labelled f_1(1)
  • 39 to 31 labelled g_1(1)
  • 40 to 18 labelled g_1(2)
  • 41 to 4 labelled top_1(2)
  • 42 to 18 labelled mark_1(2)
  • 42 to 41 labelled proper_1(2)
  • 43 to 41 labelled g_1(2)
  • 44 to 41 labelled f_1(2)
  • 50 to 41 labelled g_1(3)
  • 51 to 44 labelled g_1(2)
  • 52 to 31 labelled ok_1(2)
  • 52 to 58 labelled f_1(2)
  • 52 to 41 labelled ok_1(2)
  • 52 to 71 labelled active_1(3)
  • 56 to 51 labelled ok_1(2)
  • 56 to 62 labelled g_1(3)
  • 56 to 76 labelled g_1(4)
  • 56 to 75 labelled ok_1(2)
  • 56 to 79 labelled proper_1(5)
  • 57 to 50 labelled f_1(2), g_1(2)
  • 57 to 57 labelled f_1(2), g_1(2)
  • 58 to 18 labelled ok_1(2)
  • 58 to 41 labelled active_1(2)
  • 62 to 44 labelled ok_1(3)
  • 62 to 70 labelled f_1(3)
  • 62 to 71 labelled ok_1(3)
  • 62 to 77 labelled active_1(4)
  • 65 to 50 labelled ok_1(2)
  • 65 to 57 labelled ok_1(2)
  • 65 to 70 labelled g_1(3)
  • 65 to 73 labelled f_1(3), g_1(3)
  • 70 to 41 labelled ok_1(3)
  • 70 to 71 labelled active_1(3)
  • 71 to 4 labelled top_1(3)
  • 72 to 41 labelled mark_1(3)
  • 72 to 71 labelled proper_1(3)
  • 73 to 50 labelled ok_1(3)
  • 73 to 57 labelled ok_1(3)
  • 73 to 74 labelled g_1(4)
  • 73 to 73 labelled f_1(3), g_1(3)
  • 74 to 41 labelled ok_1(4)
  • 74 to 71 labelled active_1(3)
  • 75 to 71 labelled g_1(4)
  • 76 to 71 labelled mark_1(4)
  • 76 to 77 labelled proper_1(4)
  • 77 to 4 labelled top_1(4)
  • 79 to 77 labelled g_1(5)
  • 80 to 79 labelled ok_1(3)
  • 80 to 84 labelled g_1(4)
  • 84 to 77 labelled ok_1(4)
  • 84 to 86 labelled active_1(5)
  • 86 to 4 labelled top_1(5)

(4) YES