YES Termination Proof

Termination Proof

by ttt2 (version ttt2 1.15)

Input

The rewrite relation of the following TRS is considered.

tower(0(x0)) s(0(p(s(p(s(x0))))))
tower(s(x0)) p(s(p(s(twoto(p(s(p(s(tower(p(s(p(s(x0))))))))))))))
twoto(0(x0)) s(0(x0))
twoto(s(x0)) p(p(s(p(p(p(s(s(p(s(s(p(s(s(p(s(twice(p(s(p(s(p(p(p(s(s(s(twoto(p(s(p(s(x0))))))))))))))))))))))))))))))))
twice(0(x0)) 0(x0)
twice(s(x0)) p(p(p(s(s(s(s(s(twice(p(p(p(s(s(s(x0)))))))))))))))
p(p(s(x0))) p(x0)
p(s(x0)) x0
p(0(x0)) 0(s(s(s(s(s(s(s(s(x0)))))))))

Proof

1 Rule Removal

Using the linear polynomial interpretation over the arctic semiring over the integers
[twoto(x1)] = 0 · x1 + -∞
[tower(x1)] = 1 · x1 + -∞
[p(x1)] = 0 · x1 + -∞
[twice(x1)] = 0 · x1 + -∞
[0(x1)] = 0 · x1 + -∞
[s(x1)] = 0 · x1 + -∞
the rules
tower(s(x0)) p(s(p(s(twoto(p(s(p(s(tower(p(s(p(s(x0))))))))))))))
twoto(0(x0)) s(0(x0))
twoto(s(x0)) p(p(s(p(p(p(s(s(p(s(s(p(s(s(p(s(twice(p(s(p(s(p(p(p(s(s(s(twoto(p(s(p(s(x0))))))))))))))))))))))))))))))))
twice(0(x0)) 0(x0)
twice(s(x0)) p(p(p(s(s(s(s(s(twice(p(p(p(s(s(s(x0)))))))))))))))
p(p(s(x0))) p(x0)
p(s(x0)) x0
p(0(x0)) 0(s(s(s(s(s(s(s(s(x0)))))))))
remain.

1.1 Rule Removal

Using the linear polynomial interpretation over (2 x 2)-matrices with strict dimension 1 over the naturals
[twoto(x1)] =
1 2
0 1
· x1 +
0 0
0 0
[tower(x1)] =
2 2
0 0
· x1 +
2 0
0 0
[p(x1)] =
1 0
0 1
· x1 +
0 0
0 0
[twice(x1)] =
1 0
0 1
· x1 +
0 0
0 0
[0(x1)] =
2 2
0 0
· x1 +
0 0
1 0
[s(x1)] =
1 0
0 1
· x1 +
0 0
0 0
the rules
tower(s(x0)) p(s(p(s(twoto(p(s(p(s(tower(p(s(p(s(x0))))))))))))))
twoto(s(x0)) p(p(s(p(p(p(s(s(p(s(s(p(s(s(p(s(twice(p(s(p(s(p(p(p(s(s(s(twoto(p(s(p(s(x0))))))))))))))))))))))))))))))))
twice(0(x0)) 0(x0)
twice(s(x0)) p(p(p(s(s(s(s(s(twice(p(p(p(s(s(s(x0)))))))))))))))
p(p(s(x0))) p(x0)
p(s(x0)) x0
p(0(x0)) 0(s(s(s(s(s(s(s(s(x0)))))))))
remain.

1.1.1 Bounds

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