The rewrite relation of the following TRS is considered.
active(__(__(X,Y),Z)) | → | mark(__(X,__(Y,Z))) | (1) |
active(__(X,nil)) | → | mark(X) | (2) |
active(__(nil,X)) | → | mark(X) | (3) |
active(and(tt,X)) | → | mark(X) | (4) |
active(isNePal(__(I,__(P,I)))) | → | mark(tt) | (5) |
mark(__(X1,X2)) | → | active(__(mark(X1),mark(X2))) | (6) |
mark(nil) | → | active(nil) | (7) |
mark(and(X1,X2)) | → | active(and(mark(X1),X2)) | (8) |
mark(tt) | → | active(tt) | (9) |
mark(isNePal(X)) | → | active(isNePal(mark(X))) | (10) |
__(mark(X1),X2) | → | __(X1,X2) | (11) |
__(X1,mark(X2)) | → | __(X1,X2) | (12) |
__(active(X1),X2) | → | __(X1,X2) | (13) |
__(X1,active(X2)) | → | __(X1,X2) | (14) |
and(mark(X1),X2) | → | and(X1,X2) | (15) |
and(X1,mark(X2)) | → | and(X1,X2) | (16) |
and(active(X1),X2) | → | and(X1,X2) | (17) |
and(X1,active(X2)) | → | and(X1,X2) | (18) |
isNePal(mark(X)) | → | isNePal(X) | (19) |
isNePal(active(X)) | → | isNePal(X) | (20) |
mark#(__(X1,X2)) | → | active#(__(mark(X1),mark(X2))) | (21) |
and#(X1,active(X2)) | → | and#(X1,X2) | (22) |
__#(active(X1),X2) | → | __#(X1,X2) | (23) |
mark#(isNePal(X)) | → | active#(isNePal(mark(X))) | (24) |
__#(X1,mark(X2)) | → | __#(X1,X2) | (25) |
isNePal#(active(X)) | → | isNePal#(X) | (26) |
mark#(and(X1,X2)) | → | active#(and(mark(X1),X2)) | (27) |
active#(__(__(X,Y),Z)) | → | __#(Y,Z) | (28) |
mark#(nil) | → | active#(nil) | (29) |
mark#(isNePal(X)) | → | isNePal#(mark(X)) | (30) |
mark#(and(X1,X2)) | → | and#(mark(X1),X2) | (31) |
active#(__(nil,X)) | → | mark#(X) | (32) |
mark#(tt) | → | active#(tt) | (33) |
__#(X1,active(X2)) | → | __#(X1,X2) | (34) |
mark#(__(X1,X2)) | → | mark#(X2) | (35) |
active#(and(tt,X)) | → | mark#(X) | (36) |
active#(__(__(X,Y),Z)) | → | __#(X,__(Y,Z)) | (37) |
and#(mark(X1),X2) | → | and#(X1,X2) | (38) |
and#(active(X1),X2) | → | and#(X1,X2) | (39) |
and#(X1,mark(X2)) | → | and#(X1,X2) | (40) |
mark#(and(X1,X2)) | → | mark#(X1) | (41) |
active#(__(__(X,Y),Z)) | → | mark#(__(X,__(Y,Z))) | (42) |
active#(isNePal(__(I,__(P,I)))) | → | mark#(tt) | (43) |
mark#(__(X1,X2)) | → | __#(mark(X1),mark(X2)) | (44) |
active#(__(X,nil)) | → | mark#(X) | (45) |
__#(mark(X1),X2) | → | __#(X1,X2) | (46) |
mark#(isNePal(X)) | → | mark#(X) | (47) |
mark#(__(X1,X2)) | → | mark#(X1) | (48) |
isNePal#(mark(X)) | → | isNePal#(X) | (49) |
The dependency pairs are split into 4 components.
mark#(__(X1,X2)) | → | mark#(X1) | (48) |
mark#(isNePal(X)) | → | mark#(X) | (47) |
active#(__(X,nil)) | → | mark#(X) | (45) |
mark#(and(X1,X2)) | → | active#(and(mark(X1),X2)) | (27) |
active#(__(__(X,Y),Z)) | → | mark#(__(X,__(Y,Z))) | (42) |
mark#(and(X1,X2)) | → | mark#(X1) | (41) |
mark#(isNePal(X)) | → | active#(isNePal(mark(X))) | (24) |
active#(and(tt,X)) | → | mark#(X) | (36) |
mark#(__(X1,X2)) | → | mark#(X2) | (35) |
mark#(__(X1,X2)) | → | active#(__(mark(X1),mark(X2))) | (21) |
active#(__(nil,X)) | → | mark#(X) | (32) |
[and(x1, x2)] | = | 8368 |
[__#(x1, x2)] | = | 0 |
[isNePal(x1)] | = | 8366 |
[mark#(x1)] | = | 8368 |
[isNePal#(x1)] | = | 0 |
[nil] | = | 8368 |
[mark(x1)] | = | 8367 |
[active(x1)] | = | x1 + 0 |
[active#(x1)] | = | x1 + 0 |
[tt] | = | 20165 |
[and#(x1, x2)] | = | 0 |
[__(x1, x2)] | = | 8368 |
and(X1,active(X2)) | → | and(X1,X2) | (18) |
and(mark(X1),X2) | → | and(X1,X2) | (15) |
and(X1,mark(X2)) | → | and(X1,X2) | (16) |
isNePal(mark(X)) | → | isNePal(X) | (19) |
and(active(X1),X2) | → | and(X1,X2) | (17) |
isNePal(active(X)) | → | isNePal(X) | (20) |
__(X1,active(X2)) | → | __(X1,X2) | (14) |
__(X1,mark(X2)) | → | __(X1,X2) | (12) |
__(mark(X1),X2) | → | __(X1,X2) | (11) |
__(active(X1),X2) | → | __(X1,X2) | (13) |
mark#(isNePal(X)) | → | active#(isNePal(mark(X))) | (24) |
The dependency pairs are split into 1 component.
active#(and(tt,X)) | → | mark#(X) | (36) |
mark#(and(X1,X2)) | → | mark#(X1) | (41) |
mark#(and(X1,X2)) | → | active#(and(mark(X1),X2)) | (27) |
active#(__(__(X,Y),Z)) | → | mark#(__(X,__(Y,Z))) | (42) |
active#(__(nil,X)) | → | mark#(X) | (32) |
mark#(isNePal(X)) | → | mark#(X) | (47) |
mark#(__(X1,X2)) | → | mark#(X2) | (35) |
mark#(__(X1,X2)) | → | mark#(X1) | (48) |
mark#(__(X1,X2)) | → | active#(__(mark(X1),mark(X2))) | (21) |
active#(__(X,nil)) | → | mark#(X) | (45) |
[and(x1, x2)] | = | x1 + x2 + 2998 |
[__#(x1, x2)] | = | 0 |
[isNePal(x1)] | = | x1 + 23046 |
[mark#(x1)] | = | x1 + 0 |
[isNePal#(x1)] | = | 0 |
[nil] | = | 41514 |
[mark(x1)] | = | x1 + 0 |
[active(x1)] | = | x1 + 0 |
[active#(x1)] | = | x1 + 0 |
[tt] | = | 28 |
[and#(x1, x2)] | = | 0 |
[__(x1, x2)] | = | x1 + x2 + 8946 |
and(X1,active(X2)) | → | and(X1,X2) | (18) |
active(and(tt,X)) | → | mark(X) | (4) |
and(mark(X1),X2) | → | and(X1,X2) | (15) |
mark(and(X1,X2)) | → | active(and(mark(X1),X2)) | (8) |
active(__(__(X,Y),Z)) | → | mark(__(X,__(Y,Z))) | (1) |
active(__(nil,X)) | → | mark(X) | (3) |
and(X1,mark(X2)) | → | and(X1,X2) | (16) |
isNePal(mark(X)) | → | isNePal(X) | (19) |
and(active(X1),X2) | → | and(X1,X2) | (17) |
active(isNePal(__(I,__(P,I)))) | → | mark(tt) | (5) |
mark(isNePal(X)) | → | active(isNePal(mark(X))) | (10) |
mark(nil) | → | active(nil) | (7) |
isNePal(active(X)) | → | isNePal(X) | (20) |
__(X1,active(X2)) | → | __(X1,X2) | (14) |
__(X1,mark(X2)) | → | __(X1,X2) | (12) |
__(mark(X1),X2) | → | __(X1,X2) | (11) |
mark(tt) | → | active(tt) | (9) |
__(active(X1),X2) | → | __(X1,X2) | (13) |
mark(__(X1,X2)) | → | active(__(mark(X1),mark(X2))) | (6) |
active(__(X,nil)) | → | mark(X) | (2) |
active#(and(tt,X)) | → | mark#(X) | (36) |
mark#(and(X1,X2)) | → | mark#(X1) | (41) |
active#(__(nil,X)) | → | mark#(X) | (32) |
mark#(isNePal(X)) | → | mark#(X) | (47) |
mark#(__(X1,X2)) | → | mark#(X2) | (35) |
mark#(__(X1,X2)) | → | mark#(X1) | (48) |
active#(__(X,nil)) | → | mark#(X) | (45) |
The dependency pairs are split into 1 component.
mark#(and(X1,X2)) | → | active#(and(mark(X1),X2)) | (27) |
active#(__(__(X,Y),Z)) | → | mark#(__(X,__(Y,Z))) | (42) |
mark#(__(X1,X2)) | → | active#(__(mark(X1),mark(X2))) | (21) |
[and(x1, x2)] | = | 28882 |
[__#(x1, x2)] | = | 0 |
[isNePal(x1)] | = | 2241 |
[mark#(x1)] | = | 28883 |
[isNePal#(x1)] | = | 0 |
[nil] | = | 9726 |
[mark(x1)] | = | x1 + 1 |
[active(x1)] | = | 28885 |
[active#(x1)] | = | x1 + 0 |
[tt] | = | 28885 |
[and#(x1, x2)] | = | 0 |
[__(x1, x2)] | = | 28883 |
and(X1,active(X2)) | → | and(X1,X2) | (18) |
and(mark(X1),X2) | → | and(X1,X2) | (15) |
and(X1,mark(X2)) | → | and(X1,X2) | (16) |
isNePal(mark(X)) | → | isNePal(X) | (19) |
and(active(X1),X2) | → | and(X1,X2) | (17) |
isNePal(active(X)) | → | isNePal(X) | (20) |
__(X1,active(X2)) | → | __(X1,X2) | (14) |
__(X1,mark(X2)) | → | __(X1,X2) | (12) |
__(mark(X1),X2) | → | __(X1,X2) | (11) |
__(active(X1),X2) | → | __(X1,X2) | (13) |
mark#(and(X1,X2)) | → | active#(and(mark(X1),X2)) | (27) |
The dependency pairs are split into 1 component.
active#(__(__(X,Y),Z)) | → | mark#(__(X,__(Y,Z))) | (42) |
mark#(__(X1,X2)) | → | active#(__(mark(X1),mark(X2))) | (21) |
π(mark#) | = | 1 |
π(isNePal#) | = | 1 |
π(mark) | = | 1 |
π(active) | = | 1 |
π(active#) | = | 1 |
prec(and) | = | 1 | status(and) | = | [1, 2] | list-extension(and) | = | Lex | ||
prec(__#) | = | 0 | status(__#) | = | [1, 2] | list-extension(__#) | = | Lex | ||
prec(isNePal) | = | 1 | status(isNePal) | = | [] | list-extension(isNePal) | = | Lex | ||
prec(nil) | = | 2 | status(nil) | = | [] | list-extension(nil) | = | Lex | ||
prec(tt) | = | 0 | status(tt) | = | [] | list-extension(tt) | = | Lex | ||
prec(and#) | = | 0 | status(and#) | = | [2, 1] | list-extension(and#) | = | Lex | ||
prec(__) | = | 1 | status(__) | = | [1, 2] | list-extension(__) | = | Lex |
[and(x1, x2)] | = | max(x1 + 0, x2 + 0, 0) |
[__#(x1, x2)] | = | max(x1 + 0, x2 + 0, 0) |
[isNePal(x1)] | = | 0 |
[nil] | = | 0 |
[tt] | = | 0 |
[and#(x1, x2)] | = | max(x1 + 0, x2 + 0, 0) |
[__(x1, x2)] | = | max(x1 + 0, x2 + 0, 0) |
and(X1,active(X2)) | → | and(X1,X2) | (18) |
active(and(tt,X)) | → | mark(X) | (4) |
and(mark(X1),X2) | → | and(X1,X2) | (15) |
mark(and(X1,X2)) | → | active(and(mark(X1),X2)) | (8) |
active(__(__(X,Y),Z)) | → | mark(__(X,__(Y,Z))) | (1) |
active(__(nil,X)) | → | mark(X) | (3) |
and(X1,mark(X2)) | → | and(X1,X2) | (16) |
isNePal(mark(X)) | → | isNePal(X) | (19) |
and(active(X1),X2) | → | and(X1,X2) | (17) |
active(isNePal(__(I,__(P,I)))) | → | mark(tt) | (5) |
mark(isNePal(X)) | → | active(isNePal(mark(X))) | (10) |
mark(nil) | → | active(nil) | (7) |
isNePal(active(X)) | → | isNePal(X) | (20) |
__(X1,active(X2)) | → | __(X1,X2) | (14) |
__(X1,mark(X2)) | → | __(X1,X2) | (12) |
__(mark(X1),X2) | → | __(X1,X2) | (11) |
mark(tt) | → | active(tt) | (9) |
__(active(X1),X2) | → | __(X1,X2) | (13) |
mark(__(X1,X2)) | → | active(__(mark(X1),mark(X2))) | (6) |
active(__(X,nil)) | → | mark(X) | (2) |
active#(__(__(X,Y),Z)) | → | mark#(__(X,__(Y,Z))) | (42) |
The dependency pairs are split into 0 components.
__#(mark(X1),X2) | → | __#(X1,X2) | (46) |
__#(X1,mark(X2)) | → | __#(X1,X2) | (25) |
__#(active(X1),X2) | → | __#(X1,X2) | (23) |
__#(X1,active(X2)) | → | __#(X1,X2) | (34) |
[and(x1, x2)] | = | x1 + x2 + 1 |
[__#(x1, x2)] | = | x1 + x2 + 0 |
[isNePal(x1)] | = | x1 + 2 |
[mark#(x1)] | = | 0 |
[isNePal#(x1)] | = | 0 |
[nil] | = | 42910 |
[mark(x1)] | = | x1 + 4 |
[active(x1)] | = | x1 + 1 |
[active#(x1)] | = | 0 |
[tt] | = | 1 |
[and#(x1, x2)] | = | 0 |
[__(x1, x2)] | = | 1 |
__#(mark(X1),X2) | → | __#(X1,X2) | (46) |
__#(X1,mark(X2)) | → | __#(X1,X2) | (25) |
__#(active(X1),X2) | → | __#(X1,X2) | (23) |
__#(X1,active(X2)) | → | __#(X1,X2) | (34) |
The dependency pairs are split into 0 components.
isNePal#(mark(X)) | → | isNePal#(X) | (49) |
isNePal#(active(X)) | → | isNePal#(X) | (26) |
[and(x1, x2)] | = | x1 + x2 + 1 |
[__#(x1, x2)] | = | 0 |
[isNePal(x1)] | = | x1 + 1 |
[mark#(x1)] | = | 0 |
[isNePal#(x1)] | = | x1 + 0 |
[nil] | = | 42910 |
[mark(x1)] | = | x1 + 4 |
[active(x1)] | = | x1 + 1 |
[active#(x1)] | = | 0 |
[tt] | = | 1 |
[and#(x1, x2)] | = | 0 |
[__(x1, x2)] | = | 1 |
isNePal#(mark(X)) | → | isNePal#(X) | (49) |
isNePal#(active(X)) | → | isNePal#(X) | (26) |
The dependency pairs are split into 0 components.
and#(X1,mark(X2)) | → | and#(X1,X2) | (40) |
and#(active(X1),X2) | → | and#(X1,X2) | (39) |
and#(mark(X1),X2) | → | and#(X1,X2) | (38) |
and#(X1,active(X2)) | → | and#(X1,X2) | (22) |
[and(x1, x2)] | = | x1 + x2 + 1 |
[__#(x1, x2)] | = | 0 |
[isNePal(x1)] | = | x1 + 1 |
[mark#(x1)] | = | 0 |
[isNePal#(x1)] | = | 0 |
[nil] | = | 41065 |
[mark(x1)] | = | x1 + 4 |
[active(x1)] | = | x1 + 1 |
[active#(x1)] | = | 0 |
[tt] | = | 1 |
[and#(x1, x2)] | = | x1 + 0 |
[__(x1, x2)] | = | 1 |
and#(active(X1),X2) | → | and#(X1,X2) | (39) |
and#(mark(X1),X2) | → | and#(X1,X2) | (38) |
The dependency pairs are split into 1 component.
and#(X1,active(X2)) | → | and#(X1,X2) | (22) |
and#(X1,mark(X2)) | → | and#(X1,X2) | (40) |
[and(x1, x2)] | = | x1 + x2 + 1 |
[__#(x1, x2)] | = | 0 |
[isNePal(x1)] | = | x1 + 1 |
[mark#(x1)] | = | 0 |
[isNePal#(x1)] | = | 0 |
[nil] | = | 52629 |
[mark(x1)] | = | x1 + 4 |
[active(x1)] | = | x1 + 1 |
[active#(x1)] | = | 0 |
[tt] | = | 1 |
[and#(x1, x2)] | = | x2 + 0 |
[__(x1, x2)] | = | 2 |
and#(X1,active(X2)) | → | and#(X1,X2) | (22) |
and#(X1,mark(X2)) | → | and#(X1,X2) | (40) |
The dependency pairs are split into 0 components.