R
↳Dependency Pair Analysis
MINUS(s(x), s(y)) -> MINUS(p(s(x)), p(s(y)))
MINUS(s(x), s(y)) -> P(s(x))
MINUS(s(x), s(y)) -> P(s(y))
MINUS(x, plus(y, z)) -> MINUS(minus(x, y), z)
MINUS(x, plus(y, z)) -> MINUS(x, y)
P(s(s(x))) -> P(s(x))
DIV(s(x), s(y)) -> DIV(minus(x, y), s(y))
DIV(s(x), s(y)) -> MINUS(x, y)
DIV(plus(x, y), z) -> PLUS(div(x, z), div(y, z))
DIV(plus(x, y), z) -> DIV(x, z)
DIV(plus(x, y), z) -> DIV(y, z)
PLUS(s(x), y) -> PLUS(y, minus(s(x), s(0)))
PLUS(s(x), y) -> MINUS(s(x), s(0))
R
↳DPs
→DP Problem 1
↳Size-Change Principle
→DP Problem 2
↳MRR
→DP Problem 3
↳MRR
→DP Problem 4
↳Neg POLO
P(s(s(x))) -> P(s(x))
minus(x, 0) -> x
minus(0, y) -> 0
minus(s(x), s(y)) -> minus(p(s(x)), p(s(y)))
minus(x, plus(y, z)) -> minus(minus(x, y), z)
p(s(s(x))) -> s(p(s(x)))
p(0) -> s(s(0))
div(s(x), s(y)) -> s(div(minus(x, y), s(y)))
div(plus(x, y), z) -> plus(div(x, z), div(y, z))
plus(0, y) -> y
plus(s(x), y) -> s(plus(y, minus(s(x), s(0))))
|
|
trivial
s(x1) -> s(x1)
R
↳DPs
→DP Problem 1
↳SCP
→DP Problem 2
↳Modular Removal of Rules
→DP Problem 3
↳MRR
→DP Problem 4
↳Neg POLO
MINUS(x, plus(y, z)) -> MINUS(x, y)
MINUS(x, plus(y, z)) -> MINUS(minus(x, y), z)
MINUS(s(x), s(y)) -> MINUS(p(s(x)), p(s(y)))
minus(x, 0) -> x
minus(0, y) -> 0
minus(s(x), s(y)) -> minus(p(s(x)), p(s(y)))
minus(x, plus(y, z)) -> minus(minus(x, y), z)
p(s(s(x))) -> s(p(s(x)))
p(0) -> s(s(0))
div(s(x), s(y)) -> s(div(minus(x, y), s(y)))
div(plus(x, y), z) -> plus(div(x, z), div(y, z))
plus(0, y) -> y
plus(s(x), y) -> s(plus(y, minus(s(x), s(0))))
To remove rules and DPs from this DP problem we used the following monotonic and CE-compatible order: Polynomial ordering.
minus(x, 0) -> x
minus(0, y) -> 0
minus(s(x), s(y)) -> minus(p(s(x)), p(s(y)))
minus(x, plus(y, z)) -> minus(minus(x, y), z)
p(s(s(x))) -> s(p(s(x)))
POL(plus(x1, x2)) = x1 + x2 POL(0) = 0 POL(MINUS(x1, x2)) = x1 + x2 POL(minus(x1, x2)) = x1 + x2 POL(s(x1)) = x1 POL(p(x1)) = x1
MINUS(x, plus(y, z)) -> MINUS(x, y)
MINUS(x, plus(y, z)) -> MINUS(minus(x, y), z)
5 non usable rules have been deleted.
minus(x, plus(y, z)) -> minus(minus(x, y), z)
R
↳DPs
→DP Problem 1
↳SCP
→DP Problem 2
↳MRR
→DP Problem 5
↳Modular Removal of Rules
→DP Problem 3
↳MRR
→DP Problem 4
↳Neg POLO
MINUS(s(x), s(y)) -> MINUS(p(s(x)), p(s(y)))
minus(x, 0) -> x
minus(0, y) -> 0
minus(s(x), s(y)) -> minus(p(s(x)), p(s(y)))
p(s(s(x))) -> s(p(s(x)))
To remove rules and DPs from this DP problem we used the following monotonic and CE-compatible order: Polynomial ordering.
p(s(s(x))) -> s(p(s(x)))
POL(MINUS(x1, x2)) = x1 + x2 POL(s(x1)) = x1 POL(p(x1)) = x1
R
↳DPs
→DP Problem 1
↳SCP
→DP Problem 2
↳MRR
→DP Problem 5
↳MRR
...
→DP Problem 6
↳Non-Overlappingness Check
→DP Problem 3
↳MRR
→DP Problem 4
↳Neg POLO
MINUS(s(x), s(y)) -> MINUS(p(s(x)), p(s(y)))
p(s(s(x))) -> s(p(s(x)))
R
↳DPs
→DP Problem 1
↳SCP
→DP Problem 2
↳MRR
→DP Problem 5
↳MRR
...
→DP Problem 7
↳Narrowing Transformation
→DP Problem 3
↳MRR
→DP Problem 4
↳Neg POLO
MINUS(s(x), s(y)) -> MINUS(p(s(x)), p(s(y)))
p(s(s(x))) -> s(p(s(x)))
innermost
two new Dependency Pairs are created:
MINUS(s(x), s(y)) -> MINUS(p(s(x)), p(s(y)))
MINUS(s(s(x'')), s(y)) -> MINUS(s(p(s(x''))), p(s(y)))
MINUS(s(x), s(s(x''))) -> MINUS(p(s(x)), s(p(s(x''))))
R
↳DPs
→DP Problem 1
↳SCP
→DP Problem 2
↳MRR
→DP Problem 5
↳MRR
...
→DP Problem 8
↳Negative Polynomial Order
→DP Problem 3
↳MRR
→DP Problem 4
↳Neg POLO
MINUS(s(x), s(s(x''))) -> MINUS(p(s(x)), s(p(s(x''))))
MINUS(s(s(x'')), s(y)) -> MINUS(s(p(s(x''))), p(s(y)))
p(s(s(x))) -> s(p(s(x)))
innermost
MINUS(s(x), s(s(x''))) -> MINUS(p(s(x)), s(p(s(x''))))
p(s(s(x))) -> s(p(s(x)))
POL( MINUS(x1, x2) ) = max{0, x2 - 1}
POL( s(x1) ) = x1 + 1
POL( p(x1) ) = max{0, x1 - 1}
R
↳DPs
→DP Problem 1
↳SCP
→DP Problem 2
↳MRR
→DP Problem 5
↳MRR
...
→DP Problem 9
↳Negative Polynomial Order
→DP Problem 3
↳MRR
→DP Problem 4
↳Neg POLO
MINUS(s(s(x'')), s(y)) -> MINUS(s(p(s(x''))), p(s(y)))
p(s(s(x))) -> s(p(s(x)))
innermost
MINUS(s(s(x'')), s(y)) -> MINUS(s(p(s(x''))), p(s(y)))
p(s(s(x))) -> s(p(s(x)))
POL( MINUS(x1, x2) ) = x2
POL( s(x1) ) = x1 + 1
POL( p(x1) ) = max{0, x1 - 1}
R
↳DPs
→DP Problem 1
↳SCP
→DP Problem 2
↳MRR
→DP Problem 5
↳MRR
...
→DP Problem 10
↳Dependency Graph
→DP Problem 3
↳MRR
→DP Problem 4
↳Neg POLO
p(s(s(x))) -> s(p(s(x)))
innermost
R
↳DPs
→DP Problem 1
↳SCP
→DP Problem 2
↳MRR
→DP Problem 3
↳Modular Removal of Rules
→DP Problem 4
↳Neg POLO
PLUS(s(x), y) -> PLUS(y, minus(s(x), s(0)))
minus(x, 0) -> x
minus(0, y) -> 0
minus(s(x), s(y)) -> minus(p(s(x)), p(s(y)))
minus(x, plus(y, z)) -> minus(minus(x, y), z)
p(s(s(x))) -> s(p(s(x)))
p(0) -> s(s(0))
div(s(x), s(y)) -> s(div(minus(x, y), s(y)))
div(plus(x, y), z) -> plus(div(x, z), div(y, z))
plus(0, y) -> y
plus(s(x), y) -> s(plus(y, minus(s(x), s(0))))
To remove rules and DPs from this DP problem we used the following monotonic and CE-compatible order: Polynomial ordering.
minus(s(x), s(y)) -> minus(p(s(x)), p(s(y)))
minus(x, 0) -> x
minus(0, y) -> 0
minus(x, plus(y, z)) -> minus(minus(x, y), z)
p(s(s(x))) -> s(p(s(x)))
POL(PLUS(x1, x2)) = x1 + x2 POL(plus(x1, x2)) = x1 + x2 POL(0) = 0 POL(minus(x1, x2)) = x1 + x2 POL(s(x1)) = x1 POL(p(x1)) = x1
5 non usable rules have been deleted.
minus(x, plus(y, z)) -> minus(minus(x, y), z)
R
↳DPs
→DP Problem 1
↳SCP
→DP Problem 2
↳MRR
→DP Problem 3
↳MRR
→DP Problem 11
↳Non-Overlappingness Check
→DP Problem 4
↳Neg POLO
PLUS(s(x), y) -> PLUS(y, minus(s(x), s(0)))
minus(s(x), s(y)) -> minus(p(s(x)), p(s(y)))
minus(x, 0) -> x
minus(0, y) -> 0
p(s(s(x))) -> s(p(s(x)))
R
↳DPs
→DP Problem 1
↳SCP
→DP Problem 2
↳MRR
→DP Problem 3
↳MRR
→DP Problem 11
↳NOC
...
→DP Problem 12
↳Narrowing Transformation
→DP Problem 4
↳Neg POLO
PLUS(s(x), y) -> PLUS(y, minus(s(x), s(0)))
minus(s(x), s(y)) -> minus(p(s(x)), p(s(y)))
minus(x, 0) -> x
minus(0, y) -> 0
p(s(s(x))) -> s(p(s(x)))
innermost
one new Dependency Pair is created:
PLUS(s(x), y) -> PLUS(y, minus(s(x), s(0)))
PLUS(s(x''), y) -> PLUS(y, minus(p(s(x'')), p(s(0))))
R
↳DPs
→DP Problem 1
↳SCP
→DP Problem 2
↳MRR
→DP Problem 3
↳MRR
→DP Problem 11
↳NOC
...
→DP Problem 13
↳Usable Rules (Innermost)
→DP Problem 4
↳Neg POLO
PLUS(s(x''), y) -> PLUS(y, minus(p(s(x'')), p(s(0))))
minus(s(x), s(y)) -> minus(p(s(x)), p(s(y)))
minus(x, 0) -> x
minus(0, y) -> 0
p(s(s(x))) -> s(p(s(x)))
innermost
R
↳DPs
→DP Problem 1
↳SCP
→DP Problem 2
↳MRR
→DP Problem 3
↳MRR
→DP Problem 11
↳NOC
...
→DP Problem 14
↳Negative Polynomial Order
→DP Problem 4
↳Neg POLO
PLUS(s(x''), y) -> PLUS(y, minus(p(s(x'')), p(s(0))))
minus(0, y) -> 0
p(s(s(x))) -> s(p(s(x)))
innermost
PLUS(s(x''), y) -> PLUS(y, minus(p(s(x'')), p(s(0))))
minus(0, y) -> 0
p(s(s(x))) -> s(p(s(x)))
POL( PLUS(x1, x2) ) = x1 + x2
POL( s(x1) ) = 1
POL( minus(x1, x2) ) = 0
POL( 0 ) = 0
POL( p(x1) ) = 1
R
↳DPs
→DP Problem 1
↳SCP
→DP Problem 2
↳MRR
→DP Problem 3
↳MRR
→DP Problem 11
↳NOC
...
→DP Problem 15
↳Dependency Graph
→DP Problem 4
↳Neg POLO
minus(0, y) -> 0
p(s(s(x))) -> s(p(s(x)))
innermost
R
↳DPs
→DP Problem 1
↳SCP
→DP Problem 2
↳MRR
→DP Problem 3
↳MRR
→DP Problem 4
↳Negative Polynomial Order
DIV(plus(x, y), z) -> DIV(y, z)
DIV(plus(x, y), z) -> DIV(x, z)
DIV(s(x), s(y)) -> DIV(minus(x, y), s(y))
minus(x, 0) -> x
minus(0, y) -> 0
minus(s(x), s(y)) -> minus(p(s(x)), p(s(y)))
minus(x, plus(y, z)) -> minus(minus(x, y), z)
p(s(s(x))) -> s(p(s(x)))
p(0) -> s(s(0))
div(s(x), s(y)) -> s(div(minus(x, y), s(y)))
div(plus(x, y), z) -> plus(div(x, z), div(y, z))
plus(0, y) -> y
plus(s(x), y) -> s(plus(y, minus(s(x), s(0))))
DIV(plus(x, y), z) -> DIV(y, z)
DIV(plus(x, y), z) -> DIV(x, z)
minus(x, 0) -> x
minus(0, y) -> 0
minus(s(x), s(y)) -> minus(p(s(x)), p(s(y)))
minus(x, plus(y, z)) -> minus(minus(x, y), z)
p(s(s(x))) -> s(p(s(x)))
POL( DIV(x1, x2) ) = x1
POL( plus(x1, x2) ) = x1 + x2 + 1
POL( s(x1) ) = x1
POL( minus(x1, x2) ) = x1
POL( 0 ) = 0
POL( p(x1) ) = 0
R
↳DPs
→DP Problem 1
↳SCP
→DP Problem 2
↳MRR
→DP Problem 3
↳MRR
→DP Problem 4
↳Neg POLO
→DP Problem 16
↳Negative Polynomial Order
DIV(s(x), s(y)) -> DIV(minus(x, y), s(y))
minus(x, 0) -> x
minus(0, y) -> 0
minus(s(x), s(y)) -> minus(p(s(x)), p(s(y)))
minus(x, plus(y, z)) -> minus(minus(x, y), z)
p(s(s(x))) -> s(p(s(x)))
p(0) -> s(s(0))
div(s(x), s(y)) -> s(div(minus(x, y), s(y)))
div(plus(x, y), z) -> plus(div(x, z), div(y, z))
plus(0, y) -> y
plus(s(x), y) -> s(plus(y, minus(s(x), s(0))))
DIV(s(x), s(y)) -> DIV(minus(x, y), s(y))
minus(x, 0) -> x
minus(0, y) -> 0
minus(s(x), s(y)) -> minus(p(s(x)), p(s(y)))
minus(x, plus(y, z)) -> minus(minus(x, y), z)
p(s(s(x))) -> s(p(s(x)))
POL( DIV(x1, x2) ) = x1
POL( s(x1) ) = x1 + 1
POL( minus(x1, x2) ) = x1
POL( 0 ) = 0
POL( p(x1) ) = x1
R
↳DPs
→DP Problem 1
↳SCP
→DP Problem 2
↳MRR
→DP Problem 3
↳MRR
→DP Problem 4
↳Neg POLO
→DP Problem 16
↳Neg POLO
...
→DP Problem 17
↳Dependency Graph
minus(x, 0) -> x
minus(0, y) -> 0
minus(s(x), s(y)) -> minus(p(s(x)), p(s(y)))
minus(x, plus(y, z)) -> minus(minus(x, y), z)
p(s(s(x))) -> s(p(s(x)))
p(0) -> s(s(0))
div(s(x), s(y)) -> s(div(minus(x, y), s(y)))
div(plus(x, y), z) -> plus(div(x, z), div(y, z))
plus(0, y) -> y
plus(s(x), y) -> s(plus(y, minus(s(x), s(0))))