The relative rewrite relation R/S is considered where R is the following TRS
*(@x,@y) | → | #mult(@x,@y) | (1) |
dyade(@l1,@l2) | → | dyade#1(@l1,@l2) | (2) |
dyade#1(::(@x,@xs),@l2) | → | ::(mult(@x,@l2),dyade(@xs,@l2)) | (3) |
dyade#1(nil,@l2) | → | nil | (4) |
mult(@n,@l) | → | mult#1(@l,@n) | (5) |
mult#1(::(@x,@xs),@n) | → | ::(*(@n,@x),mult(@n,@xs)) | (6) |
mult#1(nil,@n) | → | nil | (7) |
and S is the following TRS.
#add(#0,@y) | → | @y | (8) |
#add(#neg(#s(#0)),@y) | → | #pred(@y) | (9) |
#add(#neg(#s(#s(@x))),@y) | → | #pred(#add(#pos(#s(@x)),@y)) | (10) |
#add(#pos(#s(#0)),@y) | → | #succ(@y) | (11) |
#add(#pos(#s(#s(@x))),@y) | → | #succ(#add(#pos(#s(@x)),@y)) | (12) |
#mult(#0,#0) | → | #0 | (13) |
#mult(#0,#neg(@y)) | → | #0 | (14) |
#mult(#0,#pos(@y)) | → | #0 | (15) |
#mult(#neg(@x),#0) | → | #0 | (16) |
#mult(#neg(@x),#neg(@y)) | → | #pos(#natmult(@x,@y)) | (17) |
#mult(#neg(@x),#pos(@y)) | → | #neg(#natmult(@x,@y)) | (18) |
#mult(#pos(@x),#0) | → | #0 | (19) |
#mult(#pos(@x),#neg(@y)) | → | #neg(#natmult(@x,@y)) | (20) |
#mult(#pos(@x),#pos(@y)) | → | #pos(#natmult(@x,@y)) | (21) |
#natmult(#0,@y) | → | #0 | (22) |
#natmult(#s(@x),@y) | → | #add(#pos(@y),#natmult(@x,@y)) | (23) |
#pred(#0) | → | #neg(#s(#0)) | (24) |
#pred(#neg(#s(@x))) | → | #neg(#s(#s(@x))) | (25) |
#pred(#pos(#s(#0))) | → | #0 | (26) |
#pred(#pos(#s(#s(@x)))) | → | #pos(#s(@x)) | (27) |
#succ(#0) | → | #pos(#s(#0)) | (28) |
#succ(#neg(#s(#0))) | → | #0 | (29) |
#succ(#neg(#s(#s(@x)))) | → | #neg(#s(@x)) | (30) |
#succ(#pos(#s(@x))) | → | #pos(#s(#s(@x))) | (31) |
|
originates from |
|
||||||||
|
originates from |
|
||||||||
|
originates from |
|
||||||||
|
originates from |
|
||||||||
|
originates from |
|
||||||||
|
originates from |
|
||||||||
|
originates from |
|
||||||||
|
originates from |
|
||||||||
|
originates from |
|
||||||||
|
originates from |
|
||||||||
|
originates from |
|
||||||||
|
originates from |
|
||||||||
|
originates from |
|
||||||||
|
originates from |
|
||||||||
|
originates from |
|
||||||||
|
originates from |
|
||||||||
|
originates from |
|
||||||||
|
originates from |
|
||||||||
|
originates from |
|
||||||||
|
originates from |
|
||||||||
|
originates from |
|
||||||||
|
originates from |
|
||||||||
|
originates from |
|
||||||||
|
originates from |
|
||||||||
|
originates from |
|
||||||||
|
originates from |
|
||||||||
|
originates from |
|
||||||||
|
originates from |
|
||||||||
|
originates from |
|
||||||||
|
originates from |
|
||||||||
|
originates from |
|
#add#(#0,z0) |
#add#(#neg(#s(#0)),z0) |
#add#(#neg(#s(#s(z0))),z1) |
#add#(#pos(#s(#0)),z0) |
#add#(#pos(#s(#s(z0))),z1) |
#mult#(#0,#0) |
#mult#(#0,#neg(z0)) |
#mult#(#0,#pos(z0)) |
#mult#(#neg(z0),#0) |
#mult#(#neg(z0),#neg(z1)) |
#mult#(#neg(z0),#pos(z1)) |
#mult#(#pos(z0),#0) |
#mult#(#pos(z0),#neg(z1)) |
#mult#(#pos(z0),#pos(z1)) |
#natmult#(#0,z0) |
#natmult#(#s(z0),z1) |
#pred#(#0) |
#pred#(#neg(#s(z0))) |
#pred#(#pos(#s(#0))) |
#pred#(#pos(#s(#s(z0)))) |
#succ#(#0) |
#succ#(#neg(#s(#0))) |
#succ#(#neg(#s(#s(z0)))) |
#succ#(#pos(#s(z0))) |
*#(z0,z1) |
dyade#(z0,z1) |
dyade#1#(::(z0,z1),z2) |
dyade#1#(nil,z0) |
mult#(z0,z1) |
mult#1#(::(z0,z1),z2) |
mult#1#(nil,z0) |
#add(#0,z0) | → | z0 | (46) |
#add(#neg(#s(#0)),z0) | → | #pred(z0) | (48) |
#add(#neg(#s(#s(z0))),z1) | → | #pred(#add(#pos(#s(z0)),z1)) | (50) |
#mult(#0,#0) | → | #0 | (13) |
#mult(#0,#neg(z0)) | → | #0 | (57) |
#mult(#0,#pos(z0)) | → | #0 | (59) |
#mult(#neg(z0),#0) | → | #0 | (61) |
#mult(#neg(z0),#neg(z1)) | → | #pos(#natmult(z0,z1)) | (63) |
#mult(#neg(z0),#pos(z1)) | → | #neg(#natmult(z0,z1)) | (65) |
#mult(#pos(z0),#0) | → | #0 | (67) |
#mult(#pos(z0),#neg(z1)) | → | #neg(#natmult(z0,z1)) | (69) |
#mult(#pos(z0),#pos(z1)) | → | #pos(#natmult(z0,z1)) | (71) |
#pred(#0) | → | #neg(#s(#0)) | (24) |
#pred(#neg(#s(z0))) | → | #neg(#s(#s(z0))) | (78) |
#pred(#pos(#s(#0))) | → | #0 | (26) |
#pred(#pos(#s(#s(z0)))) | → | #pos(#s(z0)) | (81) |
*(z0,z1) | → | #mult(z0,z1) | (32) |
dyade(z0,z1) | → | dyade#1(z0,z1) | (34) |
dyade#1(::(z0,z1),z2) | → | ::(mult(z0,z2),dyade(z1,z2)) | (36) |
dyade#1(nil,z0) | → | nil | (38) |
mult(z0,z1) | → | mult#1(z1,z0) | (40) |
mult#1(::(z0,z1),z2) | → | ::(*(z2,z0),mult(z2,z1)) | (42) |
mult#1(nil,z0) | → | nil | (44) |
dyade#1#(nil,z0) | → | c27 | (39) |
mult#1#(nil,z0) | → | c30 | (45) |
[c] | = | 0 |
[c1(x1)] | = | 1 · x1 + 0 |
[c2(x1, x2)] | = | 1 · x1 + 0 + 1 · x2 |
[c3(x1)] | = | 1 · x1 + 0 |
[c4(x1, x2)] | = | 1 · x1 + 0 + 1 · x2 |
[c5] | = | 0 |
[c6] | = | 0 |
[c7] | = | 0 |
[c8] | = | 0 |
[c9(x1)] | = | 1 · x1 + 0 |
[c10(x1)] | = | 1 · x1 + 0 |
[c11] | = | 0 |
[c12(x1)] | = | 1 · x1 + 0 |
[c13(x1)] | = | 1 · x1 + 0 |
[c14] | = | 0 |
[c15(x1, x2)] | = | 1 · x1 + 0 + 1 · x2 |
[c16] | = | 0 |
[c17] | = | 0 |
[c18] | = | 0 |
[c19] | = | 0 |
[c20] | = | 0 |
[c21] | = | 0 |
[c22] | = | 0 |
[c23] | = | 0 |
[c24(x1)] | = | 1 · x1 + 0 |
[c25(x1)] | = | 1 · x1 + 0 |
[c26(x1, x2)] | = | 1 · x1 + 0 + 1 · x2 |
[c27] | = | 0 |
[c28(x1)] | = | 1 · x1 + 0 |
[c29(x1, x2)] | = | 1 · x1 + 0 + 1 · x2 |
[c30] | = | 0 |
[#add(x1, x2)] | = | 1 + 1 · x1 + 1 · x2 |
[#succ(x1)] | = | 1 |
[#natmult(x1, x2)] | = | 1 + 1 · x1 + 1 · x2 |
[#add#(x1, x2)] | = | 0 |
[#mult#(x1, x2)] | = | 0 |
[#natmult#(x1, x2)] | = | 0 |
[#pred#(x1)] | = | 0 |
[#succ#(x1)] | = | 0 |
[*#(x1, x2)] | = | 0 |
[dyade#(x1, x2)] | = | 1 + 1 · x1 + 1 · x2 |
[dyade#1#(x1, x2)] | = | 1 + 1 · x1 + 1 · x2 |
[mult#(x1, x2)] | = | 1 + 1 · x1 |
[mult#1#(x1, x2)] | = | 1 + 1 · x2 |
[#0] | = | 0 |
[#s(x1)] | = | 0 |
[#pos(x1)] | = | 0 |
[#neg(x1)] | = | 1 |
[::(x1, x2)] | = | 1 + 1 · x1 + 1 · x2 |
[nil] | = | 0 |
#add#(#0,z0) | → | c | (47) |
#add#(#neg(#s(#0)),z0) | → | c1(#pred#(z0)) | (49) |
#add#(#neg(#s(#s(z0))),z1) | → | c2(#pred#(#add(#pos(#s(z0)),z1)),#add#(#pos(#s(z0)),z1)) | (51) |
#add#(#pos(#s(#0)),z0) | → | c3(#succ#(z0)) | (53) |
#add#(#pos(#s(#s(z0))),z1) | → | c4(#succ#(#add(#pos(#s(z0)),z1)),#add#(#pos(#s(z0)),z1)) | (55) |
#mult#(#0,#0) | → | c5 | (56) |
#mult#(#0,#neg(z0)) | → | c6 | (58) |
#mult#(#0,#pos(z0)) | → | c7 | (60) |
#mult#(#neg(z0),#0) | → | c8 | (62) |
#mult#(#neg(z0),#neg(z1)) | → | c9(#natmult#(z0,z1)) | (64) |
#mult#(#neg(z0),#pos(z1)) | → | c10(#natmult#(z0,z1)) | (66) |
#mult#(#pos(z0),#0) | → | c11 | (68) |
#mult#(#pos(z0),#neg(z1)) | → | c12(#natmult#(z0,z1)) | (70) |
#mult#(#pos(z0),#pos(z1)) | → | c13(#natmult#(z0,z1)) | (72) |
#natmult#(#0,z0) | → | c14 | (74) |
#natmult#(#s(z0),z1) | → | c15(#add#(#pos(z1),#natmult(z0,z1)),#natmult#(z0,z1)) | (76) |
#pred#(#0) | → | c16 | (77) |
#pred#(#neg(#s(z0))) | → | c17 | (79) |
#pred#(#pos(#s(#0))) | → | c18 | (80) |
#pred#(#pos(#s(#s(z0)))) | → | c19 | (82) |
#succ#(#0) | → | c20 | (83) |
#succ#(#neg(#s(#0))) | → | c21 | (84) |
#succ#(#neg(#s(#s(z0)))) | → | c22 | (86) |
#succ#(#pos(#s(z0))) | → | c23 | (88) |
*#(z0,z1) | → | c24(#mult#(z0,z1)) | (33) |
dyade#(z0,z1) | → | c25(dyade#1#(z0,z1)) | (35) |
dyade#1#(::(z0,z1),z2) | → | c26(mult#(z0,z2),dyade#(z1,z2)) | (37) |
dyade#1#(nil,z0) | → | c27 | (39) |
mult#(z0,z1) | → | c28(mult#1#(z1,z0)) | (41) |
mult#1#(::(z0,z1),z2) | → | c29(*#(z2,z0),mult#(z2,z1)) | (43) |
mult#1#(nil,z0) | → | c30 | (45) |
dyade#1#(::(z0,z1),z2) | → | c26(mult#(z0,z2),dyade#(z1,z2)) | (37) |
[c] | = | 0 |
[c1(x1)] | = | 1 · x1 + 0 |
[c2(x1, x2)] | = | 1 · x1 + 0 + 1 · x2 |
[c3(x1)] | = | 1 · x1 + 0 |
[c4(x1, x2)] | = | 1 · x1 + 0 + 1 · x2 |
[c5] | = | 0 |
[c6] | = | 0 |
[c7] | = | 0 |
[c8] | = | 0 |
[c9(x1)] | = | 1 · x1 + 0 |
[c10(x1)] | = | 1 · x1 + 0 |
[c11] | = | 0 |
[c12(x1)] | = | 1 · x1 + 0 |
[c13(x1)] | = | 1 · x1 + 0 |
[c14] | = | 0 |
[c15(x1, x2)] | = | 1 · x1 + 0 + 1 · x2 |
[c16] | = | 0 |
[c17] | = | 0 |
[c18] | = | 0 |
[c19] | = | 0 |
[c20] | = | 0 |
[c21] | = | 0 |
[c22] | = | 0 |
[c23] | = | 0 |
[c24(x1)] | = | 1 · x1 + 0 |
[c25(x1)] | = | 1 · x1 + 0 |
[c26(x1, x2)] | = | 1 · x1 + 0 + 1 · x2 |
[c27] | = | 0 |
[c28(x1)] | = | 1 · x1 + 0 |
[c29(x1, x2)] | = | 1 · x1 + 0 + 1 · x2 |
[c30] | = | 0 |
[#add(x1, x2)] | = | 1 + 1 · x1 + 1 · x2 |
[#succ(x1)] | = | 1 |
[#natmult(x1, x2)] | = | 1 + 1 · x1 + 1 · x2 |
[#add#(x1, x2)] | = | 0 |
[#mult#(x1, x2)] | = | 0 |
[#natmult#(x1, x2)] | = | 0 |
[#pred#(x1)] | = | 0 |
[#succ#(x1)] | = | 0 |
[*#(x1, x2)] | = | 0 |
[dyade#(x1, x2)] | = | 1 + 1 · x1 + 1 · x2 |
[dyade#1#(x1, x2)] | = | 1 + 1 · x1 + 1 · x2 |
[mult#(x1, x2)] | = | 1 · x1 + 0 |
[mult#1#(x1, x2)] | = | 1 · x2 + 0 |
[#0] | = | 0 |
[#s(x1)] | = | 0 |
[#pos(x1)] | = | 0 |
[#neg(x1)] | = | 1 |
[::(x1, x2)] | = | 1 + 1 · x1 + 1 · x2 |
[nil] | = | 0 |
#add#(#0,z0) | → | c | (47) |
#add#(#neg(#s(#0)),z0) | → | c1(#pred#(z0)) | (49) |
#add#(#neg(#s(#s(z0))),z1) | → | c2(#pred#(#add(#pos(#s(z0)),z1)),#add#(#pos(#s(z0)),z1)) | (51) |
#add#(#pos(#s(#0)),z0) | → | c3(#succ#(z0)) | (53) |
#add#(#pos(#s(#s(z0))),z1) | → | c4(#succ#(#add(#pos(#s(z0)),z1)),#add#(#pos(#s(z0)),z1)) | (55) |
#mult#(#0,#0) | → | c5 | (56) |
#mult#(#0,#neg(z0)) | → | c6 | (58) |
#mult#(#0,#pos(z0)) | → | c7 | (60) |
#mult#(#neg(z0),#0) | → | c8 | (62) |
#mult#(#neg(z0),#neg(z1)) | → | c9(#natmult#(z0,z1)) | (64) |
#mult#(#neg(z0),#pos(z1)) | → | c10(#natmult#(z0,z1)) | (66) |
#mult#(#pos(z0),#0) | → | c11 | (68) |
#mult#(#pos(z0),#neg(z1)) | → | c12(#natmult#(z0,z1)) | (70) |
#mult#(#pos(z0),#pos(z1)) | → | c13(#natmult#(z0,z1)) | (72) |
#natmult#(#0,z0) | → | c14 | (74) |
#natmult#(#s(z0),z1) | → | c15(#add#(#pos(z1),#natmult(z0,z1)),#natmult#(z0,z1)) | (76) |
#pred#(#0) | → | c16 | (77) |
#pred#(#neg(#s(z0))) | → | c17 | (79) |
#pred#(#pos(#s(#0))) | → | c18 | (80) |
#pred#(#pos(#s(#s(z0)))) | → | c19 | (82) |
#succ#(#0) | → | c20 | (83) |
#succ#(#neg(#s(#0))) | → | c21 | (84) |
#succ#(#neg(#s(#s(z0)))) | → | c22 | (86) |
#succ#(#pos(#s(z0))) | → | c23 | (88) |
*#(z0,z1) | → | c24(#mult#(z0,z1)) | (33) |
dyade#(z0,z1) | → | c25(dyade#1#(z0,z1)) | (35) |
dyade#1#(::(z0,z1),z2) | → | c26(mult#(z0,z2),dyade#(z1,z2)) | (37) |
dyade#1#(nil,z0) | → | c27 | (39) |
mult#(z0,z1) | → | c28(mult#1#(z1,z0)) | (41) |
mult#1#(::(z0,z1),z2) | → | c29(*#(z2,z0),mult#(z2,z1)) | (43) |
mult#1#(nil,z0) | → | c30 | (45) |
dyade#(z0,z1) | → | c25(dyade#1#(z0,z1)) | (35) |
[c] | = | 0 |
[c1(x1)] | = | 1 · x1 + 0 |
[c2(x1, x2)] | = | 1 · x1 + 0 + 1 · x2 |
[c3(x1)] | = | 1 · x1 + 0 |
[c4(x1, x2)] | = | 1 · x1 + 0 + 1 · x2 |
[c5] | = | 0 |
[c6] | = | 0 |
[c7] | = | 0 |
[c8] | = | 0 |
[c9(x1)] | = | 1 · x1 + 0 |
[c10(x1)] | = | 1 · x1 + 0 |
[c11] | = | 0 |
[c12(x1)] | = | 1 · x1 + 0 |
[c13(x1)] | = | 1 · x1 + 0 |
[c14] | = | 0 |
[c15(x1, x2)] | = | 1 · x1 + 0 + 1 · x2 |
[c16] | = | 0 |
[c17] | = | 0 |
[c18] | = | 0 |
[c19] | = | 0 |
[c20] | = | 0 |
[c21] | = | 0 |
[c22] | = | 0 |
[c23] | = | 0 |
[c24(x1)] | = | 1 · x1 + 0 |
[c25(x1)] | = | 1 · x1 + 0 |
[c26(x1, x2)] | = | 1 · x1 + 0 + 1 · x2 |
[c27] | = | 0 |
[c28(x1)] | = | 1 · x1 + 0 |
[c29(x1, x2)] | = | 1 · x1 + 0 + 1 · x2 |
[c30] | = | 0 |
[#add(x1, x2)] | = | 1 + 1 · x1 + 1 · x2 |
[#succ(x1)] | = | 1 |
[#natmult(x1, x2)] | = | 1 + 1 · x1 + 1 · x2 |
[#add#(x1, x2)] | = | 1 · x1 + 0 |
[#mult#(x1, x2)] | = | 0 |
[#natmult#(x1, x2)] | = | 0 |
[#pred#(x1)] | = | 0 |
[#succ#(x1)] | = | 0 |
[*#(x1, x2)] | = | 0 |
[dyade#(x1, x2)] | = | 1 + 1 · x1 + 1 · x2 |
[dyade#1#(x1, x2)] | = | 1 · x1 + 0 + 1 · x2 |
[mult#(x1, x2)] | = | 1 · x1 + 0 |
[mult#1#(x1, x2)] | = | 1 · x2 + 0 |
[#0] | = | 0 |
[#s(x1)] | = | 0 |
[#pos(x1)] | = | 0 |
[#neg(x1)] | = | 0 |
[::(x1, x2)] | = | 1 + 1 · x1 + 1 · x2 |
[nil] | = | 0 |
#add#(#0,z0) | → | c | (47) |
#add#(#neg(#s(#0)),z0) | → | c1(#pred#(z0)) | (49) |
#add#(#neg(#s(#s(z0))),z1) | → | c2(#pred#(#add(#pos(#s(z0)),z1)),#add#(#pos(#s(z0)),z1)) | (51) |
#add#(#pos(#s(#0)),z0) | → | c3(#succ#(z0)) | (53) |
#add#(#pos(#s(#s(z0))),z1) | → | c4(#succ#(#add(#pos(#s(z0)),z1)),#add#(#pos(#s(z0)),z1)) | (55) |
#mult#(#0,#0) | → | c5 | (56) |
#mult#(#0,#neg(z0)) | → | c6 | (58) |
#mult#(#0,#pos(z0)) | → | c7 | (60) |
#mult#(#neg(z0),#0) | → | c8 | (62) |
#mult#(#neg(z0),#neg(z1)) | → | c9(#natmult#(z0,z1)) | (64) |
#mult#(#neg(z0),#pos(z1)) | → | c10(#natmult#(z0,z1)) | (66) |
#mult#(#pos(z0),#0) | → | c11 | (68) |
#mult#(#pos(z0),#neg(z1)) | → | c12(#natmult#(z0,z1)) | (70) |
#mult#(#pos(z0),#pos(z1)) | → | c13(#natmult#(z0,z1)) | (72) |
#natmult#(#0,z0) | → | c14 | (74) |
#natmult#(#s(z0),z1) | → | c15(#add#(#pos(z1),#natmult(z0,z1)),#natmult#(z0,z1)) | (76) |
#pred#(#0) | → | c16 | (77) |
#pred#(#neg(#s(z0))) | → | c17 | (79) |
#pred#(#pos(#s(#0))) | → | c18 | (80) |
#pred#(#pos(#s(#s(z0)))) | → | c19 | (82) |
#succ#(#0) | → | c20 | (83) |
#succ#(#neg(#s(#0))) | → | c21 | (84) |
#succ#(#neg(#s(#s(z0)))) | → | c22 | (86) |
#succ#(#pos(#s(z0))) | → | c23 | (88) |
*#(z0,z1) | → | c24(#mult#(z0,z1)) | (33) |
dyade#(z0,z1) | → | c25(dyade#1#(z0,z1)) | (35) |
dyade#1#(::(z0,z1),z2) | → | c26(mult#(z0,z2),dyade#(z1,z2)) | (37) |
dyade#1#(nil,z0) | → | c27 | (39) |
mult#(z0,z1) | → | c28(mult#1#(z1,z0)) | (41) |
mult#1#(::(z0,z1),z2) | → | c29(*#(z2,z0),mult#(z2,z1)) | (43) |
mult#1#(nil,z0) | → | c30 | (45) |
*#(z0,z1) | → | c24(#mult#(z0,z1)) | (33) |
mult#1#(::(z0,z1),z2) | → | c29(*#(z2,z0),mult#(z2,z1)) | (43) |
[c] | = | 0 |
[c1(x1)] | = | 1 · x1 + 0 |
[c2(x1, x2)] | = | 1 · x1 + 0 + 1 · x2 |
[c3(x1)] | = | 1 · x1 + 0 |
[c4(x1, x2)] | = | 1 · x1 + 0 + 1 · x2 |
[c5] | = | 0 |
[c6] | = | 0 |
[c7] | = | 0 |
[c8] | = | 0 |
[c9(x1)] | = | 1 · x1 + 0 |
[c10(x1)] | = | 1 · x1 + 0 |
[c11] | = | 0 |
[c12(x1)] | = | 1 · x1 + 0 |
[c13(x1)] | = | 1 · x1 + 0 |
[c14] | = | 0 |
[c15(x1, x2)] | = | 1 · x1 + 0 + 1 · x2 |
[c16] | = | 0 |
[c17] | = | 0 |
[c18] | = | 0 |
[c19] | = | 0 |
[c20] | = | 0 |
[c21] | = | 0 |
[c22] | = | 0 |
[c23] | = | 0 |
[c24(x1)] | = | 1 · x1 + 0 |
[c25(x1)] | = | 1 · x1 + 0 |
[c26(x1, x2)] | = | 1 · x1 + 0 + 1 · x2 |
[c27] | = | 0 |
[c28(x1)] | = | 1 · x1 + 0 |
[c29(x1, x2)] | = | 1 · x1 + 0 + 1 · x2 |
[c30] | = | 0 |
[#add(x1, x2)] | = | 1 · x1 · x1 + 0 |
[#succ(x1)] | = | 1 |
[#natmult(x1, x2)] | = | 2 + 2 · x1 · x1 |
[#add#(x1, x2)] | = | 0 |
[#mult#(x1, x2)] | = | 1 · x2 + 0 |
[#natmult#(x1, x2)] | = | 0 |
[#pred#(x1)] | = | 0 |
[#succ#(x1)] | = | 0 |
[*#(x1, x2)] | = | 1 + 2 · x2 + 1 · x1 · x2 |
[dyade#(x1, x2)] | = | 2 + 2 · x1 + 2 · x2 · x2 + 2 · x1 · x2 + 2 · x1 · x1 |
[dyade#1#(x1, x2)] | = | 2 · x2 · x2 + 0 + 2 · x1 · x2 + 2 · x1 · x1 |
[mult#(x1, x2)] | = | 2 · x1 + 0 + 2 · x2 + 2 · x1 · x2 + 1 · x1 · x1 |
[mult#1#(x1, x2)] | = | 2 · x1 + 0 + 1 · x2 · x2 + 2 · x1 · x2 |
[#0] | = | 0 |
[#s(x1)] | = | 2 |
[#pos(x1)] | = | 2 |
[#neg(x1)] | = | 0 |
[::(x1, x2)] | = | 2 + 1 · x1 + 1 · x2 |
[nil] | = | 0 |
#add#(#0,z0) | → | c | (47) |
#add#(#neg(#s(#0)),z0) | → | c1(#pred#(z0)) | (49) |
#add#(#neg(#s(#s(z0))),z1) | → | c2(#pred#(#add(#pos(#s(z0)),z1)),#add#(#pos(#s(z0)),z1)) | (51) |
#add#(#pos(#s(#0)),z0) | → | c3(#succ#(z0)) | (53) |
#add#(#pos(#s(#s(z0))),z1) | → | c4(#succ#(#add(#pos(#s(z0)),z1)),#add#(#pos(#s(z0)),z1)) | (55) |
#mult#(#0,#0) | → | c5 | (56) |
#mult#(#0,#neg(z0)) | → | c6 | (58) |
#mult#(#0,#pos(z0)) | → | c7 | (60) |
#mult#(#neg(z0),#0) | → | c8 | (62) |
#mult#(#neg(z0),#neg(z1)) | → | c9(#natmult#(z0,z1)) | (64) |
#mult#(#neg(z0),#pos(z1)) | → | c10(#natmult#(z0,z1)) | (66) |
#mult#(#pos(z0),#0) | → | c11 | (68) |
#mult#(#pos(z0),#neg(z1)) | → | c12(#natmult#(z0,z1)) | (70) |
#mult#(#pos(z0),#pos(z1)) | → | c13(#natmult#(z0,z1)) | (72) |
#natmult#(#0,z0) | → | c14 | (74) |
#natmult#(#s(z0),z1) | → | c15(#add#(#pos(z1),#natmult(z0,z1)),#natmult#(z0,z1)) | (76) |
#pred#(#0) | → | c16 | (77) |
#pred#(#neg(#s(z0))) | → | c17 | (79) |
#pred#(#pos(#s(#0))) | → | c18 | (80) |
#pred#(#pos(#s(#s(z0)))) | → | c19 | (82) |
#succ#(#0) | → | c20 | (83) |
#succ#(#neg(#s(#0))) | → | c21 | (84) |
#succ#(#neg(#s(#s(z0)))) | → | c22 | (86) |
#succ#(#pos(#s(z0))) | → | c23 | (88) |
*#(z0,z1) | → | c24(#mult#(z0,z1)) | (33) |
dyade#(z0,z1) | → | c25(dyade#1#(z0,z1)) | (35) |
dyade#1#(::(z0,z1),z2) | → | c26(mult#(z0,z2),dyade#(z1,z2)) | (37) |
dyade#1#(nil,z0) | → | c27 | (39) |
mult#(z0,z1) | → | c28(mult#1#(z1,z0)) | (41) |
mult#1#(::(z0,z1),z2) | → | c29(*#(z2,z0),mult#(z2,z1)) | (43) |
mult#1#(nil,z0) | → | c30 | (45) |
mult#(z0,z1) | → | c28(mult#1#(z1,z0)) | (41) |
[c] | = | 0 |
[c1(x1)] | = | 1 · x1 + 0 |
[c2(x1, x2)] | = | 1 · x1 + 0 + 1 · x2 |
[c3(x1)] | = | 1 · x1 + 0 |
[c4(x1, x2)] | = | 1 · x1 + 0 + 1 · x2 |
[c5] | = | 0 |
[c6] | = | 0 |
[c7] | = | 0 |
[c8] | = | 0 |
[c9(x1)] | = | 1 · x1 + 0 |
[c10(x1)] | = | 1 · x1 + 0 |
[c11] | = | 0 |
[c12(x1)] | = | 1 · x1 + 0 |
[c13(x1)] | = | 1 · x1 + 0 |
[c14] | = | 0 |
[c15(x1, x2)] | = | 1 · x1 + 0 + 1 · x2 |
[c16] | = | 0 |
[c17] | = | 0 |
[c18] | = | 0 |
[c19] | = | 0 |
[c20] | = | 0 |
[c21] | = | 0 |
[c22] | = | 0 |
[c23] | = | 0 |
[c24(x1)] | = | 1 · x1 + 0 |
[c25(x1)] | = | 1 · x1 + 0 |
[c26(x1, x2)] | = | 1 · x1 + 0 + 1 · x2 |
[c27] | = | 0 |
[c28(x1)] | = | 1 · x1 + 0 |
[c29(x1, x2)] | = | 1 · x1 + 0 + 1 · x2 |
[c30] | = | 0 |
[#add(x1, x2)] | = | 1 · x1 · x1 + 0 |
[#succ(x1)] | = | 1 |
[#natmult(x1, x2)] | = | 2 + 1 · x1 · x2 + 2 · x1 · x1 |
[#add#(x1, x2)] | = | 0 |
[#mult#(x1, x2)] | = | 1 |
[#natmult#(x1, x2)] | = | 1 |
[#pred#(x1)] | = | 0 |
[#succ#(x1)] | = | 0 |
[*#(x1, x2)] | = | 1 |
[dyade#(x1, x2)] | = | 1 + 2 · x1 + 2 · x2 + 2 · x2 · x2 + 2 · x1 · x2 |
[dyade#1#(x1, x2)] | = | 2 · x1 + 0 + 1 · x2 + 2 · x2 · x2 + 2 · x1 · x2 |
[mult#(x1, x2)] | = | 1 + 2 · x2 |
[mult#1#(x1, x2)] | = | 2 · x1 + 0 |
[#0] | = | 1 |
[#s(x1)] | = | 2 |
[#pos(x1)] | = | 2 |
[#neg(x1)] | = | 0 |
[::(x1, x2)] | = | 2 + 1 · x2 |
[nil] | = | 0 |
#add#(#0,z0) | → | c | (47) |
#add#(#neg(#s(#0)),z0) | → | c1(#pred#(z0)) | (49) |
#add#(#neg(#s(#s(z0))),z1) | → | c2(#pred#(#add(#pos(#s(z0)),z1)),#add#(#pos(#s(z0)),z1)) | (51) |
#add#(#pos(#s(#0)),z0) | → | c3(#succ#(z0)) | (53) |
#add#(#pos(#s(#s(z0))),z1) | → | c4(#succ#(#add(#pos(#s(z0)),z1)),#add#(#pos(#s(z0)),z1)) | (55) |
#mult#(#0,#0) | → | c5 | (56) |
#mult#(#0,#neg(z0)) | → | c6 | (58) |
#mult#(#0,#pos(z0)) | → | c7 | (60) |
#mult#(#neg(z0),#0) | → | c8 | (62) |
#mult#(#neg(z0),#neg(z1)) | → | c9(#natmult#(z0,z1)) | (64) |
#mult#(#neg(z0),#pos(z1)) | → | c10(#natmult#(z0,z1)) | (66) |
#mult#(#pos(z0),#0) | → | c11 | (68) |
#mult#(#pos(z0),#neg(z1)) | → | c12(#natmult#(z0,z1)) | (70) |
#mult#(#pos(z0),#pos(z1)) | → | c13(#natmult#(z0,z1)) | (72) |
#natmult#(#0,z0) | → | c14 | (74) |
#natmult#(#s(z0),z1) | → | c15(#add#(#pos(z1),#natmult(z0,z1)),#natmult#(z0,z1)) | (76) |
#pred#(#0) | → | c16 | (77) |
#pred#(#neg(#s(z0))) | → | c17 | (79) |
#pred#(#pos(#s(#0))) | → | c18 | (80) |
#pred#(#pos(#s(#s(z0)))) | → | c19 | (82) |
#succ#(#0) | → | c20 | (83) |
#succ#(#neg(#s(#0))) | → | c21 | (84) |
#succ#(#neg(#s(#s(z0)))) | → | c22 | (86) |
#succ#(#pos(#s(z0))) | → | c23 | (88) |
*#(z0,z1) | → | c24(#mult#(z0,z1)) | (33) |
dyade#(z0,z1) | → | c25(dyade#1#(z0,z1)) | (35) |
dyade#1#(::(z0,z1),z2) | → | c26(mult#(z0,z2),dyade#(z1,z2)) | (37) |
dyade#1#(nil,z0) | → | c27 | (39) |
mult#(z0,z1) | → | c28(mult#1#(z1,z0)) | (41) |
mult#1#(::(z0,z1),z2) | → | c29(*#(z2,z0),mult#(z2,z1)) | (43) |
mult#1#(nil,z0) | → | c30 | (45) |
There are no rules in the TRS R. Hence, R/S has complexity O(1).