R
↳Dependency Pair Analysis
APP(f, app(s, x)) -> APP(f, x)
APP(app(g, app(s, x)), app(s, y)) -> APP(app(app(if, app(f, x)), app(s, x)), app(s, y))
APP(app(g, app(s, x)), app(s, y)) -> APP(app(if, app(f, x)), app(s, x))
APP(app(g, app(s, x)), app(s, y)) -> APP(if, app(f, x))
APP(app(g, app(s, x)), app(s, y)) -> APP(f, x)
APP(app(g, x), app(c, y)) -> APP(app(g, x), app(app(g, app(s, app(c, y))), y))
APP(app(g, x), app(c, y)) -> APP(app(g, app(s, app(c, y))), y)
APP(app(g, x), app(c, y)) -> APP(g, app(s, app(c, y)))
APP(app(g, x), app(c, y)) -> APP(s, app(c, y))
R
↳DPs
→DP Problem 1
↳Usable Rules (Innermost)
→DP Problem 2
↳ATrans
APP(f, app(s, x)) -> APP(f, x)
app(f, 0) -> true
app(f, 1) -> false
app(f, app(s, x)) -> app(f, x)
app(app(app(if, true), x), y) -> x
app(app(app(if, false), x), y) -> y
app(app(g, app(s, x)), app(s, y)) -> app(app(app(if, app(f, x)), app(s, x)), app(s, y))
app(app(g, x), app(c, y)) -> app(app(g, x), app(app(g, app(s, app(c, y))), y))
innermost
R
↳DPs
→DP Problem 1
↳UsableRules
→DP Problem 3
↳A-Transformation
→DP Problem 2
↳ATrans
APP(f, app(s, x)) -> APP(f, x)
none
innermost
R
↳DPs
→DP Problem 1
↳UsableRules
→DP Problem 3
↳ATrans
...
→DP Problem 4
↳Size-Change Principle
→DP Problem 2
↳ATrans
F(s(x)) -> F(x)
none
innermost
|
|
trivial
s(x1) -> s(x1)
R
↳DPs
→DP Problem 1
↳UsableRules
→DP Problem 2
↳A-Transformation
APP(app(g, x), app(c, y)) -> APP(app(g, app(s, app(c, y))), y)
APP(app(g, x), app(c, y)) -> APP(app(g, x), app(app(g, app(s, app(c, y))), y))
app(f, 0) -> true
app(f, 1) -> false
app(f, app(s, x)) -> app(f, x)
app(app(app(if, true), x), y) -> x
app(app(app(if, false), x), y) -> y
app(app(g, app(s, x)), app(s, y)) -> app(app(app(if, app(f, x)), app(s, x)), app(s, y))
app(app(g, x), app(c, y)) -> app(app(g, x), app(app(g, app(s, app(c, y))), y))
innermost
R
↳DPs
→DP Problem 1
↳UsableRules
→DP Problem 2
↳ATrans
→DP Problem 5
↳Negative Polynomial Order
G(x, c(y)) -> G(s(c(y)), y)
G(x, c(y)) -> G(x, g(s(c(y)), y))
f(0) -> true
f(1) -> false
f(s(x)) -> f(x)
if(true, x, y) -> x
if(false, x, y) -> y
g(s(x), s(y)) -> if(f(x), s(x), s(y))
g(x, c(y)) -> g(x, g(s(c(y)), y))
innermost
G(x, c(y)) -> G(s(c(y)), y)
G(x, c(y)) -> G(x, g(s(c(y)), y))
f(0) -> true
f(s(x)) -> f(x)
if(true, x, y) -> x
if(false, x, y) -> y
g(s(x), s(y)) -> if(f(x), s(x), s(y))
g(x, c(y)) -> g(x, g(s(c(y)), y))
f(1) -> false
POL( G(x1, x2) ) = x2
POL( c(x1) ) = x1 + 1
POL( g(x1, x2) ) = 0
POL( f(x1) ) = 0
POL( true ) = 0
POL( if(x1, ..., x3) ) = x2 + x3
POL( s(x1) ) = 0
POL( false ) = 0
R
↳DPs
→DP Problem 1
↳UsableRules
→DP Problem 2
↳ATrans
→DP Problem 5
↳Neg POLO
...
→DP Problem 6
↳Dependency Graph
f(0) -> true
f(1) -> false
f(s(x)) -> f(x)
if(true, x, y) -> x
if(false, x, y) -> y
g(s(x), s(y)) -> if(f(x), s(x), s(y))
g(x, c(y)) -> g(x, g(s(c(y)), y))
innermost