YES Termination Proof

Termination Proof

by ttt2 (version ttt2 1.15)

Input

The rewrite relation of the following TRS is considered.

a(a(b(x0))) b(a(x0))
b(a(a(x0))) a(a(a(b(x0))))
a(c(x0)) c(b(x0))

Proof

1 Dependency Pair Transformation

The following set of initial dependency pairs has been identified.
a#(a(b(x0))) a#(x0)
a#(a(b(x0))) b#(a(x0))
b#(a(a(x0))) b#(x0)
b#(a(a(x0))) a#(b(x0))
b#(a(a(x0))) a#(a(b(x0)))
b#(a(a(x0))) a#(a(a(b(x0))))
a#(c(x0)) b#(x0)

1.1 Reduction Pair Processor with Usable Rules

Using the linear polynomial interpretation over the arctic semiring over the integers
[b#(x1)] = 0 · x1 + -∞
[a(x1)] = 0 · x1 + 2
[a#(x1)] = 0 · x1 + -∞
[b(x1)] = 0 · x1 + 2
[c(x1)] = 9 · x1 + 11
together with the usable rules
a(a(b(x0))) b(a(x0))
b(a(a(x0))) a(a(a(b(x0))))
a(c(x0)) c(b(x0))
(w.r.t. the implicit argument filter of the reduction pair), the pairs
a#(a(b(x0))) a#(x0)
a#(a(b(x0))) b#(a(x0))
b#(a(a(x0))) b#(x0)
b#(a(a(x0))) a#(b(x0))
b#(a(a(x0))) a#(a(b(x0)))
b#(a(a(x0))) a#(a(a(b(x0))))
remain.

1.1.1 Reduction Pair Processor with Usable Rules

Using the linear polynomial interpretation over the arctic semiring over the integers
[b#(x1)] = 2 · x1 + 0
[a(x1)] = 0 · x1 + 13
[a#(x1)] = 0 · x1 + 0
[b(x1)] = 2 · x1 + 15
[c(x1)] = -∞ · x1 + 13
together with the usable rules
a(a(b(x0))) b(a(x0))
b(a(a(x0))) a(a(a(b(x0))))
a(c(x0)) c(b(x0))
(w.r.t. the implicit argument filter of the reduction pair), the pairs
a#(a(b(x0))) b#(a(x0))
b#(a(a(x0))) b#(x0)
b#(a(a(x0))) a#(b(x0))
b#(a(a(x0))) a#(a(b(x0)))
b#(a(a(x0))) a#(a(a(b(x0))))
remain.

1.1.1.1 Reduction Pair Processor

Using the linear polynomial interpretation over (4 x 4)-matrices with strict dimension 1 over the naturals
[b#(x1)] =
1 1 0 1
0 0 0 0
0 0 0 0
0 0 0 0
· x1 +
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
[a(x1)] =
0 1 0 1
0 0 1 0
0 0 0 0
1 0 0 0
· x1 +
0 0 0 0
0 0 0 0
1 0 0 0
0 0 0 0
[a#(x1)] =
1 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
· x1 +
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
[b(x1)] =
1 1 0 1
0 0 1 0
0 0 1 0
1 1 0 1
· x1 +
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
[c(x1)] =
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
· x1 +
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
the pair
a#(a(b(x0))) b#(a(x0))
remains.

1.1.1.1.1 Dependency Graph Processor

The dependency pairs are split into 0 components.