Certification Problem
Input (TPDB TRS_Standard/CiME_04/list-sum-prod-assoc-append)
The rewrite relation of the following TRS is considered.
+(x,0) |
→ |
x |
(1) |
+(0,x) |
→ |
x |
(2) |
+(s(x),s(y)) |
→ |
s(s(+(x,y))) |
(3) |
+(+(x,y),z) |
→ |
+(x,+(y,z)) |
(4) |
*(x,0) |
→ |
0 |
(5) |
*(0,x) |
→ |
0 |
(6) |
*(s(x),s(y)) |
→ |
s(+(*(x,y),+(x,y))) |
(7) |
*(*(x,y),z) |
→ |
*(x,*(y,z)) |
(8) |
app(nil,l) |
→ |
l |
(9) |
app(cons(x,l1),l2) |
→ |
cons(x,app(l1,l2)) |
(10) |
sum(nil) |
→ |
0 |
(11) |
sum(cons(x,l)) |
→ |
+(x,sum(l)) |
(12) |
sum(app(l1,l2)) |
→ |
+(sum(l1),sum(l2)) |
(13) |
prod(nil) |
→ |
s(0) |
(14) |
prod(cons(x,l)) |
→ |
*(x,prod(l)) |
(15) |
prod(app(l1,l2)) |
→ |
*(prod(l1),prod(l2)) |
(16) |
Property / Task
Prove or disprove termination.Answer / Result
Yes.Proof (by AProVE @ termCOMP 2023)
1 Rule Removal
Using the
prec(+) |
= |
1 |
|
stat(+) |
= |
lex
|
prec(0) |
= |
2 |
|
stat(0) |
= |
mul
|
prec(s) |
= |
0 |
|
stat(s) |
= |
lex
|
prec(*) |
= |
4 |
|
stat(*) |
= |
lex
|
prec(app) |
= |
4 |
|
stat(app) |
= |
lex
|
prec(nil) |
= |
0 |
|
stat(nil) |
= |
mul
|
prec(cons) |
= |
3 |
|
stat(cons) |
= |
mul
|
prec(sum) |
= |
4 |
|
stat(sum) |
= |
mul
|
prec(prod) |
= |
4 |
|
stat(prod) |
= |
lex
|
π(+) |
= |
[1,2] |
π(0) |
= |
[] |
π(s) |
= |
[1] |
π(*) |
= |
[1,2] |
π(app) |
= |
[1,2] |
π(nil) |
= |
[] |
π(cons) |
= |
[1,2] |
π(sum) |
= |
[1] |
π(prod) |
= |
[1] |
all of the following rules can be deleted.
+(x,0) |
→ |
x |
(1) |
+(0,x) |
→ |
x |
(2) |
+(s(x),s(y)) |
→ |
s(s(+(x,y))) |
(3) |
+(+(x,y),z) |
→ |
+(x,+(y,z)) |
(4) |
*(x,0) |
→ |
0 |
(5) |
*(0,x) |
→ |
0 |
(6) |
*(s(x),s(y)) |
→ |
s(+(*(x,y),+(x,y))) |
(7) |
*(*(x,y),z) |
→ |
*(x,*(y,z)) |
(8) |
app(nil,l) |
→ |
l |
(9) |
app(cons(x,l1),l2) |
→ |
cons(x,app(l1,l2)) |
(10) |
sum(nil) |
→ |
0 |
(11) |
sum(cons(x,l)) |
→ |
+(x,sum(l)) |
(12) |
sum(app(l1,l2)) |
→ |
+(sum(l1),sum(l2)) |
(13) |
prod(nil) |
→ |
s(0) |
(14) |
prod(cons(x,l)) |
→ |
*(x,prod(l)) |
(15) |
prod(app(l1,l2)) |
→ |
*(prod(l1),prod(l2)) |
(16) |
1.1 R is empty
There are no rules in the TRS. Hence, it is terminating.