Certification Problem
Input (TPDB TRS_Equational/AProVE_AC_04/AC49)
The rewrite relation of the following equational TRS is considered.
app(nil,k) |
→ |
k |
(1) |
app(l,nil) |
→ |
l |
(2) |
app(cons(x,l),k) |
→ |
cons(x,app(l,k)) |
(3) |
sum(cons(x,nil)) |
→ |
cons(x,nil) |
(4) |
sum(cons(x,cons(y,l))) |
→ |
sum(cons(plus(x,y),l)) |
(5) |
sum(app(l,cons(x,cons(y,k)))) |
→ |
sum(app(l,sum(cons(x,cons(y,k))))) |
(6) |
plus(0,y) |
→ |
y |
(7) |
plus(s(x),y) |
→ |
s(plus(x,y)) |
(8) |
Associative symbols: plus
Commutative symbols: plus
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
[plus(x1, x2)] |
= |
2 + 2 · x2 + 2 · x1 + 1 · x1 · x2
|
[app(x1, x2)] |
= |
1 · x2 + 2 · x1 + 2 · x1 · x2
|
[nil] |
= |
0 |
[cons(x1, x2)] |
= |
1 + 2 · x2 + 1 · x1 + 1 · x1 · x2
|
[sum(x1)] |
= |
1 · x1
|
[0] |
= |
0 |
[s(x1)] |
= |
3 + 2 · x1
|
the
rules
app(cons(x,l),k) |
→ |
cons(x,app(l,k)) |
(3) |
plus(0,y) |
→ |
y |
(7) |
plus(s(x),y) |
→ |
s(plus(x,y)) |
(8) |
can be deleted.
1.1 AC Rule Removal
Using the
linear polynomial interpretation over the naturals
[plus(x1, x2)] |
= |
1 · x2 + 1 · x1
|
[app(x1, x2)] |
= |
1 · x2 + 1 · x1
|
[nil] |
= |
0 |
[sum(x1)] |
= |
1 · x1
|
[cons(x1, x2)] |
= |
3 + 3 · x2 + 1 · x1
|
the
rule
sum(cons(x,cons(y,l))) |
→ |
sum(cons(plus(x,y),l)) |
(5) |
can be deleted.
1.1.1 AC Rule Removal
Using the
non-linear polynomial interpretation over the naturals
[plus(x1, x2)] |
= |
3 + 3 · x2 + 3 · x1 + 2 · x1 · x2
|
[app(x1, x2)] |
= |
2 + 1 · x2 + 1 · x1
|
[nil] |
= |
0 |
[sum(x1)] |
= |
1 · x1
|
[cons(x1, x2)] |
= |
2 · x2 + 2 · x1
|
the
rules
app(nil,k) |
→ |
k |
(1) |
app(l,nil) |
→ |
l |
(2) |
can be deleted.
1.1.1.1 AC Dependency Pair Transformation
The following set of (strict) dependency pairs is constructed for the TRS.
sum#(app(l,cons(x,cons(y,k)))) |
→ |
sum#(app(l,sum(cons(x,cons(y,k))))) |
(11) |
sum#(app(l,cons(x,cons(y,k)))) |
→ |
sum#(cons(x,cons(y,k))) |
(12) |
The extended rules of the TRS
There are no rules.
give rise to even more dependency pairs (by sharping the root symbols of each rule).
Finiteness for all DPs in combination with the equational DPs is proven as follows.
1.1.1.1.1 Dependency Graph Processor
The dependency pairs are split into 0
components.