0 QTRS
↳1 DependencyPairsProof (⇔)
↳2 QDP
↳3 DependencyGraphProof (⇔)
↳4 QDP
↳5 QDPOrderProof (⇔)
↳6 QDP
↳7 PisEmptyProof (⇔)
↳8 TRUE
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))
MEM(x, union(y, z)) → OR(mem(x, y), mem(x, z))
MEM(x, union(y, z)) → MEM(x, y)
MEM(x, union(y, z)) → MEM(x, z)
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))
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))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
MEM(x, union(y, z)) → MEM(x, z)
MEM(x, union(y, z)) → MEM(x, y)
POL(MEM(x1, x2)) = x2
POL(union(x1, x2)) = 1 + x1 + x2
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))