R
↳Dependency Pair Analysis
REV(++(x, y)) -> ++'(rev(y), rev(x))
REV(++(x, y)) -> REV(y)
REV(++(x, y)) -> REV(x)
++'(.(x, y), z) -> ++'(y, z)
++'(x, ++(y, z)) -> ++'(++(x, y), z)
++'(x, ++(y, z)) -> ++'(x, y)
R
↳DPs
→DP Problem 1
↳Narrowing Transformation
→DP Problem 2
↳Remaining
++'(x, ++(y, z)) -> ++'(x, y)
++'(x, ++(y, z)) -> ++'(++(x, y), z)
++'(.(x, y), z) -> ++'(y, z)
rev(nil) -> nil
rev(rev(x)) -> x
rev(++(x, y)) -> ++(rev(y), rev(x))
++(nil, y) -> y
++(x, nil) -> x
++(.(x, y), z) -> .(x, ++(y, z))
++(x, ++(y, z)) -> ++(++(x, y), z)
make(x) -> .(x, nil)
innermost
three new Dependency Pairs are created:
++'(x, ++(y, z)) -> ++'(++(x, y), z)
++'(nil, ++(y'', z)) -> ++'(y'', z)
++'(.(x'', y''), ++(y0, z)) -> ++'(.(x'', ++(y'', y0)), z)
++'(x'', ++(++(y'', z''), z)) -> ++'(++(++(x'', y''), z''), z)
R
↳DPs
→DP Problem 1
↳Nar
→DP Problem 3
↳Forward Instantiation Transformation
→DP Problem 2
↳Remaining
++'(x'', ++(++(y'', z''), z)) -> ++'(++(++(x'', y''), z''), z)
++'(.(x'', y''), ++(y0, z)) -> ++'(.(x'', ++(y'', y0)), z)
++'(.(x, y), z) -> ++'(y, z)
++'(x, ++(y, z)) -> ++'(x, y)
rev(nil) -> nil
rev(rev(x)) -> x
rev(++(x, y)) -> ++(rev(y), rev(x))
++(nil, y) -> y
++(x, nil) -> x
++(.(x, y), z) -> .(x, ++(y, z))
++(x, ++(y, z)) -> ++(++(x, y), z)
make(x) -> .(x, nil)
innermost
four new Dependency Pairs are created:
++'(.(x, y), z) -> ++'(y, z)
++'(.(x, .(x'', y'')), z'') -> ++'(.(x'', y''), z'')
++'(.(x, y0), ++(y'', z'')) -> ++'(y0, ++(y'', z''))
++'(.(x, .(x'''', y'''')), ++(y0'', z'')) -> ++'(.(x'''', y''''), ++(y0'', z''))
++'(.(x, y'), ++(++(y'''', z''''), z'')) -> ++'(y', ++(++(y'''', z''''), z''))
R
↳DPs
→DP Problem 1
↳Nar
→DP Problem 3
↳FwdInst
...
→DP Problem 4
↳Forward Instantiation Transformation
→DP Problem 2
↳Remaining
++'(.(x, y'), ++(++(y'''', z''''), z'')) -> ++'(y', ++(++(y'''', z''''), z''))
++'(.(x, .(x'''', y'''')), ++(y0'', z'')) -> ++'(.(x'''', y''''), ++(y0'', z''))
++'(.(x, y0), ++(y'', z'')) -> ++'(y0, ++(y'', z''))
++'(.(x'', y''), ++(y0, z)) -> ++'(.(x'', ++(y'', y0)), z)
++'(x, ++(y, z)) -> ++'(x, y)
++'(.(x, .(x'', y'')), z'') -> ++'(.(x'', y''), z'')
++'(x'', ++(++(y'', z''), z)) -> ++'(++(++(x'', y''), z''), z)
rev(nil) -> nil
rev(rev(x)) -> x
rev(++(x, y)) -> ++(rev(y), rev(x))
++(nil, y) -> y
++(x, nil) -> x
++(.(x, y), z) -> .(x, ++(y, z))
++(x, ++(y, z)) -> ++(++(x, y), z)
make(x) -> .(x, nil)
innermost
seven new Dependency Pairs are created:
++'(x, ++(y, z)) -> ++'(x, y)
++'(x'', ++(++(y'', z''), z)) -> ++'(x'', ++(y'', z''))
++'(.(x'''', y''''), ++(++(y0'', z''), z)) -> ++'(.(x'''', y''''), ++(y0'', z''))
++'(x', ++(++(++(y'''', z''''), z''), z)) -> ++'(x', ++(++(y'''', z''''), z''))
++'(.(x'', .(x'''', y'''')), ++(y', z)) -> ++'(.(x'', .(x'''', y'''')), y')
++'(.(x'', y0''), ++(++(y'''', z''''), z)) -> ++'(.(x'', y0''), ++(y'''', z''''))
++'(.(x'', .(x'''''', y'''''')), ++(++(y0'''', z''''), z)) -> ++'(.(x'', .(x'''''', y'''''')), ++(y0'''', z''''))
++'(.(x'', y'''), ++(++(++(y'''''', z''''''), z''''), z)) -> ++'(.(x'', y'''), ++(++(y'''''', z''''''), z''''))
R
↳DPs
→DP Problem 1
↳Nar
→DP Problem 2
↳Remaining Obligation(s)
++'(.(x'', y'''), ++(++(++(y'''''', z''''''), z''''), z)) -> ++'(.(x'', y'''), ++(++(y'''''', z''''''), z''''))
++'(.(x'', .(x'''''', y'''''')), ++(++(y0'''', z''''), z)) -> ++'(.(x'', .(x'''''', y'''''')), ++(y0'''', z''''))
++'(.(x'', y0''), ++(++(y'''', z''''), z)) -> ++'(.(x'', y0''), ++(y'''', z''''))
++'(.(x'', .(x'''', y'''')), ++(y', z)) -> ++'(.(x'', .(x'''', y'''')), y')
++'(x', ++(++(++(y'''', z''''), z''), z)) -> ++'(x', ++(++(y'''', z''''), z''))
++'(.(x'''', y''''), ++(++(y0'', z''), z)) -> ++'(.(x'''', y''''), ++(y0'', z''))
++'(x'', ++(++(y'', z''), z)) -> ++'(x'', ++(y'', z''))
++'(.(x, .(x'''', y'''')), ++(y0'', z'')) -> ++'(.(x'''', y''''), ++(y0'', z''))
++'(.(x, y0), ++(y'', z'')) -> ++'(y0, ++(y'', z''))
++'(x'', ++(++(y'', z''), z)) -> ++'(++(++(x'', y''), z''), z)
++'(.(x, .(x'', y'')), z'') -> ++'(.(x'', y''), z'')
++'(.(x'', y''), ++(y0, z)) -> ++'(.(x'', ++(y'', y0)), z)
++'(.(x, y'), ++(++(y'''', z''''), z'')) -> ++'(y', ++(++(y'''', z''''), z''))
rev(nil) -> nil
rev(rev(x)) -> x
rev(++(x, y)) -> ++(rev(y), rev(x))
++(nil, y) -> y
++(x, nil) -> x
++(.(x, y), z) -> .(x, ++(y, z))
++(x, ++(y, z)) -> ++(++(x, y), z)
make(x) -> .(x, nil)
innermost
REV(++(x, y)) -> REV(x)
rev(nil) -> nil
rev(rev(x)) -> x
rev(++(x, y)) -> ++(rev(y), rev(x))
++(nil, y) -> y
++(x, nil) -> x
++(.(x, y), z) -> .(x, ++(y, z))
++(x, ++(y, z)) -> ++(++(x, y), z)
make(x) -> .(x, nil)
innermost
R
↳DPs
→DP Problem 1
↳Nar
→DP Problem 2
↳Remaining Obligation(s)
++'(.(x'', y'''), ++(++(++(y'''''', z''''''), z''''), z)) -> ++'(.(x'', y'''), ++(++(y'''''', z''''''), z''''))
++'(.(x'', .(x'''''', y'''''')), ++(++(y0'''', z''''), z)) -> ++'(.(x'', .(x'''''', y'''''')), ++(y0'''', z''''))
++'(.(x'', y0''), ++(++(y'''', z''''), z)) -> ++'(.(x'', y0''), ++(y'''', z''''))
++'(.(x'', .(x'''', y'''')), ++(y', z)) -> ++'(.(x'', .(x'''', y'''')), y')
++'(x', ++(++(++(y'''', z''''), z''), z)) -> ++'(x', ++(++(y'''', z''''), z''))
++'(.(x'''', y''''), ++(++(y0'', z''), z)) -> ++'(.(x'''', y''''), ++(y0'', z''))
++'(x'', ++(++(y'', z''), z)) -> ++'(x'', ++(y'', z''))
++'(.(x, .(x'''', y'''')), ++(y0'', z'')) -> ++'(.(x'''', y''''), ++(y0'', z''))
++'(.(x, y0), ++(y'', z'')) -> ++'(y0, ++(y'', z''))
++'(x'', ++(++(y'', z''), z)) -> ++'(++(++(x'', y''), z''), z)
++'(.(x, .(x'', y'')), z'') -> ++'(.(x'', y''), z'')
++'(.(x'', y''), ++(y0, z)) -> ++'(.(x'', ++(y'', y0)), z)
++'(.(x, y'), ++(++(y'''', z''''), z'')) -> ++'(y', ++(++(y'''', z''''), z''))
rev(nil) -> nil
rev(rev(x)) -> x
rev(++(x, y)) -> ++(rev(y), rev(x))
++(nil, y) -> y
++(x, nil) -> x
++(.(x, y), z) -> .(x, ++(y, z))
++(x, ++(y, z)) -> ++(++(x, y), z)
make(x) -> .(x, nil)
innermost
REV(++(x, y)) -> REV(x)
rev(nil) -> nil
rev(rev(x)) -> x
rev(++(x, y)) -> ++(rev(y), rev(x))
++(nil, y) -> y
++(x, nil) -> x
++(.(x, y), z) -> .(x, ++(y, z))
++(x, ++(y, z)) -> ++(++(x, y), z)
make(x) -> .(x, nil)
innermost