MAYBE MAYBE TRS: { merge(x, nil()) -> x, merge(nil(), y) -> y, merge(.(x, y), .(u, v)) -> if(<(x, u), .(x, merge(y, .(u, v))), .(u, merge(.(x, y), v))), if(true(), x, y) -> x, if(false(), x, y) -> x, ++(nil(), y) -> y, ++(.(x, y), z) -> .(x, ++(y, z)) } DUP: We consider a duplicating system. Trs: { merge(x, nil()) -> x, merge(nil(), y) -> y, merge(.(x, y), .(u, v)) -> if(<(x, u), .(x, merge(y, .(u, v))), .(u, merge(.(x, y), v))), if(true(), x, y) -> x, if(false(), x, y) -> x, ++(nil(), y) -> y, ++(.(x, y), z) -> .(x, ++(y, z)) } Fail