YES Termination Proof

Termination Proof

by ttt2 (version ttt2 1.15)

Input

The rewrite relation of the following TRS is considered.

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

Proof

1 Dependency Pair Transformation

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

1.1 Reduction Pair Processor with Usable Rules

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

1.1.1 Reduction Pair Processor with Usable Rules

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

1.1.1.1 Reduction Pair Processor with Usable Rules

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

1.1.1.1.1 Dependency Graph Processor

The dependency pairs are split into 0 components.