R
↳Dependency Pair Analysis
MINUS(s(x), s(y)) -> MINUS(x, y)
DOUBLE(s(x)) -> DOUBLE(x)
PLUS(s(x), y) -> PLUS(x, y)
PLUS(s(x), y) -> PLUS(x, s(y))
PLUS(s(x), y) -> PLUS(minus(x, y), double(y))
PLUS(s(x), y) -> MINUS(x, y)
PLUS(s(x), y) -> DOUBLE(y)
PLUS(s(plus(x, y)), z) -> PLUS(plus(x, y), z)
R
↳DPs
→DP Problem 1
↳Polynomial Ordering
→DP Problem 2
↳Polo
→DP Problem 3
↳Nar
MINUS(s(x), s(y)) -> MINUS(x, y)
minus(x, 0) -> x
minus(s(x), s(y)) -> minus(x, y)
double(0) -> 0
double(s(x)) -> s(s(double(x)))
plus(0, y) -> y
plus(s(x), y) -> s(plus(x, y))
plus(s(x), y) -> plus(x, s(y))
plus(s(x), y) -> s(plus(minus(x, y), double(y)))
plus(s(plus(x, y)), z) -> s(plus(plus(x, y), z))
MINUS(s(x), s(y)) -> MINUS(x, y)
POL(MINUS(x1, x2)) = x1 POL(s(x1)) = 1 + x1
R
↳DPs
→DP Problem 1
↳Polo
→DP Problem 4
↳Dependency Graph
→DP Problem 2
↳Polo
→DP Problem 3
↳Nar
minus(x, 0) -> x
minus(s(x), s(y)) -> minus(x, y)
double(0) -> 0
double(s(x)) -> s(s(double(x)))
plus(0, y) -> y
plus(s(x), y) -> s(plus(x, y))
plus(s(x), y) -> plus(x, s(y))
plus(s(x), y) -> s(plus(minus(x, y), double(y)))
plus(s(plus(x, y)), z) -> s(plus(plus(x, y), z))
R
↳DPs
→DP Problem 1
↳Polo
→DP Problem 2
↳Polynomial Ordering
→DP Problem 3
↳Nar
DOUBLE(s(x)) -> DOUBLE(x)
minus(x, 0) -> x
minus(s(x), s(y)) -> minus(x, y)
double(0) -> 0
double(s(x)) -> s(s(double(x)))
plus(0, y) -> y
plus(s(x), y) -> s(plus(x, y))
plus(s(x), y) -> plus(x, s(y))
plus(s(x), y) -> s(plus(minus(x, y), double(y)))
plus(s(plus(x, y)), z) -> s(plus(plus(x, y), z))
DOUBLE(s(x)) -> DOUBLE(x)
POL(DOUBLE(x1)) = x1 POL(s(x1)) = 1 + x1
R
↳DPs
→DP Problem 1
↳Polo
→DP Problem 2
↳Polo
→DP Problem 5
↳Dependency Graph
→DP Problem 3
↳Nar
minus(x, 0) -> x
minus(s(x), s(y)) -> minus(x, y)
double(0) -> 0
double(s(x)) -> s(s(double(x)))
plus(0, y) -> y
plus(s(x), y) -> s(plus(x, y))
plus(s(x), y) -> plus(x, s(y))
plus(s(x), y) -> s(plus(minus(x, y), double(y)))
plus(s(plus(x, y)), z) -> s(plus(plus(x, y), z))
R
↳DPs
→DP Problem 1
↳Polo
→DP Problem 2
↳Polo
→DP Problem 3
↳Narrowing Transformation
PLUS(s(plus(x, y)), z) -> PLUS(plus(x, y), z)
PLUS(s(x), y) -> PLUS(minus(x, y), double(y))
PLUS(s(x), y) -> PLUS(x, s(y))
PLUS(s(x), y) -> PLUS(x, y)
minus(x, 0) -> x
minus(s(x), s(y)) -> minus(x, y)
double(0) -> 0
double(s(x)) -> s(s(double(x)))
plus(0, y) -> y
plus(s(x), y) -> s(plus(x, y))
plus(s(x), y) -> plus(x, s(y))
plus(s(x), y) -> s(plus(minus(x, y), double(y)))
plus(s(plus(x, y)), z) -> s(plus(plus(x, y), z))
five new Dependency Pairs are created:
PLUS(s(plus(x, y)), z) -> PLUS(plus(x, y), z)
PLUS(s(plus(0, y'')), z) -> PLUS(y'', z)
PLUS(s(plus(s(x''), y'')), z) -> PLUS(s(plus(x'', y'')), z)
PLUS(s(plus(s(x''), y'')), z) -> PLUS(plus(x'', s(y'')), z)
PLUS(s(plus(s(x''), y'')), z) -> PLUS(s(plus(minus(x'', y''), double(y''))), z)
PLUS(s(plus(s(plus(x'', y'')), y0)), z) -> PLUS(s(plus(plus(x'', y''), y0)), z)
R
↳DPs
→DP Problem 1
↳Polo
→DP Problem 2
↳Polo
→DP Problem 3
↳Nar
→DP Problem 6
↳Polynomial Ordering
PLUS(s(plus(s(plus(x'', y'')), y0)), z) -> PLUS(s(plus(plus(x'', y''), y0)), z)
PLUS(s(plus(s(x''), y'')), z) -> PLUS(s(plus(minus(x'', y''), double(y''))), z)
PLUS(s(plus(s(x''), y'')), z) -> PLUS(plus(x'', s(y'')), z)
PLUS(s(plus(s(x''), y'')), z) -> PLUS(s(plus(x'', y'')), z)
PLUS(s(plus(0, y'')), z) -> PLUS(y'', z)
PLUS(s(x), y) -> PLUS(x, s(y))
PLUS(s(x), y) -> PLUS(x, y)
PLUS(s(x), y) -> PLUS(minus(x, y), double(y))
minus(x, 0) -> x
minus(s(x), s(y)) -> minus(x, y)
double(0) -> 0
double(s(x)) -> s(s(double(x)))
plus(0, y) -> y
plus(s(x), y) -> s(plus(x, y))
plus(s(x), y) -> plus(x, s(y))
plus(s(x), y) -> s(plus(minus(x, y), double(y)))
plus(s(plus(x, y)), z) -> s(plus(plus(x, y), z))
PLUS(s(plus(0, y'')), z) -> PLUS(y'', z)
plus(0, y) -> y
plus(s(x), y) -> s(plus(x, y))
plus(s(x), y) -> plus(x, s(y))
plus(s(x), y) -> s(plus(minus(x, y), double(y)))
plus(s(plus(x, y)), z) -> s(plus(plus(x, y), z))
minus(x, 0) -> x
minus(s(x), s(y)) -> minus(x, y)
double(0) -> 0
double(s(x)) -> s(s(double(x)))
POL(plus(x1, x2)) = 1 + x2 POL(PLUS(x1, x2)) = 1 + x1 POL(0) = 0 POL(minus(x1, x2)) = x1 POL(s(x1)) = x1 POL(double(x1)) = 0
R
↳DPs
→DP Problem 1
↳Polo
→DP Problem 2
↳Polo
→DP Problem 3
↳Nar
→DP Problem 6
↳Polo
...
→DP Problem 7
↳Remaining Obligation(s)
PLUS(s(plus(s(plus(x'', y'')), y0)), z) -> PLUS(s(plus(plus(x'', y''), y0)), z)
PLUS(s(plus(s(x''), y'')), z) -> PLUS(s(plus(minus(x'', y''), double(y''))), z)
PLUS(s(plus(s(x''), y'')), z) -> PLUS(plus(x'', s(y'')), z)
PLUS(s(plus(s(x''), y'')), z) -> PLUS(s(plus(x'', y'')), z)
PLUS(s(x), y) -> PLUS(x, s(y))
PLUS(s(x), y) -> PLUS(x, y)
PLUS(s(x), y) -> PLUS(minus(x, y), double(y))
minus(x, 0) -> x
minus(s(x), s(y)) -> minus(x, y)
double(0) -> 0
double(s(x)) -> s(s(double(x)))
plus(0, y) -> y
plus(s(x), y) -> s(plus(x, y))
plus(s(x), y) -> plus(x, s(y))
plus(s(x), y) -> s(plus(minus(x, y), double(y)))
plus(s(plus(x, y)), z) -> s(plus(plus(x, y), z))