R
↳Dependency Pair Analysis
++'(.(x, y), z) -> ++'(y, z)
++'(++(x, y), z) -> ++'(x, ++(y, z))
++'(++(x, y), z) -> ++'(y, z)
R
↳DPs
→DP Problem 1
↳Forward Instantiation Transformation
++'(++(x, y), z) -> ++'(y, z)
++'(.(x, y), z) -> ++'(y, z)
++(nil, y) -> y
++(x, nil) -> x
++(.(x, y), z) -> .(x, ++(y, z))
++(++(x, y), z) -> ++(x, ++(y, z))
innermost
two new Dependency Pairs are created:
++'(.(x, y), z) -> ++'(y, z)
++'(.(x, .(x'', y'')), z'') -> ++'(.(x'', y''), z'')
++'(.(x, ++(x'', y'')), z'') -> ++'(++(x'', y''), z'')
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳Forward Instantiation Transformation
++'(.(x, ++(x'', y'')), z'') -> ++'(++(x'', y''), z'')
++'(.(x, .(x'', y'')), z'') -> ++'(.(x'', y''), z'')
++'(++(x, y), z) -> ++'(y, z)
++(nil, y) -> y
++(x, nil) -> x
++(.(x, y), z) -> .(x, ++(y, z))
++(++(x, y), z) -> ++(x, ++(y, z))
innermost
three new Dependency Pairs are created:
++'(++(x, y), z) -> ++'(y, z)
++'(++(x, ++(x'', y'')), z'') -> ++'(++(x'', y''), z'')
++'(++(x, .(x'', .(x'''', y''''))), z') -> ++'(.(x'', .(x'''', y'''')), z')
++'(++(x, .(x'', ++(x'''', y''''))), z') -> ++'(.(x'', ++(x'''', y'''')), z')
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳FwdInst
...
→DP Problem 3
↳Forward Instantiation Transformation
++'(++(x, .(x'', ++(x'''', y''''))), z') -> ++'(.(x'', ++(x'''', y'''')), z')
++'(.(x, .(x'', y'')), z'') -> ++'(.(x'', y''), z'')
++'(++(x, .(x'', .(x'''', y''''))), z') -> ++'(.(x'', .(x'''', y'''')), z')
++'(++(x, ++(x'', y'')), z'') -> ++'(++(x'', y''), z'')
++'(.(x, ++(x'', y'')), z'') -> ++'(++(x'', y''), z'')
++(nil, y) -> y
++(x, nil) -> x
++(.(x, y), z) -> .(x, ++(y, z))
++(++(x, y), z) -> ++(x, ++(y, z))
innermost
two new Dependency Pairs are created:
++'(.(x, .(x'', y'')), z'') -> ++'(.(x'', y''), z'')
++'(.(x, .(x'''', .(x''''', y''''))), z'''') -> ++'(.(x'''', .(x''''', y'''')), z'''')
++'(.(x, .(x'''', ++(x''''', y''''))), z'''') -> ++'(.(x'''', ++(x''''', y'''')), z'''')
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳FwdInst
...
→DP Problem 4
↳Forward Instantiation Transformation
++'(.(x, .(x'''', ++(x''''', y''''))), z'''') -> ++'(.(x'''', ++(x''''', y'''')), z'''')
++'(.(x, .(x'''', .(x''''', y''''))), z'''') -> ++'(.(x'''', .(x''''', y'''')), z'''')
++'(++(x, .(x'', .(x'''', y''''))), z') -> ++'(.(x'', .(x'''', y'''')), z')
++'(++(x, ++(x'', y'')), z'') -> ++'(++(x'', y''), z'')
++'(.(x, ++(x'', y'')), z'') -> ++'(++(x'', y''), z'')
++'(++(x, .(x'', ++(x'''', y''''))), z') -> ++'(.(x'', ++(x'''', y'''')), z')
++(nil, y) -> y
++(x, nil) -> x
++(.(x, y), z) -> .(x, ++(y, z))
++(++(x, y), z) -> ++(x, ++(y, z))
innermost
two new Dependency Pairs are created:
++'(++(x, .(x'', .(x'''', y''''))), z') -> ++'(.(x'', .(x'''', y'''')), z')
++'(++(x, .(x''', .(x''''', .(x'''''''', y'''''')))), z'') -> ++'(.(x''', .(x''''', .(x'''''''', y''''''))), z'')
++'(++(x, .(x''', .(x''''', ++(x'''''''', y'''''')))), z'') -> ++'(.(x''', .(x''''', ++(x'''''''', y''''''))), z'')
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳FwdInst
...
→DP Problem 5
↳Polynomial Ordering
++'(++(x, .(x''', .(x''''', ++(x'''''''', y'''''')))), z'') -> ++'(.(x''', .(x''''', ++(x'''''''', y''''''))), z'')
++'(.(x, .(x'''', .(x''''', y''''))), z'''') -> ++'(.(x'''', .(x''''', y'''')), z'''')
++'(++(x, .(x''', .(x''''', .(x'''''''', y'''''')))), z'') -> ++'(.(x''', .(x''''', .(x'''''''', y''''''))), z'')
++'(++(x, .(x'', ++(x'''', y''''))), z') -> ++'(.(x'', ++(x'''', y'''')), z')
++'(++(x, ++(x'', y'')), z'') -> ++'(++(x'', y''), z'')
++'(.(x, ++(x'', y'')), z'') -> ++'(++(x'', y''), z'')
++'(.(x, .(x'''', ++(x''''', y''''))), z'''') -> ++'(.(x'''', ++(x''''', y'''')), z'''')
++(nil, y) -> y
++(x, nil) -> x
++(.(x, y), z) -> .(x, ++(y, z))
++(++(x, y), z) -> ++(x, ++(y, z))
innermost
++'(.(x, .(x'''', .(x''''', y''''))), z'''') -> ++'(.(x'''', .(x''''', y'''')), z'''')
++'(.(x, ++(x'', y'')), z'') -> ++'(++(x'', y''), z'')
++'(.(x, .(x'''', ++(x''''', y''''))), z'''') -> ++'(.(x'''', ++(x''''', y'''')), z'''')
++(nil, y) -> y
++(x, nil) -> x
++(.(x, y), z) -> .(x, ++(y, z))
++(++(x, y), z) -> ++(x, ++(y, z))
POL(++'(x1, x2)) = 1 + x1 + x2 POL(++(x1, x2)) = x1 + x2 POL(nil) = 1 POL(.(x1, x2)) = 1 + x2
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳FwdInst
...
→DP Problem 6
↳Dependency Graph
++'(++(x, .(x''', .(x''''', ++(x'''''''', y'''''')))), z'') -> ++'(.(x''', .(x''''', ++(x'''''''', y''''''))), z'')
++'(++(x, .(x''', .(x''''', .(x'''''''', y'''''')))), z'') -> ++'(.(x''', .(x''''', .(x'''''''', y''''''))), z'')
++'(++(x, .(x'', ++(x'''', y''''))), z') -> ++'(.(x'', ++(x'''', y'''')), z')
++'(++(x, ++(x'', y'')), z'') -> ++'(++(x'', y''), z'')
++(nil, y) -> y
++(x, nil) -> x
++(.(x, y), z) -> .(x, ++(y, z))
++(++(x, y), z) -> ++(x, ++(y, z))
innermost
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳FwdInst
...
→DP Problem 7
↳Polynomial Ordering
++'(++(x, ++(x'', y'')), z'') -> ++'(++(x'', y''), z'')
++(nil, y) -> y
++(x, nil) -> x
++(.(x, y), z) -> .(x, ++(y, z))
++(++(x, y), z) -> ++(x, ++(y, z))
innermost
++'(++(x, ++(x'', y'')), z'') -> ++'(++(x'', y''), z'')
++(nil, y) -> y
++(x, nil) -> x
++(.(x, y), z) -> .(x, ++(y, z))
++(++(x, y), z) -> ++(x, ++(y, z))
POL(++'(x1, x2)) = x1 POL(++(x1, x2)) = 1 + x1 + x2 POL(nil) = 1 POL(.(x1, x2)) = 0
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳FwdInst
...
→DP Problem 8
↳Dependency Graph
++(nil, y) -> y
++(x, nil) -> x
++(.(x, y), z) -> .(x, ++(y, z))
++(++(x, y), z) -> ++(x, ++(y, z))
innermost