The rewrite relation of the following TRS is considered.
a__zeros | → | cons(0,zeros) | (1) |
a__and(tt,X) | → | mark(X) | (2) |
a__length(nil) | → | 0 | (3) |
a__length(cons(N,L)) | → | s(a__length(mark(L))) | (4) |
a__take(0,IL) | → | nil | (5) |
a__take(s(M),cons(N,IL)) | → | cons(mark(N),take(M,IL)) | (6) |
mark(zeros) | → | a__zeros | (7) |
mark(and(X1,X2)) | → | a__and(mark(X1),X2) | (8) |
mark(length(X)) | → | a__length(mark(X)) | (9) |
mark(take(X1,X2)) | → | a__take(mark(X1),mark(X2)) | (10) |
mark(cons(X1,X2)) | → | cons(mark(X1),X2) | (11) |
mark(0) | → | 0 | (12) |
mark(tt) | → | tt | (13) |
mark(nil) | → | nil | (14) |
mark(s(X)) | → | s(mark(X)) | (15) |
a__zeros | → | zeros | (16) |
a__and(X1,X2) | → | and(X1,X2) | (17) |
a__length(X) | → | length(X) | (18) |
a__take(X1,X2) | → | take(X1,X2) | (19) |
a__and(tt,X) | → | mark(X) | (2) |
a__length(nil) | → | 0 | (3) |
a__take(0,IL) | → | nil | (5) |
a__length#(cons(N,L)) | → | a__length#(mark(L)) | (20) |
a__length#(cons(N,L)) | → | mark#(L) | (21) |
a__take#(s(M),cons(N,IL)) | → | mark#(N) | (22) |
mark#(zeros) | → | a__zeros# | (23) |
mark#(and(X1,X2)) | → | a__and#(mark(X1),X2) | (24) |
mark#(and(X1,X2)) | → | mark#(X1) | (25) |
mark#(length(X)) | → | a__length#(mark(X)) | (26) |
mark#(length(X)) | → | mark#(X) | (27) |
mark#(take(X1,X2)) | → | a__take#(mark(X1),mark(X2)) | (28) |
mark#(take(X1,X2)) | → | mark#(X1) | (29) |
mark#(take(X1,X2)) | → | mark#(X2) | (30) |
mark#(cons(X1,X2)) | → | mark#(X1) | (31) |
mark#(s(X)) | → | mark#(X) | (32) |
mark#(zeros) | → | a__zeros# | (23) |
mark#(and(X1,X2)) | → | a__and#(mark(X1),X2) | (24) |
mark#(and(X1,X2)) | → | mark#(X1) | (25) |
a__length#(cons(N,L)) | → | mark#(L) | (21) |
mark#(length(X)) | → | a__length#(mark(X)) | (26) |
mark#(length(X)) | → | mark#(X) | (27) |
mark#(take(X1,X2)) | → | a__take#(mark(X1),mark(X2)) | (28) |
a__take#(s(M),cons(N,IL)) | → | mark#(N) | (22) |
mark#(take(X1,X2)) | → | mark#(X1) | (29) |
mark#(take(X1,X2)) | → | mark#(X2) | (30) |
mark#(cons(X1,X2)) | → | mark#(X1) | (31) |
mark#(s(X)) | → | mark#(X) | (32) |
a__length#(cons(y0,zeros)) | → | a__length#(a__zeros) | (33) |
a__length#(cons(y0,and(x0,x1))) | → | a__length#(a__and(mark(x0),x1)) | (34) |
a__length#(cons(y0,length(x0))) | → | a__length#(a__length(mark(x0))) | (35) |
a__length#(cons(y0,take(x0,x1))) | → | a__length#(a__take(mark(x0),mark(x1))) | (36) |
a__length#(cons(y0,cons(x0,x1))) | → | a__length#(cons(mark(x0),x1)) | (37) |
a__length#(cons(y0,0)) | → | a__length#(0) | (38) |
a__length#(cons(y0,tt)) | → | a__length#(tt) | (39) |
a__length#(cons(y0,nil)) | → | a__length#(nil) | (40) |
a__length#(cons(y0,s(x0))) | → | a__length#(s(mark(x0))) | (41) |
a__length#(cons(y0,0)) | → | a__length#(0) | (38) |
a__length#(cons(y0,tt)) | → | a__length#(tt) | (39) |
a__length#(cons(y0,nil)) | → | a__length#(nil) | (40) |
a__length#(cons(y0,s(x0))) | → | a__length#(s(mark(x0))) | (41) |
a__length#(cons(y0,zeros)) | → | a__length#(cons(0,zeros)) | (42) |
a__length#(cons(y0,zeros)) | → | a__length#(zeros) | (43) |
a__length#(cons(y0,cons(x0,x1))) | → | a__length#(cons(mark(x0),x1)) | (37) |
a__length#(cons(y0,and(x0,x1))) | → | a__length#(a__and(mark(x0),x1)) | (34) |
a__length#(cons(y0,length(x0))) | → | a__length#(a__length(mark(x0))) | (35) |
a__length#(cons(y0,take(x0,x1))) | → | a__length#(a__take(mark(x0),mark(x1))) | (36) |
a__length#(cons(y0,zeros)) | → | a__length#(zeros) | (43) |
a__zeros | → | cons(0,zeros) | (1) |
a__length(cons(N,L)) | → | s(a__length(mark(L))) | (4) |
a__take(s(M),cons(N,IL)) | → | cons(mark(N),take(M,IL)) | (6) |
mark(zeros) | → | a__zeros | (7) |
mark(and(X1,X2)) | → | a__and(mark(X1),X2) | (8) |
mark(length(X)) | → | a__length(mark(X)) | (9) |
mark(take(X1,X2)) | → | a__take(mark(X1),mark(X2)) | (10) |
mark(cons(X1,X2)) | → | cons(mark(X1),X2) | (11) |
mark(0) | → | 0 | (12) |
mark(tt) | → | tt | (13) |
mark(nil) | → | nil | (14) |
mark(s(X)) | → | s(mark(X)) | (15) |
a__zeros | → | zeros | (16) |
a__and(X1,X2) | → | and(X1,X2) | (17) |
a__length(X) | → | length(X) | (18) |
a__take(X1,X2) | → | take(X1,X2) | (19) |
We restrict the innermost strategy to the following left hand sides.
There are no lhss.
a__length#(cons(0,zeros)) | → | a__length#(cons(0,zeros)) | (44) |
t0 | = | a__length#(cons(0,zeros)) |
→P | a__length#(cons(0,zeros)) | |
= | t1 |