YES
The TRS could be proven terminating. The proof took 24 ms.
Problem 1 was processed with processor DependencyGraph (11ms). | Problem 2 was processed with processor SubtermCriterion (1ms).
mem#(x, union(y, z)) | → | mem#(x, z) | mem#(x, union(y, z)) | → | or#(mem(x, y), mem(x, z)) | |
mem#(x, union(y, z)) | → | mem#(x, y) |
or(true, y) | → | true | or(x, true) | → | true | |
or(false, false) | → | false | mem(x, nil) | → | false | |
mem(x, set(y)) | → | =(x, y) | mem(x, union(y, z)) | → | or(mem(x, y), mem(x, z)) |
Termination of terms over the following signature is verified: or, set, union, mem, true, false, =, nil
mem#(x, union(y, z)) → mem#(x, z) | mem#(x, union(y, z)) → mem#(x, y) |
mem#(x, union(y, z)) | → | mem#(x, z) | mem#(x, union(y, z)) | → | mem#(x, y) |
or(true, y) | → | true | or(x, true) | → | true | |
or(false, false) | → | false | mem(x, nil) | → | false | |
mem(x, set(y)) | → | =(x, y) | mem(x, union(y, z)) | → | or(mem(x, y), mem(x, z)) |
Termination of terms over the following signature is verified: or, set, union, mem, true, false, =, nil
The following projection was used:
Thus, the following dependency pairs are removed:
mem#(x, union(y, z)) | → | mem#(x, z) | mem#(x, union(y, z)) | → | mem#(x, y) |