R
↳Dependency Pair Analysis
APP(app(minus, app(s, x)), app(s, y)) -> APP(app(minus, x), y)
APP(app(minus, app(s, x)), app(s, y)) -> APP(minus, x)
APP(double, app(s, x)) -> APP(s, app(s, app(double, x)))
APP(double, app(s, x)) -> APP(s, app(double, x))
APP(double, app(s, x)) -> APP(double, x)
APP(app(plus, app(s, x)), y) -> APP(s, app(app(plus, x), y))
APP(app(plus, app(s, x)), y) -> APP(app(plus, x), y)
APP(app(plus, app(s, x)), y) -> APP(plus, x)
APP(app(plus, app(s, x)), y) -> APP(app(plus, x), app(s, y))
APP(app(plus, app(s, x)), y) -> APP(s, y)
APP(app(plus, app(s, x)), y) -> APP(s, app(app(plus, app(app(minus, x), y)), app(double, y)))
APP(app(plus, app(s, x)), y) -> APP(app(plus, app(app(minus, x), y)), app(double, y))
APP(app(plus, app(s, x)), y) -> APP(plus, app(app(minus, x), y))
APP(app(plus, app(s, x)), y) -> APP(app(minus, x), y)
APP(app(plus, app(s, x)), y) -> APP(minus, x)
APP(app(plus, app(s, x)), y) -> APP(double, y)
R
↳DPs
→DP Problem 1
↳Usable Rules (Innermost)
→DP Problem 2
↳UsableRules
→DP Problem 3
↳UsableRules
APP(app(minus, app(s, x)), app(s, y)) -> APP(app(minus, x), y)
app(app(minus, x), 0) -> x
app(app(minus, app(s, x)), app(s, y)) -> app(app(minus, x), y)
app(double, 0) -> 0
app(double, app(s, x)) -> app(s, app(s, app(double, x)))
app(app(plus, 0), y) -> y
app(app(plus, app(s, x)), y) -> app(s, app(app(plus, x), y))
app(app(plus, app(s, x)), y) -> app(app(plus, x), app(s, y))
app(app(plus, app(s, x)), y) -> app(s, app(app(plus, app(app(minus, x), y)), app(double, y)))
innermost
R
↳DPs
→DP Problem 1
↳UsableRules
→DP Problem 4
↳A-Transformation
→DP Problem 2
↳UsableRules
→DP Problem 3
↳UsableRules
APP(app(minus, app(s, x)), app(s, y)) -> APP(app(minus, x), y)
none
innermost
R
↳DPs
→DP Problem 1
↳UsableRules
→DP Problem 4
↳ATrans
...
→DP Problem 5
↳Size-Change Principle
→DP Problem 2
↳UsableRules
→DP Problem 3
↳UsableRules
MINUS(s(x), s(y)) -> MINUS(x, y)
none
innermost
|
|
trivial
s(x1) -> s(x1)
R
↳DPs
→DP Problem 1
↳UsableRules
→DP Problem 2
↳Usable Rules (Innermost)
→DP Problem 3
↳UsableRules
APP(double, app(s, x)) -> APP(double, x)
app(app(minus, x), 0) -> x
app(app(minus, app(s, x)), app(s, y)) -> app(app(minus, x), y)
app(double, 0) -> 0
app(double, app(s, x)) -> app(s, app(s, app(double, x)))
app(app(plus, 0), y) -> y
app(app(plus, app(s, x)), y) -> app(s, app(app(plus, x), y))
app(app(plus, app(s, x)), y) -> app(app(plus, x), app(s, y))
app(app(plus, app(s, x)), y) -> app(s, app(app(plus, app(app(minus, x), y)), app(double, y)))
innermost
R
↳DPs
→DP Problem 1
↳UsableRules
→DP Problem 2
↳UsableRules
→DP Problem 6
↳A-Transformation
→DP Problem 3
↳UsableRules
APP(double, app(s, x)) -> APP(double, x)
none
innermost
R
↳DPs
→DP Problem 1
↳UsableRules
→DP Problem 2
↳UsableRules
→DP Problem 6
↳ATrans
...
→DP Problem 7
↳Size-Change Principle
→DP Problem 3
↳UsableRules
DOUBLE(s(x)) -> DOUBLE(x)
none
innermost
|
|
trivial
s(x1) -> s(x1)
R
↳DPs
→DP Problem 1
↳UsableRules
→DP Problem 2
↳UsableRules
→DP Problem 3
↳Usable Rules (Innermost)
APP(app(plus, app(s, x)), y) -> APP(app(plus, app(app(minus, x), y)), app(double, y))
APP(app(plus, app(s, x)), y) -> APP(app(plus, x), app(s, y))
APP(app(plus, app(s, x)), y) -> APP(app(plus, x), y)
app(app(minus, x), 0) -> x
app(app(minus, app(s, x)), app(s, y)) -> app(app(minus, x), y)
app(double, 0) -> 0
app(double, app(s, x)) -> app(s, app(s, app(double, x)))
app(app(plus, 0), y) -> y
app(app(plus, app(s, x)), y) -> app(s, app(app(plus, x), y))
app(app(plus, app(s, x)), y) -> app(app(plus, x), app(s, y))
app(app(plus, app(s, x)), y) -> app(s, app(app(plus, app(app(minus, x), y)), app(double, y)))
innermost
R
↳DPs
→DP Problem 1
↳UsableRules
→DP Problem 2
↳UsableRules
→DP Problem 3
↳UsableRules
→DP Problem 8
↳A-Transformation
APP(app(plus, app(s, x)), y) -> APP(app(plus, app(app(minus, x), y)), app(double, y))
APP(app(plus, app(s, x)), y) -> APP(app(plus, x), app(s, y))
APP(app(plus, app(s, x)), y) -> APP(app(plus, x), y)
app(app(minus, x), 0) -> x
app(double, 0) -> 0
app(app(minus, app(s, x)), app(s, y)) -> app(app(minus, x), y)
app(double, app(s, x)) -> app(s, app(s, app(double, x)))
innermost
R
↳DPs
→DP Problem 1
↳UsableRules
→DP Problem 2
↳UsableRules
→DP Problem 3
↳UsableRules
→DP Problem 8
↳ATrans
...
→DP Problem 9
↳Argument Filtering and Ordering
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)))
innermost
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(s(x), s(y)) -> minus(x, y)
minus(x, 0) -> x
trivial
PLUS(x1, x2) -> x1
s(x1) -> s(x1)
minus(x1, x2) -> x1
R
↳DPs
→DP Problem 1
↳UsableRules
→DP Problem 2
↳UsableRules
→DP Problem 3
↳UsableRules
→DP Problem 8
↳ATrans
...
→DP Problem 10
↳Dependency Graph
minus(x, 0) -> x
minus(s(x), s(y)) -> minus(x, y)
double(0) -> 0
double(s(x)) -> s(s(double(x)))
innermost