Certification Problem
Input (TPDB TRS_Equational/Mixed_AC/bag-sum-prod-bin)
The rewrite relation of the following equational TRS is considered.
|
0(#) |
→ |
# |
(1) |
|
+(#,x) |
→ |
x |
(2) |
|
+(0(x),0(y)) |
→ |
0(+(x,y)) |
(3) |
|
+(0(x),1(y)) |
→ |
1(+(x,y)) |
(4) |
|
+(1(x),1(y)) |
→ |
0(+(1(#),+(x,y))) |
(5) |
|
*(#,x) |
→ |
# |
(6) |
|
*(0(x),y) |
→ |
0(*(x,y)) |
(7) |
|
*(1(x),y) |
→ |
+(0(*(x,y)),y) |
(8) |
|
U(empty,b) |
→ |
b |
(9) |
|
sum(empty) |
→ |
0(#) |
(10) |
|
sum(singl(x)) |
→ |
x |
(11) |
|
sum(U(x,y)) |
→ |
+(sum(x),sum(y)) |
(12) |
|
prod(empty) |
→ |
1(#) |
(13) |
|
prod(singl(x)) |
→ |
x |
(14) |
|
prod(U(x,y)) |
→ |
*(prod(x),prod(y)) |
(15) |
Associative symbols: *, +, U
Commutative symbols: *, +, U
Property / Task
Prove or disprove termination.Answer / Result
Yes.Proof (by AProVE @ termCOMP 2023)
1 AC Rule Removal
Using the
non-linear polynomial interpretation over the naturals
| [*(x1, x2)] |
= |
3 + 3 · x2 + 3 · x1 + 2 · x1 · x2
|
| [+(x1, x2)] |
= |
1 · x2 + 1 · x1
|
| [U(x1, x2)] |
= |
2 + 3 · x2 + 3 · x1 + 3 · x1 · x2
|
| [0(x1)] |
= |
1 · x1
|
| [#] |
= |
3 |
| [1(x1)] |
= |
3 + 1 · x1
|
| [empty] |
= |
3 |
| [sum(x1)] |
= |
1 · x1
|
| [singl(x1)] |
= |
2 + 1 · x1 + 3 · x1 · x1
|
| [prod(x1)] |
= |
1 · x1 · x1
|
the
rules
|
+(#,x) |
→ |
x |
(2) |
|
*(#,x) |
→ |
# |
(6) |
|
*(1(x),y) |
→ |
+(0(*(x,y)),y) |
(8) |
|
U(empty,b) |
→ |
b |
(9) |
|
sum(singl(x)) |
→ |
x |
(11) |
|
sum(U(x,y)) |
→ |
+(sum(x),sum(y)) |
(12) |
|
prod(empty) |
→ |
1(#) |
(13) |
|
prod(singl(x)) |
→ |
x |
(14) |
|
prod(U(x,y)) |
→ |
*(prod(x),prod(y)) |
(15) |
can be deleted.
1.1 AC Rule Removal
Using the
non-linear polynomial interpretation over the naturals
| [*(x1, x2)] |
= |
1 + 2 · x2 + 2 · x1 + 2 · x1 · x2
|
| [+(x1, x2)] |
= |
1 · x2 + 1 · x1 + 3 · x1 · x2
|
| [U(x1, x2)] |
= |
2 + 2 · x2 + 2 · x1 + 1 · x1 · x2
|
| [0(x1)] |
= |
1 · x1
|
| [#] |
= |
0 |
| [1(x1)] |
= |
1 + 2 · x1
|
| [sum(x1)] |
= |
3 + 3 · x1
|
| [empty] |
= |
3 |
the
rules
|
+(1(x),1(y)) |
→ |
0(+(1(#),+(x,y))) |
(5) |
|
sum(empty) |
→ |
0(#) |
(10) |
can be deleted.
1.1.1 AC Rule Removal
Using the
non-linear polynomial interpretation over the naturals
| [*(x1, x2)] |
= |
1 · x2 + 1 · x1 + 2 · x1 · x2
|
| [+(x1, x2)] |
= |
1 + 2 · x2 + 2 · x1 + 2 · x1 · x2
|
| [U(x1, x2)] |
= |
2 + 3 · x2 + 3 · x1 + 3 · x1 · x2
|
| [0(x1)] |
= |
2 + 3 · x1
|
| [#] |
= |
2 |
| [1(x1)] |
= |
2 · x1
|
the
rules
|
0(#) |
→ |
# |
(1) |
|
+(0(x),0(y)) |
→ |
0(+(x,y)) |
(3) |
|
+(0(x),1(y)) |
→ |
1(+(x,y)) |
(4) |
can be deleted.
1.1.1.1 AC Rule Removal
Using the
non-linear polynomial interpretation over the naturals
| [*(x1, x2)] |
= |
1 + 2 · x2 + 2 · x1 + 2 · x1 · x2
|
| [+(x1, x2)] |
= |
3 + 3 · x2 + 3 · x1 + 2 · x1 · x2
|
| [U(x1, x2)] |
= |
2 + 3 · x2 + 3 · x1 + 3 · x1 · x2
|
| [0(x1)] |
= |
2 + 1 · x1
|
the
rule
|
*(0(x),y) |
→ |
0(*(x,y)) |
(7) |
can be deleted.
1.1.1.1.1 R is empty
There are no rules in the TRS. Hence, it is AC-terminating.