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

(0) Obligation:

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.

(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(c(mark(x))))))
f(active(X)) → active(f(X))
g(active(X)) → active(g(X))
mark(f(X)) → f(mark(X))
mark(g(X)) → g(mark(X))
f(proper(X)) → proper(f(X))
a'(proper(x)) → a'(ok(x))
c(proper(X)) → proper(c(X))
g(proper(X)) → proper(g(X))
ok(f(X)) → f(ok(X))
ok(c(X)) → c(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(c(mark(x))))))
f(active(X)) → active(f(X))
g(active(X)) → active(g(X))
mark(f(X)) → f(mark(X))
mark(g(X)) → g(mark(X))
f(proper(X)) → proper(f(X))
a'(proper(x)) → a'(ok(x))
c(proper(X)) → proper(c(X))
g(proper(X)) → proper(g(X))
ok(f(X)) → f(ok(X))
ok(c(X)) → c(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, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 28, 29, 32, 33, 34, 35, 36, 37, 38, 39, 40, 44, 45, 46, 48, 50, 57, 59, 62, 63, 64, 67, 69, 70, 71, 72, 75, 76, 77, 82, 86, 87, 88, 92, 93, 97

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

Those nodes are connected through the following edges:

  • 1 to 11 labelled a'_1(0), f_1(0), c_1(0), g_1(0)
  • 1 to 16 labelled active_1(0), proper_1(0)
  • 1 to 15 labelled f_1(0), g_1(0)
  • 1 to 28 labelled active_1(1), proper_1(1)
  • 1 to 34 labelled a'_1(1)
  • 1 to 67 labelled a'_1(2)
  • 3 to 3 labelled #_1(0)
  • 11 to 12 labelled f_1(0)
  • 11 to 3 labelled ok_1(0)
  • 11 to 17 labelled f_1(1), c_1(1), g_1(1)
  • 11 to 19 labelled active_1(1)
  • 11 to 32 labelled active_1(2)
  • 11 to 44 labelled proper_1(1)
  • 12 to 13 labelled g_1(0)
  • 12 to 39 labelled proper_1(1)
  • 13 to 14 labelled f_1(0)
  • 13 to 33 labelled proper_1(1)
  • 14 to 15 labelled c_1(0)
  • 14 to 29 labelled proper_1(1)
  • 15 to 3 labelled mark_1(0)
  • 15 to 20 labelled f_1(1), g_1(1)
  • 15 to 19 labelled proper_1(1)
  • 15 to 32 labelled proper_1(2)
  • 16 to 3 labelled f_1(0), g_1(0), c_1(0), top_1(0)
  • 16 to 21 labelled active_1(1), proper_1(1)
  • 17 to 3 labelled ok_1(1)
  • 17 to 17 labelled f_1(1), c_1(1), g_1(1)
  • 17 to 19 labelled active_1(1)
  • 17 to 32 labelled active_1(2)
  • 19 to 3 labelled top_1(1)
  • 20 to 3 labelled mark_1(1)
  • 20 to 20 labelled f_1(1), g_1(1)
  • 20 to 19 labelled proper_1(1)
  • 20 to 32 labelled proper_1(2)
  • 21 to 3 labelled f_1(1), g_1(1), c_1(1)
  • 21 to 21 labelled active_1(1), proper_1(1)
  • 28 to 19 labelled f_1(1), g_1(1)
  • 28 to 32 labelled f_1(1), g_1(1)
  • 28 to 44 labelled f_1(1), c_1(1), g_1(1)
  • 29 to 19 labelled c_1(1)
  • 29 to 32 labelled c_1(1)
  • 32 to 19 labelled f_1(2), g_1(2)
  • 32 to 32 labelled f_1(2), g_1(2)
  • 33 to 29 labelled f_1(1)
  • 34 to 35 labelled f_1(1)
  • 34 to 44 labelled ok_1(1)
  • 34 to 57 labelled f_1(2)
  • 34 to 63 labelled proper_1(2)
  • 35 to 36 labelled g_1(1)
  • 35 to 59 labelled proper_1(2)
  • 36 to 37 labelled f_1(1)
  • 36 to 48 labelled proper_1(2)
  • 37 to 38 labelled c_1(1)
  • 37 to 45 labelled proper_1(2)
  • 38 to 19 labelled mark_1(1)
  • 38 to 40 labelled proper_1(2)
  • 38 to 32 labelled mark_1(1)
  • 38 to 46 labelled f_1(2), g_1(2)
  • 38 to 62 labelled proper_1(3)
  • 39 to 33 labelled g_1(1)
  • 40 to 3 labelled top_1(2)
  • 44 to 39 labelled f_1(1)
  • 45 to 40 labelled c_1(2)
  • 45 to 62 labelled c_1(2)
  • 46 to 19 labelled mark_1(2)
  • 46 to 32 labelled mark_1(2)
  • 46 to 40 labelled proper_1(2)
  • 46 to 50 labelled f_1(3), g_1(3)
  • 46 to 62 labelled proper_1(3)
  • 46 to 69 labelled proper_1(4)
  • 48 to 45 labelled f_1(2)
  • 50 to 19 labelled mark_1(3)
  • 50 to 32 labelled mark_1(3)
  • 50 to 40 labelled proper_1(2)
  • 50 to 50 labelled f_1(3), g_1(3)
  • 50 to 62 labelled proper_1(3)
  • 50 to 69 labelled proper_1(4)
  • 57 to 39 labelled ok_1(2)
  • 57 to 64 labelled g_1(2)
  • 59 to 48 labelled g_1(2)
  • 62 to 40 labelled f_1(3), g_1(3)
  • 62 to 62 labelled f_1(3), g_1(3)
  • 62 to 69 labelled f_1(3), g_1(3)
  • 63 to 59 labelled f_1(2)
  • 64 to 33 labelled ok_1(2)
  • 64 to 70 labelled f_1(2)
  • 67 to 63 labelled ok_1(2)
  • 67 to 71 labelled f_1(3)
  • 69 to 62 labelled f_1(4), g_1(4)
  • 69 to 69 labelled f_1(4), g_1(4)
  • 70 to 29 labelled ok_1(2)
  • 70 to 72 labelled c_1(2)
  • 71 to 59 labelled ok_1(3)
  • 71 to 76 labelled g_1(3)
  • 72 to 19 labelled ok_1(2)
  • 72 to 32 labelled ok_1(2)
  • 72 to 40 labelled active_1(2)
  • 72 to 75 labelled f_1(3), g_1(3)
  • 72 to 62 labelled active_1(3)
  • 72 to 69 labelled active_1(4)
  • 75 to 19 labelled ok_1(3)
  • 75 to 32 labelled ok_1(3)
  • 75 to 40 labelled active_1(2)
  • 75 to 75 labelled f_1(3), g_1(3)
  • 75 to 62 labelled active_1(3)
  • 75 to 69 labelled active_1(4)
  • 76 to 48 labelled ok_1(3)
  • 76 to 77 labelled f_1(3)
  • 77 to 45 labelled ok_1(3)
  • 77 to 82 labelled c_1(3)
  • 82 to 40 labelled ok_1(3)
  • 82 to 62 labelled ok_1(3)
  • 82 to 86 labelled active_1(3)
  • 82 to 87 labelled f_1(4), g_1(4)
  • 82 to 92 labelled active_1(4)
  • 82 to 93 labelled active_1(5)
  • 86 to 3 labelled top_1(3)
  • 87 to 40 labelled ok_1(4)
  • 87 to 62 labelled ok_1(4)
  • 87 to 69 labelled ok_1(4)
  • 87 to 86 labelled active_1(3)
  • 87 to 87 labelled f_1(4), g_1(4)
  • 87 to 88 labelled f_1(5), g_1(5)
  • 87 to 92 labelled active_1(4)
  • 87 to 93 labelled active_1(5)
  • 87 to 97 labelled active_1(6)
  • 88 to 62 labelled ok_1(5)
  • 88 to 69 labelled ok_1(5)
  • 88 to 87 labelled f_1(4), g_1(4)
  • 88 to 88 labelled f_1(5), g_1(5)
  • 88 to 92 labelled active_1(4)
  • 88 to 93 labelled active_1(5)
  • 88 to 97 labelled active_1(6)
  • 92 to 86 labelled f_1(4), g_1(4)
  • 93 to 92 labelled f_1(5), g_1(5)
  • 93 to 93 labelled f_1(5), g_1(5)
  • 93 to 97 labelled f_1(5), g_1(5)
  • 97 to 93 labelled f_1(6), g_1(6)
  • 97 to 97 labelled f_1(6), g_1(6)

(4) YES