The rewrite relation of the following TRS is considered.
active(filter(cons(X,Y),0,M)) | → | mark(cons(0,filter(Y,M,M))) | (1) |
active(filter(cons(X,Y),s(N),M)) | → | mark(cons(X,filter(Y,N,M))) | (2) |
active(sieve(cons(0,Y))) | → | mark(cons(0,sieve(Y))) | (3) |
active(sieve(cons(s(N),Y))) | → | mark(cons(s(N),sieve(filter(Y,N,N)))) | (4) |
active(nats(N)) | → | mark(cons(N,nats(s(N)))) | (5) |
active(zprimes) | → | mark(sieve(nats(s(s(0))))) | (6) |
active(filter(X1,X2,X3)) | → | filter(active(X1),X2,X3) | (7) |
active(filter(X1,X2,X3)) | → | filter(X1,active(X2),X3) | (8) |
active(filter(X1,X2,X3)) | → | filter(X1,X2,active(X3)) | (9) |
active(cons(X1,X2)) | → | cons(active(X1),X2) | (10) |
active(s(X)) | → | s(active(X)) | (11) |
active(sieve(X)) | → | sieve(active(X)) | (12) |
active(nats(X)) | → | nats(active(X)) | (13) |
filter(mark(X1),X2,X3) | → | mark(filter(X1,X2,X3)) | (14) |
filter(X1,mark(X2),X3) | → | mark(filter(X1,X2,X3)) | (15) |
filter(X1,X2,mark(X3)) | → | mark(filter(X1,X2,X3)) | (16) |
cons(mark(X1),X2) | → | mark(cons(X1,X2)) | (17) |
s(mark(X)) | → | mark(s(X)) | (18) |
sieve(mark(X)) | → | mark(sieve(X)) | (19) |
nats(mark(X)) | → | mark(nats(X)) | (20) |
proper(filter(X1,X2,X3)) | → | filter(proper(X1),proper(X2),proper(X3)) | (21) |
proper(cons(X1,X2)) | → | cons(proper(X1),proper(X2)) | (22) |
proper(0) | → | ok(0) | (23) |
proper(s(X)) | → | s(proper(X)) | (24) |
proper(sieve(X)) | → | sieve(proper(X)) | (25) |
proper(nats(X)) | → | nats(proper(X)) | (26) |
proper(zprimes) | → | ok(zprimes) | (27) |
filter(ok(X1),ok(X2),ok(X3)) | → | ok(filter(X1,X2,X3)) | (28) |
cons(ok(X1),ok(X2)) | → | ok(cons(X1,X2)) | (29) |
s(ok(X)) | → | ok(s(X)) | (30) |
sieve(ok(X)) | → | ok(sieve(X)) | (31) |
nats(ok(X)) | → | ok(nats(X)) | (32) |
top(mark(X)) | → | top(proper(X)) | (33) |
top(ok(X)) | → | top(active(X)) | (34) |
active#(filter(cons(X,Y),s(N),M)) | → | filter#(Y,N,M) | (35) |
proper#(nats(X)) | → | proper#(X) | (36) |
top#(mark(X)) | → | proper#(X) | (37) |
proper#(cons(X1,X2)) | → | proper#(X1) | (38) |
proper#(filter(X1,X2,X3)) | → | proper#(X2) | (39) |
proper#(nats(X)) | → | nats#(proper(X)) | (40) |
sieve#(mark(X)) | → | sieve#(X) | (41) |
top#(ok(X)) | → | top#(active(X)) | (42) |
proper#(filter(X1,X2,X3)) | → | proper#(X3) | (43) |
active#(filter(X1,X2,X3)) | → | filter#(X1,active(X2),X3) | (44) |
filter#(X1,X2,mark(X3)) | → | filter#(X1,X2,X3) | (45) |
active#(sieve(cons(s(N),Y))) | → | filter#(Y,N,N) | (46) |
top#(ok(X)) | → | active#(X) | (47) |
active#(zprimes) | → | s#(s(0)) | (48) |
s#(mark(X)) | → | s#(X) | (49) |
filter#(X1,mark(X2),X3) | → | filter#(X1,X2,X3) | (50) |
nats#(ok(X)) | → | nats#(X) | (51) |
active#(filter(cons(X,Y),0,M)) | → | cons#(0,filter(Y,M,M)) | (52) |
active#(s(X)) | → | active#(X) | (53) |
active#(nats(X)) | → | active#(X) | (54) |
active#(filter(X1,X2,X3)) | → | active#(X3) | (55) |
active#(sieve(cons(s(N),Y))) | → | sieve#(filter(Y,N,N)) | (56) |
active#(filter(X1,X2,X3)) | → | filter#(active(X1),X2,X3) | (57) |
nats#(mark(X)) | → | nats#(X) | (58) |
proper#(filter(X1,X2,X3)) | → | proper#(X1) | (59) |
active#(s(X)) | → | s#(active(X)) | (60) |
active#(nats(N)) | → | nats#(s(N)) | (61) |
active#(sieve(cons(s(N),Y))) | → | cons#(s(N),sieve(filter(Y,N,N))) | (62) |
proper#(s(X)) | → | s#(proper(X)) | (63) |
active#(nats(N)) | → | cons#(N,nats(s(N))) | (64) |
active#(filter(cons(X,Y),0,M)) | → | filter#(Y,M,M) | (65) |
active#(sieve(cons(0,Y))) | → | cons#(0,sieve(Y)) | (66) |
active#(filter(X1,X2,X3)) | → | active#(X1) | (67) |
s#(ok(X)) | → | s#(X) | (68) |
active#(zprimes) | → | s#(0) | (69) |
cons#(mark(X1),X2) | → | cons#(X1,X2) | (70) |
active#(filter(X1,X2,X3)) | → | filter#(X1,X2,active(X3)) | (71) |
filter#(ok(X1),ok(X2),ok(X3)) | → | filter#(X1,X2,X3) | (72) |
active#(zprimes) | → | nats#(s(s(0))) | (73) |
proper#(filter(X1,X2,X3)) | → | filter#(proper(X1),proper(X2),proper(X3)) | (74) |
top#(mark(X)) | → | top#(proper(X)) | (75) |
proper#(sieve(X)) | → | proper#(X) | (76) |
proper#(cons(X1,X2)) | → | cons#(proper(X1),proper(X2)) | (77) |
active#(cons(X1,X2)) | → | active#(X1) | (78) |
active#(sieve(X)) | → | active#(X) | (79) |
active#(nats(N)) | → | s#(N) | (80) |
filter#(mark(X1),X2,X3) | → | filter#(X1,X2,X3) | (81) |
active#(cons(X1,X2)) | → | cons#(active(X1),X2) | (82) |
proper#(cons(X1,X2)) | → | proper#(X2) | (83) |
proper#(sieve(X)) | → | sieve#(proper(X)) | (84) |
active#(sieve(X)) | → | sieve#(active(X)) | (85) |
cons#(ok(X1),ok(X2)) | → | cons#(X1,X2) | (86) |
active#(filter(cons(X,Y),s(N),M)) | → | cons#(X,filter(Y,N,M)) | (87) |
active#(filter(X1,X2,X3)) | → | active#(X2) | (88) |
active#(nats(X)) | → | nats#(active(X)) | (89) |
proper#(s(X)) | → | proper#(X) | (90) |
active#(zprimes) | → | sieve#(nats(s(s(0)))) | (91) |
active#(sieve(cons(0,Y))) | → | sieve#(Y) | (92) |
sieve#(ok(X)) | → | sieve#(X) | (93) |
The dependency pairs are split into 8 components.
top#(mark(X)) | → | top#(proper(X)) | (75) |
top#(ok(X)) | → | top#(active(X)) | (42) |
[zprimes] | = | 51912 |
[cons#(x1, x2)] | = | 0 |
[nats#(x1)] | = | 0 |
[s(x1)] | = | x1 + 15261 |
[filter#(x1, x2, x3)] | = | 0 |
[top(x1)] | = | 0 |
[top#(x1)] | = | x1 + 0 |
[proper(x1)] | = | x1 + 0 |
[ok(x1)] | = | x1 + 0 |
[0] | = | 0 |
[s#(x1)] | = | 0 |
[mark(x1)] | = | x1 + 1 |
[sieve(x1)] | = | x1 + 1 |
[proper#(x1)] | = | 0 |
[nats(x1)] | = | x1 + 21388 |
[active(x1)] | = | x1 + 0 |
[cons(x1, x2)] | = | x1 + 21387 |
[active#(x1)] | = | 0 |
[filter(x1, x2, x3)] | = | x1 + x2 + x3 + 1 |
[sieve#(x1)] | = | 0 |
s(mark(X)) | → | mark(s(X)) | (18) |
active(sieve(cons(s(N),Y))) | → | mark(cons(s(N),sieve(filter(Y,N,N)))) | (4) |
filter(X1,mark(X2),X3) | → | mark(filter(X1,X2,X3)) | (15) |
active(filter(X1,X2,X3)) | → | filter(X1,active(X2),X3) | (8) |
active(filter(cons(X,Y),0,M)) | → | mark(cons(0,filter(Y,M,M))) | (1) |
active(sieve(cons(0,Y))) | → | mark(cons(0,sieve(Y))) | (3) |
filter(X1,X2,mark(X3)) | → | mark(filter(X1,X2,X3)) | (16) |
proper(filter(X1,X2,X3)) | → | filter(proper(X1),proper(X2),proper(X3)) | (21) |
proper(nats(X)) | → | nats(proper(X)) | (26) |
sieve(mark(X)) | → | mark(sieve(X)) | (19) |
nats(ok(X)) | → | ok(nats(X)) | (32) |
cons(mark(X1),X2) | → | mark(cons(X1,X2)) | (17) |
proper(zprimes) | → | ok(zprimes) | (27) |
proper(cons(X1,X2)) | → | cons(proper(X1),proper(X2)) | (22) |
filter(ok(X1),ok(X2),ok(X3)) | → | ok(filter(X1,X2,X3)) | (28) |
active(nats(N)) | → | mark(cons(N,nats(s(N)))) | (5) |
active(cons(X1,X2)) | → | cons(active(X1),X2) | (10) |
active(filter(X1,X2,X3)) | → | filter(active(X1),X2,X3) | (7) |
nats(mark(X)) | → | mark(nats(X)) | (20) |
proper(sieve(X)) | → | sieve(proper(X)) | (25) |
s(ok(X)) | → | ok(s(X)) | (30) |
filter(mark(X1),X2,X3) | → | mark(filter(X1,X2,X3)) | (14) |
sieve(ok(X)) | → | ok(sieve(X)) | (31) |
active(sieve(X)) | → | sieve(active(X)) | (12) |
proper(0) | → | ok(0) | (23) |
proper(s(X)) | → | s(proper(X)) | (24) |
active(s(X)) | → | s(active(X)) | (11) |
active(filter(X1,X2,X3)) | → | filter(X1,X2,active(X3)) | (9) |
active(nats(X)) | → | nats(active(X)) | (13) |
active(zprimes) | → | mark(sieve(nats(s(s(0))))) | (6) |
cons(ok(X1),ok(X2)) | → | ok(cons(X1,X2)) | (29) |
active(filter(cons(X,Y),s(N),M)) | → | mark(cons(X,filter(Y,N,M))) | (2) |
top#(mark(X)) | → | top#(proper(X)) | (75) |
The dependency pairs are split into 1 component.
top#(ok(X)) | → | top#(active(X)) | (42) |
[zprimes] | = | 1 |
[cons#(x1, x2)] | = | 0 |
[nats#(x1)] | = | 0 |
[s(x1)] | = | x1 + 0 |
[filter#(x1, x2, x3)] | = | 0 |
[top(x1)] | = | 0 |
[top#(x1)] | = | x1 + 0 |
[proper(x1)] | = | 18876 |
[ok(x1)] | = | x1 + 18875 |
[0] | = | 1 |
[s#(x1)] | = | 0 |
[mark(x1)] | = | 0 |
[sieve(x1)] | = | x1 + 0 |
[proper#(x1)] | = | 0 |
[nats(x1)] | = | x1 + 0 |
[active(x1)] | = | x1 + 18874 |
[cons(x1, x2)] | = | x1 + 0 |
[active#(x1)] | = | 0 |
[filter(x1, x2, x3)] | = | x2 + 0 |
[sieve#(x1)] | = | 0 |
s(mark(X)) | → | mark(s(X)) | (18) |
active(sieve(cons(s(N),Y))) | → | mark(cons(s(N),sieve(filter(Y,N,N)))) | (4) |
filter(X1,mark(X2),X3) | → | mark(filter(X1,X2,X3)) | (15) |
active(filter(X1,X2,X3)) | → | filter(X1,active(X2),X3) | (8) |
active(filter(cons(X,Y),0,M)) | → | mark(cons(0,filter(Y,M,M))) | (1) |
active(sieve(cons(0,Y))) | → | mark(cons(0,sieve(Y))) | (3) |
filter(X1,X2,mark(X3)) | → | mark(filter(X1,X2,X3)) | (16) |
proper(filter(X1,X2,X3)) | → | filter(proper(X1),proper(X2),proper(X3)) | (21) |
proper(nats(X)) | → | nats(proper(X)) | (26) |
sieve(mark(X)) | → | mark(sieve(X)) | (19) |
nats(ok(X)) | → | ok(nats(X)) | (32) |
cons(mark(X1),X2) | → | mark(cons(X1,X2)) | (17) |
proper(zprimes) | → | ok(zprimes) | (27) |
proper(cons(X1,X2)) | → | cons(proper(X1),proper(X2)) | (22) |
filter(ok(X1),ok(X2),ok(X3)) | → | ok(filter(X1,X2,X3)) | (28) |
active(nats(N)) | → | mark(cons(N,nats(s(N)))) | (5) |
active(cons(X1,X2)) | → | cons(active(X1),X2) | (10) |
active(filter(X1,X2,X3)) | → | filter(active(X1),X2,X3) | (7) |
nats(mark(X)) | → | mark(nats(X)) | (20) |
proper(sieve(X)) | → | sieve(proper(X)) | (25) |
s(ok(X)) | → | ok(s(X)) | (30) |
filter(mark(X1),X2,X3) | → | mark(filter(X1,X2,X3)) | (14) |
sieve(ok(X)) | → | ok(sieve(X)) | (31) |
active(sieve(X)) | → | sieve(active(X)) | (12) |
proper(0) | → | ok(0) | (23) |
proper(s(X)) | → | s(proper(X)) | (24) |
active(s(X)) | → | s(active(X)) | (11) |
active(filter(X1,X2,X3)) | → | filter(X1,X2,active(X3)) | (9) |
active(nats(X)) | → | nats(active(X)) | (13) |
active(zprimes) | → | mark(sieve(nats(s(s(0))))) | (6) |
cons(ok(X1),ok(X2)) | → | ok(cons(X1,X2)) | (29) |
active(filter(cons(X,Y),s(N),M)) | → | mark(cons(X,filter(Y,N,M))) | (2) |
top#(ok(X)) | → | top#(active(X)) | (42) |
The dependency pairs are split into 0 components.
active#(filter(X1,X2,X3)) | → | active#(X1) | (67) |
active#(filter(X1,X2,X3)) | → | active#(X2) | (88) |
active#(filter(X1,X2,X3)) | → | active#(X3) | (55) |
active#(nats(X)) | → | active#(X) | (54) |
active#(s(X)) | → | active#(X) | (53) |
active#(sieve(X)) | → | active#(X) | (79) |
active#(cons(X1,X2)) | → | active#(X1) | (78) |
[zprimes] | = | 1 |
[cons#(x1, x2)] | = | 0 |
[nats#(x1)] | = | 0 |
[s(x1)] | = | x1 + 1 |
[filter#(x1, x2, x3)] | = | 0 |
[top(x1)] | = | 0 |
[top#(x1)] | = | 0 |
[proper(x1)] | = | 18876 |
[ok(x1)] | = | x1 + 8375 |
[0] | = | 9643 |
[s#(x1)] | = | 0 |
[mark(x1)] | = | 0 |
[sieve(x1)] | = | x1 + 1 |
[proper#(x1)] | = | 0 |
[nats(x1)] | = | x1 + 1 |
[active(x1)] | = | 40828 |
[cons(x1, x2)] | = | x1 + x2 + 1 |
[active#(x1)] | = | x1 + 0 |
[filter(x1, x2, x3)] | = | x1 + x2 + x3 + 1 |
[sieve#(x1)] | = | 0 |
s(mark(X)) | → | mark(s(X)) | (18) |
active(sieve(cons(s(N),Y))) | → | mark(cons(s(N),sieve(filter(Y,N,N)))) | (4) |
filter(X1,mark(X2),X3) | → | mark(filter(X1,X2,X3)) | (15) |
active(filter(cons(X,Y),0,M)) | → | mark(cons(0,filter(Y,M,M))) | (1) |
active(sieve(cons(0,Y))) | → | mark(cons(0,sieve(Y))) | (3) |
filter(X1,X2,mark(X3)) | → | mark(filter(X1,X2,X3)) | (16) |
sieve(mark(X)) | → | mark(sieve(X)) | (19) |
nats(ok(X)) | → | ok(nats(X)) | (32) |
cons(mark(X1),X2) | → | mark(cons(X1,X2)) | (17) |
proper(zprimes) | → | ok(zprimes) | (27) |
filter(ok(X1),ok(X2),ok(X3)) | → | ok(filter(X1,X2,X3)) | (28) |
active(nats(N)) | → | mark(cons(N,nats(s(N)))) | (5) |
nats(mark(X)) | → | mark(nats(X)) | (20) |
s(ok(X)) | → | ok(s(X)) | (30) |
filter(mark(X1),X2,X3) | → | mark(filter(X1,X2,X3)) | (14) |
sieve(ok(X)) | → | ok(sieve(X)) | (31) |
proper(0) | → | ok(0) | (23) |
active(zprimes) | → | mark(sieve(nats(s(s(0))))) | (6) |
cons(ok(X1),ok(X2)) | → | ok(cons(X1,X2)) | (29) |
active(filter(cons(X,Y),s(N),M)) | → | mark(cons(X,filter(Y,N,M))) | (2) |
active#(filter(X1,X2,X3)) | → | active#(X1) | (67) |
active#(filter(X1,X2,X3)) | → | active#(X2) | (88) |
active#(filter(X1,X2,X3)) | → | active#(X3) | (55) |
active#(nats(X)) | → | active#(X) | (54) |
active#(s(X)) | → | active#(X) | (53) |
active#(sieve(X)) | → | active#(X) | (79) |
active#(cons(X1,X2)) | → | active#(X1) | (78) |
The dependency pairs are split into 0 components.
proper#(s(X)) | → | proper#(X) | (90) |
proper#(filter(X1,X2,X3)) | → | proper#(X1) | (59) |
proper#(cons(X1,X2)) | → | proper#(X2) | (83) |
proper#(sieve(X)) | → | proper#(X) | (76) |
proper#(filter(X1,X2,X3)) | → | proper#(X3) | (43) |
proper#(filter(X1,X2,X3)) | → | proper#(X2) | (39) |
proper#(cons(X1,X2)) | → | proper#(X1) | (38) |
proper#(nats(X)) | → | proper#(X) | (36) |
[zprimes] | = | 1 |
[cons#(x1, x2)] | = | 0 |
[nats#(x1)] | = | 0 |
[s(x1)] | = | x1 + 1 |
[filter#(x1, x2, x3)] | = | 0 |
[top(x1)] | = | 0 |
[top#(x1)] | = | 0 |
[proper(x1)] | = | 2 |
[ok(x1)] | = | x1 + 1 |
[0] | = | 1 |
[s#(x1)] | = | 0 |
[mark(x1)] | = | 0 |
[sieve(x1)] | = | x1 + 1 |
[proper#(x1)] | = | x1 + 0 |
[nats(x1)] | = | x1 + 1 |
[active(x1)] | = | 1 |
[cons(x1, x2)] | = | x1 + x2 + 1 |
[active#(x1)] | = | 0 |
[filter(x1, x2, x3)] | = | x1 + x2 + x3 + 1 |
[sieve#(x1)] | = | 0 |
s(mark(X)) | → | mark(s(X)) | (18) |
active(sieve(cons(s(N),Y))) | → | mark(cons(s(N),sieve(filter(Y,N,N)))) | (4) |
filter(X1,mark(X2),X3) | → | mark(filter(X1,X2,X3)) | (15) |
active(filter(cons(X,Y),0,M)) | → | mark(cons(0,filter(Y,M,M))) | (1) |
active(sieve(cons(0,Y))) | → | mark(cons(0,sieve(Y))) | (3) |
filter(X1,X2,mark(X3)) | → | mark(filter(X1,X2,X3)) | (16) |
sieve(mark(X)) | → | mark(sieve(X)) | (19) |
nats(ok(X)) | → | ok(nats(X)) | (32) |
cons(mark(X1),X2) | → | mark(cons(X1,X2)) | (17) |
proper(zprimes) | → | ok(zprimes) | (27) |
filter(ok(X1),ok(X2),ok(X3)) | → | ok(filter(X1,X2,X3)) | (28) |
active(nats(N)) | → | mark(cons(N,nats(s(N)))) | (5) |
nats(mark(X)) | → | mark(nats(X)) | (20) |
s(ok(X)) | → | ok(s(X)) | (30) |
filter(mark(X1),X2,X3) | → | mark(filter(X1,X2,X3)) | (14) |
sieve(ok(X)) | → | ok(sieve(X)) | (31) |
proper(0) | → | ok(0) | (23) |
active(zprimes) | → | mark(sieve(nats(s(s(0))))) | (6) |
cons(ok(X1),ok(X2)) | → | ok(cons(X1,X2)) | (29) |
active(filter(cons(X,Y),s(N),M)) | → | mark(cons(X,filter(Y,N,M))) | (2) |
proper#(s(X)) | → | proper#(X) | (90) |
proper#(filter(X1,X2,X3)) | → | proper#(X1) | (59) |
proper#(cons(X1,X2)) | → | proper#(X2) | (83) |
proper#(sieve(X)) | → | proper#(X) | (76) |
proper#(filter(X1,X2,X3)) | → | proper#(X3) | (43) |
proper#(filter(X1,X2,X3)) | → | proper#(X2) | (39) |
proper#(cons(X1,X2)) | → | proper#(X1) | (38) |
proper#(nats(X)) | → | proper#(X) | (36) |
The dependency pairs are split into 0 components.
sieve#(ok(X)) | → | sieve#(X) | (93) |
sieve#(mark(X)) | → | sieve#(X) | (41) |
[zprimes] | = | 1 |
[cons#(x1, x2)] | = | 0 |
[nats#(x1)] | = | 0 |
[s(x1)] | = | x1 + 1 |
[filter#(x1, x2, x3)] | = | 0 |
[top(x1)] | = | 0 |
[top#(x1)] | = | 0 |
[proper(x1)] | = | 2 |
[ok(x1)] | = | x1 + 1 |
[0] | = | 1 |
[s#(x1)] | = | 0 |
[mark(x1)] | = | x1 + 1 |
[sieve(x1)] | = | x1 + 1 |
[proper#(x1)] | = | 0 |
[nats(x1)] | = | x1 + 1 |
[active(x1)] | = | 6 |
[cons(x1, x2)] | = | x1 + x2 + 2 |
[active#(x1)] | = | 0 |
[filter(x1, x2, x3)] | = | x1 + x2 + x3 + 1 |
[sieve#(x1)] | = | x1 + 0 |
s(mark(X)) | → | mark(s(X)) | (18) |
filter(X1,mark(X2),X3) | → | mark(filter(X1,X2,X3)) | (15) |
filter(X1,X2,mark(X3)) | → | mark(filter(X1,X2,X3)) | (16) |
sieve(mark(X)) | → | mark(sieve(X)) | (19) |
nats(ok(X)) | → | ok(nats(X)) | (32) |
cons(mark(X1),X2) | → | mark(cons(X1,X2)) | (17) |
proper(zprimes) | → | ok(zprimes) | (27) |
filter(ok(X1),ok(X2),ok(X3)) | → | ok(filter(X1,X2,X3)) | (28) |
nats(mark(X)) | → | mark(nats(X)) | (20) |
s(ok(X)) | → | ok(s(X)) | (30) |
filter(mark(X1),X2,X3) | → | mark(filter(X1,X2,X3)) | (14) |
sieve(ok(X)) | → | ok(sieve(X)) | (31) |
proper(0) | → | ok(0) | (23) |
active(zprimes) | → | mark(sieve(nats(s(s(0))))) | (6) |
cons(ok(X1),ok(X2)) | → | ok(cons(X1,X2)) | (29) |
sieve#(ok(X)) | → | sieve#(X) | (93) |
sieve#(mark(X)) | → | sieve#(X) | (41) |
The dependency pairs are split into 0 components.
cons#(ok(X1),ok(X2)) | → | cons#(X1,X2) | (86) |
cons#(mark(X1),X2) | → | cons#(X1,X2) | (70) |
[zprimes] | = | 1 |
[cons#(x1, x2)] | = | x1 + x2 + 0 |
[nats#(x1)] | = | 0 |
[s(x1)] | = | x1 + 1 |
[filter#(x1, x2, x3)] | = | 0 |
[top(x1)] | = | 0 |
[top#(x1)] | = | 0 |
[proper(x1)] | = | 2 |
[ok(x1)] | = | x1 + 1 |
[0] | = | 1 |
[s#(x1)] | = | 0 |
[mark(x1)] | = | x1 + 1 |
[sieve(x1)] | = | x1 + 1 |
[proper#(x1)] | = | 0 |
[nats(x1)] | = | x1 + 1 |
[active(x1)] | = | 6 |
[cons(x1, x2)] | = | x1 + x2 + 1 |
[active#(x1)] | = | 0 |
[filter(x1, x2, x3)] | = | x1 + x2 + x3 + 1 |
[sieve#(x1)] | = | 0 |
s(mark(X)) | → | mark(s(X)) | (18) |
filter(X1,mark(X2),X3) | → | mark(filter(X1,X2,X3)) | (15) |
filter(X1,X2,mark(X3)) | → | mark(filter(X1,X2,X3)) | (16) |
sieve(mark(X)) | → | mark(sieve(X)) | (19) |
nats(ok(X)) | → | ok(nats(X)) | (32) |
cons(mark(X1),X2) | → | mark(cons(X1,X2)) | (17) |
proper(zprimes) | → | ok(zprimes) | (27) |
filter(ok(X1),ok(X2),ok(X3)) | → | ok(filter(X1,X2,X3)) | (28) |
nats(mark(X)) | → | mark(nats(X)) | (20) |
s(ok(X)) | → | ok(s(X)) | (30) |
filter(mark(X1),X2,X3) | → | mark(filter(X1,X2,X3)) | (14) |
sieve(ok(X)) | → | ok(sieve(X)) | (31) |
proper(0) | → | ok(0) | (23) |
active(zprimes) | → | mark(sieve(nats(s(s(0))))) | (6) |
cons(ok(X1),ok(X2)) | → | ok(cons(X1,X2)) | (29) |
cons#(ok(X1),ok(X2)) | → | cons#(X1,X2) | (86) |
cons#(mark(X1),X2) | → | cons#(X1,X2) | (70) |
The dependency pairs are split into 0 components.
nats#(mark(X)) | → | nats#(X) | (58) |
nats#(ok(X)) | → | nats#(X) | (51) |
[zprimes] | = | 1 |
[cons#(x1, x2)] | = | 0 |
[nats#(x1)] | = | x1 + 0 |
[s(x1)] | = | x1 + 1 |
[filter#(x1, x2, x3)] | = | 0 |
[top(x1)] | = | 0 |
[top#(x1)] | = | 0 |
[proper(x1)] | = | 2 |
[ok(x1)] | = | x1 + 1 |
[0] | = | 1 |
[s#(x1)] | = | 0 |
[mark(x1)] | = | x1 + 1 |
[sieve(x1)] | = | x1 + 1184 |
[proper#(x1)] | = | 0 |
[nats(x1)] | = | x1 + 1 |
[active(x1)] | = | 1189 |
[cons(x1, x2)] | = | x1 + x2 + 1 |
[active#(x1)] | = | 0 |
[filter(x1, x2, x3)] | = | x1 + x2 + x3 + 1 |
[sieve#(x1)] | = | 0 |
s(mark(X)) | → | mark(s(X)) | (18) |
filter(X1,mark(X2),X3) | → | mark(filter(X1,X2,X3)) | (15) |
filter(X1,X2,mark(X3)) | → | mark(filter(X1,X2,X3)) | (16) |
sieve(mark(X)) | → | mark(sieve(X)) | (19) |
nats(ok(X)) | → | ok(nats(X)) | (32) |
cons(mark(X1),X2) | → | mark(cons(X1,X2)) | (17) |
proper(zprimes) | → | ok(zprimes) | (27) |
filter(ok(X1),ok(X2),ok(X3)) | → | ok(filter(X1,X2,X3)) | (28) |
nats(mark(X)) | → | mark(nats(X)) | (20) |
s(ok(X)) | → | ok(s(X)) | (30) |
filter(mark(X1),X2,X3) | → | mark(filter(X1,X2,X3)) | (14) |
sieve(ok(X)) | → | ok(sieve(X)) | (31) |
proper(0) | → | ok(0) | (23) |
active(zprimes) | → | mark(sieve(nats(s(s(0))))) | (6) |
cons(ok(X1),ok(X2)) | → | ok(cons(X1,X2)) | (29) |
nats#(mark(X)) | → | nats#(X) | (58) |
nats#(ok(X)) | → | nats#(X) | (51) |
The dependency pairs are split into 0 components.
filter#(mark(X1),X2,X3) | → | filter#(X1,X2,X3) | (81) |
filter#(X1,mark(X2),X3) | → | filter#(X1,X2,X3) | (50) |
filter#(X1,X2,mark(X3)) | → | filter#(X1,X2,X3) | (45) |
filter#(ok(X1),ok(X2),ok(X3)) | → | filter#(X1,X2,X3) | (72) |
[zprimes] | = | 1 |
[cons#(x1, x2)] | = | 0 |
[nats#(x1)] | = | 0 |
[s(x1)] | = | x1 + 1 |
[filter#(x1, x2, x3)] | = | x1 + x2 + 0 |
[top(x1)] | = | 0 |
[top#(x1)] | = | 0 |
[proper(x1)] | = | 2 |
[ok(x1)] | = | x1 + 1 |
[0] | = | 1 |
[s#(x1)] | = | 0 |
[mark(x1)] | = | x1 + 1 |
[sieve(x1)] | = | x1 + 28652 |
[proper#(x1)] | = | 0 |
[nats(x1)] | = | x1 + 1 |
[active(x1)] | = | 28657 |
[cons(x1, x2)] | = | x1 + x2 + 1 |
[active#(x1)] | = | 0 |
[filter(x1, x2, x3)] | = | x1 + x2 + x3 + 1 |
[sieve#(x1)] | = | 0 |
s(mark(X)) | → | mark(s(X)) | (18) |
filter(X1,mark(X2),X3) | → | mark(filter(X1,X2,X3)) | (15) |
filter(X1,X2,mark(X3)) | → | mark(filter(X1,X2,X3)) | (16) |
sieve(mark(X)) | → | mark(sieve(X)) | (19) |
nats(ok(X)) | → | ok(nats(X)) | (32) |
cons(mark(X1),X2) | → | mark(cons(X1,X2)) | (17) |
proper(zprimes) | → | ok(zprimes) | (27) |
filter(ok(X1),ok(X2),ok(X3)) | → | ok(filter(X1,X2,X3)) | (28) |
nats(mark(X)) | → | mark(nats(X)) | (20) |
s(ok(X)) | → | ok(s(X)) | (30) |
filter(mark(X1),X2,X3) | → | mark(filter(X1,X2,X3)) | (14) |
sieve(ok(X)) | → | ok(sieve(X)) | (31) |
proper(0) | → | ok(0) | (23) |
active(zprimes) | → | mark(sieve(nats(s(s(0))))) | (6) |
cons(ok(X1),ok(X2)) | → | ok(cons(X1,X2)) | (29) |
filter#(mark(X1),X2,X3) | → | filter#(X1,X2,X3) | (81) |
filter#(X1,mark(X2),X3) | → | filter#(X1,X2,X3) | (50) |
filter#(ok(X1),ok(X2),ok(X3)) | → | filter#(X1,X2,X3) | (72) |
The dependency pairs are split into 1 component.
filter#(X1,X2,mark(X3)) | → | filter#(X1,X2,X3) | (45) |
[zprimes] | = | 1 |
[cons#(x1, x2)] | = | 0 |
[nats#(x1)] | = | 0 |
[s(x1)] | = | x1 + 1 |
[filter#(x1, x2, x3)] | = | x3 + 0 |
[top(x1)] | = | 0 |
[top#(x1)] | = | 0 |
[proper(x1)] | = | 2 |
[ok(x1)] | = | x1 + 1 |
[0] | = | 1 |
[s#(x1)] | = | 0 |
[mark(x1)] | = | x1 + 1 |
[sieve(x1)] | = | x1 + 30249 |
[proper#(x1)] | = | 0 |
[nats(x1)] | = | x1 + 1 |
[active(x1)] | = | 62410 |
[cons(x1, x2)] | = | x1 + x2 + 1 |
[active#(x1)] | = | 0 |
[filter(x1, x2, x3)] | = | x1 + x2 + x3 + 32158 |
[sieve#(x1)] | = | 0 |
s(mark(X)) | → | mark(s(X)) | (18) |
filter(X1,mark(X2),X3) | → | mark(filter(X1,X2,X3)) | (15) |
filter(X1,X2,mark(X3)) | → | mark(filter(X1,X2,X3)) | (16) |
sieve(mark(X)) | → | mark(sieve(X)) | (19) |
nats(ok(X)) | → | ok(nats(X)) | (32) |
cons(mark(X1),X2) | → | mark(cons(X1,X2)) | (17) |
proper(zprimes) | → | ok(zprimes) | (27) |
filter(ok(X1),ok(X2),ok(X3)) | → | ok(filter(X1,X2,X3)) | (28) |
nats(mark(X)) | → | mark(nats(X)) | (20) |
s(ok(X)) | → | ok(s(X)) | (30) |
filter(mark(X1),X2,X3) | → | mark(filter(X1,X2,X3)) | (14) |
sieve(ok(X)) | → | ok(sieve(X)) | (31) |
proper(0) | → | ok(0) | (23) |
active(zprimes) | → | mark(sieve(nats(s(s(0))))) | (6) |
cons(ok(X1),ok(X2)) | → | ok(cons(X1,X2)) | (29) |
filter#(X1,X2,mark(X3)) | → | filter#(X1,X2,X3) | (45) |
The dependency pairs are split into 0 components.
s#(mark(X)) | → | s#(X) | (49) |
s#(ok(X)) | → | s#(X) | (68) |
[zprimes] | = | 1 |
[cons#(x1, x2)] | = | 0 |
[nats#(x1)] | = | 0 |
[s(x1)] | = | x1 + 1 |
[filter#(x1, x2, x3)] | = | 0 |
[top(x1)] | = | 0 |
[top#(x1)] | = | 0 |
[proper(x1)] | = | 2 |
[ok(x1)] | = | x1 + 1 |
[0] | = | 1 |
[s#(x1)] | = | x1 + 0 |
[mark(x1)] | = | x1 + 1 |
[sieve(x1)] | = | x1 + 1 |
[proper#(x1)] | = | 0 |
[nats(x1)] | = | x1 + 18841 |
[active(x1)] | = | 18846 |
[cons(x1, x2)] | = | x1 + x2 + 2 |
[active#(x1)] | = | 0 |
[filter(x1, x2, x3)] | = | x1 + x2 + x3 + 1 |
[sieve#(x1)] | = | 0 |
s(mark(X)) | → | mark(s(X)) | (18) |
filter(X1,mark(X2),X3) | → | mark(filter(X1,X2,X3)) | (15) |
filter(X1,X2,mark(X3)) | → | mark(filter(X1,X2,X3)) | (16) |
sieve(mark(X)) | → | mark(sieve(X)) | (19) |
nats(ok(X)) | → | ok(nats(X)) | (32) |
cons(mark(X1),X2) | → | mark(cons(X1,X2)) | (17) |
proper(zprimes) | → | ok(zprimes) | (27) |
filter(ok(X1),ok(X2),ok(X3)) | → | ok(filter(X1,X2,X3)) | (28) |
nats(mark(X)) | → | mark(nats(X)) | (20) |
s(ok(X)) | → | ok(s(X)) | (30) |
filter(mark(X1),X2,X3) | → | mark(filter(X1,X2,X3)) | (14) |
sieve(ok(X)) | → | ok(sieve(X)) | (31) |
proper(0) | → | ok(0) | (23) |
active(zprimes) | → | mark(sieve(nats(s(s(0))))) | (6) |
cons(ok(X1),ok(X2)) | → | ok(cons(X1,X2)) | (29) |
s#(mark(X)) | → | s#(X) | (49) |
s#(ok(X)) | → | s#(X) | (68) |
The dependency pairs are split into 0 components.