The rewrite relation of the following equational TRS is considered.
union(X,empty) | → | X | (1) |
union(empty,X) | → | X | (2) |
0(z) | → | z | (3) |
U101(tt,X,Y) | → | 0(mult(X,Y)) | (4) |
U11(tt,V1) | → | U12(isBin(V1)) | (5) |
U111(tt,X,Y) | → | plus(0(mult(X,Y)),Y) | (6) |
U12(tt) | → | tt | (7) |
U121(tt,X) | → | X | (8) |
U131(tt,X,Y) | → | 0(plus(X,Y)) | (9) |
U141(tt,X,Y) | → | 1(plus(X,Y)) | (10) |
U151(tt,X,Y) | → | 0(plus(plus(X,Y),1(z))) | (11) |
U161(tt,X) | → | X | (12) |
U171(tt,A,B) | → | mult(prod(A),prod(B)) | (13) |
U181(tt,X) | → | X | (14) |
U191(tt,A,B) | → | plus(sum(A),sum(B)) | (15) |
U21(tt,V1,V2) | → | U22(isBag(V1),V2) | (16) |
U22(tt,V2) | → | U23(isBag(V2)) | (17) |
U23(tt) | → | tt | (18) |
U31(tt,V1) | → | U32(isBin(V1)) | (19) |
U32(tt) | → | tt | (20) |
U41(tt,V1) | → | U42(isBin(V1)) | (21) |
U42(tt) | → | tt | (22) |
U51(tt,V1,V2) | → | U52(isBin(V1),V2) | (23) |
U52(tt,V2) | → | U53(isBin(V2)) | (24) |
U53(tt) | → | tt | (25) |
U61(tt,V1,V2) | → | U62(isBin(V1),V2) | (26) |
U62(tt,V2) | → | U63(isBin(V2)) | (27) |
U63(tt) | → | tt | (28) |
U71(tt,V1) | → | U72(isBag(V1)) | (29) |
U72(tt) | → | tt | (30) |
U81(tt,V1) | → | U82(isBag(V1)) | (31) |
U82(tt) | → | tt | (32) |
U91(tt) | → | z | (33) |
and(tt,X) | → | X | (34) |
isBag(empty) | → | tt | (35) |
isBag(singl(V1)) | → | U11(isBinKind(V1),V1) | (36) |
isBag(union(V1,V2)) | → | U21(and(isBagKind(V1),isBagKind(V2)),V1,V2) | (37) |
isBagKind(empty) | → | tt | (38) |
isBagKind(singl(V1)) | → | isBinKind(V1) | (39) |
isBagKind(union(V1,V2)) | → | and(isBagKind(V1),isBagKind(V2)) | (40) |
isBin(z) | → | tt | (41) |
isBin(0(V1)) | → | U31(isBinKind(V1),V1) | (42) |
isBin(1(V1)) | → | U41(isBinKind(V1),V1) | (43) |
isBin(mult(V1,V2)) | → | U51(and(isBinKind(V1),isBinKind(V2)),V1,V2) | (44) |
isBin(plus(V1,V2)) | → | U61(and(isBinKind(V1),isBinKind(V2)),V1,V2) | (45) |
isBin(prod(V1)) | → | U71(isBagKind(V1),V1) | (46) |
isBin(sum(V1)) | → | U81(isBagKind(V1),V1) | (47) |
isBinKind(z) | → | tt | (48) |
isBinKind(0(V1)) | → | isBinKind(V1) | (49) |
isBinKind(1(V1)) | → | isBinKind(V1) | (50) |
isBinKind(mult(V1,V2)) | → | and(isBinKind(V1),isBinKind(V2)) | (51) |
isBinKind(plus(V1,V2)) | → | and(isBinKind(V1),isBinKind(V2)) | (52) |
isBinKind(prod(V1)) | → | isBagKind(V1) | (53) |
isBinKind(sum(V1)) | → | isBagKind(V1) | (54) |
mult(z,X) | → | U91(and(isBin(X),isBinKind(X))) | (55) |
mult(0(X),Y) | → | U101(and(and(isBin(X),isBinKind(X)),and(isBin(Y),isBinKind(Y))),X,Y) | (56) |
mult(1(X),Y) | → | U111(and(and(isBin(X),isBinKind(X)),and(isBin(Y),isBinKind(Y))),X,Y) | (57) |
plus(z,X) | → | U121(and(isBin(X),isBinKind(X)),X) | (58) |
plus(0(X),0(Y)) | → | U131(and(and(isBin(X),isBinKind(X)),and(isBin(Y),isBinKind(Y))),X,Y) | (59) |
plus(0(X),1(Y)) | → | U141(and(and(isBin(X),isBinKind(X)),and(isBin(Y),isBinKind(Y))),X,Y) | (60) |
plus(1(X),1(Y)) | → | U151(and(and(isBin(X),isBinKind(X)),and(isBin(Y),isBinKind(Y))),X,Y) | (61) |
prod(empty) | → | 1(z) | (62) |
prod(singl(X)) | → | U161(and(isBin(X),isBinKind(X)),X) | (63) |
prod(union(A,B)) | → | U171(and(and(isBag(A),isBagKind(A)),and(isBag(B),isBagKind(B))),A,B) | (64) |
sum(empty) | → | 0(z) | (65) |
sum(singl(X)) | → | U181(and(isBin(X),isBinKind(X)),X) | (66) |
sum(union(A,B)) | → | U191(and(and(isBag(A),isBagKind(A)),and(isBag(B),isBagKind(B))),A,B) | (67) |
Associative symbols: mult, plus, union
Commutative symbols: mult, plus, union
The following set of (strict) dependency pairs is constructed for the TRS.
There are 205 ruless (increase limit for explicit display).
The extended rules of the TRSmult(mult(z,X),ext) | → | mult(U91(and(isBin(X),isBinKind(X))),ext) | (288) |
mult(mult(0(X),Y),ext) | → | mult(U101(and(and(isBin(X),isBinKind(X)),and(isBin(Y),isBinKind(Y))),X,Y),ext) | (289) |
mult(mult(1(X),Y),ext) | → | mult(U111(and(and(isBin(X),isBinKind(X)),and(isBin(Y),isBinKind(Y))),X,Y),ext) | (290) |
plus(plus(z,X),ext) | → | plus(U121(and(isBin(X),isBinKind(X)),X),ext) | (291) |
plus(plus(0(X),0(Y)),ext) | → | plus(U131(and(and(isBin(X),isBinKind(X)),and(isBin(Y),isBinKind(Y))),X,Y),ext) | (292) |
plus(plus(0(X),1(Y)),ext) | → | plus(U141(and(and(isBin(X),isBinKind(X)),and(isBin(Y),isBinKind(Y))),X,Y),ext) | (293) |
plus(plus(1(X),1(Y)),ext) | → | plus(U151(and(and(isBin(X),isBinKind(X)),and(isBin(Y),isBinKind(Y))),X,Y),ext) | (294) |
union(union(X,empty),ext) | → | union(X,ext) | (295) |
union(union(empty,X),ext) | → | union(X,ext) | (296) |
The dependency pairs are split into 7 components.
U171#(tt,A,B) | → | prod#(A) | (97) |
prod#(union(A,B)) | → | U171#(and(and(isBag(A),isBagKind(A)),and(isBag(B),isBagKind(B))),A,B) | (210) |
U171#(tt,A,B) | → | prod#(B) | (98) |
[U51(x1, x2, x3)] | = | 2 · x1 + 1 · x2 + 1 · x3 |
[tt] | = | 0 |
[U52(x1, x2)] | = | 1 · x1 + 1 · x2 |
[isBin(x1)] | = | 1 · x1 |
[U42(x1)] | = | 1 · x1 |
[isBag(x1)] | = | 1 · x1 |
[empty] | = | 0 |
[and(x1, x2)] | = | 1 · x1 + 1 · x2 |
[1(x1)] | = | 2 · x1 |
[U41(x1, x2)] | = | 1 · x1 + 1 · x2 |
[isBinKind(x1)] | = | 1 · x1 |
[U21(x1, x2, x3)] | = | 1 · x1 + 1 · x2 + 1 · x3 |
[U22(x1, x2)] | = | 1 · x1 + 1 · x2 |
[singl(x1)] | = | 1 + 3 · x1 |
[U11(x1, x2)] | = | 1 · x1 + 2 · x2 |
[U82(x1)] | = | 1 · x1 |
[isBagKind(x1)] | = | 2 · x1 |
[U12(x1)] | = | 2 · x1 |
[U31(x1, x2)] | = | 1 · x1 + 2 · x2 |
[U32(x1)] | = | 1 · x1 |
[U72(x1)] | = | 1 · x1 |
[plus(x1, x2)] | = | 3 + 3 · x1 + 3 · x2 |
[U61(x1, x2, x3)] | = | 3 + 1 · x1 + 1 · x2 + 2 · x3 |
[sum(x1)] | = | 3 · x1 |
[U53(x1)] | = | 1 · x1 |
[U23(x1)] | = | 1 · x1 |
[union(x1, x2)] | = | 3 · x1 + 3 · x2 |
[U71(x1, x2)] | = | 1 · x1 + 1 · x2 |
[prod(x1)] | = | 1 + 3 · x1 |
[z] | = | 0 |
[U81(x1, x2)] | = | 1 · x1 + 1 · x2 |
[0(x1)] | = | 2 + 3 · x1 |
[U62(x1, x2)] | = | 2 + 1 · x1 + 1 · x2 |
[U63(x1)] | = | 1 · x1 |
[mult(x1, x2)] | = | 3 · x1 + 3 · x2 |
[prod#(x1)] | = | 3 · x1 |
[U171#(x1, x2, x3)] | = | 1 · x1 + 3 · x2 + 3 · x3 |
U51(tt,V1,V2) | → | U52(isBin(V1),V2) | (23) |
U42(tt) | → | tt | (22) |
isBag(empty) | → | tt | (35) |
and(tt,X) | → | X | (34) |
isBin(1(V1)) | → | U41(isBinKind(V1),V1) | (43) |
U21(tt,V1,V2) | → | U22(isBag(V1),V2) | (16) |
isBag(singl(V1)) | → | U11(isBinKind(V1),V1) | (36) |
U82(tt) | → | tt | (32) |
isBagKind(empty) | → | tt | (38) |
U41(tt,V1) | → | U42(isBin(V1)) | (21) |
U11(tt,V1) | → | U12(isBin(V1)) | (5) |
U31(tt,V1) | → | U32(isBin(V1)) | (19) |
U72(tt) | → | tt | (30) |
isBin(plus(V1,V2)) | → | U61(and(isBinKind(V1),isBinKind(V2)),V1,V2) | (45) |
isBinKind(sum(V1)) | → | isBagKind(V1) | (54) |
U52(tt,V2) | → | U53(isBin(V2)) | (24) |
U23(tt) | → | tt | (18) |
isBagKind(union(V1,V2)) | → | and(isBagKind(V1),isBagKind(V2)) | (40) |
U71(tt,V1) | → | U72(isBag(V1)) | (29) |
isBagKind(singl(V1)) | → | isBinKind(V1) | (39) |
isBag(union(V1,V2)) | → | U21(and(isBagKind(V1),isBagKind(V2)),V1,V2) | (37) |
U22(tt,V2) | → | U23(isBag(V2)) | (17) |
isBinKind(prod(V1)) | → | isBagKind(V1) | (53) |
isBin(z) | → | tt | (41) |
isBin(sum(V1)) | → | U81(isBagKind(V1),V1) | (47) |
U12(tt) | → | tt | (7) |
isBin(0(V1)) | → | U31(isBinKind(V1),V1) | (42) |
isBinKind(plus(V1,V2)) | → | and(isBinKind(V1),isBinKind(V2)) | (52) |
isBinKind(0(V1)) | → | isBinKind(V1) | (49) |
U32(tt) | → | tt | (20) |
U61(tt,V1,V2) | → | U62(isBin(V1),V2) | (26) |
U53(tt) | → | tt | (25) |
U62(tt,V2) | → | U63(isBin(V2)) | (27) |
U81(tt,V1) | → | U82(isBag(V1)) | (31) |
isBinKind(1(V1)) | → | isBinKind(V1) | (50) |
U63(tt) | → | tt | (28) |
isBin(prod(V1)) | → | U71(isBagKind(V1),V1) | (46) |
isBin(mult(V1,V2)) | → | U51(and(isBinKind(V1),isBinKind(V2)),V1,V2) | (44) |
isBinKind(z) | → | tt | (48) |
isBinKind(mult(V1,V2)) | → | and(isBinKind(V1),isBinKind(V2)) | (51) |
prod#(union(A,B)) | → | U171#(and(and(isBag(A),isBagKind(A)),and(isBag(B),isBagKind(B))),A,B) | (210) |
union(X,empty) | → | X | (1) |
union(empty,X) | → | X | (2) |
0(z) | → | z | (3) |
U101(tt,X,Y) | → | 0(mult(X,Y)) | (4) |
U111(tt,X,Y) | → | plus(0(mult(X,Y)),Y) | (6) |
U121(tt,X) | → | X | (8) |
U131(tt,X,Y) | → | 0(plus(X,Y)) | (9) |
U141(tt,X,Y) | → | 1(plus(X,Y)) | (10) |
U151(tt,X,Y) | → | 0(plus(plus(X,Y),1(z))) | (11) |
U161(tt,X) | → | X | (12) |
U171(tt,A,B) | → | mult(prod(A),prod(B)) | (13) |
U181(tt,X) | → | X | (14) |
U191(tt,A,B) | → | plus(sum(A),sum(B)) | (15) |
U61(tt,V1,V2) | → | U62(isBin(V1),V2) | (26) |
U62(tt,V2) | → | U63(isBin(V2)) | (27) |
U91(tt) | → | z | (33) |
isBag(empty) | → | tt | (35) |
isBag(singl(V1)) | → | U11(isBinKind(V1),V1) | (36) |
isBag(union(V1,V2)) | → | U21(and(isBagKind(V1),isBagKind(V2)),V1,V2) | (37) |
isBagKind(empty) | → | tt | (38) |
isBagKind(singl(V1)) | → | isBinKind(V1) | (39) |
isBagKind(union(V1,V2)) | → | and(isBagKind(V1),isBagKind(V2)) | (40) |
isBin(z) | → | tt | (41) |
isBin(0(V1)) | → | U31(isBinKind(V1),V1) | (42) |
isBin(1(V1)) | → | U41(isBinKind(V1),V1) | (43) |
isBin(mult(V1,V2)) | → | U51(and(isBinKind(V1),isBinKind(V2)),V1,V2) | (44) |
isBin(plus(V1,V2)) | → | U61(and(isBinKind(V1),isBinKind(V2)),V1,V2) | (45) |
isBin(prod(V1)) | → | U71(isBagKind(V1),V1) | (46) |
isBin(sum(V1)) | → | U81(isBagKind(V1),V1) | (47) |
isBinKind(z) | → | tt | (48) |
isBinKind(0(V1)) | → | isBinKind(V1) | (49) |
isBinKind(1(V1)) | → | isBinKind(V1) | (50) |
isBinKind(mult(V1,V2)) | → | and(isBinKind(V1),isBinKind(V2)) | (51) |
isBinKind(plus(V1,V2)) | → | and(isBinKind(V1),isBinKind(V2)) | (52) |
isBinKind(prod(V1)) | → | isBagKind(V1) | (53) |
isBinKind(sum(V1)) | → | isBagKind(V1) | (54) |
mult(z,X) | → | U91(and(isBin(X),isBinKind(X))) | (55) |
mult(0(X),Y) | → | U101(and(and(isBin(X),isBinKind(X)),and(isBin(Y),isBinKind(Y))),X,Y) | (56) |
mult(1(X),Y) | → | U111(and(and(isBin(X),isBinKind(X)),and(isBin(Y),isBinKind(Y))),X,Y) | (57) |
plus(z,X) | → | U121(and(isBin(X),isBinKind(X)),X) | (58) |
plus(0(X),0(Y)) | → | U131(and(and(isBin(X),isBinKind(X)),and(isBin(Y),isBinKind(Y))),X,Y) | (59) |
plus(0(X),1(Y)) | → | U141(and(and(isBin(X),isBinKind(X)),and(isBin(Y),isBinKind(Y))),X,Y) | (60) |
plus(1(X),1(Y)) | → | U151(and(and(isBin(X),isBinKind(X)),and(isBin(Y),isBinKind(Y))),X,Y) | (61) |
prod(empty) | → | 1(z) | (62) |
prod(singl(X)) | → | U161(and(isBin(X),isBinKind(X)),X) | (63) |
prod(union(A,B)) | → | U171(and(and(isBag(A),isBagKind(A)),and(isBag(B),isBagKind(B))),A,B) | (64) |
sum(empty) | → | 0(z) | (65) |
sum(singl(X)) | → | U181(and(isBin(X),isBinKind(X)),X) | (66) |
sum(union(A,B)) | → | U191(and(and(isBag(A),isBagKind(A)),and(isBag(B),isBagKind(B))),A,B) | (67) |
mult(mult(z,X),ext) | → | mult(U91(and(isBin(X),isBinKind(X))),ext) | (288) |
mult(mult(0(X),Y),ext) | → | mult(U101(and(and(isBin(X),isBinKind(X)),and(isBin(Y),isBinKind(Y))),X,Y),ext) | (289) |
mult(mult(1(X),Y),ext) | → | mult(U111(and(and(isBin(X),isBinKind(X)),and(isBin(Y),isBinKind(Y))),X,Y),ext) | (290) |
plus(plus(z,X),ext) | → | plus(U121(and(isBin(X),isBinKind(X)),X),ext) | (291) |
plus(plus(0(X),0(Y)),ext) | → | plus(U131(and(and(isBin(X),isBinKind(X)),and(isBin(Y),isBinKind(Y))),X,Y),ext) | (292) |
plus(plus(0(X),1(Y)),ext) | → | plus(U141(and(and(isBin(X),isBinKind(X)),and(isBin(Y),isBinKind(Y))),X,Y),ext) | (293) |
plus(plus(1(X),1(Y)),ext) | → | plus(U151(and(and(isBin(X),isBinKind(X)),and(isBin(Y),isBinKind(Y))),X,Y),ext) | (294) |
union(union(X,empty),ext) | → | union(X,ext) | (295) |
union(union(empty,X),ext) | → | union(X,ext) | (296) |
The dependency pairs are split into 0 components.
U101#(tt,X,Y) | → | mult#(X,Y) | (84) |
mult#(0(X),Y) | → | U101#(and(and(isBin(X),isBinKind(X)),and(isBin(Y),isBinKind(Y))),X,Y) | (162) |
mult#(1(X),Y) | → | U111#(and(and(isBin(X),isBinKind(X)),and(isBin(Y),isBinKind(Y))),X,Y) | (170) |
U111#(tt,X,Y) | → | mult#(X,Y) | (89) |
mult#(mult(z,X),ext) | → | mult#(U91(and(isBin(X),isBinKind(X))),ext) | (231) |
mult#(mult(0(X),Y),ext) | → | mult#(U101(and(and(isBin(X),isBinKind(X)),and(isBin(Y),isBinKind(Y))),X,Y),ext) | (236) |
mult#(mult(0(X),Y),ext) | → | U101#(and(and(isBin(X),isBinKind(X)),and(isBin(Y),isBinKind(Y))),X,Y) | (237) |
mult#(mult(1(X),Y),ext) | → | mult#(U111(and(and(isBin(X),isBinKind(X)),and(isBin(Y),isBinKind(Y))),X,Y),ext) | (245) |
mult#(mult(1(X),Y),ext) | → | U111#(and(and(isBin(X),isBinKind(X)),and(isBin(Y),isBinKind(Y))),X,Y) | (246) |
mult#(mult(x,y),z') | → | mult#(y,z') | (80) |
mult#(x,y) | → | mult#(y,x) | (74) |
mult#(mult(x,y),z') | → | mult#(x,mult(y,z')) | (77) |
[mult#(x1, x2)] | = | 1 · x2 + 1 · x1 + 1 · x1 · x2 |
[mult(x1, x2)] | = | 1 · x2 + 1 · x1 + 1 · x1 · x2 |
[z] | = | 0 |
[U91(x1)] | = | 0 |
[and(x1, x2)] | = | 1 · x2 |
[isBin(x1)] | = | 0 |
[isBinKind(x1)] | = | 1 |
[0(x1)] | = | 1 + 1 · x1 |
[U101#(x1, x2, x3)] | = | 1 · x3 + 1 · x2 + 1 · x2 · x3 |
[U111#(x1, x2, x3)] | = | 1 · x3 + 1 · x2 + 1 · x2 · x3 |
[tt] | = | 1 |
[U101(x1, x2, x3)] | = | 1 · x3 + 1 · x2 + 1 · x1 + 1 · x2 · x3 |
[1(x1)] | = | 1 + 1 · x1 |
[U111(x1, x2, x3)] | = | 1 · x3 + 1 · x2 + 1 · x1 + 1 · x2 · x3 + 1 · x1 · x3 |
[isBagKind(x1)] | = | 1 |
[empty] | = | 1 |
[union(x1, x2)] | = | 0 |
[singl(x1)] | = | 0 |
[U52(x1, x2)] | = | 1 · x2 + 1 · x1 · x2 |
[U53(x1)] | = | 1 |
[U62(x1, x2)] | = | 1 · x2 |
[U63(x1)] | = | 1 |
[U81(x1, x2)] | = | 1 + 1 · x2 |
[U82(x1)] | = | 1 + 1 · x1 |
[isBag(x1)] | = | 0 |
[U121(x1, x2)] | = | 1 · x2 |
[U141(x1, x2, x3)] | = | 1 + 1 · x3 + 1 · x2 |
[plus(x1, x2)] | = | 1 · x2 + 1 · x1 |
[U12(x1)] | = | 1 + 1 · x1 |
[U71(x1, x2)] | = | 1 · x2 |
[U72(x1)] | = | 1 + 1 · x1 |
[U61(x1, x2, x3)] | = | 1 · x2 + 1 · x2 · x3 |
[U151(x1, x2, x3)] | = | 1 + 1 · x3 + 1 · x2 + 1 · x1 |
[U31(x1, x2)] | = | 1 · x2 |
[U41(x1, x2)] | = | 1 · x2 |
[sum(x1)] | = | 0 |
[prod(x1)] | = | 0 |
[U51(x1, x2, x3)] | = | 1 + 1 · x3 + 1 · x2 + 1 · x2 · x3 |
[U11(x1, x2)] | = | 1 + 1 · x2 |
[U22(x1, x2)] | = | 1 · x2 |
[U23(x1)] | = | 1 + 1 · x1 |
[U32(x1)] | = | 1 |
[U21(x1, x2, x3)] | = | 1 · x3 + 1 · x2 + 1 · x2 · x3 |
[U42(x1)] | = | 1 |
[U131(x1, x2, x3)] | = | 1 + 1 · x3 + 1 · x2 |
isBagKind(empty) | → | tt | (38) |
isBagKind(union(V1,V2)) | → | and(isBagKind(V1),isBagKind(V2)) | (40) |
isBagKind(singl(V1)) | → | isBinKind(V1) | (39) |
U121(tt,X) | → | X | (8) |
mult(mult(0(X),Y),ext) | → | mult(U101(and(and(isBin(X),isBinKind(X)),and(isBin(Y),isBinKind(Y))),X,Y),ext) | (289) |
mult(z,X) | → | U91(and(isBin(X),isBinKind(X))) | (55) |
mult(mult(z,X),ext) | → | mult(U91(and(isBin(X),isBinKind(X))),ext) | (288) |
mult(0(X),Y) | → | U101(and(and(isBin(X),isBinKind(X)),and(isBin(Y),isBinKind(Y))),X,Y) | (56) |
mult(1(X),Y) | → | U111(and(and(isBin(X),isBinKind(X)),and(isBin(Y),isBinKind(Y))),X,Y) | (57) |
mult(mult(1(X),Y),ext) | → | mult(U111(and(and(isBin(X),isBinKind(X)),and(isBin(Y),isBinKind(Y))),X,Y),ext) | (290) |
U141(tt,X,Y) | → | 1(plus(X,Y)) | (10) |
U91(tt) | → | z | (33) |
U101(tt,X,Y) | → | 0(mult(X,Y)) | (4) |
U151(tt,X,Y) | → | 0(plus(plus(X,Y),1(z))) | (11) |
0(z) | → | z | (3) |
and(tt,X) | → | X | (34) |
isBinKind(sum(V1)) | → | isBagKind(V1) | (54) |
isBinKind(prod(V1)) | → | isBagKind(V1) | (53) |
isBinKind(plus(V1,V2)) | → | and(isBinKind(V1),isBinKind(V2)) | (52) |
isBinKind(mult(V1,V2)) | → | and(isBinKind(V1),isBinKind(V2)) | (51) |
isBinKind(0(V1)) | → | isBinKind(V1) | (49) |
isBinKind(1(V1)) | → | isBinKind(V1) | (50) |
isBinKind(z) | → | tt | (48) |
U111(tt,X,Y) | → | plus(0(mult(X,Y)),Y) | (6) |
U131(tt,X,Y) | → | 0(plus(X,Y)) | (9) |
plus(0(X),1(Y)) | → | U141(and(and(isBin(X),isBinKind(X)),and(isBin(Y),isBinKind(Y))),X,Y) | (60) |
plus(plus(0(X),0(Y)),ext) | → | plus(U131(and(and(isBin(X),isBinKind(X)),and(isBin(Y),isBinKind(Y))),X,Y),ext) | (292) |
plus(plus(z,X),ext) | → | plus(U121(and(isBin(X),isBinKind(X)),X),ext) | (291) |
plus(0(X),0(Y)) | → | U131(and(and(isBin(X),isBinKind(X)),and(isBin(Y),isBinKind(Y))),X,Y) | (59) |
plus(plus(1(X),1(Y)),ext) | → | plus(U151(and(and(isBin(X),isBinKind(X)),and(isBin(Y),isBinKind(Y))),X,Y),ext) | (294) |
plus(z,X) | → | U121(and(isBin(X),isBinKind(X)),X) | (58) |
plus(1(X),1(Y)) | → | U151(and(and(isBin(X),isBinKind(X)),and(isBin(Y),isBinKind(Y))),X,Y) | (61) |
plus(plus(0(X),1(Y)),ext) | → | plus(U141(and(and(isBin(X),isBinKind(X)),and(isBin(Y),isBinKind(Y))),X,Y),ext) | (293) |
mult(x,y) | → | mult(y,x) | (68) |
mult(mult(x,y),z') | → | mult(x,mult(y,z')) | (71) |
plus(plus(x,y),z') | → | plus(x,plus(y,z')) | (72) |
plus(x,y) | → | plus(y,x) | (69) |
mult#(mult(0(X),Y),ext) | → | U101#(and(and(isBin(X),isBinKind(X)),and(isBin(Y),isBinKind(Y))),X,Y) | (237) |
mult#(0(X),Y) | → | U101#(and(and(isBin(X),isBinKind(X)),and(isBin(Y),isBinKind(Y))),X,Y) | (162) |
mult#(mult(1(X),Y),ext) | → | U111#(and(and(isBin(X),isBinKind(X)),and(isBin(Y),isBinKind(Y))),X,Y) | (246) |
mult#(1(X),Y) | → | U111#(and(and(isBin(X),isBinKind(X)),and(isBin(Y),isBinKind(Y))),X,Y) | (170) |
The dependency pairs are split into 1 component.
mult#(mult(0(X),Y),ext) | → | mult#(U101(and(and(isBin(X),isBinKind(X)),and(isBin(Y),isBinKind(Y))),X,Y),ext) | (236) |
mult#(mult(z,X),ext) | → | mult#(U91(and(isBin(X),isBinKind(X))),ext) | (231) |
mult#(mult(1(X),Y),ext) | → | mult#(U111(and(and(isBin(X),isBinKind(X)),and(isBin(Y),isBinKind(Y))),X,Y),ext) | (245) |
mult#(mult(x,y),z') | → | mult#(y,z') | (80) |
mult#(x,y) | → | mult#(y,x) | (74) |
mult#(mult(x,y),z') | → | mult#(x,mult(y,z')) | (77) |
[mult#(x1, x2)] | = | 1 · x1 + 1 · x2 |
[mult(x1, x2)] | = | 3 + 1 · x1 + 1 · x2 |
[z] | = | 0 |
[U91(x1)] | = | 0 |
[and(x1, x2)] | = | 0 |
[isBin(x1)] | = | 0 |
[isBinKind(x1)] | = | 0 |
[0(x1)] | = | 0 |
[U101(x1, x2, x3)] | = | 0 |
[1(x1)] | = | 2 |
[U111(x1, x2, x3)] | = | 2 + 1 · x3 |
[U12(x1)] | = | 3 |
[tt] | = | 0 |
[sum(x1)] | = | 0 |
[isBagKind(x1)] | = | 0 |
[prod(x1)] | = | 0 |
[plus(x1, x2)] | = | 1 + 1 · x1 + 1 · x2 |
[U62(x1, x2)] | = | 3 + 3 · x2 |
[U63(x1)] | = | 3 |
[U23(x1)] | = | 3 |
[empty] | = | 0 |
[union(x1, x2)] | = | 0 |
[singl(x1)] | = | 0 |
[U32(x1)] | = | 3 |
[U51(x1, x2, x3)] | = | 3 + 3 · x2 + 3 · x3 |
[U52(x1, x2)] | = | 3 + 3 · x2 |
[isBag(x1)] | = | 0 |
[U11(x1, x2)] | = | 3 + 3 · x2 |
[U21(x1, x2, x3)] | = | 3 + 3 · x2 + 3 · x3 |
[U151(x1, x2, x3)] | = | 2 |
[U71(x1, x2)] | = | 3 + 3 · x2 |
[U72(x1)] | = | 3 |
[U22(x1, x2)] | = | 3 + 3 · x2 |
[U31(x1, x2)] | = | 3 + 3 · x2 |
[U42(x1)] | = | 3 |
[U41(x1, x2)] | = | 3 + 3 · x2 |
[U53(x1)] | = | 3 |
[U82(x1)] | = | 3 |
[U131(x1, x2, x3)] | = | 1 |
[U61(x1, x2, x3)] | = | 3 + 3 · x2 + 3 · x3 |
[U141(x1, x2, x3)] | = | 2 |
[U121(x1, x2)] | = | 1 + 1 · x2 |
[U81(x1, x2)] | = | 3 + 3 · x2 |
U91(tt) | → | z | (33) |
mult(mult(0(X),Y),ext) | → | mult(U101(and(and(isBin(X),isBinKind(X)),and(isBin(Y),isBinKind(Y))),X,Y),ext) | (289) |
mult(z,X) | → | U91(and(isBin(X),isBinKind(X))) | (55) |
mult(mult(z,X),ext) | → | mult(U91(and(isBin(X),isBinKind(X))),ext) | (288) |
mult(0(X),Y) | → | U101(and(and(isBin(X),isBinKind(X)),and(isBin(Y),isBinKind(Y))),X,Y) | (56) |
mult(1(X),Y) | → | U111(and(and(isBin(X),isBinKind(X)),and(isBin(Y),isBinKind(Y))),X,Y) | (57) |
mult(mult(1(X),Y),ext) | → | mult(U111(and(and(isBin(X),isBinKind(X)),and(isBin(Y),isBinKind(Y))),X,Y),ext) | (290) |
U151(tt,X,Y) | → | 0(plus(plus(X,Y),1(z))) | (11) |
U101(tt,X,Y) | → | 0(mult(X,Y)) | (4) |
U131(tt,X,Y) | → | 0(plus(X,Y)) | (9) |
U111(tt,X,Y) | → | plus(0(mult(X,Y)),Y) | (6) |
plus(0(X),1(Y)) | → | U141(and(and(isBin(X),isBinKind(X)),and(isBin(Y),isBinKind(Y))),X,Y) | (60) |
plus(plus(0(X),0(Y)),ext) | → | plus(U131(and(and(isBin(X),isBinKind(X)),and(isBin(Y),isBinKind(Y))),X,Y),ext) | (292) |
plus(plus(z,X),ext) | → | plus(U121(and(isBin(X),isBinKind(X)),X),ext) | (291) |
plus(0(X),0(Y)) | → | U131(and(and(isBin(X),isBinKind(X)),and(isBin(Y),isBinKind(Y))),X,Y) | (59) |
plus(plus(1(X),1(Y)),ext) | → | plus(U151(and(and(isBin(X),isBinKind(X)),and(isBin(Y),isBinKind(Y))),X,Y),ext) | (294) |
plus(z,X) | → | U121(and(isBin(X),isBinKind(X)),X) | (58) |
plus(1(X),1(Y)) | → | U151(and(and(isBin(X),isBinKind(X)),and(isBin(Y),isBinKind(Y))),X,Y) | (61) |
plus(plus(0(X),1(Y)),ext) | → | plus(U141(and(and(isBin(X),isBinKind(X)),and(isBin(Y),isBinKind(Y))),X,Y),ext) | (293) |
U141(tt,X,Y) | → | 1(plus(X,Y)) | (10) |
U121(tt,X) | → | X | (8) |
0(z) | → | z | (3) |
mult(x,y) | → | mult(y,x) | (68) |
mult(mult(x,y),z') | → | mult(x,mult(y,z')) | (71) |
plus(plus(x,y),z') | → | plus(x,plus(y,z')) | (72) |
plus(x,y) | → | plus(y,x) | (69) |
mult#(mult(z,X),ext) | → | mult#(U91(and(isBin(X),isBinKind(X))),ext) | (231) |
mult#(mult(x,y),z') | → | mult#(y,z') | (80) |
mult#(mult(0(X),Y),ext) | → | mult#(U101(and(and(isBin(X),isBinKind(X)),and(isBin(Y),isBinKind(Y))),X,Y),ext) | (236) |
mult#(mult(1(X),Y),ext) | → | mult#(U111(and(and(isBin(X),isBinKind(X)),and(isBin(Y),isBinKind(Y))),X,Y),ext) | (245) |
U191#(tt,A,B) | → | sum#(A) | (100) |
sum#(union(A,B)) | → | U191#(and(and(isBag(A),isBagKind(A)),and(isBag(B),isBagKind(B))),A,B) | (223) |
U191#(tt,A,B) | → | sum#(B) | (101) |
[U51(x1, x2, x3)] | = | 2 · x1 + 1 · x2 + 1 · x3 |
[tt] | = | 0 |
[U52(x1, x2)] | = | 1 · x1 + 1 · x2 |
[isBin(x1)] | = | 1 · x1 |
[U42(x1)] | = | 1 · x1 |
[isBag(x1)] | = | 1 · x1 |
[empty] | = | 0 |
[and(x1, x2)] | = | 1 · x1 + 1 · x2 |
[1(x1)] | = | 2 · x1 |
[U41(x1, x2)] | = | 1 · x1 + 1 · x2 |
[isBinKind(x1)] | = | 1 · x1 |
[U21(x1, x2, x3)] | = | 1 · x1 + 1 · x2 + 1 · x3 |
[U22(x1, x2)] | = | 1 · x1 + 1 · x2 |
[singl(x1)] | = | 1 + 3 · x1 |
[U11(x1, x2)] | = | 1 · x1 + 2 · x2 |
[U82(x1)] | = | 1 · x1 |
[isBagKind(x1)] | = | 2 · x1 |
[U12(x1)] | = | 2 · x1 |
[U31(x1, x2)] | = | 1 · x1 + 2 · x2 |
[U32(x1)] | = | 1 · x1 |
[U72(x1)] | = | 1 · x1 |
[plus(x1, x2)] | = | 3 + 3 · x1 + 3 · x2 |
[U61(x1, x2, x3)] | = | 3 + 1 · x1 + 1 · x2 + 2 · x3 |
[sum(x1)] | = | 3 · x1 |
[U53(x1)] | = | 1 · x1 |
[U23(x1)] | = | 1 · x1 |
[union(x1, x2)] | = | 3 · x1 + 3 · x2 |
[U71(x1, x2)] | = | 1 · x1 + 1 · x2 |
[prod(x1)] | = | 1 + 3 · x1 |
[z] | = | 0 |
[U81(x1, x2)] | = | 1 · x1 + 1 · x2 |
[0(x1)] | = | 2 + 3 · x1 |
[U62(x1, x2)] | = | 2 + 1 · x1 + 1 · x2 |
[U63(x1)] | = | 1 · x1 |
[mult(x1, x2)] | = | 3 · x1 + 3 · x2 |
[sum#(x1)] | = | 3 · x1 |
[U191#(x1, x2, x3)] | = | 1 · x1 + 3 · x2 + 3 · x3 |
U51(tt,V1,V2) | → | U52(isBin(V1),V2) | (23) |
U42(tt) | → | tt | (22) |
isBag(empty) | → | tt | (35) |
and(tt,X) | → | X | (34) |
isBin(1(V1)) | → | U41(isBinKind(V1),V1) | (43) |
U21(tt,V1,V2) | → | U22(isBag(V1),V2) | (16) |
isBag(singl(V1)) | → | U11(isBinKind(V1),V1) | (36) |
U82(tt) | → | tt | (32) |
isBagKind(empty) | → | tt | (38) |
U41(tt,V1) | → | U42(isBin(V1)) | (21) |
U11(tt,V1) | → | U12(isBin(V1)) | (5) |
U31(tt,V1) | → | U32(isBin(V1)) | (19) |
U72(tt) | → | tt | (30) |
isBin(plus(V1,V2)) | → | U61(and(isBinKind(V1),isBinKind(V2)),V1,V2) | (45) |
isBinKind(sum(V1)) | → | isBagKind(V1) | (54) |
U52(tt,V2) | → | U53(isBin(V2)) | (24) |
U23(tt) | → | tt | (18) |
isBagKind(union(V1,V2)) | → | and(isBagKind(V1),isBagKind(V2)) | (40) |
U71(tt,V1) | → | U72(isBag(V1)) | (29) |
isBagKind(singl(V1)) | → | isBinKind(V1) | (39) |
isBag(union(V1,V2)) | → | U21(and(isBagKind(V1),isBagKind(V2)),V1,V2) | (37) |
U22(tt,V2) | → | U23(isBag(V2)) | (17) |
isBinKind(prod(V1)) | → | isBagKind(V1) | (53) |
isBin(z) | → | tt | (41) |
isBin(sum(V1)) | → | U81(isBagKind(V1),V1) | (47) |
U12(tt) | → | tt | (7) |
isBin(0(V1)) | → | U31(isBinKind(V1),V1) | (42) |
isBinKind(plus(V1,V2)) | → | and(isBinKind(V1),isBinKind(V2)) | (52) |
isBinKind(0(V1)) | → | isBinKind(V1) | (49) |
U32(tt) | → | tt | (20) |
U61(tt,V1,V2) | → | U62(isBin(V1),V2) | (26) |
U53(tt) | → | tt | (25) |
U62(tt,V2) | → | U63(isBin(V2)) | (27) |
U81(tt,V1) | → | U82(isBag(V1)) | (31) |
isBinKind(1(V1)) | → | isBinKind(V1) | (50) |
U63(tt) | → | tt | (28) |
isBin(prod(V1)) | → | U71(isBagKind(V1),V1) | (46) |
isBin(mult(V1,V2)) | → | U51(and(isBinKind(V1),isBinKind(V2)),V1,V2) | (44) |
isBinKind(z) | → | tt | (48) |
isBinKind(mult(V1,V2)) | → | and(isBinKind(V1),isBinKind(V2)) | (51) |
sum#(union(A,B)) | → | U191#(and(and(isBag(A),isBagKind(A)),and(isBag(B),isBagKind(B))),A,B) | (223) |
union(X,empty) | → | X | (1) |
union(empty,X) | → | X | (2) |
0(z) | → | z | (3) |
U101(tt,X,Y) | → | 0(mult(X,Y)) | (4) |
U111(tt,X,Y) | → | plus(0(mult(X,Y)),Y) | (6) |
U121(tt,X) | → | X | (8) |
U131(tt,X,Y) | → | 0(plus(X,Y)) | (9) |
U141(tt,X,Y) | → | 1(plus(X,Y)) | (10) |
U151(tt,X,Y) | → | 0(plus(plus(X,Y),1(z))) | (11) |
U161(tt,X) | → | X | (12) |
U171(tt,A,B) | → | mult(prod(A),prod(B)) | (13) |
U181(tt,X) | → | X | (14) |
U191(tt,A,B) | → | plus(sum(A),sum(B)) | (15) |
U61(tt,V1,V2) | → | U62(isBin(V1),V2) | (26) |
U62(tt,V2) | → | U63(isBin(V2)) | (27) |
U91(tt) | → | z | (33) |
isBag(empty) | → | tt | (35) |
isBag(singl(V1)) | → | U11(isBinKind(V1),V1) | (36) |
isBag(union(V1,V2)) | → | U21(and(isBagKind(V1),isBagKind(V2)),V1,V2) | (37) |
isBagKind(empty) | → | tt | (38) |
isBagKind(singl(V1)) | → | isBinKind(V1) | (39) |
isBagKind(union(V1,V2)) | → | and(isBagKind(V1),isBagKind(V2)) | (40) |
isBin(z) | → | tt | (41) |
isBin(0(V1)) | → | U31(isBinKind(V1),V1) | (42) |
isBin(1(V1)) | → | U41(isBinKind(V1),V1) | (43) |
isBin(mult(V1,V2)) | → | U51(and(isBinKind(V1),isBinKind(V2)),V1,V2) | (44) |
isBin(plus(V1,V2)) | → | U61(and(isBinKind(V1),isBinKind(V2)),V1,V2) | (45) |
isBin(prod(V1)) | → | U71(isBagKind(V1),V1) | (46) |
isBin(sum(V1)) | → | U81(isBagKind(V1),V1) | (47) |
isBinKind(z) | → | tt | (48) |
isBinKind(0(V1)) | → | isBinKind(V1) | (49) |
isBinKind(1(V1)) | → | isBinKind(V1) | (50) |
isBinKind(mult(V1,V2)) | → | and(isBinKind(V1),isBinKind(V2)) | (51) |
isBinKind(plus(V1,V2)) | → | and(isBinKind(V1),isBinKind(V2)) | (52) |
isBinKind(prod(V1)) | → | isBagKind(V1) | (53) |
isBinKind(sum(V1)) | → | isBagKind(V1) | (54) |
mult(z,X) | → | U91(and(isBin(X),isBinKind(X))) | (55) |
mult(0(X),Y) | → | U101(and(and(isBin(X),isBinKind(X)),and(isBin(Y),isBinKind(Y))),X,Y) | (56) |
mult(1(X),Y) | → | U111(and(and(isBin(X),isBinKind(X)),and(isBin(Y),isBinKind(Y))),X,Y) | (57) |
plus(z,X) | → | U121(and(isBin(X),isBinKind(X)),X) | (58) |
plus(0(X),0(Y)) | → | U131(and(and(isBin(X),isBinKind(X)),and(isBin(Y),isBinKind(Y))),X,Y) | (59) |
plus(0(X),1(Y)) | → | U141(and(and(isBin(X),isBinKind(X)),and(isBin(Y),isBinKind(Y))),X,Y) | (60) |
plus(1(X),1(Y)) | → | U151(and(and(isBin(X),isBinKind(X)),and(isBin(Y),isBinKind(Y))),X,Y) | (61) |
prod(empty) | → | 1(z) | (62) |
prod(singl(X)) | → | U161(and(isBin(X),isBinKind(X)),X) | (63) |
prod(union(A,B)) | → | U171(and(and(isBag(A),isBagKind(A)),and(isBag(B),isBagKind(B))),A,B) | (64) |
sum(empty) | → | 0(z) | (65) |
sum(singl(X)) | → | U181(and(isBin(X),isBinKind(X)),X) | (66) |
sum(union(A,B)) | → | U191(and(and(isBag(A),isBagKind(A)),and(isBag(B),isBagKind(B))),A,B) | (67) |
mult(mult(z,X),ext) | → | mult(U91(and(isBin(X),isBinKind(X))),ext) | (288) |
mult(mult(0(X),Y),ext) | → | mult(U101(and(and(isBin(X),isBinKind(X)),and(isBin(Y),isBinKind(Y))),X,Y),ext) | (289) |
mult(mult(1(X),Y),ext) | → | mult(U111(and(and(isBin(X),isBinKind(X)),and(isBin(Y),isBinKind(Y))),X,Y),ext) | (290) |
plus(plus(z,X),ext) | → | plus(U121(and(isBin(X),isBinKind(X)),X),ext) | (291) |
plus(plus(0(X),0(Y)),ext) | → | plus(U131(and(and(isBin(X),isBinKind(X)),and(isBin(Y),isBinKind(Y))),X,Y),ext) | (292) |
plus(plus(0(X),1(Y)),ext) | → | plus(U141(and(and(isBin(X),isBinKind(X)),and(isBin(Y),isBinKind(Y))),X,Y),ext) | (293) |
plus(plus(1(X),1(Y)),ext) | → | plus(U151(and(and(isBin(X),isBinKind(X)),and(isBin(Y),isBinKind(Y))),X,Y),ext) | (294) |
union(union(X,empty),ext) | → | union(X,ext) | (295) |
union(union(empty,X),ext) | → | union(X,ext) | (296) |
The dependency pairs are split into 0 components.
plus#(0(X),0(Y)) | → | U131#(and(and(isBin(X),isBinKind(X)),and(isBin(Y),isBinKind(Y))),X,Y) | (182) |
U131#(tt,X,Y) | → | plus#(X,Y) | (91) |
plus#(0(X),1(Y)) | → | U141#(and(and(isBin(X),isBinKind(X)),and(isBin(Y),isBinKind(Y))),X,Y) | (190) |
U141#(tt,X,Y) | → | plus#(X,Y) | (92) |
plus#(1(X),1(Y)) | → | U151#(and(and(isBin(X),isBinKind(X)),and(isBin(Y),isBinKind(Y))),X,Y) | (198) |
U151#(tt,X,Y) | → | plus#(plus(X,Y),1(z)) | (94) |
plus#(plus(z,X),ext) | → | plus#(U121(and(isBin(X),isBinKind(X)),X),ext) | (254) |
plus#(plus(0(X),0(Y)),ext) | → | plus#(U131(and(and(isBin(X),isBinKind(X)),and(isBin(Y),isBinKind(Y))),X,Y),ext) | (259) |
plus#(plus(0(X),0(Y)),ext) | → | U131#(and(and(isBin(X),isBinKind(X)),and(isBin(Y),isBinKind(Y))),X,Y) | (260) |
plus#(plus(0(X),1(Y)),ext) | → | plus#(U141(and(and(isBin(X),isBinKind(X)),and(isBin(Y),isBinKind(Y))),X,Y),ext) | (268) |
plus#(plus(0(X),1(Y)),ext) | → | U141#(and(and(isBin(X),isBinKind(X)),and(isBin(Y),isBinKind(Y))),X,Y) | (269) |
plus#(plus(1(X),1(Y)),ext) | → | plus#(U151(and(and(isBin(X),isBinKind(X)),and(isBin(Y),isBinKind(Y))),X,Y),ext) | (277) |
plus#(plus(1(X),1(Y)),ext) | → | U151#(and(and(isBin(X),isBinKind(X)),and(isBin(Y),isBinKind(Y))),X,Y) | (278) |
U151#(tt,X,Y) | → | plus#(X,Y) | (95) |
plus#(plus(x,y),z') | → | plus#(y,z') | (81) |
plus#(x,y) | → | plus#(y,x) | (75) |
plus#(plus(x,y),z') | → | plus#(x,plus(y,z')) | (78) |
[U151#(x1, x2, x3)] | = | 2 + 1 · x2 + 1 · x3 |
[tt] | = | 0 |
[plus#(x1, x2)] | = | 1 · x1 + 1 · x2 |
[plus(x1, x2)] | = | 1 · x1 + 1 · x2 |
[0(x1)] | = | 1 + 1 · x1 |
[1(x1)] | = | 1 + 1 · x1 |
[U141(x1, x2, x3)] | = | 1 + 1 · x2 + 1 · x3 |
[and(x1, x2)] | = | 0 |
[isBin(x1)] | = | 0 |
[isBinKind(x1)] | = | 0 |
[U141#(x1, x2, x3)] | = | 1 · x2 + 1 · x3 |
[U131(x1, x2, x3)] | = | 1 + 1 · x2 + 1 · x3 |
[U151(x1, x2, x3)] | = | 2 + 1 · x2 + 1 · x3 |
[z] | = | 0 |
[U121(x1, x2)] | = | 1 · x2 |
[U131#(x1, x2, x3)] | = | 1 + 1 · x2 + 1 · x3 |
[U52(x1, x2)] | = | 3 + 3 · x2 |
[U53(x1)] | = | 3 |
[isBag(x1)] | = | 0 |
[empty] | = | 0 |
[singl(x1)] | = | 0 |
[U11(x1, x2)] | = | 3 + 3 · x2 |
[union(x1, x2)] | = | 0 |
[U21(x1, x2, x3)] | = | 3 + 3 · x2 + 3 · x3 |
[isBagKind(x1)] | = | 0 |
[U61(x1, x2, x3)] | = | 3 + 3 · x2 + 3 · x3 |
[U62(x1, x2)] | = | 3 + 3 · x2 |
[U63(x1)] | = | 3 |
[U32(x1)] | = | 3 |
[sum(x1)] | = | 0 |
[prod(x1)] | = | 0 |
[mult(x1, x2)] | = | 0 |
[U82(x1)] | = | 3 |
[U41(x1, x2)] | = | 3 + 3 · x2 |
[U42(x1)] | = | 3 |
[U12(x1)] | = | 3 |
[U22(x1, x2)] | = | 3 + 3 · x2 |
[U23(x1)] | = | 3 |
[U31(x1, x2)] | = | 3 + 3 · x2 |
[U51(x1, x2, x3)] | = | 3 + 3 · x2 + 3 · x3 |
[U81(x1, x2)] | = | 3 + 3 · x2 |
[U71(x1, x2)] | = | 3 + 3 · x2 |
[U72(x1)] | = | 3 |
0(z) | → | z | (3) |
plus(0(X),1(Y)) | → | U141(and(and(isBin(X),isBinKind(X)),and(isBin(Y),isBinKind(Y))),X,Y) | (60) |
plus(plus(0(X),0(Y)),ext) | → | plus(U131(and(and(isBin(X),isBinKind(X)),and(isBin(Y),isBinKind(Y))),X,Y),ext) | (292) |
plus(plus(z,X),ext) | → | plus(U121(and(isBin(X),isBinKind(X)),X),ext) | (291) |
plus(0(X),0(Y)) | → | U131(and(and(isBin(X),isBinKind(X)),and(isBin(Y),isBinKind(Y))),X,Y) | (59) |
plus(plus(1(X),1(Y)),ext) | → | plus(U151(and(and(isBin(X),isBinKind(X)),and(isBin(Y),isBinKind(Y))),X,Y),ext) | (294) |
plus(z,X) | → | U121(and(isBin(X),isBinKind(X)),X) | (58) |
plus(1(X),1(Y)) | → | U151(and(and(isBin(X),isBinKind(X)),and(isBin(Y),isBinKind(Y))),X,Y) | (61) |
plus(plus(0(X),1(Y)),ext) | → | plus(U141(and(and(isBin(X),isBinKind(X)),and(isBin(Y),isBinKind(Y))),X,Y),ext) | (293) |
U151(tt,X,Y) | → | 0(plus(plus(X,Y),1(z))) | (11) |
U131(tt,X,Y) | → | 0(plus(X,Y)) | (9) |
U121(tt,X) | → | X | (8) |
U141(tt,X,Y) | → | 1(plus(X,Y)) | (10) |
plus(plus(x,y),z') | → | plus(x,plus(y,z')) | (72) |
plus(x,y) | → | plus(y,x) | (69) |
U151#(tt,X,Y) | → | plus#(X,Y) | (95) |
plus#(plus(0(X),1(Y)),ext) | → | plus#(U141(and(and(isBin(X),isBinKind(X)),and(isBin(Y),isBinKind(Y))),X,Y),ext) | (268) |
plus#(0(X),1(Y)) | → | U141#(and(and(isBin(X),isBinKind(X)),and(isBin(Y),isBinKind(Y))),X,Y) | (190) |
plus#(plus(0(X),1(Y)),ext) | → | U141#(and(and(isBin(X),isBinKind(X)),and(isBin(Y),isBinKind(Y))),X,Y) | (269) |
plus#(plus(0(X),0(Y)),ext) | → | plus#(U131(and(and(isBin(X),isBinKind(X)),and(isBin(Y),isBinKind(Y))),X,Y),ext) | (259) |
U151#(tt,X,Y) | → | plus#(plus(X,Y),1(z)) | (94) |
plus#(0(X),0(Y)) | → | U131#(and(and(isBin(X),isBinKind(X)),and(isBin(Y),isBinKind(Y))),X,Y) | (182) |
U131#(tt,X,Y) | → | plus#(X,Y) | (91) |
plus#(plus(0(X),0(Y)),ext) | → | U131#(and(and(isBin(X),isBinKind(X)),and(isBin(Y),isBinKind(Y))),X,Y) | (260) |
The dependency pairs are split into 1 component.
plus#(plus(z,X),ext) | → | plus#(U121(and(isBin(X),isBinKind(X)),X),ext) | (254) |
plus#(plus(1(X),1(Y)),ext) | → | plus#(U151(and(and(isBin(X),isBinKind(X)),and(isBin(Y),isBinKind(Y))),X,Y),ext) | (277) |
plus#(plus(x,y),z') | → | plus#(y,z') | (81) |
plus#(x,y) | → | plus#(y,x) | (75) |
plus#(plus(x,y),z') | → | plus#(x,plus(y,z')) | (78) |
[plus#(x1, x2)] | = | 3 · x1 + 3 · x2 |
[plus(x1, x2)] | = | 1 + 1 · x1 + 1 · x2 |
[1(x1)] | = | 0 |
[U151(x1, x2, x3)] | = | 1 |
[and(x1, x2)] | = | 0 |
[isBin(x1)] | = | 0 |
[isBinKind(x1)] | = | 0 |
[z] | = | 0 |
[U121(x1, x2)] | = | 1 · x2 |
[U23(x1)] | = | 3 |
[tt] | = | 0 |
[U82(x1)] | = | 3 |
[isBag(x1)] | = | 0 |
[empty] | = | 0 |
[singl(x1)] | = | 0 |
[U11(x1, x2)] | = | 3 + 3 · x2 |
[union(x1, x2)] | = | 0 |
[U21(x1, x2, x3)] | = | 3 + 3 · x2 + 3 · x3 |
[isBagKind(x1)] | = | 0 |
[0(x1)] | = | 0 |
[U141(x1, x2, x3)] | = | 1 |
[U131(x1, x2, x3)] | = | 0 |
[U63(x1)] | = | 3 |
[U22(x1, x2)] | = | 3 + 3 · x2 |
[U72(x1)] | = | 3 |
[U32(x1)] | = | 3 |
[U61(x1, x2, x3)] | = | 3 + 3 · x2 + 3 · x3 |
[U62(x1, x2)] | = | 3 + 3 · x2 |
[U51(x1, x2, x3)] | = | 3 + 3 · x2 + 3 · x3 |
[U52(x1, x2)] | = | 3 + 3 · x2 |
[U53(x1)] | = | 3 |
[U12(x1)] | = | 3 |
[U42(x1)] | = | 3 |
[sum(x1)] | = | 0 |
[prod(x1)] | = | 0 |
[mult(x1, x2)] | = | 0 |
[U71(x1, x2)] | = | 3 + 3 · x2 |
[U81(x1, x2)] | = | 3 + 3 · x2 |
[U31(x1, x2)] | = | 3 + 3 · x2 |
[U41(x1, x2)] | = | 3 + 3 · x2 |
0(z) | → | z | (3) |
plus(0(X),1(Y)) | → | U141(and(and(isBin(X),isBinKind(X)),and(isBin(Y),isBinKind(Y))),X,Y) | (60) |
plus(plus(0(X),0(Y)),ext) | → | plus(U131(and(and(isBin(X),isBinKind(X)),and(isBin(Y),isBinKind(Y))),X,Y),ext) | (292) |
plus(plus(z,X),ext) | → | plus(U121(and(isBin(X),isBinKind(X)),X),ext) | (291) |
plus(0(X),0(Y)) | → | U131(and(and(isBin(X),isBinKind(X)),and(isBin(Y),isBinKind(Y))),X,Y) | (59) |
plus(plus(1(X),1(Y)),ext) | → | plus(U151(and(and(isBin(X),isBinKind(X)),and(isBin(Y),isBinKind(Y))),X,Y),ext) | (294) |
plus(z,X) | → | U121(and(isBin(X),isBinKind(X)),X) | (58) |
plus(1(X),1(Y)) | → | U151(and(and(isBin(X),isBinKind(X)),and(isBin(Y),isBinKind(Y))),X,Y) | (61) |
plus(plus(0(X),1(Y)),ext) | → | plus(U141(and(and(isBin(X),isBinKind(X)),and(isBin(Y),isBinKind(Y))),X,Y),ext) | (293) |
U151(tt,X,Y) | → | 0(plus(plus(X,Y),1(z))) | (11) |
U141(tt,X,Y) | → | 1(plus(X,Y)) | (10) |
U121(tt,X) | → | X | (8) |
U131(tt,X,Y) | → | 0(plus(X,Y)) | (9) |
plus(plus(x,y),z') | → | plus(x,plus(y,z')) | (72) |
plus(x,y) | → | plus(y,x) | (69) |
plus#(plus(z,X),ext) | → | plus#(U121(and(isBin(X),isBinKind(X)),X),ext) | (254) |
plus#(plus(x,y),z') | → | plus#(y,z') | (81) |
[plus#(x1, x2)] | = | 1 · x1 + 1 · x2 |
[plus(x1, x2)] | = | 3 + 1 · x1 + 1 · x2 |
[1(x1)] | = | 3 |
[U151(x1, x2, x3)] | = | 2 + 2 · x1 |
[and(x1, x2)] | = | 1 · x1 + 2 · x2 |
[isBin(x1)] | = | 1 |
[isBinKind(x1)] | = | 0 |
[tt] | = | 0 |
[0(x1)] | = | 2 |
[z] | = | 1 |
[U31(x1, x2)] | = | 0 |
[U32(x1)] | = | 0 |
[U121(x1, x2)] | = | 2 + 2 · x1 + 1 · x2 |
[U141(x1, x2, x3)] | = | 3 + 1 · x1 |
[U52(x1, x2)] | = | 0 |
[U53(x1)] | = | 0 |
[U82(x1)] | = | 0 |
[U62(x1, x2)] | = | 0 |
[U63(x1)] | = | 0 |
[U131(x1, x2, x3)] | = | 2 |
[U71(x1, x2)] | = | 1 |
[U72(x1)] | = | 0 |
[isBag(x1)] | = | 2 + 2 · x1 |
[U22(x1, x2)] | = | 1 |
[U23(x1)] | = | 0 |
[U11(x1, x2)] | = | 2 |
[U12(x1)] | = | 0 |
[U61(x1, x2, x3)] | = | 1 |
[U41(x1, x2)] | = | 0 |
[sum(x1)] | = | 0 |
[U81(x1, x2)] | = | 0 |
[isBagKind(x1)] | = | 0 |
[prod(x1)] | = | 0 |
[mult(x1, x2)] | = | 0 |
[U51(x1, x2, x3)] | = | 0 |
[U42(x1)] | = | 0 |
[empty] | = | 0 |
[singl(x1)] | = | 3 + 3 · x1 |
[union(x1, x2)] | = | 1 · x1 |
[U21(x1, x2, x3)] | = | 1 |
U151(tt,X,Y) | → | 0(plus(plus(X,Y),1(z))) | (11) |
U31(tt,V1) | → | U32(isBin(V1)) | (19) |
U121(tt,X) | → | X | (8) |
U141(tt,X,Y) | → | 1(plus(X,Y)) | (10) |
U52(tt,V2) | → | U53(isBin(V2)) | (24) |
U82(tt) | → | tt | (32) |
U62(tt,V2) | → | U63(isBin(V2)) | (27) |
U131(tt,X,Y) | → | 0(plus(X,Y)) | (9) |
U71(tt,V1) | → | U72(isBag(V1)) | (29) |
U22(tt,V2) | → | U23(isBag(V2)) | (17) |
U11(tt,V1) | → | U12(isBin(V1)) | (5) |
U63(tt) | → | tt | (28) |
U61(tt,V1,V2) | → | U62(isBin(V1),V2) | (26) |
isBin(z) | → | tt | (41) |
isBin(0(V1)) | → | U31(isBinKind(V1),V1) | (42) |
isBin(1(V1)) | → | U41(isBinKind(V1),V1) | (43) |
isBin(plus(V1,V2)) | → | U61(and(isBinKind(V1),isBinKind(V2)),V1,V2) | (45) |
isBin(sum(V1)) | → | U81(isBagKind(V1),V1) | (47) |
isBin(prod(V1)) | → | U71(isBagKind(V1),V1) | (46) |
isBin(mult(V1,V2)) | → | U51(and(isBinKind(V1),isBinKind(V2)),V1,V2) | (44) |
U51(tt,V1,V2) | → | U52(isBin(V1),V2) | (23) |
U42(tt) | → | tt | (22) |
U23(tt) | → | tt | (18) |
U53(tt) | → | tt | (25) |
U81(tt,V1) | → | U82(isBag(V1)) | (31) |
plus(0(X),1(Y)) | → | U141(and(and(isBin(X),isBinKind(X)),and(isBin(Y),isBinKind(Y))),X,Y) | (60) |
plus(plus(0(X),0(Y)),ext) | → | plus(U131(and(and(isBin(X),isBinKind(X)),and(isBin(Y),isBinKind(Y))),X,Y),ext) | (292) |
plus(plus(z,X),ext) | → | plus(U121(and(isBin(X),isBinKind(X)),X),ext) | (291) |
plus(0(X),0(Y)) | → | U131(and(and(isBin(X),isBinKind(X)),and(isBin(Y),isBinKind(Y))),X,Y) | (59) |
plus(plus(1(X),1(Y)),ext) | → | plus(U151(and(and(isBin(X),isBinKind(X)),and(isBin(Y),isBinKind(Y))),X,Y),ext) | (294) |
plus(z,X) | → | U121(and(isBin(X),isBinKind(X)),X) | (58) |
plus(1(X),1(Y)) | → | U151(and(and(isBin(X),isBinKind(X)),and(isBin(Y),isBinKind(Y))),X,Y) | (61) |
plus(plus(0(X),1(Y)),ext) | → | plus(U141(and(and(isBin(X),isBinKind(X)),and(isBin(Y),isBinKind(Y))),X,Y),ext) | (293) |
U12(tt) | → | tt | (7) |
isBag(empty) | → | tt | (35) |
isBag(singl(V1)) | → | U11(isBinKind(V1),V1) | (36) |
isBag(union(V1,V2)) | → | U21(and(isBagKind(V1),isBagKind(V2)),V1,V2) | (37) |
U32(tt) | → | tt | (20) |
isBagKind(empty) | → | tt | (38) |
isBagKind(union(V1,V2)) | → | and(isBagKind(V1),isBagKind(V2)) | (40) |
isBagKind(singl(V1)) | → | isBinKind(V1) | (39) |
U21(tt,V1,V2) | → | U22(isBag(V1),V2) | (16) |
isBinKind(sum(V1)) | → | isBagKind(V1) | (54) |
isBinKind(prod(V1)) | → | isBagKind(V1) | (53) |
isBinKind(plus(V1,V2)) | → | and(isBinKind(V1),isBinKind(V2)) | (52) |
isBinKind(mult(V1,V2)) | → | and(isBinKind(V1),isBinKind(V2)) | (51) |
isBinKind(0(V1)) | → | isBinKind(V1) | (49) |
isBinKind(1(V1)) | → | isBinKind(V1) | (50) |
isBinKind(z) | → | tt | (48) |
0(z) | → | z | (3) |
U41(tt,V1) | → | U42(isBin(V1)) | (21) |
and(tt,X) | → | X | (34) |
U72(tt) | → | tt | (30) |
plus(plus(x,y),z') | → | plus(x,plus(y,z')) | (72) |
plus(x,y) | → | plus(y,x) | (69) |
plus#(plus(1(X),1(Y)),ext) | → | plus#(U151(and(and(isBin(X),isBinKind(X)),and(isBin(Y),isBinKind(Y))),X,Y),ext) | (277) |
U11#(tt,V1) | → | isBin#(V1) | (86) |
isBin#(0(V1)) | → | U31#(isBinKind(V1),V1) | (132) |
U31#(tt,V1) | → | isBin#(V1) | (107) |
isBin#(1(V1)) | → | U41#(isBinKind(V1),V1) | (134) |
U41#(tt,V1) | → | isBin#(V1) | (109) |
isBin#(mult(V1,V2)) | → | U51#(and(isBinKind(V1),isBinKind(V2)),V1,V2) | (136) |
U51#(tt,V1,V2) | → | U52#(isBin(V1),V2) | (110) |
U52#(tt,V2) | → | isBin#(V2) | (113) |
isBin#(plus(V1,V2)) | → | U61#(and(isBinKind(V1),isBinKind(V2)),V1,V2) | (140) |
U61#(tt,V1,V2) | → | U62#(isBin(V1),V2) | (114) |
U62#(tt,V2) | → | isBin#(V2) | (117) |
isBin#(prod(V1)) | → | U71#(isBagKind(V1),V1) | (144) |
U71#(tt,V1) | → | isBag#(V1) | (119) |
isBag#(singl(V1)) | → | U11#(isBinKind(V1),V1) | (122) |
isBag#(union(V1,V2)) | → | U21#(and(isBagKind(V1),isBagKind(V2)),V1,V2) | (124) |
U21#(tt,V1,V2) | → | U22#(isBag(V1),V2) | (102) |
U22#(tt,V2) | → | isBag#(V2) | (105) |
U21#(tt,V1,V2) | → | isBag#(V1) | (103) |
isBin#(sum(V1)) | → | U81#(isBagKind(V1),V1) | (146) |
U81#(tt,V1) | → | isBag#(V1) | (121) |
U61#(tt,V1,V2) | → | isBin#(V1) | (115) |
U51#(tt,V1,V2) | → | isBin#(V1) | (111) |
[U51(x1, x2, x3)] | = | 2 · x1 + 2 · x2 + 2 · x3 |
[tt] | = | 0 |
[U52(x1, x2)] | = | 1 · x1 + 2 · x2 |
[isBin(x1)] | = | 2 · x1 |
[U42(x1)] | = | 1 · x1 |
[isBag(x1)] | = | 2 · x1 |
[empty] | = | 0 |
[and(x1, x2)] | = | 1 · x1 + 1 · x2 |
[1(x1)] | = | 2 · x1 |
[U41(x1, x2)] | = | 1 · x1 + 2 · x2 |
[isBinKind(x1)] | = | 2 · x1 |
[U21(x1, x2, x3)] | = | 1 · x1 + 2 · x2 + 2 · x3 |
[U22(x1, x2)] | = | 1 · x1 + 2 · x2 |
[singl(x1)] | = | 3 · x1 |
[U11(x1, x2)] | = | 1 · x1 + 2 · x2 |
[U82(x1)] | = | 1 · x1 |
[isBagKind(x1)] | = | 2 · x1 |
[U12(x1)] | = | 1 · x1 |
[U31(x1, x2)] | = | 2 + 1 · x1 + 2 · x2 |
[U32(x1)] | = | 1 · x1 |
[U72(x1)] | = | 1 · x1 |
[plus(x1, x2)] | = | 2 · x1 + 3 · x2 |
[U61(x1, x2, x3)] | = | 1 · x1 + 2 · x2 + 2 · x3 |
[sum(x1)] | = | 3 + 3 · x1 |
[U53(x1)] | = | 1 · x1 |
[U23(x1)] | = | 1 · x1 |
[union(x1, x2)] | = | 2 + 3 · x1 + 3 · x2 |
[U71(x1, x2)] | = | 2 · x1 + 2 · x2 |
[prod(x1)] | = | 2 + 3 · x1 |
[z] | = | 0 |
[U81(x1, x2)] | = | 1 · x1 + 2 · x2 |
[0(x1)] | = | 2 + 3 · x1 |
[U62(x1, x2)] | = | 1 · x1 + 2 · x2 |
[U63(x1)] | = | 1 · x1 |
[mult(x1, x2)] | = | 3 · x1 + 3 · x2 |
[U71#(x1, x2)] | = | 2 · x1 + 2 · x2 |
[isBag#(x1)] | = | 2 · x1 |
[U61#(x1, x2, x3)] | = | 1 · x1 + 2 · x2 + 2 · x3 |
[U62#(x1, x2)] | = | 1 · x1 + 2 · x2 |
[U51#(x1, x2, x3)] | = | 1 · x1 + 2 · x2 + 2 · x3 |
[U52#(x1, x2)] | = | 1 · x1 + 2 · x2 |
[isBin#(x1)] | = | 2 · x1 |
[U41#(x1, x2)] | = | 1 · x1 + 2 · x2 |
[U21#(x1, x2, x3)] | = | 1 · x1 + 2 · x2 + 2 · x3 |
[U22#(x1, x2)] | = | 1 · x1 + 2 · x2 |
[U11#(x1, x2)] | = | 2 · x1 + 2 · x2 |
[U31#(x1, x2)] | = | 1 · x1 + 2 · x2 |
[U81#(x1, x2)] | = | 1 · x1 + 2 · x2 |
U51(tt,V1,V2) | → | U52(isBin(V1),V2) | (23) |
U42(tt) | → | tt | (22) |
isBag(empty) | → | tt | (35) |
and(tt,X) | → | X | (34) |
isBin(1(V1)) | → | U41(isBinKind(V1),V1) | (43) |
U21(tt,V1,V2) | → | U22(isBag(V1),V2) | (16) |
isBag(singl(V1)) | → | U11(isBinKind(V1),V1) | (36) |
U82(tt) | → | tt | (32) |
isBagKind(empty) | → | tt | (38) |
U41(tt,V1) | → | U42(isBin(V1)) | (21) |
U11(tt,V1) | → | U12(isBin(V1)) | (5) |
U31(tt,V1) | → | U32(isBin(V1)) | (19) |
U72(tt) | → | tt | (30) |
isBin(plus(V1,V2)) | → | U61(and(isBinKind(V1),isBinKind(V2)),V1,V2) | (45) |
isBinKind(sum(V1)) | → | isBagKind(V1) | (54) |
U52(tt,V2) | → | U53(isBin(V2)) | (24) |
U23(tt) | → | tt | (18) |
isBagKind(union(V1,V2)) | → | and(isBagKind(V1),isBagKind(V2)) | (40) |
U71(tt,V1) | → | U72(isBag(V1)) | (29) |
isBagKind(singl(V1)) | → | isBinKind(V1) | (39) |
isBag(union(V1,V2)) | → | U21(and(isBagKind(V1),isBagKind(V2)),V1,V2) | (37) |
U22(tt,V2) | → | U23(isBag(V2)) | (17) |
isBinKind(prod(V1)) | → | isBagKind(V1) | (53) |
isBin(z) | → | tt | (41) |
isBin(sum(V1)) | → | U81(isBagKind(V1),V1) | (47) |
U12(tt) | → | tt | (7) |
isBin(0(V1)) | → | U31(isBinKind(V1),V1) | (42) |
isBinKind(plus(V1,V2)) | → | and(isBinKind(V1),isBinKind(V2)) | (52) |
isBinKind(0(V1)) | → | isBinKind(V1) | (49) |
U32(tt) | → | tt | (20) |
U61(tt,V1,V2) | → | U62(isBin(V1),V2) | (26) |
U53(tt) | → | tt | (25) |
U62(tt,V2) | → | U63(isBin(V2)) | (27) |
U81(tt,V1) | → | U82(isBag(V1)) | (31) |
isBinKind(1(V1)) | → | isBinKind(V1) | (50) |
U63(tt) | → | tt | (28) |
isBin(prod(V1)) | → | U71(isBagKind(V1),V1) | (46) |
isBin(mult(V1,V2)) | → | U51(and(isBinKind(V1),isBinKind(V2)),V1,V2) | (44) |
isBinKind(z) | → | tt | (48) |
isBinKind(mult(V1,V2)) | → | and(isBinKind(V1),isBinKind(V2)) | (51) |
isBin#(1(V1)) | → | U41#(isBinKind(V1),V1) | (134) |
isBin#(plus(V1,V2)) | → | U61#(and(isBinKind(V1),isBinKind(V2)),V1,V2) | (140) |
isBin#(0(V1)) | → | U31#(isBinKind(V1),V1) | (132) |
isBin#(prod(V1)) | → | U71#(isBagKind(V1),V1) | (144) |
isBag#(singl(V1)) | → | U11#(isBinKind(V1),V1) | (122) |
isBag#(union(V1,V2)) | → | U21#(and(isBagKind(V1),isBagKind(V2)),V1,V2) | (124) |
isBin#(mult(V1,V2)) | → | U51#(and(isBinKind(V1),isBinKind(V2)),V1,V2) | (136) |
isBin#(sum(V1)) | → | U81#(isBagKind(V1),V1) | (146) |
union(X,empty) | → | X | (1) |
union(empty,X) | → | X | (2) |
0(z) | → | z | (3) |
U101(tt,X,Y) | → | 0(mult(X,Y)) | (4) |
U111(tt,X,Y) | → | plus(0(mult(X,Y)),Y) | (6) |
U121(tt,X) | → | X | (8) |
U131(tt,X,Y) | → | 0(plus(X,Y)) | (9) |
U141(tt,X,Y) | → | 1(plus(X,Y)) | (10) |
U151(tt,X,Y) | → | 0(plus(plus(X,Y),1(z))) | (11) |
U161(tt,X) | → | X | (12) |
U171(tt,A,B) | → | mult(prod(A),prod(B)) | (13) |
U181(tt,X) | → | X | (14) |
U191(tt,A,B) | → | plus(sum(A),sum(B)) | (15) |
U31(tt,V1) | → | U32(isBin(V1)) | (19) |
U91(tt) | → | z | (33) |
isBag(empty) | → | tt | (35) |
isBag(singl(V1)) | → | U11(isBinKind(V1),V1) | (36) |
isBag(union(V1,V2)) | → | U21(and(isBagKind(V1),isBagKind(V2)),V1,V2) | (37) |
isBagKind(empty) | → | tt | (38) |
isBagKind(singl(V1)) | → | isBinKind(V1) | (39) |
isBagKind(union(V1,V2)) | → | and(isBagKind(V1),isBagKind(V2)) | (40) |
isBin(z) | → | tt | (41) |
isBin(0(V1)) | → | U31(isBinKind(V1),V1) | (42) |
isBin(1(V1)) | → | U41(isBinKind(V1),V1) | (43) |
isBin(mult(V1,V2)) | → | U51(and(isBinKind(V1),isBinKind(V2)),V1,V2) | (44) |
isBin(plus(V1,V2)) | → | U61(and(isBinKind(V1),isBinKind(V2)),V1,V2) | (45) |
isBin(prod(V1)) | → | U71(isBagKind(V1),V1) | (46) |
isBin(sum(V1)) | → | U81(isBagKind(V1),V1) | (47) |
isBinKind(z) | → | tt | (48) |
isBinKind(0(V1)) | → | isBinKind(V1) | (49) |
isBinKind(1(V1)) | → | isBinKind(V1) | (50) |
isBinKind(mult(V1,V2)) | → | and(isBinKind(V1),isBinKind(V2)) | (51) |
isBinKind(plus(V1,V2)) | → | and(isBinKind(V1),isBinKind(V2)) | (52) |
isBinKind(prod(V1)) | → | isBagKind(V1) | (53) |
isBinKind(sum(V1)) | → | isBagKind(V1) | (54) |
mult(z,X) | → | U91(and(isBin(X),isBinKind(X))) | (55) |
mult(0(X),Y) | → | U101(and(and(isBin(X),isBinKind(X)),and(isBin(Y),isBinKind(Y))),X,Y) | (56) |
mult(1(X),Y) | → | U111(and(and(isBin(X),isBinKind(X)),and(isBin(Y),isBinKind(Y))),X,Y) | (57) |
plus(z,X) | → | U121(and(isBin(X),isBinKind(X)),X) | (58) |
plus(0(X),0(Y)) | → | U131(and(and(isBin(X),isBinKind(X)),and(isBin(Y),isBinKind(Y))),X,Y) | (59) |
plus(0(X),1(Y)) | → | U141(and(and(isBin(X),isBinKind(X)),and(isBin(Y),isBinKind(Y))),X,Y) | (60) |
plus(1(X),1(Y)) | → | U151(and(and(isBin(X),isBinKind(X)),and(isBin(Y),isBinKind(Y))),X,Y) | (61) |
prod(empty) | → | 1(z) | (62) |
prod(singl(X)) | → | U161(and(isBin(X),isBinKind(X)),X) | (63) |
prod(union(A,B)) | → | U171(and(and(isBag(A),isBagKind(A)),and(isBag(B),isBagKind(B))),A,B) | (64) |
sum(empty) | → | 0(z) | (65) |
sum(singl(X)) | → | U181(and(isBin(X),isBinKind(X)),X) | (66) |
sum(union(A,B)) | → | U191(and(and(isBag(A),isBagKind(A)),and(isBag(B),isBagKind(B))),A,B) | (67) |
mult(mult(z,X),ext) | → | mult(U91(and(isBin(X),isBinKind(X))),ext) | (288) |
mult(mult(0(X),Y),ext) | → | mult(U101(and(and(isBin(X),isBinKind(X)),and(isBin(Y),isBinKind(Y))),X,Y),ext) | (289) |
mult(mult(1(X),Y),ext) | → | mult(U111(and(and(isBin(X),isBinKind(X)),and(isBin(Y),isBinKind(Y))),X,Y),ext) | (290) |
plus(plus(z,X),ext) | → | plus(U121(and(isBin(X),isBinKind(X)),X),ext) | (291) |
plus(plus(0(X),0(Y)),ext) | → | plus(U131(and(and(isBin(X),isBinKind(X)),and(isBin(Y),isBinKind(Y))),X,Y),ext) | (292) |
plus(plus(0(X),1(Y)),ext) | → | plus(U141(and(and(isBin(X),isBinKind(X)),and(isBin(Y),isBinKind(Y))),X,Y),ext) | (293) |
plus(plus(1(X),1(Y)),ext) | → | plus(U151(and(and(isBin(X),isBinKind(X)),and(isBin(Y),isBinKind(Y))),X,Y),ext) | (294) |
union(union(X,empty),ext) | → | union(X,ext) | (295) |
union(union(empty,X),ext) | → | union(X,ext) | (296) |
The dependency pairs are split into 0 components.
isBinKind#(0(V1)) | → | isBinKind#(V1) | (148) |
isBinKind#(1(V1)) | → | isBinKind#(V1) | (149) |
isBinKind#(mult(V1,V2)) | → | isBinKind#(V1) | (151) |
isBinKind#(mult(V1,V2)) | → | isBinKind#(V2) | (152) |
isBinKind#(plus(V1,V2)) | → | isBinKind#(V1) | (154) |
isBinKind#(plus(V1,V2)) | → | isBinKind#(V2) | (155) |
isBinKind#(prod(V1)) | → | isBagKind#(V1) | (156) |
isBagKind#(singl(V1)) | → | isBinKind#(V1) | (128) |
isBinKind#(sum(V1)) | → | isBagKind#(V1) | (157) |
isBagKind#(union(V1,V2)) | → | isBagKind#(V1) | (130) |
isBagKind#(union(V1,V2)) | → | isBagKind#(V2) | (131) |
[isBagKind#(x1)] | = | 1 · x1 |
[union(x1, x2)] | = | 3 · x1 + 3 · x2 |
[isBinKind#(x1)] | = | 2 · x1 |
[0(x1)] | = | 3 · x1 |
[plus(x1, x2)] | = | 3 · x1 + 3 · x2 |
[1(x1)] | = | 3 · x1 |
[sum(x1)] | = | 3 · x1 |
[mult(x1, x2)] | = | 3 · x1 + 3 · x2 |
[prod(x1)] | = | 3 · x1 |
[singl(x1)] | = | 3 · x1 |
isBagKind#(union(V1,V2)) | → | isBagKind#(V1) | (130) |
isBinKind#(0(V1)) | → | isBinKind#(V1) | (148) |
isBinKind#(plus(V1,V2)) | → | isBinKind#(V2) | (155) |
isBinKind#(1(V1)) | → | isBinKind#(V1) | (149) |
isBinKind#(plus(V1,V2)) | → | isBinKind#(V1) | (154) |
isBinKind#(sum(V1)) | → | isBagKind#(V1) | (157) |
isBinKind#(mult(V1,V2)) | → | isBinKind#(V2) | (152) |
isBinKind#(prod(V1)) | → | isBagKind#(V1) | (156) |
isBagKind#(union(V1,V2)) | → | isBagKind#(V2) | (131) |
isBinKind#(mult(V1,V2)) | → | isBinKind#(V1) | (151) |
isBagKind#(singl(V1)) | → | isBinKind#(V1) | (128) |
union(X,empty) | → | X | (1) |
union(empty,X) | → | X | (2) |
0(z) | → | z | (3) |
U101(tt,X,Y) | → | 0(mult(X,Y)) | (4) |
U11(tt,V1) | → | U12(isBin(V1)) | (5) |
U111(tt,X,Y) | → | plus(0(mult(X,Y)),Y) | (6) |
U12(tt) | → | tt | (7) |
U121(tt,X) | → | X | (8) |
U131(tt,X,Y) | → | 0(plus(X,Y)) | (9) |
U141(tt,X,Y) | → | 1(plus(X,Y)) | (10) |
U151(tt,X,Y) | → | 0(plus(plus(X,Y),1(z))) | (11) |
U161(tt,X) | → | X | (12) |
U171(tt,A,B) | → | mult(prod(A),prod(B)) | (13) |
U181(tt,X) | → | X | (14) |
U191(tt,A,B) | → | plus(sum(A),sum(B)) | (15) |
U21(tt,V1,V2) | → | U22(isBag(V1),V2) | (16) |
U22(tt,V2) | → | U23(isBag(V2)) | (17) |
U23(tt) | → | tt | (18) |
U31(tt,V1) | → | U32(isBin(V1)) | (19) |
U32(tt) | → | tt | (20) |
U41(tt,V1) | → | U42(isBin(V1)) | (21) |
U42(tt) | → | tt | (22) |
U51(tt,V1,V2) | → | U52(isBin(V1),V2) | (23) |
U52(tt,V2) | → | U53(isBin(V2)) | (24) |
U53(tt) | → | tt | (25) |
U61(tt,V1,V2) | → | U62(isBin(V1),V2) | (26) |
U62(tt,V2) | → | U63(isBin(V2)) | (27) |
U63(tt) | → | tt | (28) |
U71(tt,V1) | → | U72(isBag(V1)) | (29) |
U72(tt) | → | tt | (30) |
U81(tt,V1) | → | U82(isBag(V1)) | (31) |
U82(tt) | → | tt | (32) |
U91(tt) | → | z | (33) |
and(tt,X) | → | X | (34) |
isBag(empty) | → | tt | (35) |
isBag(singl(V1)) | → | U11(isBinKind(V1),V1) | (36) |
isBag(union(V1,V2)) | → | U21(and(isBagKind(V1),isBagKind(V2)),V1,V2) | (37) |
isBagKind(empty) | → | tt | (38) |
isBagKind(singl(V1)) | → | isBinKind(V1) | (39) |
isBagKind(union(V1,V2)) | → | and(isBagKind(V1),isBagKind(V2)) | (40) |
isBin(z) | → | tt | (41) |
isBin(0(V1)) | → | U31(isBinKind(V1),V1) | (42) |
isBin(1(V1)) | → | U41(isBinKind(V1),V1) | (43) |
isBin(mult(V1,V2)) | → | U51(and(isBinKind(V1),isBinKind(V2)),V1,V2) | (44) |
isBin(plus(V1,V2)) | → | U61(and(isBinKind(V1),isBinKind(V2)),V1,V2) | (45) |
isBin(prod(V1)) | → | U71(isBagKind(V1),V1) | (46) |
isBin(sum(V1)) | → | U81(isBagKind(V1),V1) | (47) |
isBinKind(z) | → | tt | (48) |
isBinKind(0(V1)) | → | isBinKind(V1) | (49) |
isBinKind(1(V1)) | → | isBinKind(V1) | (50) |
isBinKind(mult(V1,V2)) | → | and(isBinKind(V1),isBinKind(V2)) | (51) |
isBinKind(plus(V1,V2)) | → | and(isBinKind(V1),isBinKind(V2)) | (52) |
isBinKind(prod(V1)) | → | isBagKind(V1) | (53) |
isBinKind(sum(V1)) | → | isBagKind(V1) | (54) |
mult(z,X) | → | U91(and(isBin(X),isBinKind(X))) | (55) |
mult(0(X),Y) | → | U101(and(and(isBin(X),isBinKind(X)),and(isBin(Y),isBinKind(Y))),X,Y) | (56) |
mult(1(X),Y) | → | U111(and(and(isBin(X),isBinKind(X)),and(isBin(Y),isBinKind(Y))),X,Y) | (57) |
plus(z,X) | → | U121(and(isBin(X),isBinKind(X)),X) | (58) |
plus(0(X),0(Y)) | → | U131(and(and(isBin(X),isBinKind(X)),and(isBin(Y),isBinKind(Y))),X,Y) | (59) |
plus(0(X),1(Y)) | → | U141(and(and(isBin(X),isBinKind(X)),and(isBin(Y),isBinKind(Y))),X,Y) | (60) |
plus(1(X),1(Y)) | → | U151(and(and(isBin(X),isBinKind(X)),and(isBin(Y),isBinKind(Y))),X,Y) | (61) |
prod(empty) | → | 1(z) | (62) |
prod(singl(X)) | → | U161(and(isBin(X),isBinKind(X)),X) | (63) |
prod(union(A,B)) | → | U171(and(and(isBag(A),isBagKind(A)),and(isBag(B),isBagKind(B))),A,B) | (64) |
sum(empty) | → | 0(z) | (65) |
sum(singl(X)) | → | U181(and(isBin(X),isBinKind(X)),X) | (66) |
sum(union(A,B)) | → | U191(and(and(isBag(A),isBagKind(A)),and(isBag(B),isBagKind(B))),A,B) | (67) |
mult(mult(z,X),ext) | → | mult(U91(and(isBin(X),isBinKind(X))),ext) | (288) |
mult(mult(0(X),Y),ext) | → | mult(U101(and(and(isBin(X),isBinKind(X)),and(isBin(Y),isBinKind(Y))),X,Y),ext) | (289) |
mult(mult(1(X),Y),ext) | → | mult(U111(and(and(isBin(X),isBinKind(X)),and(isBin(Y),isBinKind(Y))),X,Y),ext) | (290) |
plus(plus(z,X),ext) | → | plus(U121(and(isBin(X),isBinKind(X)),X),ext) | (291) |
plus(plus(0(X),0(Y)),ext) | → | plus(U131(and(and(isBin(X),isBinKind(X)),and(isBin(Y),isBinKind(Y))),X,Y),ext) | (292) |
plus(plus(0(X),1(Y)),ext) | → | plus(U141(and(and(isBin(X),isBinKind(X)),and(isBin(Y),isBinKind(Y))),X,Y),ext) | (293) |
plus(plus(1(X),1(Y)),ext) | → | plus(U151(and(and(isBin(X),isBinKind(X)),and(isBin(Y),isBinKind(Y))),X,Y),ext) | (294) |
union(union(X,empty),ext) | → | union(X,ext) | (295) |
union(union(empty,X),ext) | → | union(X,ext) | (296) |
union#(union(empty,X),ext) | → | union#(X,ext) | (287) |
union#(union(X,empty),ext) | → | union#(X,ext) | (286) |
union#(union(x,y),z') | → | union#(y,z') | (82) |
union#(x,y) | → | union#(y,x) | (76) |
union#(union(x,y),z') | → | union#(x,union(y,z')) | (79) |
[union#(x1, x2)] | = | 3 · x1 + 3 · x2 |
[union(x1, x2)] | = | 1 · x1 + 1 · x2 |
[empty] | = | 0 |
union(X,empty) | → | X | (1) |
union(empty,X) | → | X | (2) |
union(union(X,empty),ext) | → | union(X,ext) | (295) |
union(union(empty,X),ext) | → | union(X,ext) | (296) |
union(union(x,y),z') | → | union(x,union(y,z')) | (73) |
union(x,y) | → | union(y,x) | (70) |
union#(union(empty,X),ext) | → | union#(X,ext) | (287) |
union#(union(X,empty),ext) | → | union#(X,ext) | (286) |
union(X,empty) | → | X | (1) |
union(empty,X) | → | X | (2) |
0(z) | → | z | (3) |
U101(tt,X,Y) | → | 0(mult(X,Y)) | (4) |
U11(tt,V1) | → | U12(isBin(V1)) | (5) |
U111(tt,X,Y) | → | plus(0(mult(X,Y)),Y) | (6) |
U12(tt) | → | tt | (7) |
U121(tt,X) | → | X | (8) |
U131(tt,X,Y) | → | 0(plus(X,Y)) | (9) |
U141(tt,X,Y) | → | 1(plus(X,Y)) | (10) |
U151(tt,X,Y) | → | 0(plus(plus(X,Y),1(z))) | (11) |
U161(tt,X) | → | X | (12) |
U171(tt,A,B) | → | mult(prod(A),prod(B)) | (13) |
U181(tt,X) | → | X | (14) |
U191(tt,A,B) | → | plus(sum(A),sum(B)) | (15) |
U21(tt,V1,V2) | → | U22(isBag(V1),V2) | (16) |
U22(tt,V2) | → | U23(isBag(V2)) | (17) |
U23(tt) | → | tt | (18) |
U31(tt,V1) | → | U32(isBin(V1)) | (19) |
U32(tt) | → | tt | (20) |
U41(tt,V1) | → | U42(isBin(V1)) | (21) |
U42(tt) | → | tt | (22) |
U51(tt,V1,V2) | → | U52(isBin(V1),V2) | (23) |
U52(tt,V2) | → | U53(isBin(V2)) | (24) |
U53(tt) | → | tt | (25) |
U61(tt,V1,V2) | → | U62(isBin(V1),V2) | (26) |
U62(tt,V2) | → | U63(isBin(V2)) | (27) |
U63(tt) | → | tt | (28) |
U71(tt,V1) | → | U72(isBag(V1)) | (29) |
U72(tt) | → | tt | (30) |
U81(tt,V1) | → | U82(isBag(V1)) | (31) |
U82(tt) | → | tt | (32) |
U91(tt) | → | z | (33) |
and(tt,X) | → | X | (34) |
isBag(empty) | → | tt | (35) |
isBag(singl(V1)) | → | U11(isBinKind(V1),V1) | (36) |
isBag(union(V1,V2)) | → | U21(and(isBagKind(V1),isBagKind(V2)),V1,V2) | (37) |
isBagKind(empty) | → | tt | (38) |
isBagKind(singl(V1)) | → | isBinKind(V1) | (39) |
isBagKind(union(V1,V2)) | → | and(isBagKind(V1),isBagKind(V2)) | (40) |
isBin(z) | → | tt | (41) |
isBin(0(V1)) | → | U31(isBinKind(V1),V1) | (42) |
isBin(1(V1)) | → | U41(isBinKind(V1),V1) | (43) |
isBin(mult(V1,V2)) | → | U51(and(isBinKind(V1),isBinKind(V2)),V1,V2) | (44) |
isBin(plus(V1,V2)) | → | U61(and(isBinKind(V1),isBinKind(V2)),V1,V2) | (45) |
isBin(prod(V1)) | → | U71(isBagKind(V1),V1) | (46) |
isBin(sum(V1)) | → | U81(isBagKind(V1),V1) | (47) |
isBinKind(z) | → | tt | (48) |
isBinKind(0(V1)) | → | isBinKind(V1) | (49) |
isBinKind(1(V1)) | → | isBinKind(V1) | (50) |
isBinKind(mult(V1,V2)) | → | and(isBinKind(V1),isBinKind(V2)) | (51) |
isBinKind(plus(V1,V2)) | → | and(isBinKind(V1),isBinKind(V2)) | (52) |
isBinKind(prod(V1)) | → | isBagKind(V1) | (53) |
isBinKind(sum(V1)) | → | isBagKind(V1) | (54) |
mult(z,X) | → | U91(and(isBin(X),isBinKind(X))) | (55) |
mult(0(X),Y) | → | U101(and(and(isBin(X),isBinKind(X)),and(isBin(Y),isBinKind(Y))),X,Y) | (56) |
mult(1(X),Y) | → | U111(and(and(isBin(X),isBinKind(X)),and(isBin(Y),isBinKind(Y))),X,Y) | (57) |
plus(z,X) | → | U121(and(isBin(X),isBinKind(X)),X) | (58) |
plus(0(X),0(Y)) | → | U131(and(and(isBin(X),isBinKind(X)),and(isBin(Y),isBinKind(Y))),X,Y) | (59) |
plus(0(X),1(Y)) | → | U141(and(and(isBin(X),isBinKind(X)),and(isBin(Y),isBinKind(Y))),X,Y) | (60) |
plus(1(X),1(Y)) | → | U151(and(and(isBin(X),isBinKind(X)),and(isBin(Y),isBinKind(Y))),X,Y) | (61) |
prod(empty) | → | 1(z) | (62) |
prod(singl(X)) | → | U161(and(isBin(X),isBinKind(X)),X) | (63) |
prod(union(A,B)) | → | U171(and(and(isBag(A),isBagKind(A)),and(isBag(B),isBagKind(B))),A,B) | (64) |
sum(empty) | → | 0(z) | (65) |
sum(singl(X)) | → | U181(and(isBin(X),isBinKind(X)),X) | (66) |
sum(union(A,B)) | → | U191(and(and(isBag(A),isBagKind(A)),and(isBag(B),isBagKind(B))),A,B) | (67) |
mult(mult(z,X),ext) | → | mult(U91(and(isBin(X),isBinKind(X))),ext) | (288) |
mult(mult(0(X),Y),ext) | → | mult(U101(and(and(isBin(X),isBinKind(X)),and(isBin(Y),isBinKind(Y))),X,Y),ext) | (289) |
mult(mult(1(X),Y),ext) | → | mult(U111(and(and(isBin(X),isBinKind(X)),and(isBin(Y),isBinKind(Y))),X,Y),ext) | (290) |
plus(plus(z,X),ext) | → | plus(U121(and(isBin(X),isBinKind(X)),X),ext) | (291) |
plus(plus(0(X),0(Y)),ext) | → | plus(U131(and(and(isBin(X),isBinKind(X)),and(isBin(Y),isBinKind(Y))),X,Y),ext) | (292) |
plus(plus(0(X),1(Y)),ext) | → | plus(U141(and(and(isBin(X),isBinKind(X)),and(isBin(Y),isBinKind(Y))),X,Y),ext) | (293) |
plus(plus(1(X),1(Y)),ext) | → | plus(U151(and(and(isBin(X),isBinKind(X)),and(isBin(Y),isBinKind(Y))),X,Y),ext) | (294) |
union(union(X,empty),ext) | → | union(X,ext) | (295) |
union(union(empty,X),ext) | → | union(X,ext) | (296) |
[union#(x1, x2)] | = | 3 · x1 + 3 · x2 |
[union(x1, x2)] | = | 1 + 1 · x1 + 1 · x2 |
[mult(x1, x2)] | = | 1 · x1 + 1 · x2 |
[plus(x1, x2)] | = | 1 · x1 + 1 · x2 |
mult(x,y) | → | mult(y,x) | (68) |
plus(x,y) | → | plus(y,x) | (69) |
union(x,y) | → | union(y,x) | (70) |
mult(mult(x,y),z') | → | mult(x,mult(y,z')) | (71) |
plus(plus(x,y),z') | → | plus(x,plus(y,z')) | (72) |
union(union(x,y),z') | → | union(x,union(y,z')) | (73) |
union#(union(x,y),z') | → | union#(y,z') | (82) |