YES Termination Proof

Termination Proof

by ttt2 (version ttt2 1.15)

Input

The rewrite relation of the following TRS is considered.

a(b(c(a(x0)))) → b(a(c(b(a(b(x0))))))
a(d(x0)) → c(x0)
a(f(f(x0))) → g(x0)
b(g(x0)) → g(b(x0))
c(x0) → f(f(x0))
c(a(c(x0))) → b(c(a(b(c(x0)))))
c(d(x0)) → a(a(x0))
g(x0) → c(a(x0))
g(x0) → d(d(d(d(x0))))

Proof

1 Rule Removal

Using the linear polynomial interpretation over the arctic semiring over the integers
[f(x1)] = 3 · x1 + -∞
[c(x1)] = 6 · x1 + -∞
[d(x1)] = 2 · x1 + -∞
[g(x1)] = 10 · x1 + -∞
[a(x1)] = 4 · x1 + -∞
[b(x1)] = 0 · x1 + -∞
the rules
a(b(c(a(x0)))) → b(a(c(b(a(b(x0))))))
a(d(x0)) → c(x0)
a(f(f(x0))) → g(x0)
b(g(x0)) → g(b(x0))
c(x0) → f(f(x0))
c(a(c(x0))) → b(c(a(b(c(x0)))))
c(d(x0)) → a(a(x0))
g(x0) → c(a(x0))
remain.

1.1 Rule Removal

Using the linear polynomial interpretation over the arctic semiring over the integers
[f(x1)] = 0 · x1 + -∞
[c(x1)] = 0 · x1 + -∞
[d(x1)] = 11 · x1 + -∞
[g(x1)] = 0 · x1 + -∞
[a(x1)] = 0 · x1 + -∞
[b(x1)] = 0 · x1 + -∞
the rules
a(b(c(a(x0)))) → b(a(c(b(a(b(x0))))))
a(f(f(x0))) → g(x0)
b(g(x0)) → g(b(x0))
c(x0) → f(f(x0))
c(a(c(x0))) → b(c(a(b(c(x0)))))
g(x0) → c(a(x0))
remain.

1.1.1 String Reversal

Since only unary symbols occur, one can reverse all terms and obtains the TRS
a(c(b(a(x0)))) → b(a(b(c(a(b(x0))))))
f(f(a(x0))) → g(x0)
g(b(x0)) → b(g(x0))
c(x0) → f(f(x0))
c(a(c(x0))) → c(b(a(c(b(x0)))))
g(x0) → a(c(x0))

1.1.1.1 Bounds

The given TRS is match-bounded by 4. This is shown by the following automaton.