R
↳Dependency Pair Analysis
MERGE(++(x, y), ++(u, v)) -> MERGE(y, ++(u, v))
MERGE(++(x, y), ++(u, v)) -> MERGE(++(x, y), v)
R
↳DPs
→DP Problem 1
↳Forward Instantiation Transformation
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))
innermost
one new Dependency Pair is created:
MERGE(++(x, y), ++(u, v)) -> MERGE(y, ++(u, v))
MERGE(++(x, ++(x'', y'')), ++(u, v)) -> MERGE(++(x'', y''), ++(u, v))
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳Forward Instantiation Transformation
MERGE(++(x, ++(x'', y'')), ++(u, v)) -> MERGE(++(x'', 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))
innermost
one new Dependency Pair is created:
MERGE(++(x, ++(x'', y'')), ++(u, v)) -> MERGE(++(x'', y''), ++(u, v))
MERGE(++(x, ++(x'''', ++(x''''', y''''))), ++(u, v)) -> MERGE(++(x'''', ++(x''''', y'''')), ++(u, v))
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳FwdInst
...
→DP Problem 3
↳Argument Filtering and Ordering
MERGE(++(x, ++(x'''', ++(x''''', y''''))), ++(u, v)) -> MERGE(++(x'''', ++(x''''', 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))
innermost
MERGE(++(x, ++(x'''', ++(x''''', y''''))), ++(u, v)) -> MERGE(++(x'''', ++(x''''', y'''')), ++(u, v))
POL(v) = 0 POL(++(x1, x2)) = 1 + x1 + x2 POL(MERGE(x1, x2)) = 1 + x1 + x2 POL(u) = 1
MERGE(x1, x2) -> MERGE(x1, x2)
++(x1, x2) -> ++(x1, x2)
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳FwdInst
...
→DP Problem 4
↳Dependency Graph
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))
innermost