0 QTRS
↳1 DependencyPairsProof (⇔)
↳2 QDP
↳3 DependencyGraphProof (⇔)
↳4 QDP
↳5 QDPOrderProof (⇔)
↳6 QDP
↳7 PisEmptyProof (⇔)
↳8 TRUE
merge(x, nil) → x
merge(nil, y) → y
merge(++(x, y), ++(u, v)) → ++(x, merge(y, ++(u, v)))
merge(++(x, y), ++(u, v)) → ++(u, merge(++(x, y), v))
MERGE(++(x, y), ++(u, v)) → MERGE(y, ++(u, v))
MERGE(++(x, y), ++(u, v)) → MERGE(++(x, y), v)
merge(x, nil) → x
merge(nil, y) → y
merge(++(x, y), ++(u, v)) → ++(x, merge(y, ++(u, v)))
merge(++(x, y), ++(u, v)) → ++(u, merge(++(x, y), v))
MERGE(++(x, y), ++(u, v)) → MERGE(y, ++(u, v))
merge(x, nil) → x
merge(nil, y) → y
merge(++(x, y), ++(u, v)) → ++(x, merge(y, ++(u, v)))
merge(++(x, y), ++(u, v)) → ++(u, merge(++(x, y), v))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
MERGE(++(x, y), ++(u, v)) → MERGE(y, ++(u, v))
merge2 > v > u > MERGE2
merge2 > v > u > ++2
++2: [2,1]
v: []
MERGE2: [2,1]
merge2: [1,2]
u: []
nil: []
merge(x, nil) → x
merge(nil, y) → y
merge(++(x, y), ++(u, v)) → ++(x, merge(y, ++(u, v)))
merge(++(x, y), ++(u, v)) → ++(u, merge(++(x, y), v))
merge(x, nil) → x
merge(nil, y) → y
merge(++(x, y), ++(u, v)) → ++(x, merge(y, ++(u, v)))
merge(++(x, y), ++(u, v)) → ++(u, merge(++(x, y), v))