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)] | 
 =  | 
 · 
                    x1 + 
 | 
| [tower(x1)] | 
 =  | 
 · 
                    x1 + 
 | 
| [p(x1)] | 
 =  | 
 · 
                    x1 + 
 | 
| [twice(x1)] | 
 =  | 
 · 
                    x1 + 
 | 
| [0(x1)] | 
 =  | 
 · 
                    x1 + 
 | 
| [s(x1)] | 
 =  | 
 · 
                    x1 + 
 | 
          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.
        
- 
final states:
{60, 2, 59, 45, 44, 16, 1}
 
- 
transitions:
| 33 | 
 →  | 
104 | 
| 33 | 
 →  | 
89 | 
| 23 | 
 →  | 
25 | 
| 25 | 
 →  | 
27 | 
| 89 | 
 →  | 
41 | 
| 81 | 
 →  | 
22 | 
| 97 | 
 →  | 
50 | 
| 18 | 
 →  | 
90 | 
| 18 | 
 →  | 
22 | 
| 18 | 
 →  | 
81 | 
| 41 | 
 →  | 
72 | 
| 41 | 
 →  | 
43 | 
| 3 | 
 →  | 
96 | 
| 3 | 
 →  | 
75 | 
| 9 | 
 →  | 
11 | 
| 37 | 
 →  | 
66 | 
| 37 | 
 →  | 
39 | 
| 34 | 
 →  | 
36 | 
| 55 | 
 →  | 
82 | 
| 55 | 
 →  | 
57 | 
| 99 | 
 →  | 
45 | 
| 31 | 
 →  | 
33 | 
| 1 | 
 →  | 
11 | 
| 1 | 
 →  | 
9 | 
| 1 | 
 →  | 
7 | 
| 60 | 
 →  | 
59 | 
| 44 | 
 →  | 
51 | 
| 73 | 
 →  | 
16 | 
| 91 | 
 →  | 
27 | 
| 91 | 
 →  | 
25 | 
| 91 | 
 →  | 
23 | 
| 36 | 
 →  | 
88 | 
| 36 | 
 →  | 
40 | 
| 36 | 
 →  | 
67 | 
| 54 | 
 →  | 
98 | 
| 54 | 
 →  | 
83 | 
| 75 | 
 →  | 
49 | 
| 105 | 
 →  | 
73 | 
| 67 | 
 →  | 
40 | 
| 53 | 
 →  | 
99 | 
| 2 | 
 →  | 
4 | 
| 2 | 
 →  | 
97 | 
| 2 | 
 →  | 
59 | 
| 4 | 
 →  | 
6 | 
| 28 | 
 →  | 
30 | 
| 45 | 
 →  | 
51 | 
| 16 | 
 →  | 
25 | 
| 16 | 
 →  | 
91 | 
| 16 | 
 →  | 
17 | 
| 14 | 
 →  | 
1 | 
| 12 | 
 →  | 
14 | 
| 7 | 
 →  | 
9 | 
| 30 | 
 →  | 
73 | 
| 30 | 
 →  | 
105 | 
| 46 | 
 →  | 
74 | 
| 46 | 
 →  | 
48 | 
| 83 | 
 →  | 
58 | 
| 17 | 
 →  | 
23 | 
| 17 | 
 →  | 
91 | 
| 19 | 
 →  | 
80 | 
| 19 | 
 →  | 
21 | 
| 
twoto0(11) | 
 →  | 
12 | 
| 
twoto0(6) | 
 →  | 
17 | 
| 
tower0(6) | 
 →  | 
7 | 
| 
s0(33) | 
 →  | 
34 | 
| 
s0(23) | 
 →  | 
24 | 
| 
s0(41) | 
 →  | 
42 | 
| 
s0(14) | 
 →  | 
15 | 
| 
s0(63) | 
 →  | 
64 | 
| 
s0(30) | 
 →  | 
31 | 
| 
s0(37) | 
 →  | 
38 | 
| 
s0(19) | 
 →  | 
20 | 
| 
s0(7) | 
 →  | 
8 | 
| 
s0(51) | 
 →  | 
52 | 
| 
s0(34) | 
 →  | 
35 | 
| 
s0(55) | 
 →  | 
56 | 
| 
s0(46) | 
 →  | 
47 | 
| 
s0(36) | 
 →  | 
37 | 
| 
s0(18) | 
 →  | 
19 | 
| 
s0(28) | 
 →  | 
29 | 
| 
s0(3) | 
 →  | 
46 | 
| 
s0(47) | 
 →  | 
61 | 
| 
s0(64) | 
 →  | 
65 | 
| 
s0(9) | 
 →  | 
10 | 
| 
s0(25) | 
 →  | 
26 | 
| 
s0(54) | 
 →  | 
55 | 
| 
s0(12) | 
 →  | 
13 | 
| 
s0(61) | 
 →  | 
62 | 
| 
s0(53) | 
 →  | 
54 | 
| 
s0(31) | 
 →  | 
32 | 
| 
s0(62) | 
 →  | 
63 | 
| 
s0(17) | 
 →  | 
18 | 
| 
s0(2) | 
 →  | 
3 | 
| 
s0(4) | 
 →  | 
5 | 
| 
s0(52) | 
 →  | 
53 | 
| 
twice0(50) | 
 →  | 
51 | 
| 
twice0(27) | 
 →  | 
28 | 
| 
00(65) | 
 →  | 
60 | 
| 
00(2) | 
 →  | 
44 | 
| 
f60
 | 
 →  | 
2 | 
| 
p0(2) | 
 →  | 
59 | 
| 
p0(56) | 
 →  | 
57 | 
| 
p0(10) | 
 →  | 
11 | 
| 
p0(49) | 
 →  | 
50 | 
| 
p0(48) | 
 →  | 
49 | 
| 
p0(24) | 
 →  | 
25 | 
| 
p0(43) | 
 →  | 
16 | 
| 
p0(8) | 
 →  | 
9 | 
| 
p0(21) | 
 →  | 
22 | 
| 
p0(26) | 
 →  | 
27 | 
| 
p0(38) | 
 →  | 
39 | 
| 
p0(3) | 
 →  | 
4 | 
| 
p0(32) | 
 →  | 
33 | 
| 
p0(29) | 
 →  | 
30 | 
| 
p0(15) | 
 →  | 
1 | 
| 
p0(35) | 
 →  | 
36 | 
| 
p0(22) | 
 →  | 
23 | 
| 
p0(42) | 
 →  | 
43 | 
| 
p0(20) | 
 →  | 
21 | 
| 
p0(39) | 
 →  | 
40 | 
| 
p0(40) | 
 →  | 
41 | 
| 
p0(57) | 
 →  | 
58 | 
| 
p0(58) | 
 →  | 
45 | 
| 
p0(5) | 
 →  | 
6 | 
| 
p0(13) | 
 →  | 
14 | 
| 
p0(47) | 
 →  | 
48 | 
| 
p1(72) | 
 →  | 
73 | 
| 
p1(82) | 
 →  | 
83 | 
| 
p1(98) | 
 →  | 
99 | 
| 
p1(80) | 
 →  | 
81 | 
| 
p1(88) | 
 →  | 
89 | 
| 
p1(74) | 
 →  | 
75 | 
| 
p1(66) | 
 →  | 
67 | 
| 
p1(96) | 
 →  | 
97 | 
| 
p1(90) | 
 →  | 
91 | 
| 
p1(104) | 
 →  | 
105 |