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.