The rewrite relation of the following TRS is considered.
eq(0,0) | → | true | (1) |
eq(0,s(X)) | → | false | (2) |
eq(s(X),0) | → | false | (3) |
eq(s(X),s(Y)) | → | eq(X,Y) | (4) |
rm(N,nil) | → | nil | (5) |
rm(N,add(M,X)) | → | ifrm(eq(N,M),N,add(M,X)) | (6) |
ifrm(true,N,add(M,X)) | → | rm(N,X) | (7) |
ifrm(false,N,add(M,X)) | → | add(M,rm(N,X)) | (8) |
purge(nil) | → | nil | (9) |
purge(add(N,X)) | → | add(N,purge(rm(N,X))) | (10) |
rm#(N,add(M,X)) | → | eq#(N,M) | (11) |
ifrm#(false,N,add(M,X)) | → | rm#(N,X) | (12) |
eq#(s(X),s(Y)) | → | eq#(X,Y) | (13) |
purge#(add(N,X)) | → | rm#(N,X) | (14) |
ifrm#(true,N,add(M,X)) | → | rm#(N,X) | (15) |
rm#(N,add(M,X)) | → | ifrm#(eq(N,M),N,add(M,X)) | (16) |
purge#(add(N,X)) | → | purge#(rm(N,X)) | (17) |
The dependency pairs are split into 3 components.
purge#(add(N,X)) | → | purge#(rm(N,X)) | (17) |
[ifrm#(x1, x2, x3)] | = | 0 |
[s(x1)] | = | 1 |
[purge#(x1)] | = | x1 + 0 |
[eq(x1, x2)] | = | 1 |
[false] | = | 1 |
[true] | = | 1 |
[purge(x1)] | = | 0 |
[eq#(x1, x2)] | = | 0 |
[0] | = | 1 |
[ifrm(x1, x2, x3)] | = | x2 + x3 + 1 |
[nil] | = | 1 |
[add(x1, x2)] | = | x1 + x2 + 2 |
[rm(x1, x2)] | = | x1 + x2 + 1 |
[rm#(x1, x2)] | = | 0 |
eq(s(X),s(Y)) | → | eq(X,Y) | (4) |
ifrm(false,N,add(M,X)) | → | add(M,rm(N,X)) | (8) |
eq(0,0) | → | true | (1) |
eq(s(X),0) | → | false | (3) |
rm(N,nil) | → | nil | (5) |
ifrm(true,N,add(M,X)) | → | rm(N,X) | (7) |
rm(N,add(M,X)) | → | ifrm(eq(N,M),N,add(M,X)) | (6) |
eq(0,s(X)) | → | false | (2) |
purge#(add(N,X)) | → | purge#(rm(N,X)) | (17) |
The dependency pairs are split into 0 components.
rm#(N,add(M,X)) | → | ifrm#(eq(N,M),N,add(M,X)) | (16) |
ifrm#(true,N,add(M,X)) | → | rm#(N,X) | (15) |
ifrm#(false,N,add(M,X)) | → | rm#(N,X) | (12) |
[ifrm#(x1, x2, x3)] | = | x1 + x2 + x3 + 0 |
[s(x1)] | = | 1 |
[purge#(x1)] | = | x1 + 0 |
[eq(x1, x2)] | = | 9227 |
[false] | = | 9227 |
[true] | = | 9227 |
[purge(x1)] | = | 0 |
[eq#(x1, x2)] | = | 0 |
[0] | = | 1 |
[ifrm(x1, x2, x3)] | = | x2 + x3 + 1 |
[nil] | = | 36459 |
[add(x1, x2)] | = | x2 + 2 |
[rm(x1, x2)] | = | x1 + x2 + 1 |
[rm#(x1, x2)] | = | x1 + x2 + 9228 |
eq(s(X),s(Y)) | → | eq(X,Y) | (4) |
ifrm(false,N,add(M,X)) | → | add(M,rm(N,X)) | (8) |
eq(0,0) | → | true | (1) |
eq(s(X),0) | → | false | (3) |
rm(N,nil) | → | nil | (5) |
ifrm(true,N,add(M,X)) | → | rm(N,X) | (7) |
rm(N,add(M,X)) | → | ifrm(eq(N,M),N,add(M,X)) | (6) |
eq(0,s(X)) | → | false | (2) |
rm#(N,add(M,X)) | → | ifrm#(eq(N,M),N,add(M,X)) | (16) |
ifrm#(true,N,add(M,X)) | → | rm#(N,X) | (15) |
ifrm#(false,N,add(M,X)) | → | rm#(N,X) | (12) |
The dependency pairs are split into 0 components.
eq#(s(X),s(Y)) | → | eq#(X,Y) | (13) |
[ifrm#(x1, x2, x3)] | = | x1 + 0 |
[s(x1)] | = | x1 + 1 |
[purge#(x1)] | = | x1 + 0 |
[eq(x1, x2)] | = | 9227 |
[false] | = | 1 |
[true] | = | 9227 |
[purge(x1)] | = | 0 |
[eq#(x1, x2)] | = | x1 + x2 + 0 |
[0] | = | 1 |
[ifrm(x1, x2, x3)] | = | x2 + x3 + 17678 |
[nil] | = | 1 |
[add(x1, x2)] | = | x2 + 1 |
[rm(x1, x2)] | = | x1 + x2 + 17678 |
[rm#(x1, x2)] | = | 9228 |
eq(s(X),s(Y)) | → | eq(X,Y) | (4) |
ifrm(false,N,add(M,X)) | → | add(M,rm(N,X)) | (8) |
eq(0,0) | → | true | (1) |
eq(s(X),0) | → | false | (3) |
rm(N,nil) | → | nil | (5) |
ifrm(true,N,add(M,X)) | → | rm(N,X) | (7) |
rm(N,add(M,X)) | → | ifrm(eq(N,M),N,add(M,X)) | (6) |
eq(0,s(X)) | → | false | (2) |
eq#(s(X),s(Y)) | → | eq#(X,Y) | (13) |
The dependency pairs are split into 0 components.