The relative rewrite relation R/S is considered where R is the following TRS
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) |
and S is the following TRS.
cons(x,cons(y,l)) | → | cons(y,cons(x,l)) | (9) |
[plus(x1, x2)] | = |
|
||||||||||||||||||||||||||||||||||||
[app(x1, x2)] | = |
|
||||||||||||||||||||||||||||||||||||
[sum(x1)] | = |
|
||||||||||||||||||||||||||||||||||||
[0] | = |
|
||||||||||||||||||||||||||||||||||||
[nil] | = |
|
||||||||||||||||||||||||||||||||||||
[s(x1)] | = |
|
||||||||||||||||||||||||||||||||||||
[cons(x1, x2)] | = |
|
plus(0,y) | → | y | (7) |
[plus(x1, x2)] | = |
|
||||||||||||||||||||||||||||||||||||
[app(x1, x2)] | = |
|
||||||||||||||||||||||||||||||||||||
[sum(x1)] | = |
|
||||||||||||||||||||||||||||||||||||
[nil] | = |
|
||||||||||||||||||||||||||||||||||||
[s(x1)] | = |
|
||||||||||||||||||||||||||||||||||||
[cons(x1, x2)] | = |
|
app(nil,k) | → | k | (1) |
app(l,nil) | → | l | (2) |
[plus(x1, x2)] | = |
|
||||||||||||||||||||||||||||||||||||
[app(x1, x2)] | = |
|
||||||||||||||||||||||||||||||||||||
[sum(x1)] | = |
|
||||||||||||||||||||||||||||||||||||
[nil] | = |
|
||||||||||||||||||||||||||||||||||||
[s(x1)] | = |
|
||||||||||||||||||||||||||||||||||||
[cons(x1, x2)] | = |
|
app(cons(x,l),k) | → | cons(x,app(l,k)) | (3) |
[plus(x1, x2)] | = |
|
||||||||||||||||||||||||||||||||||||
[app(x1, x2)] | = |
|
||||||||||||||||||||||||||||||||||||
[sum(x1)] | = |
|
||||||||||||||||||||||||||||||||||||
[nil] | = |
|
||||||||||||||||||||||||||||||||||||
[s(x1)] | = |
|
||||||||||||||||||||||||||||||||||||
[cons(x1, x2)] | = |
|
sum(cons(x,cons(y,l))) | → | sum(cons(plus(x,y),l)) | (5) |
[plus(x1, x2)] | = |
|
||||||||||||||||||||||||||||||||||||
[app(x1, x2)] | = |
|
||||||||||||||||||||||||||||||||||||
[sum(x1)] | = |
|
||||||||||||||||||||||||||||||||||||
[nil] | = |
|
||||||||||||||||||||||||||||||||||||
[s(x1)] | = |
|
||||||||||||||||||||||||||||||||||||
[cons(x1, x2)] | = |
|
plus(s(x),y) | → | s(plus(x,y)) | (8) |
[app(x1, x2)] | = |
|
||||||||||||||||||||||||||||||||||||
[sum(x1)] | = |
|
||||||||||||||||||||||||||||||||||||
[nil] | = |
|
||||||||||||||||||||||||||||||||||||
[cons(x1, x2)] | = |
|
sum(app(l,cons(x,cons(y,k)))) | → | sum(app(l,sum(cons(x,cons(y,k))))) | (6) |
[sum(x1)] | = |
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||
[nil] | = |
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||
[cons(x1, x2)] | = |
|
sum(cons(x,nil)) | → | cons(x,nil) | (4) |
There are no rules in the TRS. Hence, it is terminating.