Certification Problem
Input (TPDB TRS_Innermost/Transformed_CSR_innermost_04/PEANO_nosorts_noand_iGM)
The rewrite relation of the following TRS is considered.
active(U11(tt,M,N)) |
→ |
mark(U12(tt,M,N)) |
(1) |
active(U12(tt,M,N)) |
→ |
mark(s(plus(N,M))) |
(2) |
active(plus(N,0)) |
→ |
mark(N) |
(3) |
active(plus(N,s(M))) |
→ |
mark(U11(tt,M,N)) |
(4) |
mark(U11(X1,X2,X3)) |
→ |
active(U11(mark(X1),X2,X3)) |
(5) |
mark(tt) |
→ |
active(tt) |
(6) |
mark(U12(X1,X2,X3)) |
→ |
active(U12(mark(X1),X2,X3)) |
(7) |
mark(s(X)) |
→ |
active(s(mark(X))) |
(8) |
mark(plus(X1,X2)) |
→ |
active(plus(mark(X1),mark(X2))) |
(9) |
mark(0) |
→ |
active(0) |
(10) |
U11(mark(X1),X2,X3) |
→ |
U11(X1,X2,X3) |
(11) |
U11(X1,mark(X2),X3) |
→ |
U11(X1,X2,X3) |
(12) |
U11(X1,X2,mark(X3)) |
→ |
U11(X1,X2,X3) |
(13) |
U11(active(X1),X2,X3) |
→ |
U11(X1,X2,X3) |
(14) |
U11(X1,active(X2),X3) |
→ |
U11(X1,X2,X3) |
(15) |
U11(X1,X2,active(X3)) |
→ |
U11(X1,X2,X3) |
(16) |
U12(mark(X1),X2,X3) |
→ |
U12(X1,X2,X3) |
(17) |
U12(X1,mark(X2),X3) |
→ |
U12(X1,X2,X3) |
(18) |
U12(X1,X2,mark(X3)) |
→ |
U12(X1,X2,X3) |
(19) |
U12(active(X1),X2,X3) |
→ |
U12(X1,X2,X3) |
(20) |
U12(X1,active(X2),X3) |
→ |
U12(X1,X2,X3) |
(21) |
U12(X1,X2,active(X3)) |
→ |
U12(X1,X2,X3) |
(22) |
s(mark(X)) |
→ |
s(X) |
(23) |
s(active(X)) |
→ |
s(X) |
(24) |
plus(mark(X1),X2) |
→ |
plus(X1,X2) |
(25) |
plus(X1,mark(X2)) |
→ |
plus(X1,X2) |
(26) |
plus(active(X1),X2) |
→ |
plus(X1,X2) |
(27) |
plus(X1,active(X2)) |
→ |
plus(X1,X2) |
(28) |
The evaluation strategy is innermost.Property / Task
Prove or disprove termination.Answer / Result
Yes.Proof (by AProVE @ termCOMP 2023)
1 Rule Removal
Using the
linear polynomial interpretation over the naturals
[active(x1)] |
= |
1 · x1
|
[U11(x1, x2, x3)] |
= |
2 + 1 · x1 + 2 · x2 + 1 · x3
|
[tt] |
= |
0 |
[mark(x1)] |
= |
1 · x1
|
[U12(x1, x2, x3)] |
= |
2 + 1 · x1 + 2 · x2 + 1 · x3
|
[s(x1)] |
= |
2 + 1 · x1
|
[plus(x1, x2)] |
= |
1 · x1 + 2 · x2
|
[0] |
= |
0 |
all of the following rules can be deleted.
active(plus(N,s(M))) |
→ |
mark(U11(tt,M,N)) |
(4) |
1.1 Rule Removal
Using the
linear polynomial interpretation over the naturals
[active(x1)] |
= |
1 · x1
|
[U11(x1, x2, x3)] |
= |
1 · x1 + 2 · x2 + 1 · x3
|
[tt] |
= |
0 |
[mark(x1)] |
= |
1 · x1
|
[U12(x1, x2, x3)] |
= |
2 · x1 + 2 · x2 + 1 · x3
|
[s(x1)] |
= |
1 · x1
|
[plus(x1, x2)] |
= |
1 · x1 + 2 · x2
|
[0] |
= |
2 |
all of the following rules can be deleted.
active(plus(N,0)) |
→ |
mark(N) |
(3) |
1.1.1 Rule Removal
Using the
linear polynomial interpretation over the naturals
[active(x1)] |
= |
1 · x1
|
[U11(x1, x2, x3)] |
= |
1 + 1 · x1 + 2 · x2 + 2 · x3
|
[tt] |
= |
0 |
[mark(x1)] |
= |
1 · x1
|
[U12(x1, x2, x3)] |
= |
1 · x1 + 2 · x2 + 2 · x3
|
[s(x1)] |
= |
2 · x1
|
[plus(x1, x2)] |
= |
1 · x1 + 1 · x2
|
[0] |
= |
0 |
all of the following rules can be deleted.
active(U11(tt,M,N)) |
→ |
mark(U12(tt,M,N)) |
(1) |
1.1.1.1 Rule Removal
Using the
linear polynomial interpretation over the naturals
[active(x1)] |
= |
1 · x1
|
[U12(x1, x2, x3)] |
= |
2 + 1 · x1 + 1 · x2 + 2 · x3
|
[tt] |
= |
0 |
[mark(x1)] |
= |
1 · x1
|
[s(x1)] |
= |
1 · x1
|
[plus(x1, x2)] |
= |
2 · x1 + 1 · x2
|
[U11(x1, x2, x3)] |
= |
1 · x1 + 1 · x2 + 1 · x3
|
[0] |
= |
0 |
all of the following rules can be deleted.
active(U12(tt,M,N)) |
→ |
mark(s(plus(N,M))) |
(2) |
1.1.1.1.1 Rule Removal
Using the
linear polynomial interpretation over the naturals
[mark(x1)] |
= |
1 + 2 · x1
|
[U11(x1, x2, x3)] |
= |
2 + 2 · x1 + 1 · x2 + 1 · x3
|
[active(x1)] |
= |
1 · x1
|
[tt] |
= |
2 |
[U12(x1, x2, x3)] |
= |
1 + 1 · x1 + 1 · x2 + 1 · x3
|
[s(x1)] |
= |
1 + 1 · x1
|
[plus(x1, x2)] |
= |
2 + 2 · x1 + 1 · x2
|
[0] |
= |
2 |
all of the following rules can be deleted.
mark(U11(X1,X2,X3)) |
→ |
active(U11(mark(X1),X2,X3)) |
(5) |
mark(tt) |
→ |
active(tt) |
(6) |
mark(U12(X1,X2,X3)) |
→ |
active(U12(mark(X1),X2,X3)) |
(7) |
mark(s(X)) |
→ |
active(s(mark(X))) |
(8) |
mark(0) |
→ |
active(0) |
(10) |
U11(mark(X1),X2,X3) |
→ |
U11(X1,X2,X3) |
(11) |
U11(X1,mark(X2),X3) |
→ |
U11(X1,X2,X3) |
(12) |
U11(X1,X2,mark(X3)) |
→ |
U11(X1,X2,X3) |
(13) |
U12(mark(X1),X2,X3) |
→ |
U12(X1,X2,X3) |
(17) |
U12(X1,mark(X2),X3) |
→ |
U12(X1,X2,X3) |
(18) |
U12(X1,X2,mark(X3)) |
→ |
U12(X1,X2,X3) |
(19) |
s(mark(X)) |
→ |
s(X) |
(23) |
plus(mark(X1),X2) |
→ |
plus(X1,X2) |
(25) |
plus(X1,mark(X2)) |
→ |
plus(X1,X2) |
(26) |
1.1.1.1.1.1 Rule Removal
Using the
linear polynomial interpretation over the naturals
[mark(x1)] |
= |
2 · x1
|
[plus(x1, x2)] |
= |
2 + 2 · x1 + 1 · x2
|
[active(x1)] |
= |
2 + 1 · x1
|
[U11(x1, x2, x3)] |
= |
1 · x1 + 2 · x2 + 2 · x3
|
[U12(x1, x2, x3)] |
= |
2 · x1 + 1 · x2 + 1 · x3
|
[s(x1)] |
= |
1 · x1
|
all of the following rules can be deleted.
U11(active(X1),X2,X3) |
→ |
U11(X1,X2,X3) |
(14) |
U11(X1,active(X2),X3) |
→ |
U11(X1,X2,X3) |
(15) |
U11(X1,X2,active(X3)) |
→ |
U11(X1,X2,X3) |
(16) |
U12(active(X1),X2,X3) |
→ |
U12(X1,X2,X3) |
(20) |
U12(X1,active(X2),X3) |
→ |
U12(X1,X2,X3) |
(21) |
U12(X1,X2,active(X3)) |
→ |
U12(X1,X2,X3) |
(22) |
s(active(X)) |
→ |
s(X) |
(24) |
plus(active(X1),X2) |
→ |
plus(X1,X2) |
(27) |
plus(X1,active(X2)) |
→ |
plus(X1,X2) |
(28) |
1.1.1.1.1.1.1 Rule Removal
Using the
linear polynomial interpretation over the naturals
[mark(x1)] |
= |
2 · x1
|
[plus(x1, x2)] |
= |
1 + 1 · x1 + 2 · x2
|
[active(x1)] |
= |
1 · x1
|
all of the following rules can be deleted.
mark(plus(X1,X2)) |
→ |
active(plus(mark(X1),mark(X2))) |
(9) |
1.1.1.1.1.1.1.1 R is empty
There are no rules in the TRS. Hence, it is terminating.