The rewrite relation of the following TRS is considered.
| if(true,x,y) | → | x | (1) |
| if(false,x,y) | → | y | (2) |
| eq(0,0) | → | true | (3) |
| eq(0,s(x)) | → | false | (4) |
| eq(s(x),0) | → | false | (5) |
| eq(s(x),s(y)) | → | eq(x,y) | (6) |
| app(nil,l) | → | l | (7) |
| app(cons(x,l1),l2) | → | cons(x,app(l1,l2)) | (8) |
| app(app(l1,l2),l3) | → | app(l1,app(l2,l3)) | (9) |
| mem(x,nil) | → | false | (10) |
| mem(x,cons(y,l)) | → | ifmem(eq(x,y),x,l) | (11) |
| ifmem(true,x,l) | → | true | (12) |
| ifmem(false,x,l) | → | mem(x,l) | (13) |
| inter(x,nil) | → | nil | (14) |
| inter(nil,x) | → | nil | (15) |
| inter(app(l1,l2),l3) | → | app(inter(l1,l3),inter(l2,l3)) | (16) |
| inter(l1,app(l2,l3)) | → | app(inter(l1,l2),inter(l1,l3)) | (17) |
| inter(cons(x,l1),l2) | → | ifinter(mem(x,l2),x,l1,l2) | (18) |
| inter(l1,cons(x,l2)) | → | ifinter(mem(x,l1),x,l2,l1) | (19) |
| ifinter(true,x,l1,l2) | → | cons(x,inter(l1,l2)) | (20) |
| ifinter(false,x,l1,l2) | → | inter(l1,l2) | (21) |
| ifmem#(false,x,l) | → | mem#(x,l) | (22) |
| mem#(x,cons(y,l)) | → | eq#(x,y) | (23) |
| ifinter#(false,x,l1,l2) | → | inter#(l1,l2) | (24) |
| inter#(l1,app(l2,l3)) | → | inter#(l1,l2) | (25) |
| inter#(l1,cons(x,l2)) | → | ifinter#(mem(x,l1),x,l2,l1) | (26) |
| inter#(l1,cons(x,l2)) | → | mem#(x,l1) | (27) |
| inter#(app(l1,l2),l3) | → | app#(inter(l1,l3),inter(l2,l3)) | (28) |
| ifinter#(true,x,l1,l2) | → | inter#(l1,l2) | (29) |
| inter#(l1,app(l2,l3)) | → | inter#(l1,l3) | (30) |
| mem#(x,cons(y,l)) | → | ifmem#(eq(x,y),x,l) | (31) |
| app#(cons(x,l1),l2) | → | app#(l1,l2) | (32) |
| inter#(cons(x,l1),l2) | → | mem#(x,l2) | (33) |
| inter#(app(l1,l2),l3) | → | inter#(l2,l3) | (34) |
| app#(app(l1,l2),l3) | → | app#(l1,app(l2,l3)) | (35) |
| eq#(s(x),s(y)) | → | eq#(x,y) | (36) |
| inter#(l1,app(l2,l3)) | → | app#(inter(l1,l2),inter(l1,l3)) | (37) |
| inter#(app(l1,l2),l3) | → | inter#(l1,l3) | (38) |
| app#(app(l1,l2),l3) | → | app#(l2,l3) | (39) |
| inter#(cons(x,l1),l2) | → | ifinter#(mem(x,l2),x,l1,l2) | (40) |
The dependency pairs are split into 4 components.
| inter#(cons(x,l1),l2) | → | ifinter#(mem(x,l2),x,l1,l2) | (40) |
| inter#(app(l1,l2),l3) | → | inter#(l1,l3) | (38) |
| inter#(app(l1,l2),l3) | → | inter#(l2,l3) | (34) |
| inter#(l1,cons(x,l2)) | → | ifinter#(mem(x,l1),x,l2,l1) | (26) |
| inter#(l1,app(l2,l3)) | → | inter#(l1,l2) | (25) |
| ifinter#(false,x,l1,l2) | → | inter#(l1,l2) | (24) |
| inter#(l1,app(l2,l3)) | → | inter#(l1,l3) | (30) |
| ifinter#(true,x,l1,l2) | → | inter#(l1,l2) | (29) |
| [mem(x1, x2)] | = | x2 + 2 |
| [s(x1)] | = | 1 |
| [ifinter(x1,...,x4)] | = | 0 |
| [eq(x1, x2)] | = | 6 |
| [false] | = | 1 |
| [mem#(x1, x2)] | = | 0 |
| [ifmem(x1, x2, x3)] | = | x1 + x2 + 0 |
| [ifinter#(x1,...,x4)] | = | x3 + x4 + 1 |
| [true] | = | 7 |
| [ifmem#(x1, x2, x3)] | = | 0 |
| [eq#(x1, x2)] | = | 0 |
| [if(x1, x2, x3)] | = | 0 |
| [0] | = | 1 |
| [nil] | = | 28958 |
| [app#(x1, x2)] | = | 0 |
| [cons(x1, x2)] | = | x2 + 2 |
| [if#(x1, x2, x3)] | = | 0 |
| [inter(x1, x2)] | = | 0 |
| [inter#(x1, x2)] | = | x1 + x2 + 0 |
| [app(x1, x2)] | = | x1 + x2 + 1 |
| inter#(cons(x,l1),l2) | → | ifinter#(mem(x,l2),x,l1,l2) | (40) |
| inter#(app(l1,l2),l3) | → | inter#(l1,l3) | (38) |
| inter#(app(l1,l2),l3) | → | inter#(l2,l3) | (34) |
| inter#(l1,cons(x,l2)) | → | ifinter#(mem(x,l1),x,l2,l1) | (26) |
| inter#(l1,app(l2,l3)) | → | inter#(l1,l2) | (25) |
| ifinter#(false,x,l1,l2) | → | inter#(l1,l2) | (24) |
| inter#(l1,app(l2,l3)) | → | inter#(l1,l3) | (30) |
| ifinter#(true,x,l1,l2) | → | inter#(l1,l2) | (29) |
The dependency pairs are split into 0 components.
| app#(app(l1,l2),l3) | → | app#(l2,l3) | (39) |
| app#(app(l1,l2),l3) | → | app#(l1,app(l2,l3)) | (35) |
| app#(cons(x,l1),l2) | → | app#(l1,l2) | (32) |
| [mem(x1, x2)] | = | x2 + 2 |
| [s(x1)] | = | 1 |
| [ifinter(x1,...,x4)] | = | 0 |
| [eq(x1, x2)] | = | 38554 |
| [false] | = | 1 |
| [mem#(x1, x2)] | = | 0 |
| [ifmem(x1, x2, x3)] | = | x1 + x2 + 0 |
| [ifinter#(x1,...,x4)] | = | 1 |
| [true] | = | 38555 |
| [ifmem#(x1, x2, x3)] | = | 0 |
| [eq#(x1, x2)] | = | 0 |
| [if(x1, x2, x3)] | = | 0 |
| [0] | = | 1 |
| [nil] | = | 38139 |
| [app#(x1, x2)] | = | x1 + 0 |
| [cons(x1, x2)] | = | x2 + 38551 |
| [if#(x1, x2, x3)] | = | 0 |
| [inter(x1, x2)] | = | 0 |
| [inter#(x1, x2)] | = | 0 |
| [app(x1, x2)] | = | x1 + x2 + 31755 |
| app(cons(x,l1),l2) | → | cons(x,app(l1,l2)) | (8) |
| app(nil,l) | → | l | (7) |
| app(app(l1,l2),l3) | → | app(l1,app(l2,l3)) | (9) |
| app#(app(l1,l2),l3) | → | app#(l2,l3) | (39) |
| app#(app(l1,l2),l3) | → | app#(l1,app(l2,l3)) | (35) |
| app#(cons(x,l1),l2) | → | app#(l1,l2) | (32) |
The dependency pairs are split into 0 components.
| mem#(x,cons(y,l)) | → | ifmem#(eq(x,y),x,l) | (31) |
| ifmem#(false,x,l) | → | mem#(x,l) | (22) |
| [mem(x1, x2)] | = | x2 + 2 |
| [s(x1)] | = | 1 |
| [ifinter(x1,...,x4)] | = | 0 |
| [eq(x1, x2)] | = | 5 |
| [false] | = | 1 |
| [mem#(x1, x2)] | = | x1 + x2 + 0 |
| [ifmem(x1, x2, x3)] | = | x1 + x2 + 0 |
| [ifinter#(x1,...,x4)] | = | 1 |
| [true] | = | 6 |
| [ifmem#(x1, x2, x3)] | = | x2 + x3 + 1 |
| [eq#(x1, x2)] | = | 0 |
| [if(x1, x2, x3)] | = | 0 |
| [0] | = | 1 |
| [nil] | = | 1 |
| [app#(x1, x2)] | = | 0 |
| [cons(x1, x2)] | = | x2 + 2 |
| [if#(x1, x2, x3)] | = | 0 |
| [inter(x1, x2)] | = | 0 |
| [inter#(x1, x2)] | = | 0 |
| [app(x1, x2)] | = | x1 + x2 + 31755 |
| app(cons(x,l1),l2) | → | cons(x,app(l1,l2)) | (8) |
| app(nil,l) | → | l | (7) |
| app(app(l1,l2),l3) | → | app(l1,app(l2,l3)) | (9) |
| mem#(x,cons(y,l)) | → | ifmem#(eq(x,y),x,l) | (31) |
| ifmem#(false,x,l) | → | mem#(x,l) | (22) |
The dependency pairs are split into 0 components.
| eq#(s(x),s(y)) | → | eq#(x,y) | (36) |
| [mem(x1, x2)] | = | x2 + 2 |
| [s(x1)] | = | x1 + 1 |
| [ifinter(x1,...,x4)] | = | 0 |
| [eq(x1, x2)] | = | 11946 |
| [false] | = | 1 |
| [mem#(x1, x2)] | = | 0 |
| [ifmem(x1, x2, x3)] | = | x1 + x2 + 0 |
| [ifinter#(x1,...,x4)] | = | 1 |
| [true] | = | 11947 |
| [ifmem#(x1, x2, x3)] | = | 1 |
| [eq#(x1, x2)] | = | x1 + x2 + 0 |
| [if(x1, x2, x3)] | = | 0 |
| [0] | = | 1 |
| [nil] | = | 42207 |
| [app#(x1, x2)] | = | 0 |
| [cons(x1, x2)] | = | x2 + 11943 |
| [if#(x1, x2, x3)] | = | 0 |
| [inter(x1, x2)] | = | 0 |
| [inter#(x1, x2)] | = | 0 |
| [app(x1, x2)] | = | x1 + x2 + 31755 |
| app(cons(x,l1),l2) | → | cons(x,app(l1,l2)) | (8) |
| app(nil,l) | → | l | (7) |
| app(app(l1,l2),l3) | → | app(l1,app(l2,l3)) | (9) |
| eq#(s(x),s(y)) | → | eq#(x,y) | (36) |
The dependency pairs are split into 0 components.