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

(0) Obligation:

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

active(f(f(a))) → mark(f(g(f(a))))
active(f(X)) → f(active(X))
f(mark(X)) → mark(f(X))
proper(f(X)) → f(proper(X))
proper(a) → ok(a)
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:

a'(f(f(active(x)))) → a'(f(g(f(mark(x)))))
f(active(X)) → active(f(X))
mark(f(X)) → f(mark(X))
f(proper(X)) → proper(f(X))
a'(proper(x)) → a'(ok(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 6. This implies Q-termination of R.
The following rules were used to construct the certificate:

a'(f(f(active(x)))) → a'(f(g(f(mark(x)))))
f(active(X)) → active(f(X))
mark(f(X)) → f(mark(X))
f(proper(X)) → proper(f(X))
a'(proper(x)) → a'(ok(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, 3, 5, 10, 11, 12, 14, 20, 22, 23, 24, 28, 31, 33, 34, 35, 36, 37, 39, 40, 47, 48, 50, 51, 52, 53, 54, 56, 57, 58, 61, 62, 63, 66, 68, 72, 73, 74, 75, 79, 80

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

Those nodes are connected through the following edges:

  • 1 to 5 labelled a'_1(0), f_1(0), g_1(0)
  • 1 to 14 labelled active_1(0), proper_1(0)
  • 1 to 12 labelled f_1(0)
  • 1 to 28 labelled active_1(1), proper_1(1)
  • 1 to 34 labelled a'_1(1)
  • 1 to 57 labelled a'_1(2)
  • 3 to 3 labelled #_1(0)
  • 5 to 10 labelled f_1(0)
  • 5 to 3 labelled ok_1(0)
  • 5 to 20 labelled f_1(1), g_1(1)
  • 5 to 22 labelled active_1(1)
  • 5 to 31 labelled active_1(2)
  • 5 to 39 labelled proper_1(1)
  • 10 to 11 labelled g_1(0)
  • 10 to 33 labelled proper_1(1)
  • 11 to 12 labelled f_1(0)
  • 11 to 28 labelled proper_1(1)
  • 12 to 3 labelled mark_1(0)
  • 12 to 23 labelled f_1(1)
  • 12 to 22 labelled proper_1(1)
  • 12 to 31 labelled proper_1(2)
  • 14 to 3 labelled f_1(0), g_1(0), top_1(0)
  • 14 to 24 labelled active_1(1), proper_1(1)
  • 20 to 3 labelled ok_1(1)
  • 20 to 20 labelled f_1(1), g_1(1)
  • 20 to 22 labelled active_1(1)
  • 20 to 31 labelled active_1(2)
  • 22 to 3 labelled top_1(1)
  • 23 to 3 labelled mark_1(1)
  • 23 to 23 labelled f_1(1)
  • 23 to 22 labelled proper_1(1)
  • 23 to 31 labelled proper_1(2)
  • 24 to 3 labelled f_1(1), g_1(1)
  • 24 to 24 labelled active_1(1), proper_1(1)
  • 28 to 22 labelled f_1(1)
  • 28 to 31 labelled f_1(1)
  • 28 to 39 labelled f_1(1), g_1(1)
  • 31 to 22 labelled f_1(2)
  • 31 to 31 labelled f_1(2)
  • 33 to 28 labelled g_1(1)
  • 34 to 35 labelled f_1(1)
  • 34 to 39 labelled ok_1(1)
  • 34 to 50 labelled f_1(2)
  • 34 to 53 labelled proper_1(2)
  • 35 to 36 labelled g_1(1)
  • 35 to 51 labelled proper_1(2)
  • 36 to 37 labelled f_1(1)
  • 36 to 47 labelled proper_1(2)
  • 37 to 22 labelled mark_1(1)
  • 37 to 40 labelled proper_1(2)
  • 37 to 31 labelled mark_1(1)
  • 37 to 48 labelled f_1(2)
  • 37 to 54 labelled proper_1(3)
  • 39 to 33 labelled f_1(1)
  • 40 to 3 labelled top_1(2)
  • 47 to 40 labelled f_1(2)
  • 47 to 54 labelled f_1(2)
  • 48 to 22 labelled mark_1(2)
  • 48 to 31 labelled mark_1(2)
  • 48 to 40 labelled proper_1(2)
  • 48 to 52 labelled f_1(3)
  • 48 to 54 labelled proper_1(3)
  • 48 to 62 labelled proper_1(4)
  • 50 to 33 labelled ok_1(2)
  • 50 to 56 labelled g_1(2)
  • 51 to 47 labelled g_1(2)
  • 52 to 22 labelled mark_1(3)
  • 52 to 31 labelled mark_1(3)
  • 52 to 40 labelled proper_1(2)
  • 52 to 52 labelled f_1(3)
  • 52 to 54 labelled proper_1(3)
  • 52 to 62 labelled proper_1(4)
  • 53 to 51 labelled f_1(2)
  • 54 to 40 labelled f_1(3)
  • 54 to 54 labelled f_1(3)
  • 54 to 62 labelled f_1(3)
  • 56 to 28 labelled ok_1(2)
  • 56 to 58 labelled f_1(2), g_1(2)
  • 56 to 54 labelled active_1(3)
  • 57 to 53 labelled ok_1(2)
  • 57 to 63 labelled f_1(3)
  • 58 to 22 labelled ok_1(2)
  • 58 to 31 labelled ok_1(2)
  • 58 to 39 labelled ok_1(2)
  • 58 to 50 labelled f_1(2)
  • 58 to 40 labelled active_1(2)
  • 58 to 61 labelled f_1(3)
  • 58 to 54 labelled active_1(3)
  • 58 to 62 labelled active_1(4)
  • 61 to 22 labelled ok_1(3)
  • 61 to 31 labelled ok_1(3)
  • 61 to 40 labelled active_1(2)
  • 61 to 61 labelled f_1(3)
  • 61 to 54 labelled active_1(3)
  • 61 to 62 labelled active_1(4)
  • 62 to 54 labelled f_1(4)
  • 62 to 62 labelled f_1(4)
  • 63 to 51 labelled ok_1(3)
  • 63 to 66 labelled g_1(3)
  • 66 to 47 labelled ok_1(3)
  • 66 to 68 labelled f_1(3)
  • 66 to 74 labelled active_1(4)
  • 68 to 40 labelled ok_1(3)
  • 68 to 54 labelled ok_1(3)
  • 68 to 72 labelled active_1(3)
  • 68 to 73 labelled f_1(4)
  • 68 to 74 labelled active_1(4)
  • 68 to 79 labelled active_1(5)
  • 72 to 3 labelled top_1(3)
  • 73 to 40 labelled ok_1(4)
  • 73 to 54 labelled ok_1(4)
  • 73 to 62 labelled ok_1(4)
  • 73 to 72 labelled active_1(3)
  • 73 to 73 labelled f_1(4)
  • 73 to 75 labelled f_1(5)
  • 73 to 74 labelled active_1(4)
  • 73 to 79 labelled active_1(5)
  • 73 to 80 labelled active_1(6)
  • 74 to 72 labelled f_1(4)
  • 74 to 74 labelled f_1(4)
  • 74 to 79 labelled f_1(4)
  • 75 to 54 labelled ok_1(5)
  • 75 to 62 labelled ok_1(5)
  • 75 to 73 labelled f_1(4)
  • 75 to 75 labelled f_1(5)
  • 75 to 74 labelled active_1(4)
  • 75 to 79 labelled active_1(5)
  • 75 to 80 labelled active_1(6)
  • 79 to 74 labelled f_1(5)
  • 79 to 79 labelled f_1(5)
  • 79 to 80 labelled f_1(5)
  • 80 to 79 labelled f_1(6)
  • 80 to 80 labelled f_1(6)

(4) YES