Certification Problem
Input (TPDB TRS_Equational/Mixed_AC/intersect)
The rewrite relation of the following equational TRS is considered.
|
if(true,x,y) |
→ |
x |
(1) |
|
if(false,x,y) |
→ |
y |
(2) |
|
eq(0,0) |
→ |
true |
(3) |
|
eq(0,s(x)) |
→ |
false |
(4) |
|
eq(s(x),s(y)) |
→ |
eq(x,y) |
(5) |
|
union(empty,x) |
→ |
x |
(6) |
|
inter(empty,x) |
→ |
empty |
(7) |
|
inter(union(y,z),x) |
→ |
union(inter(x,y),inter(x,z)) |
(8) |
|
inter(singl(x),singl(y)) |
→ |
if(eq(x,y),singl(x),empty) |
(9) |
Associative symbols: inter, union
Commutative symbols: eq, inter, union
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
| [eq(x1, x2)] |
= |
3 + 3 · x2 + 3 · x1 + 2 · x1 · x2
|
| [inter(x1, x2)] |
= |
2 + 2 · x2 + 2 · x1 + 1 · x1 · x2
|
| [union(x1, x2)] |
= |
3 + 1 · x2 + 1 · x1
|
| [if(x1, x2, x3)] |
= |
2 · x3 + 1 · x2 + 1 · x1
|
| [true] |
= |
0 |
| [false] |
= |
2 |
| [0] |
= |
3 |
| [s(x1)] |
= |
2 · x1 + 1 · x1 · x1
|
| [empty] |
= |
1 |
| [singl(x1)] |
= |
3 + 2 · x1
|
the
rules
|
if(false,x,y) |
→ |
y |
(2) |
|
eq(0,0) |
→ |
true |
(3) |
|
eq(0,s(x)) |
→ |
false |
(4) |
|
union(empty,x) |
→ |
x |
(6) |
|
inter(empty,x) |
→ |
empty |
(7) |
|
inter(union(y,z),x) |
→ |
union(inter(x,y),inter(x,z)) |
(8) |
|
inter(singl(x),singl(y)) |
→ |
if(eq(x,y),singl(x),empty) |
(9) |
can be deleted.
1.1 AC Rule Removal
Using the
non-linear polynomial interpretation over the naturals
| [eq(x1, x2)] |
= |
3 + 1 · x2 + 1 · x1
|
| [inter(x1, x2)] |
= |
1 + 2 · x2 + 2 · x1 + 2 · x1 · x2
|
| [union(x1, x2)] |
= |
2 + 3 · x2 + 3 · x1 + 3 · x1 · x2
|
| [if(x1, x2, x3)] |
= |
1 · x3 + 3 · x2 + 3 · x1 + 3 · x1 · x2
|
| [true] |
= |
1 |
| [s(x1)] |
= |
1 · x1 + 1 · x1 · x1
|
the
rule
can be deleted.
1.1.1 AC Rule Removal
Using the
non-linear polynomial interpretation over the naturals
| [eq(x1, x2)] |
= |
3 + 1 · x2 + 1 · x1
|
| [inter(x1, x2)] |
= |
3 + 3 · x2 + 3 · x1 + 2 · x1 · x2
|
| [union(x1, x2)] |
= |
2 + 3 · x2 + 3 · x1 + 3 · x1 · x2
|
| [s(x1)] |
= |
1 + 1 · x1 + 3 · x1 · x1
|
the
rule
|
eq(s(x),s(y)) |
→ |
eq(x,y) |
(5) |
can be deleted.
1.1.1.1 R is empty
There are no rules in the TRS. Hence, it is AC-terminating.