The rewrite relation of the following TRS is considered.
active(from(X)) | → | mark(cons(X,from(s(X)))) | (1) |
active(2ndspos(0,Z)) | → | mark(rnil) | (2) |
active(2ndspos(s(N),cons(X,cons(Y,Z)))) | → | mark(rcons(posrecip(Y),2ndsneg(N,Z))) | (3) |
active(2ndsneg(0,Z)) | → | mark(rnil) | (4) |
active(2ndsneg(s(N),cons(X,cons(Y,Z)))) | → | mark(rcons(negrecip(Y),2ndspos(N,Z))) | (5) |
active(pi(X)) | → | mark(2ndspos(X,from(0))) | (6) |
active(plus(0,Y)) | → | mark(Y) | (7) |
active(plus(s(X),Y)) | → | mark(s(plus(X,Y))) | (8) |
active(times(0,Y)) | → | mark(0) | (9) |
active(times(s(X),Y)) | → | mark(plus(Y,times(X,Y))) | (10) |
active(square(X)) | → | mark(times(X,X)) | (11) |
mark(from(X)) | → | active(from(mark(X))) | (12) |
mark(cons(X1,X2)) | → | active(cons(mark(X1),X2)) | (13) |
mark(s(X)) | → | active(s(mark(X))) | (14) |
mark(2ndspos(X1,X2)) | → | active(2ndspos(mark(X1),mark(X2))) | (15) |
mark(0) | → | active(0) | (16) |
mark(rnil) | → | active(rnil) | (17) |
mark(rcons(X1,X2)) | → | active(rcons(mark(X1),mark(X2))) | (18) |
mark(posrecip(X)) | → | active(posrecip(mark(X))) | (19) |
mark(2ndsneg(X1,X2)) | → | active(2ndsneg(mark(X1),mark(X2))) | (20) |
mark(negrecip(X)) | → | active(negrecip(mark(X))) | (21) |
mark(pi(X)) | → | active(pi(mark(X))) | (22) |
mark(plus(X1,X2)) | → | active(plus(mark(X1),mark(X2))) | (23) |
mark(times(X1,X2)) | → | active(times(mark(X1),mark(X2))) | (24) |
mark(square(X)) | → | active(square(mark(X))) | (25) |
from(mark(X)) | → | from(X) | (26) |
from(active(X)) | → | from(X) | (27) |
cons(mark(X1),X2) | → | cons(X1,X2) | (28) |
cons(X1,mark(X2)) | → | cons(X1,X2) | (29) |
cons(active(X1),X2) | → | cons(X1,X2) | (30) |
cons(X1,active(X2)) | → | cons(X1,X2) | (31) |
s(mark(X)) | → | s(X) | (32) |
s(active(X)) | → | s(X) | (33) |
2ndspos(mark(X1),X2) | → | 2ndspos(X1,X2) | (34) |
2ndspos(X1,mark(X2)) | → | 2ndspos(X1,X2) | (35) |
2ndspos(active(X1),X2) | → | 2ndspos(X1,X2) | (36) |
2ndspos(X1,active(X2)) | → | 2ndspos(X1,X2) | (37) |
rcons(mark(X1),X2) | → | rcons(X1,X2) | (38) |
rcons(X1,mark(X2)) | → | rcons(X1,X2) | (39) |
rcons(active(X1),X2) | → | rcons(X1,X2) | (40) |
rcons(X1,active(X2)) | → | rcons(X1,X2) | (41) |
posrecip(mark(X)) | → | posrecip(X) | (42) |
posrecip(active(X)) | → | posrecip(X) | (43) |
2ndsneg(mark(X1),X2) | → | 2ndsneg(X1,X2) | (44) |
2ndsneg(X1,mark(X2)) | → | 2ndsneg(X1,X2) | (45) |
2ndsneg(active(X1),X2) | → | 2ndsneg(X1,X2) | (46) |
2ndsneg(X1,active(X2)) | → | 2ndsneg(X1,X2) | (47) |
negrecip(mark(X)) | → | negrecip(X) | (48) |
negrecip(active(X)) | → | negrecip(X) | (49) |
pi(mark(X)) | → | pi(X) | (50) |
pi(active(X)) | → | pi(X) | (51) |
plus(mark(X1),X2) | → | plus(X1,X2) | (52) |
plus(X1,mark(X2)) | → | plus(X1,X2) | (53) |
plus(active(X1),X2) | → | plus(X1,X2) | (54) |
plus(X1,active(X2)) | → | plus(X1,X2) | (55) |
times(mark(X1),X2) | → | times(X1,X2) | (56) |
times(X1,mark(X2)) | → | times(X1,X2) | (57) |
times(active(X1),X2) | → | times(X1,X2) | (58) |
times(X1,active(X2)) | → | times(X1,X2) | (59) |
square(mark(X)) | → | square(X) | (60) |
square(active(X)) | → | square(X) | (61) |
There are 106 ruless (increase limit for explicit display).
The dependency pairs are split into 13 components.
mark#(square(X)) | → | mark#(X) | (129) |
mark#(square(X)) | → | active#(square(mark(X))) | (131) |
active#(square(X)) | → | mark#(times(X,X)) | (88) |
mark#(times(X1,X2)) | → | active#(times(mark(X1),mark(X2))) | (128) |
active#(times(s(X),Y)) | → | mark#(plus(Y,times(X,Y))) | (86) |
mark#(plus(X1,X2)) | → | active#(plus(mark(X1),mark(X2))) | (124) |
active#(plus(s(X),Y)) | → | mark#(s(plus(X,Y))) | (82) |
mark#(s(X)) | → | mark#(X) | (95) |
mark#(times(X1,X2)) | → | mark#(X1) | (126) |
mark#(times(X1,X2)) | → | mark#(X2) | (125) |
mark#(plus(X1,X2)) | → | mark#(X1) | (122) |
mark#(plus(X1,X2)) | → | mark#(X2) | (121) |
mark#(pi(X)) | → | active#(pi(mark(X))) | (120) |
active#(pi(X)) | → | mark#(2ndspos(X,from(0))) | (78) |
mark#(2ndspos(X1,X2)) | → | active#(2ndspos(mark(X1),mark(X2))) | (101) |
active#(2ndspos(s(N),cons(X,cons(Y,Z)))) | → | mark#(rcons(posrecip(Y),2ndsneg(N,Z))) | (70) |
mark#(rcons(X1,X2)) | → | mark#(X1) | (105) |
mark#(pi(X)) | → | mark#(X) | (118) |
mark#(negrecip(X)) | → | mark#(X) | (115) |
mark#(2ndsneg(X1,X2)) | → | active#(2ndsneg(mark(X1),mark(X2))) | (114) |
active#(2ndsneg(s(N),cons(X,cons(Y,Z)))) | → | mark#(rcons(negrecip(Y),2ndspos(N,Z))) | (75) |
mark#(rcons(X1,X2)) | → | mark#(X2) | (104) |
mark#(2ndsneg(X1,X2)) | → | mark#(X1) | (112) |
mark#(2ndsneg(X1,X2)) | → | mark#(X2) | (111) |
mark#(posrecip(X)) | → | mark#(X) | (108) |
mark#(2ndspos(X1,X2)) | → | mark#(X1) | (99) |
mark#(2ndspos(X1,X2)) | → | mark#(X2) | (98) |
mark#(cons(X1,X2)) | → | mark#(X1) | (92) |
mark#(from(X)) | → | active#(from(mark(X))) | (91) |
active#(from(X)) | → | mark#(cons(X,from(s(X)))) | (65) |
mark#(from(X)) | → | mark#(X) | (89) |
active#(plus(0,Y)) | → | mark#(Y) | (79) |
[mark(x1)] | = | 0 · x1 + -∞ |
[square(x1)] | = | 4 · x1 + 0 |
[posrecip(x1)] | = | 0 · x1 + 0 |
[active(x1)] | = | 0 · x1 + -∞ |
[cons(x1, x2)] | = | 0 · x1 + 0 · x2 + 0 |
[active#(x1)] | = | 0 · x1 + -∞ |
[0] | = | 0 |
[rcons(x1, x2)] | = | 0 · x1 + 0 · x2 + 0 |
[from(x1)] | = | 0 · x1 + 0 |
[rnil] | = | 3 |
[mark#(x1)] | = | 0 · x1 + -∞ |
[times(x1, x2)] | = | 0 · x1 + 4 · x2 + 0 |
[pi(x1)] | = | 3 · x1 + 3 |
[negrecip(x1)] | = | 0 · x1 + 0 |
[2ndsneg(x1, x2)] | = | 3 · x1 + 0 · x2 + 0 |
[plus(x1, x2)] | = | 0 · x1 + 0 · x2 + -∞ |
[2ndspos(x1, x2)] | = | 3 · x1 + 0 · x2 + 0 |
[s(x1)] | = | 0 · x1 + -∞ |
active(from(X)) | → | mark(cons(X,from(s(X)))) | (1) |
active(2ndspos(0,Z)) | → | mark(rnil) | (2) |
active(2ndspos(s(N),cons(X,cons(Y,Z)))) | → | mark(rcons(posrecip(Y),2ndsneg(N,Z))) | (3) |
active(2ndsneg(0,Z)) | → | mark(rnil) | (4) |
active(2ndsneg(s(N),cons(X,cons(Y,Z)))) | → | mark(rcons(negrecip(Y),2ndspos(N,Z))) | (5) |
active(pi(X)) | → | mark(2ndspos(X,from(0))) | (6) |
active(plus(0,Y)) | → | mark(Y) | (7) |
active(plus(s(X),Y)) | → | mark(s(plus(X,Y))) | (8) |
active(times(0,Y)) | → | mark(0) | (9) |
active(times(s(X),Y)) | → | mark(plus(Y,times(X,Y))) | (10) |
active(square(X)) | → | mark(times(X,X)) | (11) |
mark(from(X)) | → | active(from(mark(X))) | (12) |
mark(cons(X1,X2)) | → | active(cons(mark(X1),X2)) | (13) |
mark(s(X)) | → | active(s(mark(X))) | (14) |
mark(2ndspos(X1,X2)) | → | active(2ndspos(mark(X1),mark(X2))) | (15) |
mark(0) | → | active(0) | (16) |
mark(rnil) | → | active(rnil) | (17) |
mark(rcons(X1,X2)) | → | active(rcons(mark(X1),mark(X2))) | (18) |
mark(posrecip(X)) | → | active(posrecip(mark(X))) | (19) |
mark(2ndsneg(X1,X2)) | → | active(2ndsneg(mark(X1),mark(X2))) | (20) |
mark(negrecip(X)) | → | active(negrecip(mark(X))) | (21) |
mark(pi(X)) | → | active(pi(mark(X))) | (22) |
mark(plus(X1,X2)) | → | active(plus(mark(X1),mark(X2))) | (23) |
mark(times(X1,X2)) | → | active(times(mark(X1),mark(X2))) | (24) |
mark(square(X)) | → | active(square(mark(X))) | (25) |
from(mark(X)) | → | from(X) | (26) |
from(active(X)) | → | from(X) | (27) |
cons(mark(X1),X2) | → | cons(X1,X2) | (28) |
cons(X1,mark(X2)) | → | cons(X1,X2) | (29) |
cons(active(X1),X2) | → | cons(X1,X2) | (30) |
cons(X1,active(X2)) | → | cons(X1,X2) | (31) |
s(mark(X)) | → | s(X) | (32) |
s(active(X)) | → | s(X) | (33) |
2ndspos(mark(X1),X2) | → | 2ndspos(X1,X2) | (34) |
2ndspos(X1,mark(X2)) | → | 2ndspos(X1,X2) | (35) |
2ndspos(active(X1),X2) | → | 2ndspos(X1,X2) | (36) |
2ndspos(X1,active(X2)) | → | 2ndspos(X1,X2) | (37) |
rcons(mark(X1),X2) | → | rcons(X1,X2) | (38) |
rcons(X1,mark(X2)) | → | rcons(X1,X2) | (39) |
rcons(active(X1),X2) | → | rcons(X1,X2) | (40) |
rcons(X1,active(X2)) | → | rcons(X1,X2) | (41) |
posrecip(mark(X)) | → | posrecip(X) | (42) |
posrecip(active(X)) | → | posrecip(X) | (43) |
2ndsneg(mark(X1),X2) | → | 2ndsneg(X1,X2) | (44) |
2ndsneg(X1,mark(X2)) | → | 2ndsneg(X1,X2) | (45) |
2ndsneg(active(X1),X2) | → | 2ndsneg(X1,X2) | (46) |
2ndsneg(X1,active(X2)) | → | 2ndsneg(X1,X2) | (47) |
negrecip(mark(X)) | → | negrecip(X) | (48) |
negrecip(active(X)) | → | negrecip(X) | (49) |
pi(mark(X)) | → | pi(X) | (50) |
pi(active(X)) | → | pi(X) | (51) |
plus(mark(X1),X2) | → | plus(X1,X2) | (52) |
plus(X1,mark(X2)) | → | plus(X1,X2) | (53) |
plus(active(X1),X2) | → | plus(X1,X2) | (54) |
plus(X1,active(X2)) | → | plus(X1,X2) | (55) |
times(mark(X1),X2) | → | times(X1,X2) | (56) |
times(X1,mark(X2)) | → | times(X1,X2) | (57) |
times(active(X1),X2) | → | times(X1,X2) | (58) |
times(X1,active(X2)) | → | times(X1,X2) | (59) |
square(mark(X)) | → | square(X) | (60) |
square(active(X)) | → | square(X) | (61) |
mark#(square(X)) | → | mark#(X) | (129) |
mark#(times(X1,X2)) | → | mark#(X2) | (125) |
mark#(pi(X)) | → | mark#(X) | (118) |
mark#(2ndsneg(X1,X2)) | → | mark#(X1) | (112) |
mark#(2ndspos(X1,X2)) | → | mark#(X1) | (99) |
[mark(x1)] | = | 0 · x1 + -∞ |
[square(x1)] | = | 0 · x1 + -∞ |
[posrecip(x1)] | = | 0 · x1 + 0 |
[active(x1)] | = | 0 · x1 + -∞ |
[cons(x1, x2)] | = | 0 · x1 + 0 · x2 + -∞ |
[active#(x1)] | = | 0 · x1 + 0 |
[0] | = | 0 |
[rcons(x1, x2)] | = | 0 · x1 + 0 · x2 + -∞ |
[from(x1)] | = | 0 · x1 + 0 |
[rnil] | = | 0 |
[mark#(x1)] | = | 0 · x1 + 0 |
[times(x1, x2)] | = | 0 · x1 + 0 · x2 + -∞ |
[pi(x1)] | = | 1 · x1 + 4 |
[negrecip(x1)] | = | 0 · x1 + 0 |
[2ndsneg(x1, x2)] | = | 0 · x1 + 0 · x2 + -∞ |
[plus(x1, x2)] | = | 0 · x1 + 0 · x2 + 0 |
[2ndspos(x1, x2)] | = | 0 · x1 + 0 · x2 + -∞ |
[s(x1)] | = | 0 · x1 + 0 |
active(from(X)) | → | mark(cons(X,from(s(X)))) | (1) |
active(2ndspos(0,Z)) | → | mark(rnil) | (2) |
active(2ndspos(s(N),cons(X,cons(Y,Z)))) | → | mark(rcons(posrecip(Y),2ndsneg(N,Z))) | (3) |
active(2ndsneg(0,Z)) | → | mark(rnil) | (4) |
active(2ndsneg(s(N),cons(X,cons(Y,Z)))) | → | mark(rcons(negrecip(Y),2ndspos(N,Z))) | (5) |
active(pi(X)) | → | mark(2ndspos(X,from(0))) | (6) |
active(plus(0,Y)) | → | mark(Y) | (7) |
active(plus(s(X),Y)) | → | mark(s(plus(X,Y))) | (8) |
active(times(0,Y)) | → | mark(0) | (9) |
active(times(s(X),Y)) | → | mark(plus(Y,times(X,Y))) | (10) |
active(square(X)) | → | mark(times(X,X)) | (11) |
mark(from(X)) | → | active(from(mark(X))) | (12) |
mark(cons(X1,X2)) | → | active(cons(mark(X1),X2)) | (13) |
mark(s(X)) | → | active(s(mark(X))) | (14) |
mark(2ndspos(X1,X2)) | → | active(2ndspos(mark(X1),mark(X2))) | (15) |
mark(0) | → | active(0) | (16) |
mark(rnil) | → | active(rnil) | (17) |
mark(rcons(X1,X2)) | → | active(rcons(mark(X1),mark(X2))) | (18) |
mark(posrecip(X)) | → | active(posrecip(mark(X))) | (19) |
mark(2ndsneg(X1,X2)) | → | active(2ndsneg(mark(X1),mark(X2))) | (20) |
mark(negrecip(X)) | → | active(negrecip(mark(X))) | (21) |
mark(pi(X)) | → | active(pi(mark(X))) | (22) |
mark(plus(X1,X2)) | → | active(plus(mark(X1),mark(X2))) | (23) |
mark(times(X1,X2)) | → | active(times(mark(X1),mark(X2))) | (24) |
mark(square(X)) | → | active(square(mark(X))) | (25) |
from(mark(X)) | → | from(X) | (26) |
from(active(X)) | → | from(X) | (27) |
cons(mark(X1),X2) | → | cons(X1,X2) | (28) |
cons(X1,mark(X2)) | → | cons(X1,X2) | (29) |
cons(active(X1),X2) | → | cons(X1,X2) | (30) |
cons(X1,active(X2)) | → | cons(X1,X2) | (31) |
s(mark(X)) | → | s(X) | (32) |
s(active(X)) | → | s(X) | (33) |
2ndspos(mark(X1),X2) | → | 2ndspos(X1,X2) | (34) |
2ndspos(X1,mark(X2)) | → | 2ndspos(X1,X2) | (35) |
2ndspos(active(X1),X2) | → | 2ndspos(X1,X2) | (36) |
2ndspos(X1,active(X2)) | → | 2ndspos(X1,X2) | (37) |
rcons(mark(X1),X2) | → | rcons(X1,X2) | (38) |
rcons(X1,mark(X2)) | → | rcons(X1,X2) | (39) |
rcons(active(X1),X2) | → | rcons(X1,X2) | (40) |
rcons(X1,active(X2)) | → | rcons(X1,X2) | (41) |
posrecip(mark(X)) | → | posrecip(X) | (42) |
posrecip(active(X)) | → | posrecip(X) | (43) |
2ndsneg(mark(X1),X2) | → | 2ndsneg(X1,X2) | (44) |
2ndsneg(X1,mark(X2)) | → | 2ndsneg(X1,X2) | (45) |
2ndsneg(active(X1),X2) | → | 2ndsneg(X1,X2) | (46) |
2ndsneg(X1,active(X2)) | → | 2ndsneg(X1,X2) | (47) |
negrecip(mark(X)) | → | negrecip(X) | (48) |
negrecip(active(X)) | → | negrecip(X) | (49) |
pi(mark(X)) | → | pi(X) | (50) |
pi(active(X)) | → | pi(X) | (51) |
plus(mark(X1),X2) | → | plus(X1,X2) | (52) |
plus(X1,mark(X2)) | → | plus(X1,X2) | (53) |
plus(active(X1),X2) | → | plus(X1,X2) | (54) |
plus(X1,active(X2)) | → | plus(X1,X2) | (55) |
times(mark(X1),X2) | → | times(X1,X2) | (56) |
times(X1,mark(X2)) | → | times(X1,X2) | (57) |
times(active(X1),X2) | → | times(X1,X2) | (58) |
times(X1,active(X2)) | → | times(X1,X2) | (59) |
square(mark(X)) | → | square(X) | (60) |
square(active(X)) | → | square(X) | (61) |
active#(pi(X)) | → | mark#(2ndspos(X,from(0))) | (78) |
The dependency pairs are split into 1 component.
mark#(square(X)) | → | active#(square(mark(X))) | (131) |
active#(square(X)) | → | mark#(times(X,X)) | (88) |
mark#(times(X1,X2)) | → | active#(times(mark(X1),mark(X2))) | (128) |
active#(times(s(X),Y)) | → | mark#(plus(Y,times(X,Y))) | (86) |
mark#(plus(X1,X2)) | → | active#(plus(mark(X1),mark(X2))) | (124) |
active#(plus(s(X),Y)) | → | mark#(s(plus(X,Y))) | (82) |
mark#(s(X)) | → | mark#(X) | (95) |
mark#(times(X1,X2)) | → | mark#(X1) | (126) |
mark#(plus(X1,X2)) | → | mark#(X1) | (122) |
mark#(plus(X1,X2)) | → | mark#(X2) | (121) |
mark#(negrecip(X)) | → | mark#(X) | (115) |
mark#(2ndsneg(X1,X2)) | → | active#(2ndsneg(mark(X1),mark(X2))) | (114) |
active#(2ndsneg(s(N),cons(X,cons(Y,Z)))) | → | mark#(rcons(negrecip(Y),2ndspos(N,Z))) | (75) |
mark#(rcons(X1,X2)) | → | mark#(X1) | (105) |
mark#(2ndsneg(X1,X2)) | → | mark#(X2) | (111) |
mark#(posrecip(X)) | → | mark#(X) | (108) |
mark#(rcons(X1,X2)) | → | mark#(X2) | (104) |
mark#(2ndspos(X1,X2)) | → | active#(2ndspos(mark(X1),mark(X2))) | (101) |
active#(2ndspos(s(N),cons(X,cons(Y,Z)))) | → | mark#(rcons(posrecip(Y),2ndsneg(N,Z))) | (70) |
mark#(2ndspos(X1,X2)) | → | mark#(X2) | (98) |
mark#(cons(X1,X2)) | → | mark#(X1) | (92) |
mark#(from(X)) | → | active#(from(mark(X))) | (91) |
active#(from(X)) | → | mark#(cons(X,from(s(X)))) | (65) |
mark#(from(X)) | → | mark#(X) | (89) |
active#(plus(0,Y)) | → | mark#(Y) | (79) |
[mark(x1)] | = | 0 · x1 + 0 |
[square(x1)] | = | 4 · x1 + 4 |
[posrecip(x1)] | = | 0 · x1 + -∞ |
[active(x1)] | = | 0 · x1 + 0 |
[cons(x1, x2)] | = | 0 · x1 + 0 · x2 + 0 |
[active#(x1)] | = | 0 · x1 + 0 |
[0] | = | 0 |
[rcons(x1, x2)] | = | 0 · x1 + 0 · x2 + -∞ |
[from(x1)] | = | 6 · x1 + 6 |
[rnil] | = | 0 |
[mark#(x1)] | = | 0 · x1 + 0 |
[times(x1, x2)] | = | 0 · x1 + 1 · x2 + 1 |
[pi(x1)] | = | 3 · x1 + 6 |
[negrecip(x1)] | = | 0 · x1 + 0 |
[2ndsneg(x1, x2)] | = | 0 · x1 + 0 · x2 + 0 |
[plus(x1, x2)] | = | 0 · x1 + 0 · x2 + 0 |
[2ndspos(x1, x2)] | = | 0 · x1 + 0 · x2 + -∞ |
[s(x1)] | = | 0 · x1 + 0 |
active(from(X)) | → | mark(cons(X,from(s(X)))) | (1) |
active(2ndspos(0,Z)) | → | mark(rnil) | (2) |
active(2ndspos(s(N),cons(X,cons(Y,Z)))) | → | mark(rcons(posrecip(Y),2ndsneg(N,Z))) | (3) |
active(2ndsneg(0,Z)) | → | mark(rnil) | (4) |
active(2ndsneg(s(N),cons(X,cons(Y,Z)))) | → | mark(rcons(negrecip(Y),2ndspos(N,Z))) | (5) |
active(pi(X)) | → | mark(2ndspos(X,from(0))) | (6) |
active(plus(0,Y)) | → | mark(Y) | (7) |
active(plus(s(X),Y)) | → | mark(s(plus(X,Y))) | (8) |
active(times(0,Y)) | → | mark(0) | (9) |
active(times(s(X),Y)) | → | mark(plus(Y,times(X,Y))) | (10) |
active(square(X)) | → | mark(times(X,X)) | (11) |
mark(from(X)) | → | active(from(mark(X))) | (12) |
mark(cons(X1,X2)) | → | active(cons(mark(X1),X2)) | (13) |
mark(s(X)) | → | active(s(mark(X))) | (14) |
mark(2ndspos(X1,X2)) | → | active(2ndspos(mark(X1),mark(X2))) | (15) |
mark(0) | → | active(0) | (16) |
mark(rnil) | → | active(rnil) | (17) |
mark(rcons(X1,X2)) | → | active(rcons(mark(X1),mark(X2))) | (18) |
mark(posrecip(X)) | → | active(posrecip(mark(X))) | (19) |
mark(2ndsneg(X1,X2)) | → | active(2ndsneg(mark(X1),mark(X2))) | (20) |
mark(negrecip(X)) | → | active(negrecip(mark(X))) | (21) |
mark(pi(X)) | → | active(pi(mark(X))) | (22) |
mark(plus(X1,X2)) | → | active(plus(mark(X1),mark(X2))) | (23) |
mark(times(X1,X2)) | → | active(times(mark(X1),mark(X2))) | (24) |
mark(square(X)) | → | active(square(mark(X))) | (25) |
from(mark(X)) | → | from(X) | (26) |
from(active(X)) | → | from(X) | (27) |
cons(mark(X1),X2) | → | cons(X1,X2) | (28) |
cons(X1,mark(X2)) | → | cons(X1,X2) | (29) |
cons(active(X1),X2) | → | cons(X1,X2) | (30) |
cons(X1,active(X2)) | → | cons(X1,X2) | (31) |
s(mark(X)) | → | s(X) | (32) |
s(active(X)) | → | s(X) | (33) |
2ndspos(mark(X1),X2) | → | 2ndspos(X1,X2) | (34) |
2ndspos(X1,mark(X2)) | → | 2ndspos(X1,X2) | (35) |
2ndspos(active(X1),X2) | → | 2ndspos(X1,X2) | (36) |
2ndspos(X1,active(X2)) | → | 2ndspos(X1,X2) | (37) |
rcons(mark(X1),X2) | → | rcons(X1,X2) | (38) |
rcons(X1,mark(X2)) | → | rcons(X1,X2) | (39) |
rcons(active(X1),X2) | → | rcons(X1,X2) | (40) |
rcons(X1,active(X2)) | → | rcons(X1,X2) | (41) |
posrecip(mark(X)) | → | posrecip(X) | (42) |
posrecip(active(X)) | → | posrecip(X) | (43) |
2ndsneg(mark(X1),X2) | → | 2ndsneg(X1,X2) | (44) |
2ndsneg(X1,mark(X2)) | → | 2ndsneg(X1,X2) | (45) |
2ndsneg(active(X1),X2) | → | 2ndsneg(X1,X2) | (46) |
2ndsneg(X1,active(X2)) | → | 2ndsneg(X1,X2) | (47) |
negrecip(mark(X)) | → | negrecip(X) | (48) |
negrecip(active(X)) | → | negrecip(X) | (49) |
pi(mark(X)) | → | pi(X) | (50) |
pi(active(X)) | → | pi(X) | (51) |
plus(mark(X1),X2) | → | plus(X1,X2) | (52) |
plus(X1,mark(X2)) | → | plus(X1,X2) | (53) |
plus(active(X1),X2) | → | plus(X1,X2) | (54) |
plus(X1,active(X2)) | → | plus(X1,X2) | (55) |
times(mark(X1),X2) | → | times(X1,X2) | (56) |
times(X1,mark(X2)) | → | times(X1,X2) | (57) |
times(active(X1),X2) | → | times(X1,X2) | (58) |
times(X1,active(X2)) | → | times(X1,X2) | (59) |
square(mark(X)) | → | square(X) | (60) |
square(active(X)) | → | square(X) | (61) |
active#(square(X)) | → | mark#(times(X,X)) | (88) |
mark#(from(X)) | → | mark#(X) | (89) |
The dependency pairs are split into 1 component.
mark#(times(X1,X2)) | → | mark#(X1) | (126) |
mark#(times(X1,X2)) | → | active#(times(mark(X1),mark(X2))) | (128) |
active#(times(s(X),Y)) | → | mark#(plus(Y,times(X,Y))) | (86) |
mark#(plus(X1,X2)) | → | active#(plus(mark(X1),mark(X2))) | (124) |
active#(plus(s(X),Y)) | → | mark#(s(plus(X,Y))) | (82) |
mark#(s(X)) | → | mark#(X) | (95) |
mark#(plus(X1,X2)) | → | mark#(X1) | (122) |
mark#(plus(X1,X2)) | → | mark#(X2) | (121) |
mark#(negrecip(X)) | → | mark#(X) | (115) |
mark#(2ndsneg(X1,X2)) | → | active#(2ndsneg(mark(X1),mark(X2))) | (114) |
active#(2ndsneg(s(N),cons(X,cons(Y,Z)))) | → | mark#(rcons(negrecip(Y),2ndspos(N,Z))) | (75) |
mark#(rcons(X1,X2)) | → | mark#(X1) | (105) |
mark#(2ndsneg(X1,X2)) | → | mark#(X2) | (111) |
mark#(posrecip(X)) | → | mark#(X) | (108) |
mark#(rcons(X1,X2)) | → | mark#(X2) | (104) |
mark#(2ndspos(X1,X2)) | → | active#(2ndspos(mark(X1),mark(X2))) | (101) |
active#(2ndspos(s(N),cons(X,cons(Y,Z)))) | → | mark#(rcons(posrecip(Y),2ndsneg(N,Z))) | (70) |
mark#(2ndspos(X1,X2)) | → | mark#(X2) | (98) |
mark#(cons(X1,X2)) | → | mark#(X1) | (92) |
mark#(from(X)) | → | active#(from(mark(X))) | (91) |
active#(from(X)) | → | mark#(cons(X,from(s(X)))) | (65) |
active#(plus(0,Y)) | → | mark#(Y) | (79) |
[mark(x1)] | = | 0 · x1 + -∞ |
[square(x1)] | = | 1 · x1 + 6 |
[posrecip(x1)] | = | 0 · x1 + 0 |
[active(x1)] | = | 0 · x1 + -∞ |
[cons(x1, x2)] | = | 0 · x1 + 0 · x2 + -∞ |
[active#(x1)] | = | 0 · x1 + 0 |
[0] | = | 0 |
[rcons(x1, x2)] | = | 0 · x1 + 0 · x2 + -∞ |
[from(x1)] | = | 0 · x1 + -∞ |
[rnil] | = | 0 |
[mark#(x1)] | = | 0 · x1 + 0 |
[times(x1, x2)] | = | 1 · x1 + 1 · x2 + 6 |
[pi(x1)] | = | -∞ · x1 + 2 |
[negrecip(x1)] | = | 0 · x1 + -∞ |
[2ndsneg(x1, x2)] | = | -∞ · x1 + 0 · x2 + 2 |
[plus(x1, x2)] | = | 0 · x1 + 0 · x2 + 6 |
[2ndspos(x1, x2)] | = | -∞ · x1 + 0 · x2 + 2 |
[s(x1)] | = | 0 · x1 + -∞ |
active(from(X)) | → | mark(cons(X,from(s(X)))) | (1) |
active(2ndspos(0,Z)) | → | mark(rnil) | (2) |
active(2ndspos(s(N),cons(X,cons(Y,Z)))) | → | mark(rcons(posrecip(Y),2ndsneg(N,Z))) | (3) |
active(2ndsneg(0,Z)) | → | mark(rnil) | (4) |
active(2ndsneg(s(N),cons(X,cons(Y,Z)))) | → | mark(rcons(negrecip(Y),2ndspos(N,Z))) | (5) |
active(pi(X)) | → | mark(2ndspos(X,from(0))) | (6) |
active(plus(0,Y)) | → | mark(Y) | (7) |
active(plus(s(X),Y)) | → | mark(s(plus(X,Y))) | (8) |
active(times(0,Y)) | → | mark(0) | (9) |
active(times(s(X),Y)) | → | mark(plus(Y,times(X,Y))) | (10) |
active(square(X)) | → | mark(times(X,X)) | (11) |
mark(from(X)) | → | active(from(mark(X))) | (12) |
mark(cons(X1,X2)) | → | active(cons(mark(X1),X2)) | (13) |
mark(s(X)) | → | active(s(mark(X))) | (14) |
mark(2ndspos(X1,X2)) | → | active(2ndspos(mark(X1),mark(X2))) | (15) |
mark(0) | → | active(0) | (16) |
mark(rnil) | → | active(rnil) | (17) |
mark(rcons(X1,X2)) | → | active(rcons(mark(X1),mark(X2))) | (18) |
mark(posrecip(X)) | → | active(posrecip(mark(X))) | (19) |
mark(2ndsneg(X1,X2)) | → | active(2ndsneg(mark(X1),mark(X2))) | (20) |
mark(negrecip(X)) | → | active(negrecip(mark(X))) | (21) |
mark(pi(X)) | → | active(pi(mark(X))) | (22) |
mark(plus(X1,X2)) | → | active(plus(mark(X1),mark(X2))) | (23) |
mark(times(X1,X2)) | → | active(times(mark(X1),mark(X2))) | (24) |
mark(square(X)) | → | active(square(mark(X))) | (25) |
from(mark(X)) | → | from(X) | (26) |
from(active(X)) | → | from(X) | (27) |
cons(mark(X1),X2) | → | cons(X1,X2) | (28) |
cons(X1,mark(X2)) | → | cons(X1,X2) | (29) |
cons(active(X1),X2) | → | cons(X1,X2) | (30) |
cons(X1,active(X2)) | → | cons(X1,X2) | (31) |
s(mark(X)) | → | s(X) | (32) |
s(active(X)) | → | s(X) | (33) |
2ndspos(mark(X1),X2) | → | 2ndspos(X1,X2) | (34) |
2ndspos(X1,mark(X2)) | → | 2ndspos(X1,X2) | (35) |
2ndspos(active(X1),X2) | → | 2ndspos(X1,X2) | (36) |
2ndspos(X1,active(X2)) | → | 2ndspos(X1,X2) | (37) |
rcons(mark(X1),X2) | → | rcons(X1,X2) | (38) |
rcons(X1,mark(X2)) | → | rcons(X1,X2) | (39) |
rcons(active(X1),X2) | → | rcons(X1,X2) | (40) |
rcons(X1,active(X2)) | → | rcons(X1,X2) | (41) |
posrecip(mark(X)) | → | posrecip(X) | (42) |
posrecip(active(X)) | → | posrecip(X) | (43) |
2ndsneg(mark(X1),X2) | → | 2ndsneg(X1,X2) | (44) |
2ndsneg(X1,mark(X2)) | → | 2ndsneg(X1,X2) | (45) |
2ndsneg(active(X1),X2) | → | 2ndsneg(X1,X2) | (46) |
2ndsneg(X1,active(X2)) | → | 2ndsneg(X1,X2) | (47) |
negrecip(mark(X)) | → | negrecip(X) | (48) |
negrecip(active(X)) | → | negrecip(X) | (49) |
pi(mark(X)) | → | pi(X) | (50) |
pi(active(X)) | → | pi(X) | (51) |
plus(mark(X1),X2) | → | plus(X1,X2) | (52) |
plus(X1,mark(X2)) | → | plus(X1,X2) | (53) |
plus(active(X1),X2) | → | plus(X1,X2) | (54) |
plus(X1,active(X2)) | → | plus(X1,X2) | (55) |
times(mark(X1),X2) | → | times(X1,X2) | (56) |
times(X1,mark(X2)) | → | times(X1,X2) | (57) |
times(active(X1),X2) | → | times(X1,X2) | (58) |
times(X1,active(X2)) | → | times(X1,X2) | (59) |
square(mark(X)) | → | square(X) | (60) |
square(active(X)) | → | square(X) | (61) |
mark#(times(X1,X2)) | → | mark#(X1) | (126) |
[mark(x1)] | = | 0 · x1 + -∞ |
[square(x1)] | = | 0 · x1 + -∞ |
[posrecip(x1)] | = | 4 · x1 + -∞ |
[active(x1)] | = | 0 · x1 + -∞ |
[cons(x1, x2)] | = | 0 · x1 + 0 · x2 + -∞ |
[active#(x1)] | = | 0 · x1 + 0 |
[0] | = | 0 |
[rcons(x1, x2)] | = | 0 · x1 + 0 · x2 + -∞ |
[from(x1)] | = | 0 · x1 + -∞ |
[rnil] | = | 0 |
[mark#(x1)] | = | 0 · x1 + 0 |
[times(x1, x2)] | = | 0 · x1 + 0 · x2 + -∞ |
[pi(x1)] | = | 0 · x1 + 4 |
[negrecip(x1)] | = | 2 · x1 + -∞ |
[2ndsneg(x1, x2)] | = | 0 · x1 + 4 · x2 + 1 |
[plus(x1, x2)] | = | 0 · x1 + 0 · x2 + -∞ |
[2ndspos(x1, x2)] | = | 0 · x1 + 4 · x2 + 1 |
[s(x1)] | = | 0 · x1 + -∞ |
active(from(X)) | → | mark(cons(X,from(s(X)))) | (1) |
active(2ndspos(0,Z)) | → | mark(rnil) | (2) |
active(2ndspos(s(N),cons(X,cons(Y,Z)))) | → | mark(rcons(posrecip(Y),2ndsneg(N,Z))) | (3) |
active(2ndsneg(0,Z)) | → | mark(rnil) | (4) |
active(2ndsneg(s(N),cons(X,cons(Y,Z)))) | → | mark(rcons(negrecip(Y),2ndspos(N,Z))) | (5) |
active(pi(X)) | → | mark(2ndspos(X,from(0))) | (6) |
active(plus(0,Y)) | → | mark(Y) | (7) |
active(plus(s(X),Y)) | → | mark(s(plus(X,Y))) | (8) |
active(times(0,Y)) | → | mark(0) | (9) |
active(times(s(X),Y)) | → | mark(plus(Y,times(X,Y))) | (10) |
active(square(X)) | → | mark(times(X,X)) | (11) |
mark(from(X)) | → | active(from(mark(X))) | (12) |
mark(cons(X1,X2)) | → | active(cons(mark(X1),X2)) | (13) |
mark(s(X)) | → | active(s(mark(X))) | (14) |
mark(2ndspos(X1,X2)) | → | active(2ndspos(mark(X1),mark(X2))) | (15) |
mark(0) | → | active(0) | (16) |
mark(rnil) | → | active(rnil) | (17) |
mark(rcons(X1,X2)) | → | active(rcons(mark(X1),mark(X2))) | (18) |
mark(posrecip(X)) | → | active(posrecip(mark(X))) | (19) |
mark(2ndsneg(X1,X2)) | → | active(2ndsneg(mark(X1),mark(X2))) | (20) |
mark(negrecip(X)) | → | active(negrecip(mark(X))) | (21) |
mark(pi(X)) | → | active(pi(mark(X))) | (22) |
mark(plus(X1,X2)) | → | active(plus(mark(X1),mark(X2))) | (23) |
mark(times(X1,X2)) | → | active(times(mark(X1),mark(X2))) | (24) |
mark(square(X)) | → | active(square(mark(X))) | (25) |
from(mark(X)) | → | from(X) | (26) |
from(active(X)) | → | from(X) | (27) |
cons(mark(X1),X2) | → | cons(X1,X2) | (28) |
cons(X1,mark(X2)) | → | cons(X1,X2) | (29) |
cons(active(X1),X2) | → | cons(X1,X2) | (30) |
cons(X1,active(X2)) | → | cons(X1,X2) | (31) |
s(mark(X)) | → | s(X) | (32) |
s(active(X)) | → | s(X) | (33) |
2ndspos(mark(X1),X2) | → | 2ndspos(X1,X2) | (34) |
2ndspos(X1,mark(X2)) | → | 2ndspos(X1,X2) | (35) |
2ndspos(active(X1),X2) | → | 2ndspos(X1,X2) | (36) |
2ndspos(X1,active(X2)) | → | 2ndspos(X1,X2) | (37) |
rcons(mark(X1),X2) | → | rcons(X1,X2) | (38) |
rcons(X1,mark(X2)) | → | rcons(X1,X2) | (39) |
rcons(active(X1),X2) | → | rcons(X1,X2) | (40) |
rcons(X1,active(X2)) | → | rcons(X1,X2) | (41) |
posrecip(mark(X)) | → | posrecip(X) | (42) |
posrecip(active(X)) | → | posrecip(X) | (43) |
2ndsneg(mark(X1),X2) | → | 2ndsneg(X1,X2) | (44) |
2ndsneg(X1,mark(X2)) | → | 2ndsneg(X1,X2) | (45) |
2ndsneg(active(X1),X2) | → | 2ndsneg(X1,X2) | (46) |
2ndsneg(X1,active(X2)) | → | 2ndsneg(X1,X2) | (47) |
negrecip(mark(X)) | → | negrecip(X) | (48) |
negrecip(active(X)) | → | negrecip(X) | (49) |
pi(mark(X)) | → | pi(X) | (50) |
pi(active(X)) | → | pi(X) | (51) |
plus(mark(X1),X2) | → | plus(X1,X2) | (52) |
plus(X1,mark(X2)) | → | plus(X1,X2) | (53) |
plus(active(X1),X2) | → | plus(X1,X2) | (54) |
plus(X1,active(X2)) | → | plus(X1,X2) | (55) |
times(mark(X1),X2) | → | times(X1,X2) | (56) |
times(X1,mark(X2)) | → | times(X1,X2) | (57) |
times(active(X1),X2) | → | times(X1,X2) | (58) |
times(X1,active(X2)) | → | times(X1,X2) | (59) |
square(mark(X)) | → | square(X) | (60) |
square(active(X)) | → | square(X) | (61) |
mark#(2ndsneg(X1,X2)) | → | mark#(X2) | (111) |
mark#(2ndspos(X1,X2)) | → | mark#(X2) | (98) |
[mark(x1)] | = | 0 · x1 + -∞ |
[square(x1)] | = | 6 · x1 + 1 |
[posrecip(x1)] | = | 0 · x1 + -∞ |
[active(x1)] | = | 0 · x1 + -∞ |
[cons(x1, x2)] | = | 0 · x1 + 0 · x2 + 0 |
[active#(x1)] | = | 0 · x1 + 0 |
[0] | = | 4 |
[rcons(x1, x2)] | = | 0 · x1 + 0 · x2 + 0 |
[from(x1)] | = | 0 · x1 + 0 |
[rnil] | = | 3 |
[mark#(x1)] | = | 0 · x1 + 0 |
[times(x1, x2)] | = | 0 · x1 + 5 · x2 + 1 |
[pi(x1)] | = | 5 · x1 + 5 |
[negrecip(x1)] | = | 0 · x1 + -∞ |
[2ndsneg(x1, x2)] | = | 0 · x1 + 0 · x2 + -∞ |
[plus(x1, x2)] | = | 2 · x1 + 0 · x2 + 1 |
[2ndspos(x1, x2)] | = | 0 · x1 + 0 · x2 + -∞ |
[s(x1)] | = | 0 · x1 + -∞ |
active(from(X)) | → | mark(cons(X,from(s(X)))) | (1) |
active(2ndspos(0,Z)) | → | mark(rnil) | (2) |
active(2ndspos(s(N),cons(X,cons(Y,Z)))) | → | mark(rcons(posrecip(Y),2ndsneg(N,Z))) | (3) |
active(2ndsneg(0,Z)) | → | mark(rnil) | (4) |
active(2ndsneg(s(N),cons(X,cons(Y,Z)))) | → | mark(rcons(negrecip(Y),2ndspos(N,Z))) | (5) |
active(pi(X)) | → | mark(2ndspos(X,from(0))) | (6) |
active(plus(0,Y)) | → | mark(Y) | (7) |
active(plus(s(X),Y)) | → | mark(s(plus(X,Y))) | (8) |
active(times(0,Y)) | → | mark(0) | (9) |
active(times(s(X),Y)) | → | mark(plus(Y,times(X,Y))) | (10) |
active(square(X)) | → | mark(times(X,X)) | (11) |
mark(from(X)) | → | active(from(mark(X))) | (12) |
mark(cons(X1,X2)) | → | active(cons(mark(X1),X2)) | (13) |
mark(s(X)) | → | active(s(mark(X))) | (14) |
mark(2ndspos(X1,X2)) | → | active(2ndspos(mark(X1),mark(X2))) | (15) |
mark(0) | → | active(0) | (16) |
mark(rnil) | → | active(rnil) | (17) |
mark(rcons(X1,X2)) | → | active(rcons(mark(X1),mark(X2))) | (18) |
mark(posrecip(X)) | → | active(posrecip(mark(X))) | (19) |
mark(2ndsneg(X1,X2)) | → | active(2ndsneg(mark(X1),mark(X2))) | (20) |
mark(negrecip(X)) | → | active(negrecip(mark(X))) | (21) |
mark(pi(X)) | → | active(pi(mark(X))) | (22) |
mark(plus(X1,X2)) | → | active(plus(mark(X1),mark(X2))) | (23) |
mark(times(X1,X2)) | → | active(times(mark(X1),mark(X2))) | (24) |
mark(square(X)) | → | active(square(mark(X))) | (25) |
from(mark(X)) | → | from(X) | (26) |
from(active(X)) | → | from(X) | (27) |
cons(mark(X1),X2) | → | cons(X1,X2) | (28) |
cons(X1,mark(X2)) | → | cons(X1,X2) | (29) |
cons(active(X1),X2) | → | cons(X1,X2) | (30) |
cons(X1,active(X2)) | → | cons(X1,X2) | (31) |
s(mark(X)) | → | s(X) | (32) |
s(active(X)) | → | s(X) | (33) |
2ndspos(mark(X1),X2) | → | 2ndspos(X1,X2) | (34) |
2ndspos(X1,mark(X2)) | → | 2ndspos(X1,X2) | (35) |
2ndspos(active(X1),X2) | → | 2ndspos(X1,X2) | (36) |
2ndspos(X1,active(X2)) | → | 2ndspos(X1,X2) | (37) |
rcons(mark(X1),X2) | → | rcons(X1,X2) | (38) |
rcons(X1,mark(X2)) | → | rcons(X1,X2) | (39) |
rcons(active(X1),X2) | → | rcons(X1,X2) | (40) |
rcons(X1,active(X2)) | → | rcons(X1,X2) | (41) |
posrecip(mark(X)) | → | posrecip(X) | (42) |
posrecip(active(X)) | → | posrecip(X) | (43) |
2ndsneg(mark(X1),X2) | → | 2ndsneg(X1,X2) | (44) |
2ndsneg(X1,mark(X2)) | → | 2ndsneg(X1,X2) | (45) |
2ndsneg(active(X1),X2) | → | 2ndsneg(X1,X2) | (46) |
2ndsneg(X1,active(X2)) | → | 2ndsneg(X1,X2) | (47) |
negrecip(mark(X)) | → | negrecip(X) | (48) |
negrecip(active(X)) | → | negrecip(X) | (49) |
pi(mark(X)) | → | pi(X) | (50) |
pi(active(X)) | → | pi(X) | (51) |
plus(mark(X1),X2) | → | plus(X1,X2) | (52) |
plus(X1,mark(X2)) | → | plus(X1,X2) | (53) |
plus(active(X1),X2) | → | plus(X1,X2) | (54) |
plus(X1,active(X2)) | → | plus(X1,X2) | (55) |
times(mark(X1),X2) | → | times(X1,X2) | (56) |
times(X1,mark(X2)) | → | times(X1,X2) | (57) |
times(active(X1),X2) | → | times(X1,X2) | (58) |
times(X1,active(X2)) | → | times(X1,X2) | (59) |
square(mark(X)) | → | square(X) | (60) |
square(active(X)) | → | square(X) | (61) |
mark#(plus(X1,X2)) | → | mark#(X1) | (122) |
[mark(x1)] | = | 0 · x1 + -∞ |
[square(x1)] | = | 0 · x1 + 0 |
[posrecip(x1)] | = | 0 · x1 + -∞ |
[active(x1)] | = | 0 · x1 + -∞ |
[cons(x1, x2)] | = | 0 · x1 + 0 · x2 + 1 |
[active#(x1)] | = | 0 · x1 + -∞ |
[0] | = | 0 |
[rcons(x1, x2)] | = | 1 · x1 + 0 · x2 + 2 |
[from(x1)] | = | 0 · x1 + 2 |
[rnil] | = | 0 |
[mark#(x1)] | = | 0 · x1 + -∞ |
[times(x1, x2)] | = | 0 · x1 + -∞ · x2 + -∞ |
[pi(x1)] | = | 0 · x1 + 4 |
[negrecip(x1)] | = | 0 · x1 + 1 |
[2ndsneg(x1, x2)] | = | 0 · x1 + 1 · x2 + 0 |
[plus(x1, x2)] | = | -∞ · x1 + 0 · x2 + -∞ |
[2ndspos(x1, x2)] | = | 0 · x1 + 1 · x2 + -∞ |
[s(x1)] | = | 0 · x1 + -∞ |
active(from(X)) | → | mark(cons(X,from(s(X)))) | (1) |
active(2ndspos(0,Z)) | → | mark(rnil) | (2) |
active(2ndspos(s(N),cons(X,cons(Y,Z)))) | → | mark(rcons(posrecip(Y),2ndsneg(N,Z))) | (3) |
active(2ndsneg(0,Z)) | → | mark(rnil) | (4) |
active(2ndsneg(s(N),cons(X,cons(Y,Z)))) | → | mark(rcons(negrecip(Y),2ndspos(N,Z))) | (5) |
active(pi(X)) | → | mark(2ndspos(X,from(0))) | (6) |
active(plus(0,Y)) | → | mark(Y) | (7) |
active(plus(s(X),Y)) | → | mark(s(plus(X,Y))) | (8) |
active(times(0,Y)) | → | mark(0) | (9) |
active(times(s(X),Y)) | → | mark(plus(Y,times(X,Y))) | (10) |
active(square(X)) | → | mark(times(X,X)) | (11) |
mark(from(X)) | → | active(from(mark(X))) | (12) |
mark(cons(X1,X2)) | → | active(cons(mark(X1),X2)) | (13) |
mark(s(X)) | → | active(s(mark(X))) | (14) |
mark(2ndspos(X1,X2)) | → | active(2ndspos(mark(X1),mark(X2))) | (15) |
mark(0) | → | active(0) | (16) |
mark(rnil) | → | active(rnil) | (17) |
mark(rcons(X1,X2)) | → | active(rcons(mark(X1),mark(X2))) | (18) |
mark(posrecip(X)) | → | active(posrecip(mark(X))) | (19) |
mark(2ndsneg(X1,X2)) | → | active(2ndsneg(mark(X1),mark(X2))) | (20) |
mark(negrecip(X)) | → | active(negrecip(mark(X))) | (21) |
mark(pi(X)) | → | active(pi(mark(X))) | (22) |
mark(plus(X1,X2)) | → | active(plus(mark(X1),mark(X2))) | (23) |
mark(times(X1,X2)) | → | active(times(mark(X1),mark(X2))) | (24) |
mark(square(X)) | → | active(square(mark(X))) | (25) |
from(mark(X)) | → | from(X) | (26) |
from(active(X)) | → | from(X) | (27) |
cons(mark(X1),X2) | → | cons(X1,X2) | (28) |
cons(X1,mark(X2)) | → | cons(X1,X2) | (29) |
cons(active(X1),X2) | → | cons(X1,X2) | (30) |
cons(X1,active(X2)) | → | cons(X1,X2) | (31) |
s(mark(X)) | → | s(X) | (32) |
s(active(X)) | → | s(X) | (33) |
2ndspos(mark(X1),X2) | → | 2ndspos(X1,X2) | (34) |
2ndspos(X1,mark(X2)) | → | 2ndspos(X1,X2) | (35) |
2ndspos(active(X1),X2) | → | 2ndspos(X1,X2) | (36) |
2ndspos(X1,active(X2)) | → | 2ndspos(X1,X2) | (37) |
rcons(mark(X1),X2) | → | rcons(X1,X2) | (38) |
rcons(X1,mark(X2)) | → | rcons(X1,X2) | (39) |
rcons(active(X1),X2) | → | rcons(X1,X2) | (40) |
rcons(X1,active(X2)) | → | rcons(X1,X2) | (41) |
posrecip(mark(X)) | → | posrecip(X) | (42) |
posrecip(active(X)) | → | posrecip(X) | (43) |
2ndsneg(mark(X1),X2) | → | 2ndsneg(X1,X2) | (44) |
2ndsneg(X1,mark(X2)) | → | 2ndsneg(X1,X2) | (45) |
2ndsneg(active(X1),X2) | → | 2ndsneg(X1,X2) | (46) |
2ndsneg(X1,active(X2)) | → | 2ndsneg(X1,X2) | (47) |
negrecip(mark(X)) | → | negrecip(X) | (48) |
negrecip(active(X)) | → | negrecip(X) | (49) |
pi(mark(X)) | → | pi(X) | (50) |
pi(active(X)) | → | pi(X) | (51) |
plus(mark(X1),X2) | → | plus(X1,X2) | (52) |
plus(X1,mark(X2)) | → | plus(X1,X2) | (53) |
plus(active(X1),X2) | → | plus(X1,X2) | (54) |
plus(X1,active(X2)) | → | plus(X1,X2) | (55) |
times(mark(X1),X2) | → | times(X1,X2) | (56) |
times(X1,mark(X2)) | → | times(X1,X2) | (57) |
times(active(X1),X2) | → | times(X1,X2) | (58) |
times(X1,active(X2)) | → | times(X1,X2) | (59) |
square(mark(X)) | → | square(X) | (60) |
square(active(X)) | → | square(X) | (61) |
mark#(rcons(X1,X2)) | → | mark#(X1) | (105) |
prec(mark#) | = | 0 | stat(mark#) | = | lex | |
prec(active#) | = | 0 | stat(active#) | = | lex | |
prec(square) | = | 3 | stat(square) | = | lex | |
prec(times) | = | 2 | stat(times) | = | lex | |
prec(plus) | = | 0 | stat(plus) | = | lex | |
prec(pi) | = | 0 | stat(pi) | = | lex | |
prec(negrecip) | = | 0 | stat(negrecip) | = | lex | |
prec(rcons) | = | 0 | stat(rcons) | = | lex | |
prec(2ndsneg) | = | 0 | stat(2ndsneg) | = | lex | |
prec(posrecip) | = | 0 | stat(posrecip) | = | lex | |
prec(rnil) | = | 0 | stat(rnil) | = | lex | |
prec(2ndspos) | = | 0 | stat(2ndspos) | = | lex | |
prec(0) | = | 1 | stat(0) | = | lex | |
prec(mark) | = | 0 | stat(mark) | = | lex | |
prec(cons) | = | 0 | stat(cons) | = | lex | |
prec(s) | = | 0 | stat(s) | = | lex | |
prec(active) | = | 0 | stat(active) | = | lex | |
prec(from) | = | 0 | stat(from) | = | lex |
π(mark#) | = | 1 |
π(active#) | = | 1 |
π(square) | = | [] |
π(times) | = | [] |
π(plus) | = | 2 |
π(pi) | = | 1 |
π(negrecip) | = | 1 |
π(rcons) | = | 2 |
π(2ndsneg) | = | 1 |
π(posrecip) | = | [1] |
π(rnil) | = | [] |
π(2ndspos) | = | 1 |
π(0) | = | [] |
π(mark) | = | 1 |
π(cons) | = | 1 |
π(s) | = | 1 |
π(active) | = | 1 |
π(from) | = | 1 |
active(from(X)) | → | mark(cons(X,from(s(X)))) | (1) |
active(2ndspos(0,Z)) | → | mark(rnil) | (2) |
active(2ndspos(s(N),cons(X,cons(Y,Z)))) | → | mark(rcons(posrecip(Y),2ndsneg(N,Z))) | (3) |
active(2ndsneg(0,Z)) | → | mark(rnil) | (4) |
active(2ndsneg(s(N),cons(X,cons(Y,Z)))) | → | mark(rcons(negrecip(Y),2ndspos(N,Z))) | (5) |
active(pi(X)) | → | mark(2ndspos(X,from(0))) | (6) |
active(plus(0,Y)) | → | mark(Y) | (7) |
active(plus(s(X),Y)) | → | mark(s(plus(X,Y))) | (8) |
active(times(0,Y)) | → | mark(0) | (9) |
active(times(s(X),Y)) | → | mark(plus(Y,times(X,Y))) | (10) |
active(square(X)) | → | mark(times(X,X)) | (11) |
mark(from(X)) | → | active(from(mark(X))) | (12) |
mark(cons(X1,X2)) | → | active(cons(mark(X1),X2)) | (13) |
mark(s(X)) | → | active(s(mark(X))) | (14) |
mark(2ndspos(X1,X2)) | → | active(2ndspos(mark(X1),mark(X2))) | (15) |
mark(0) | → | active(0) | (16) |
mark(rnil) | → | active(rnil) | (17) |
mark(rcons(X1,X2)) | → | active(rcons(mark(X1),mark(X2))) | (18) |
mark(posrecip(X)) | → | active(posrecip(mark(X))) | (19) |
mark(2ndsneg(X1,X2)) | → | active(2ndsneg(mark(X1),mark(X2))) | (20) |
mark(negrecip(X)) | → | active(negrecip(mark(X))) | (21) |
mark(pi(X)) | → | active(pi(mark(X))) | (22) |
mark(plus(X1,X2)) | → | active(plus(mark(X1),mark(X2))) | (23) |
mark(times(X1,X2)) | → | active(times(mark(X1),mark(X2))) | (24) |
mark(square(X)) | → | active(square(mark(X))) | (25) |
from(mark(X)) | → | from(X) | (26) |
from(active(X)) | → | from(X) | (27) |
cons(mark(X1),X2) | → | cons(X1,X2) | (28) |
cons(X1,mark(X2)) | → | cons(X1,X2) | (29) |
cons(active(X1),X2) | → | cons(X1,X2) | (30) |
cons(X1,active(X2)) | → | cons(X1,X2) | (31) |
s(mark(X)) | → | s(X) | (32) |
s(active(X)) | → | s(X) | (33) |
2ndspos(mark(X1),X2) | → | 2ndspos(X1,X2) | (34) |
2ndspos(X1,mark(X2)) | → | 2ndspos(X1,X2) | (35) |
2ndspos(active(X1),X2) | → | 2ndspos(X1,X2) | (36) |
2ndspos(X1,active(X2)) | → | 2ndspos(X1,X2) | (37) |
rcons(mark(X1),X2) | → | rcons(X1,X2) | (38) |
rcons(X1,mark(X2)) | → | rcons(X1,X2) | (39) |
rcons(active(X1),X2) | → | rcons(X1,X2) | (40) |
rcons(X1,active(X2)) | → | rcons(X1,X2) | (41) |
posrecip(mark(X)) | → | posrecip(X) | (42) |
posrecip(active(X)) | → | posrecip(X) | (43) |
2ndsneg(mark(X1),X2) | → | 2ndsneg(X1,X2) | (44) |
2ndsneg(X1,mark(X2)) | → | 2ndsneg(X1,X2) | (45) |
2ndsneg(active(X1),X2) | → | 2ndsneg(X1,X2) | (46) |
2ndsneg(X1,active(X2)) | → | 2ndsneg(X1,X2) | (47) |
negrecip(mark(X)) | → | negrecip(X) | (48) |
negrecip(active(X)) | → | negrecip(X) | (49) |
pi(mark(X)) | → | pi(X) | (50) |
pi(active(X)) | → | pi(X) | (51) |
plus(mark(X1),X2) | → | plus(X1,X2) | (52) |
plus(X1,mark(X2)) | → | plus(X1,X2) | (53) |
plus(active(X1),X2) | → | plus(X1,X2) | (54) |
plus(X1,active(X2)) | → | plus(X1,X2) | (55) |
times(mark(X1),X2) | → | times(X1,X2) | (56) |
times(X1,mark(X2)) | → | times(X1,X2) | (57) |
times(active(X1),X2) | → | times(X1,X2) | (58) |
times(X1,active(X2)) | → | times(X1,X2) | (59) |
square(mark(X)) | → | square(X) | (60) |
square(active(X)) | → | square(X) | (61) |
mark#(posrecip(X)) | → | mark#(X) | (108) |
prec(mark#) | = | 0 | stat(mark#) | = | lex | |
prec(active#) | = | 0 | stat(active#) | = | lex | |
prec(square) | = | 17 | stat(square) | = | lex | |
prec(times) | = | 16 | stat(times) | = | lex | |
prec(plus) | = | 0 | stat(plus) | = | lex | |
prec(pi) | = | 0 | stat(pi) | = | lex | |
prec(negrecip) | = | 0 | stat(negrecip) | = | lex | |
prec(rcons) | = | 0 | stat(rcons) | = | lex | |
prec(2ndsneg) | = | 0 | stat(2ndsneg) | = | lex | |
prec(posrecip) | = | 0 | stat(posrecip) | = | lex | |
prec(rnil) | = | 0 | stat(rnil) | = | lex | |
prec(2ndspos) | = | 0 | stat(2ndspos) | = | lex | |
prec(0) | = | 1 | stat(0) | = | lex | |
prec(mark) | = | 0 | stat(mark) | = | lex | |
prec(cons) | = | 0 | stat(cons) | = | lex | |
prec(s) | = | 0 | stat(s) | = | lex | |
prec(active) | = | 0 | stat(active) | = | lex | |
prec(from) | = | 0 | stat(from) | = | lex |
π(mark#) | = | 1 |
π(active#) | = | 1 |
π(square) | = | [] |
π(times) | = | [] |
π(plus) | = | 2 |
π(pi) | = | 1 |
π(negrecip) | = | [1] |
π(rcons) | = | 2 |
π(2ndsneg) | = | 1 |
π(posrecip) | = | 1 |
π(rnil) | = | [] |
π(2ndspos) | = | 1 |
π(0) | = | [] |
π(mark) | = | 1 |
π(cons) | = | 1 |
π(s) | = | 1 |
π(active) | = | 1 |
π(from) | = | 1 |
active(from(X)) | → | mark(cons(X,from(s(X)))) | (1) |
active(2ndspos(0,Z)) | → | mark(rnil) | (2) |
active(2ndspos(s(N),cons(X,cons(Y,Z)))) | → | mark(rcons(posrecip(Y),2ndsneg(N,Z))) | (3) |
active(2ndsneg(0,Z)) | → | mark(rnil) | (4) |
active(2ndsneg(s(N),cons(X,cons(Y,Z)))) | → | mark(rcons(negrecip(Y),2ndspos(N,Z))) | (5) |
active(pi(X)) | → | mark(2ndspos(X,from(0))) | (6) |
active(plus(0,Y)) | → | mark(Y) | (7) |
active(plus(s(X),Y)) | → | mark(s(plus(X,Y))) | (8) |
active(times(0,Y)) | → | mark(0) | (9) |
active(times(s(X),Y)) | → | mark(plus(Y,times(X,Y))) | (10) |
active(square(X)) | → | mark(times(X,X)) | (11) |
mark(from(X)) | → | active(from(mark(X))) | (12) |
mark(cons(X1,X2)) | → | active(cons(mark(X1),X2)) | (13) |
mark(s(X)) | → | active(s(mark(X))) | (14) |
mark(2ndspos(X1,X2)) | → | active(2ndspos(mark(X1),mark(X2))) | (15) |
mark(0) | → | active(0) | (16) |
mark(rnil) | → | active(rnil) | (17) |
mark(rcons(X1,X2)) | → | active(rcons(mark(X1),mark(X2))) | (18) |
mark(posrecip(X)) | → | active(posrecip(mark(X))) | (19) |
mark(2ndsneg(X1,X2)) | → | active(2ndsneg(mark(X1),mark(X2))) | (20) |
mark(negrecip(X)) | → | active(negrecip(mark(X))) | (21) |
mark(pi(X)) | → | active(pi(mark(X))) | (22) |
mark(plus(X1,X2)) | → | active(plus(mark(X1),mark(X2))) | (23) |
mark(times(X1,X2)) | → | active(times(mark(X1),mark(X2))) | (24) |
mark(square(X)) | → | active(square(mark(X))) | (25) |
from(mark(X)) | → | from(X) | (26) |
from(active(X)) | → | from(X) | (27) |
cons(mark(X1),X2) | → | cons(X1,X2) | (28) |
cons(X1,mark(X2)) | → | cons(X1,X2) | (29) |
cons(active(X1),X2) | → | cons(X1,X2) | (30) |
cons(X1,active(X2)) | → | cons(X1,X2) | (31) |
s(mark(X)) | → | s(X) | (32) |
s(active(X)) | → | s(X) | (33) |
2ndspos(mark(X1),X2) | → | 2ndspos(X1,X2) | (34) |
2ndspos(X1,mark(X2)) | → | 2ndspos(X1,X2) | (35) |
2ndspos(active(X1),X2) | → | 2ndspos(X1,X2) | (36) |
2ndspos(X1,active(X2)) | → | 2ndspos(X1,X2) | (37) |
rcons(mark(X1),X2) | → | rcons(X1,X2) | (38) |
rcons(X1,mark(X2)) | → | rcons(X1,X2) | (39) |
rcons(active(X1),X2) | → | rcons(X1,X2) | (40) |
rcons(X1,active(X2)) | → | rcons(X1,X2) | (41) |
posrecip(mark(X)) | → | posrecip(X) | (42) |
posrecip(active(X)) | → | posrecip(X) | (43) |
2ndsneg(mark(X1),X2) | → | 2ndsneg(X1,X2) | (44) |
2ndsneg(X1,mark(X2)) | → | 2ndsneg(X1,X2) | (45) |
2ndsneg(active(X1),X2) | → | 2ndsneg(X1,X2) | (46) |
2ndsneg(X1,active(X2)) | → | 2ndsneg(X1,X2) | (47) |
negrecip(mark(X)) | → | negrecip(X) | (48) |
negrecip(active(X)) | → | negrecip(X) | (49) |
pi(mark(X)) | → | pi(X) | (50) |
pi(active(X)) | → | pi(X) | (51) |
plus(mark(X1),X2) | → | plus(X1,X2) | (52) |
plus(X1,mark(X2)) | → | plus(X1,X2) | (53) |
plus(active(X1),X2) | → | plus(X1,X2) | (54) |
plus(X1,active(X2)) | → | plus(X1,X2) | (55) |
times(mark(X1),X2) | → | times(X1,X2) | (56) |
times(X1,mark(X2)) | → | times(X1,X2) | (57) |
times(active(X1),X2) | → | times(X1,X2) | (58) |
times(X1,active(X2)) | → | times(X1,X2) | (59) |
square(mark(X)) | → | square(X) | (60) |
square(active(X)) | → | square(X) | (61) |
mark#(negrecip(X)) | → | mark#(X) | (115) |
prec(mark#) | = | 0 | stat(mark#) | = | lex | |
prec(active#) | = | 0 | stat(active#) | = | lex | |
prec(square) | = | 16 | stat(square) | = | lex | |
prec(times) | = | 3 | stat(times) | = | lex | |
prec(plus) | = | 0 | stat(plus) | = | lex | |
prec(pi) | = | 0 | stat(pi) | = | lex | |
prec(negrecip) | = | 0 | stat(negrecip) | = | lex | |
prec(rcons) | = | 0 | stat(rcons) | = | lex | |
prec(2ndsneg) | = | 0 | stat(2ndsneg) | = | lex | |
prec(posrecip) | = | 0 | stat(posrecip) | = | lex | |
prec(rnil) | = | 0 | stat(rnil) | = | lex | |
prec(2ndspos) | = | 0 | stat(2ndspos) | = | lex | |
prec(0) | = | 2 | stat(0) | = | lex | |
prec(mark) | = | 0 | stat(mark) | = | lex | |
prec(cons) | = | 0 | stat(cons) | = | lex | |
prec(s) | = | 0 | stat(s) | = | lex | |
prec(active) | = | 0 | stat(active) | = | lex | |
prec(from) | = | 0 | stat(from) | = | lex |
π(mark#) | = | 1 |
π(active#) | = | 1 |
π(square) | = | [] |
π(times) | = | [] |
π(plus) | = | 2 |
π(pi) | = | 1 |
π(negrecip) | = | 1 |
π(rcons) | = | 2 |
π(2ndsneg) | = | 1 |
π(posrecip) | = | [] |
π(rnil) | = | [] |
π(2ndspos) | = | 1 |
π(0) | = | [] |
π(mark) | = | 1 |
π(cons) | = | 1 |
π(s) | = | 1 |
π(active) | = | 1 |
π(from) | = | [1] |
active(from(X)) | → | mark(cons(X,from(s(X)))) | (1) |
active(2ndspos(0,Z)) | → | mark(rnil) | (2) |
active(2ndspos(s(N),cons(X,cons(Y,Z)))) | → | mark(rcons(posrecip(Y),2ndsneg(N,Z))) | (3) |
active(2ndsneg(0,Z)) | → | mark(rnil) | (4) |
active(2ndsneg(s(N),cons(X,cons(Y,Z)))) | → | mark(rcons(negrecip(Y),2ndspos(N,Z))) | (5) |
active(pi(X)) | → | mark(2ndspos(X,from(0))) | (6) |
active(plus(0,Y)) | → | mark(Y) | (7) |
active(plus(s(X),Y)) | → | mark(s(plus(X,Y))) | (8) |
active(times(0,Y)) | → | mark(0) | (9) |
active(times(s(X),Y)) | → | mark(plus(Y,times(X,Y))) | (10) |
active(square(X)) | → | mark(times(X,X)) | (11) |
mark(from(X)) | → | active(from(mark(X))) | (12) |
mark(cons(X1,X2)) | → | active(cons(mark(X1),X2)) | (13) |
mark(s(X)) | → | active(s(mark(X))) | (14) |
mark(2ndspos(X1,X2)) | → | active(2ndspos(mark(X1),mark(X2))) | (15) |
mark(0) | → | active(0) | (16) |
mark(rnil) | → | active(rnil) | (17) |
mark(rcons(X1,X2)) | → | active(rcons(mark(X1),mark(X2))) | (18) |
mark(posrecip(X)) | → | active(posrecip(mark(X))) | (19) |
mark(2ndsneg(X1,X2)) | → | active(2ndsneg(mark(X1),mark(X2))) | (20) |
mark(negrecip(X)) | → | active(negrecip(mark(X))) | (21) |
mark(pi(X)) | → | active(pi(mark(X))) | (22) |
mark(plus(X1,X2)) | → | active(plus(mark(X1),mark(X2))) | (23) |
mark(times(X1,X2)) | → | active(times(mark(X1),mark(X2))) | (24) |
mark(square(X)) | → | active(square(mark(X))) | (25) |
from(mark(X)) | → | from(X) | (26) |
from(active(X)) | → | from(X) | (27) |
cons(mark(X1),X2) | → | cons(X1,X2) | (28) |
cons(X1,mark(X2)) | → | cons(X1,X2) | (29) |
cons(active(X1),X2) | → | cons(X1,X2) | (30) |
cons(X1,active(X2)) | → | cons(X1,X2) | (31) |
s(mark(X)) | → | s(X) | (32) |
s(active(X)) | → | s(X) | (33) |
2ndspos(mark(X1),X2) | → | 2ndspos(X1,X2) | (34) |
2ndspos(X1,mark(X2)) | → | 2ndspos(X1,X2) | (35) |
2ndspos(active(X1),X2) | → | 2ndspos(X1,X2) | (36) |
2ndspos(X1,active(X2)) | → | 2ndspos(X1,X2) | (37) |
rcons(mark(X1),X2) | → | rcons(X1,X2) | (38) |
rcons(X1,mark(X2)) | → | rcons(X1,X2) | (39) |
rcons(active(X1),X2) | → | rcons(X1,X2) | (40) |
rcons(X1,active(X2)) | → | rcons(X1,X2) | (41) |
posrecip(mark(X)) | → | posrecip(X) | (42) |
posrecip(active(X)) | → | posrecip(X) | (43) |
2ndsneg(mark(X1),X2) | → | 2ndsneg(X1,X2) | (44) |
2ndsneg(X1,mark(X2)) | → | 2ndsneg(X1,X2) | (45) |
2ndsneg(active(X1),X2) | → | 2ndsneg(X1,X2) | (46) |
2ndsneg(X1,active(X2)) | → | 2ndsneg(X1,X2) | (47) |
negrecip(mark(X)) | → | negrecip(X) | (48) |
negrecip(active(X)) | → | negrecip(X) | (49) |
pi(mark(X)) | → | pi(X) | (50) |
pi(active(X)) | → | pi(X) | (51) |
plus(mark(X1),X2) | → | plus(X1,X2) | (52) |
plus(X1,mark(X2)) | → | plus(X1,X2) | (53) |
plus(active(X1),X2) | → | plus(X1,X2) | (54) |
plus(X1,active(X2)) | → | plus(X1,X2) | (55) |
times(mark(X1),X2) | → | times(X1,X2) | (56) |
times(X1,mark(X2)) | → | times(X1,X2) | (57) |
times(active(X1),X2) | → | times(X1,X2) | (58) |
times(X1,active(X2)) | → | times(X1,X2) | (59) |
square(mark(X)) | → | square(X) | (60) |
square(active(X)) | → | square(X) | (61) |
active#(from(X)) | → | mark#(cons(X,from(s(X)))) | (65) |
The dependency pairs are split into 1 component.
mark#(times(X1,X2)) | → | active#(times(mark(X1),mark(X2))) | (128) |
active#(times(s(X),Y)) | → | mark#(plus(Y,times(X,Y))) | (86) |
mark#(plus(X1,X2)) | → | active#(plus(mark(X1),mark(X2))) | (124) |
active#(plus(s(X),Y)) | → | mark#(s(plus(X,Y))) | (82) |
mark#(s(X)) | → | mark#(X) | (95) |
mark#(plus(X1,X2)) | → | mark#(X2) | (121) |
mark#(2ndsneg(X1,X2)) | → | active#(2ndsneg(mark(X1),mark(X2))) | (114) |
active#(2ndsneg(s(N),cons(X,cons(Y,Z)))) | → | mark#(rcons(negrecip(Y),2ndspos(N,Z))) | (75) |
mark#(rcons(X1,X2)) | → | mark#(X2) | (104) |
mark#(2ndspos(X1,X2)) | → | active#(2ndspos(mark(X1),mark(X2))) | (101) |
active#(2ndspos(s(N),cons(X,cons(Y,Z)))) | → | mark#(rcons(posrecip(Y),2ndsneg(N,Z))) | (70) |
mark#(cons(X1,X2)) | → | mark#(X1) | (92) |
active#(plus(0,Y)) | → | mark#(Y) | (79) |
prec(mark#) | = | 0 | stat(mark#) | = | lex | |
prec(active#) | = | 0 | stat(active#) | = | lex | |
prec(square) | = | 9 | stat(square) | = | lex | |
prec(times) | = | 8 | stat(times) | = | lex | |
prec(plus) | = | 0 | stat(plus) | = | lex | |
prec(pi) | = | 0 | stat(pi) | = | lex | |
prec(negrecip) | = | 0 | stat(negrecip) | = | lex | |
prec(rcons) | = | 0 | stat(rcons) | = | lex | |
prec(2ndsneg) | = | 0 | stat(2ndsneg) | = | lex | |
prec(posrecip) | = | 0 | stat(posrecip) | = | lex | |
prec(rnil) | = | 0 | stat(rnil) | = | lex | |
prec(2ndspos) | = | 0 | stat(2ndspos) | = | lex | |
prec(0) | = | 1 | stat(0) | = | lex | |
prec(mark) | = | 0 | stat(mark) | = | lex | |
prec(cons) | = | 0 | stat(cons) | = | lex | |
prec(s) | = | 0 | stat(s) | = | lex | |
prec(active) | = | 0 | stat(active) | = | lex | |
prec(from) | = | 1 | stat(from) | = | lex |
π(mark#) | = | 1 |
π(active#) | = | 1 |
π(square) | = | [] |
π(times) | = | [] |
π(plus) | = | 2 |
π(pi) | = | 1 |
π(negrecip) | = | 1 |
π(rcons) | = | 2 |
π(2ndsneg) | = | 1 |
π(posrecip) | = | [] |
π(rnil) | = | [] |
π(2ndspos) | = | 1 |
π(0) | = | [] |
π(mark) | = | 1 |
π(cons) | = | [1] |
π(s) | = | 1 |
π(active) | = | 1 |
π(from) | = | [1] |
active(from(X)) | → | mark(cons(X,from(s(X)))) | (1) |
active(2ndspos(0,Z)) | → | mark(rnil) | (2) |
active(2ndspos(s(N),cons(X,cons(Y,Z)))) | → | mark(rcons(posrecip(Y),2ndsneg(N,Z))) | (3) |
active(2ndsneg(0,Z)) | → | mark(rnil) | (4) |
active(2ndsneg(s(N),cons(X,cons(Y,Z)))) | → | mark(rcons(negrecip(Y),2ndspos(N,Z))) | (5) |
active(pi(X)) | → | mark(2ndspos(X,from(0))) | (6) |
active(plus(0,Y)) | → | mark(Y) | (7) |
active(plus(s(X),Y)) | → | mark(s(plus(X,Y))) | (8) |
active(times(0,Y)) | → | mark(0) | (9) |
active(times(s(X),Y)) | → | mark(plus(Y,times(X,Y))) | (10) |
active(square(X)) | → | mark(times(X,X)) | (11) |
mark(from(X)) | → | active(from(mark(X))) | (12) |
mark(cons(X1,X2)) | → | active(cons(mark(X1),X2)) | (13) |
mark(s(X)) | → | active(s(mark(X))) | (14) |
mark(2ndspos(X1,X2)) | → | active(2ndspos(mark(X1),mark(X2))) | (15) |
mark(0) | → | active(0) | (16) |
mark(rnil) | → | active(rnil) | (17) |
mark(rcons(X1,X2)) | → | active(rcons(mark(X1),mark(X2))) | (18) |
mark(posrecip(X)) | → | active(posrecip(mark(X))) | (19) |
mark(2ndsneg(X1,X2)) | → | active(2ndsneg(mark(X1),mark(X2))) | (20) |
mark(negrecip(X)) | → | active(negrecip(mark(X))) | (21) |
mark(pi(X)) | → | active(pi(mark(X))) | (22) |
mark(plus(X1,X2)) | → | active(plus(mark(X1),mark(X2))) | (23) |
mark(times(X1,X2)) | → | active(times(mark(X1),mark(X2))) | (24) |
mark(square(X)) | → | active(square(mark(X))) | (25) |
from(mark(X)) | → | from(X) | (26) |
from(active(X)) | → | from(X) | (27) |
cons(mark(X1),X2) | → | cons(X1,X2) | (28) |
cons(X1,mark(X2)) | → | cons(X1,X2) | (29) |
cons(active(X1),X2) | → | cons(X1,X2) | (30) |
cons(X1,active(X2)) | → | cons(X1,X2) | (31) |
s(mark(X)) | → | s(X) | (32) |
s(active(X)) | → | s(X) | (33) |
2ndspos(mark(X1),X2) | → | 2ndspos(X1,X2) | (34) |
2ndspos(X1,mark(X2)) | → | 2ndspos(X1,X2) | (35) |
2ndspos(active(X1),X2) | → | 2ndspos(X1,X2) | (36) |
2ndspos(X1,active(X2)) | → | 2ndspos(X1,X2) | (37) |
rcons(mark(X1),X2) | → | rcons(X1,X2) | (38) |
rcons(X1,mark(X2)) | → | rcons(X1,X2) | (39) |
rcons(active(X1),X2) | → | rcons(X1,X2) | (40) |
rcons(X1,active(X2)) | → | rcons(X1,X2) | (41) |
posrecip(mark(X)) | → | posrecip(X) | (42) |
posrecip(active(X)) | → | posrecip(X) | (43) |
2ndsneg(mark(X1),X2) | → | 2ndsneg(X1,X2) | (44) |
2ndsneg(X1,mark(X2)) | → | 2ndsneg(X1,X2) | (45) |
2ndsneg(active(X1),X2) | → | 2ndsneg(X1,X2) | (46) |
2ndsneg(X1,active(X2)) | → | 2ndsneg(X1,X2) | (47) |
negrecip(mark(X)) | → | negrecip(X) | (48) |
negrecip(active(X)) | → | negrecip(X) | (49) |
pi(mark(X)) | → | pi(X) | (50) |
pi(active(X)) | → | pi(X) | (51) |
plus(mark(X1),X2) | → | plus(X1,X2) | (52) |
plus(X1,mark(X2)) | → | plus(X1,X2) | (53) |
plus(active(X1),X2) | → | plus(X1,X2) | (54) |
plus(X1,active(X2)) | → | plus(X1,X2) | (55) |
times(mark(X1),X2) | → | times(X1,X2) | (56) |
times(X1,mark(X2)) | → | times(X1,X2) | (57) |
times(active(X1),X2) | → | times(X1,X2) | (58) |
times(X1,active(X2)) | → | times(X1,X2) | (59) |
square(mark(X)) | → | square(X) | (60) |
square(active(X)) | → | square(X) | (61) |
mark#(cons(X1,X2)) | → | mark#(X1) | (92) |
prec(mark#) | = | 0 | stat(mark#) | = | lex | |
prec(active#) | = | 0 | stat(active#) | = | lex | |
prec(square) | = | 17 | stat(square) | = | lex | |
prec(times) | = | 16 | stat(times) | = | lex | |
prec(plus) | = | 1 | stat(plus) | = | lex | |
prec(pi) | = | 0 | stat(pi) | = | lex | |
prec(negrecip) | = | 0 | stat(negrecip) | = | lex | |
prec(rcons) | = | 0 | stat(rcons) | = | lex | |
prec(2ndsneg) | = | 0 | stat(2ndsneg) | = | lex | |
prec(posrecip) | = | 0 | stat(posrecip) | = | lex | |
prec(rnil) | = | 0 | stat(rnil) | = | lex | |
prec(2ndspos) | = | 0 | stat(2ndspos) | = | lex | |
prec(0) | = | 4 | stat(0) | = | lex | |
prec(mark) | = | 0 | stat(mark) | = | lex | |
prec(cons) | = | 0 | stat(cons) | = | lex | |
prec(s) | = | 0 | stat(s) | = | lex | |
prec(active) | = | 0 | stat(active) | = | lex | |
prec(from) | = | 0 | stat(from) | = | lex |
π(mark#) | = | 1 |
π(active#) | = | 1 |
π(square) | = | [1] |
π(times) | = | [1,2] |
π(plus) | = | [1,2] |
π(pi) | = | 1 |
π(negrecip) | = | [] |
π(rcons) | = | 2 |
π(2ndsneg) | = | 1 |
π(posrecip) | = | 1 |
π(rnil) | = | [] |
π(2ndspos) | = | 1 |
π(0) | = | [] |
π(mark) | = | 1 |
π(cons) | = | 1 |
π(s) | = | [1] |
π(active) | = | 1 |
π(from) | = | 1 |
active(from(X)) | → | mark(cons(X,from(s(X)))) | (1) |
active(2ndspos(0,Z)) | → | mark(rnil) | (2) |
active(2ndspos(s(N),cons(X,cons(Y,Z)))) | → | mark(rcons(posrecip(Y),2ndsneg(N,Z))) | (3) |
active(2ndsneg(0,Z)) | → | mark(rnil) | (4) |
active(2ndsneg(s(N),cons(X,cons(Y,Z)))) | → | mark(rcons(negrecip(Y),2ndspos(N,Z))) | (5) |
active(pi(X)) | → | mark(2ndspos(X,from(0))) | (6) |
active(plus(0,Y)) | → | mark(Y) | (7) |
active(plus(s(X),Y)) | → | mark(s(plus(X,Y))) | (8) |
active(times(0,Y)) | → | mark(0) | (9) |
active(times(s(X),Y)) | → | mark(plus(Y,times(X,Y))) | (10) |
active(square(X)) | → | mark(times(X,X)) | (11) |
mark(from(X)) | → | active(from(mark(X))) | (12) |
mark(cons(X1,X2)) | → | active(cons(mark(X1),X2)) | (13) |
mark(s(X)) | → | active(s(mark(X))) | (14) |
mark(2ndspos(X1,X2)) | → | active(2ndspos(mark(X1),mark(X2))) | (15) |
mark(0) | → | active(0) | (16) |
mark(rnil) | → | active(rnil) | (17) |
mark(rcons(X1,X2)) | → | active(rcons(mark(X1),mark(X2))) | (18) |
mark(posrecip(X)) | → | active(posrecip(mark(X))) | (19) |
mark(2ndsneg(X1,X2)) | → | active(2ndsneg(mark(X1),mark(X2))) | (20) |
mark(negrecip(X)) | → | active(negrecip(mark(X))) | (21) |
mark(pi(X)) | → | active(pi(mark(X))) | (22) |
mark(plus(X1,X2)) | → | active(plus(mark(X1),mark(X2))) | (23) |
mark(times(X1,X2)) | → | active(times(mark(X1),mark(X2))) | (24) |
mark(square(X)) | → | active(square(mark(X))) | (25) |
from(mark(X)) | → | from(X) | (26) |
from(active(X)) | → | from(X) | (27) |
cons(mark(X1),X2) | → | cons(X1,X2) | (28) |
cons(X1,mark(X2)) | → | cons(X1,X2) | (29) |
cons(active(X1),X2) | → | cons(X1,X2) | (30) |
cons(X1,active(X2)) | → | cons(X1,X2) | (31) |
s(mark(X)) | → | s(X) | (32) |
s(active(X)) | → | s(X) | (33) |
2ndspos(mark(X1),X2) | → | 2ndspos(X1,X2) | (34) |
2ndspos(X1,mark(X2)) | → | 2ndspos(X1,X2) | (35) |
2ndspos(active(X1),X2) | → | 2ndspos(X1,X2) | (36) |
2ndspos(X1,active(X2)) | → | 2ndspos(X1,X2) | (37) |
rcons(mark(X1),X2) | → | rcons(X1,X2) | (38) |
rcons(X1,mark(X2)) | → | rcons(X1,X2) | (39) |
rcons(active(X1),X2) | → | rcons(X1,X2) | (40) |
rcons(X1,active(X2)) | → | rcons(X1,X2) | (41) |
posrecip(mark(X)) | → | posrecip(X) | (42) |
posrecip(active(X)) | → | posrecip(X) | (43) |
2ndsneg(mark(X1),X2) | → | 2ndsneg(X1,X2) | (44) |
2ndsneg(X1,mark(X2)) | → | 2ndsneg(X1,X2) | (45) |
2ndsneg(active(X1),X2) | → | 2ndsneg(X1,X2) | (46) |
2ndsneg(X1,active(X2)) | → | 2ndsneg(X1,X2) | (47) |
negrecip(mark(X)) | → | negrecip(X) | (48) |
negrecip(active(X)) | → | negrecip(X) | (49) |
pi(mark(X)) | → | pi(X) | (50) |
pi(active(X)) | → | pi(X) | (51) |
plus(mark(X1),X2) | → | plus(X1,X2) | (52) |
plus(X1,mark(X2)) | → | plus(X1,X2) | (53) |
plus(active(X1),X2) | → | plus(X1,X2) | (54) |
plus(X1,active(X2)) | → | plus(X1,X2) | (55) |
times(mark(X1),X2) | → | times(X1,X2) | (56) |
times(X1,mark(X2)) | → | times(X1,X2) | (57) |
times(active(X1),X2) | → | times(X1,X2) | (58) |
times(X1,active(X2)) | → | times(X1,X2) | (59) |
square(mark(X)) | → | square(X) | (60) |
square(active(X)) | → | square(X) | (61) |
active#(times(s(X),Y)) | → | mark#(plus(Y,times(X,Y))) | (86) |
active#(plus(s(X),Y)) | → | mark#(s(plus(X,Y))) | (82) |
mark#(s(X)) | → | mark#(X) | (95) |
mark#(plus(X1,X2)) | → | mark#(X2) | (121) |
active#(2ndsneg(s(N),cons(X,cons(Y,Z)))) | → | mark#(rcons(negrecip(Y),2ndspos(N,Z))) | (75) |
active#(2ndspos(s(N),cons(X,cons(Y,Z)))) | → | mark#(rcons(posrecip(Y),2ndsneg(N,Z))) | (70) |
active#(plus(0,Y)) | → | mark#(Y) | (79) |
The dependency pairs are split into 1 component.
mark#(rcons(X1,X2)) | → | mark#(X2) | (104) |
Using size-change termination in combination with the subterm criterion one obtains the following initial size-change graphs.
mark#(rcons(X1,X2)) | → | mark#(X2) | (104) |
1 | > | 1 |
As there is no critical graph in the transitive closure, there are no infinite chains.
from#(active(X)) | → | from#(X) | (133) |
from#(mark(X)) | → | from#(X) | (132) |
Using size-change termination in combination with the subterm criterion one obtains the following initial size-change graphs.
from#(active(X)) | → | from#(X) | (133) |
1 | > | 1 | |
from#(mark(X)) | → | from#(X) | (132) |
1 | > | 1 |
As there is no critical graph in the transitive closure, there are no infinite chains.
cons#(X1,active(X2)) | → | cons#(X1,X2) | (137) |
cons#(active(X1),X2) | → | cons#(X1,X2) | (136) |
cons#(X1,mark(X2)) | → | cons#(X1,X2) | (135) |
cons#(mark(X1),X2) | → | cons#(X1,X2) | (134) |
Using size-change termination in combination with the subterm criterion one obtains the following initial size-change graphs.
cons#(X1,active(X2)) | → | cons#(X1,X2) | (137) |
2 | > | 2 | |
1 | ≥ | 1 | |
cons#(active(X1),X2) | → | cons#(X1,X2) | (136) |
2 | ≥ | 2 | |
1 | > | 1 | |
cons#(X1,mark(X2)) | → | cons#(X1,X2) | (135) |
2 | > | 2 | |
1 | ≥ | 1 | |
cons#(mark(X1),X2) | → | cons#(X1,X2) | (134) |
2 | ≥ | 2 | |
1 | > | 1 |
As there is no critical graph in the transitive closure, there are no infinite chains.
s#(active(X)) | → | s#(X) | (139) |
s#(mark(X)) | → | s#(X) | (138) |
Using size-change termination in combination with the subterm criterion one obtains the following initial size-change graphs.
s#(active(X)) | → | s#(X) | (139) |
1 | > | 1 | |
s#(mark(X)) | → | s#(X) | (138) |
1 | > | 1 |
As there is no critical graph in the transitive closure, there are no infinite chains.
2ndsneg#(mark(X1),X2) | → | 2ndsneg#(X1,X2) | (150) |
2ndsneg#(X1,active(X2)) | → | 2ndsneg#(X1,X2) | (153) |
2ndsneg#(active(X1),X2) | → | 2ndsneg#(X1,X2) | (152) |
2ndsneg#(X1,mark(X2)) | → | 2ndsneg#(X1,X2) | (151) |
Using size-change termination in combination with the subterm criterion one obtains the following initial size-change graphs.
2ndsneg#(mark(X1),X2) | → | 2ndsneg#(X1,X2) | (150) |
2 | ≥ | 2 | |
1 | > | 1 | |
2ndsneg#(X1,active(X2)) | → | 2ndsneg#(X1,X2) | (153) |
2 | > | 2 | |
1 | ≥ | 1 | |
2ndsneg#(active(X1),X2) | → | 2ndsneg#(X1,X2) | (152) |
2 | ≥ | 2 | |
1 | > | 1 | |
2ndsneg#(X1,mark(X2)) | → | 2ndsneg#(X1,X2) | (151) |
2 | > | 2 | |
1 | ≥ | 1 |
As there is no critical graph in the transitive closure, there are no infinite chains.
posrecip#(mark(X)) | → | posrecip#(X) | (148) |
posrecip#(active(X)) | → | posrecip#(X) | (149) |
Using size-change termination in combination with the subterm criterion one obtains the following initial size-change graphs.
posrecip#(mark(X)) | → | posrecip#(X) | (148) |
1 | > | 1 | |
posrecip#(active(X)) | → | posrecip#(X) | (149) |
1 | > | 1 |
As there is no critical graph in the transitive closure, there are no infinite chains.
rcons#(mark(X1),X2) | → | rcons#(X1,X2) | (144) |
rcons#(X1,active(X2)) | → | rcons#(X1,X2) | (147) |
rcons#(active(X1),X2) | → | rcons#(X1,X2) | (146) |
rcons#(X1,mark(X2)) | → | rcons#(X1,X2) | (145) |
Using size-change termination in combination with the subterm criterion one obtains the following initial size-change graphs.
rcons#(mark(X1),X2) | → | rcons#(X1,X2) | (144) |
2 | ≥ | 2 | |
1 | > | 1 | |
rcons#(X1,active(X2)) | → | rcons#(X1,X2) | (147) |
2 | > | 2 | |
1 | ≥ | 1 | |
rcons#(active(X1),X2) | → | rcons#(X1,X2) | (146) |
2 | ≥ | 2 | |
1 | > | 1 | |
rcons#(X1,mark(X2)) | → | rcons#(X1,X2) | (145) |
2 | > | 2 | |
1 | ≥ | 1 |
As there is no critical graph in the transitive closure, there are no infinite chains.
2ndspos#(mark(X1),X2) | → | 2ndspos#(X1,X2) | (140) |
2ndspos#(X1,active(X2)) | → | 2ndspos#(X1,X2) | (143) |
2ndspos#(active(X1),X2) | → | 2ndspos#(X1,X2) | (142) |
2ndspos#(X1,mark(X2)) | → | 2ndspos#(X1,X2) | (141) |
Using size-change termination in combination with the subterm criterion one obtains the following initial size-change graphs.
2ndspos#(mark(X1),X2) | → | 2ndspos#(X1,X2) | (140) |
2 | ≥ | 2 | |
1 | > | 1 | |
2ndspos#(X1,active(X2)) | → | 2ndspos#(X1,X2) | (143) |
2 | > | 2 | |
1 | ≥ | 1 | |
2ndspos#(active(X1),X2) | → | 2ndspos#(X1,X2) | (142) |
2 | ≥ | 2 | |
1 | > | 1 | |
2ndspos#(X1,mark(X2)) | → | 2ndspos#(X1,X2) | (141) |
2 | > | 2 | |
1 | ≥ | 1 |
As there is no critical graph in the transitive closure, there are no infinite chains.
negrecip#(mark(X)) | → | negrecip#(X) | (154) |
negrecip#(active(X)) | → | negrecip#(X) | (155) |
Using size-change termination in combination with the subterm criterion one obtains the following initial size-change graphs.
negrecip#(mark(X)) | → | negrecip#(X) | (154) |
1 | > | 1 | |
negrecip#(active(X)) | → | negrecip#(X) | (155) |
1 | > | 1 |
As there is no critical graph in the transitive closure, there are no infinite chains.
plus#(mark(X1),X2) | → | plus#(X1,X2) | (158) |
plus#(X1,active(X2)) | → | plus#(X1,X2) | (161) |
plus#(active(X1),X2) | → | plus#(X1,X2) | (160) |
plus#(X1,mark(X2)) | → | plus#(X1,X2) | (159) |
Using size-change termination in combination with the subterm criterion one obtains the following initial size-change graphs.
plus#(mark(X1),X2) | → | plus#(X1,X2) | (158) |
2 | ≥ | 2 | |
1 | > | 1 | |
plus#(X1,active(X2)) | → | plus#(X1,X2) | (161) |
2 | > | 2 | |
1 | ≥ | 1 | |
plus#(active(X1),X2) | → | plus#(X1,X2) | (160) |
2 | ≥ | 2 | |
1 | > | 1 | |
plus#(X1,mark(X2)) | → | plus#(X1,X2) | (159) |
2 | > | 2 | |
1 | ≥ | 1 |
As there is no critical graph in the transitive closure, there are no infinite chains.
times#(mark(X1),X2) | → | times#(X1,X2) | (162) |
times#(X1,active(X2)) | → | times#(X1,X2) | (165) |
times#(active(X1),X2) | → | times#(X1,X2) | (164) |
times#(X1,mark(X2)) | → | times#(X1,X2) | (163) |
Using size-change termination in combination with the subterm criterion one obtains the following initial size-change graphs.
times#(mark(X1),X2) | → | times#(X1,X2) | (162) |
2 | ≥ | 2 | |
1 | > | 1 | |
times#(X1,active(X2)) | → | times#(X1,X2) | (165) |
2 | > | 2 | |
1 | ≥ | 1 | |
times#(active(X1),X2) | → | times#(X1,X2) | (164) |
2 | ≥ | 2 | |
1 | > | 1 | |
times#(X1,mark(X2)) | → | times#(X1,X2) | (163) |
2 | > | 2 | |
1 | ≥ | 1 |
As there is no critical graph in the transitive closure, there are no infinite chains.
pi#(mark(X)) | → | pi#(X) | (156) |
pi#(active(X)) | → | pi#(X) | (157) |
Using size-change termination in combination with the subterm criterion one obtains the following initial size-change graphs.
pi#(mark(X)) | → | pi#(X) | (156) |
1 | > | 1 | |
pi#(active(X)) | → | pi#(X) | (157) |
1 | > | 1 |
As there is no critical graph in the transitive closure, there are no infinite chains.
square#(mark(X)) | → | square#(X) | (166) |
square#(active(X)) | → | square#(X) | (167) |
Using size-change termination in combination with the subterm criterion one obtains the following initial size-change graphs.
square#(mark(X)) | → | square#(X) | (166) |
1 | > | 1 | |
square#(active(X)) | → | square#(X) | (167) |
1 | > | 1 |
As there is no critical graph in the transitive closure, there are no infinite chains.