R
↳Dependency Pair Analysis
DOUBLE(s(x)) -> DOUBLE(x)
HALF(s(s(x))) -> HALF(x)
-'(s(x), s(y)) -> -'(x, y)
R
↳DPs
→DP Problem 1
↳Argument Filtering and Ordering
→DP Problem 2
↳AFS
→DP Problem 3
↳AFS
DOUBLE(s(x)) -> DOUBLE(x)
double(0) -> 0
double(s(x)) -> s(s(double(x)))
half(0) -> 0
half(s(0)) -> 0
half(s(s(x))) -> s(half(x))
half(double(x)) -> x
-(x, 0) -> x
-(s(x), s(y)) -> -(x, y)
if(0, y, z) -> y
if(s(x), y, z) -> z
innermost
DOUBLE(s(x)) -> DOUBLE(x)
trivial
DOUBLE(x1) -> DOUBLE(x1)
s(x1) -> s(x1)
R
↳DPs
→DP Problem 1
↳AFS
→DP Problem 4
↳Dependency Graph
→DP Problem 2
↳AFS
→DP Problem 3
↳AFS
double(0) -> 0
double(s(x)) -> s(s(double(x)))
half(0) -> 0
half(s(0)) -> 0
half(s(s(x))) -> s(half(x))
half(double(x)) -> x
-(x, 0) -> x
-(s(x), s(y)) -> -(x, y)
if(0, y, z) -> y
if(s(x), y, z) -> z
innermost
R
↳DPs
→DP Problem 1
↳AFS
→DP Problem 2
↳Argument Filtering and Ordering
→DP Problem 3
↳AFS
HALF(s(s(x))) -> HALF(x)
double(0) -> 0
double(s(x)) -> s(s(double(x)))
half(0) -> 0
half(s(0)) -> 0
half(s(s(x))) -> s(half(x))
half(double(x)) -> x
-(x, 0) -> x
-(s(x), s(y)) -> -(x, y)
if(0, y, z) -> y
if(s(x), y, z) -> z
innermost
HALF(s(s(x))) -> HALF(x)
trivial
HALF(x1) -> HALF(x1)
s(x1) -> s(x1)
R
↳DPs
→DP Problem 1
↳AFS
→DP Problem 2
↳AFS
→DP Problem 5
↳Dependency Graph
→DP Problem 3
↳AFS
double(0) -> 0
double(s(x)) -> s(s(double(x)))
half(0) -> 0
half(s(0)) -> 0
half(s(s(x))) -> s(half(x))
half(double(x)) -> x
-(x, 0) -> x
-(s(x), s(y)) -> -(x, y)
if(0, y, z) -> y
if(s(x), y, z) -> z
innermost
R
↳DPs
→DP Problem 1
↳AFS
→DP Problem 2
↳AFS
→DP Problem 3
↳Argument Filtering and Ordering
-'(s(x), s(y)) -> -'(x, y)
double(0) -> 0
double(s(x)) -> s(s(double(x)))
half(0) -> 0
half(s(0)) -> 0
half(s(s(x))) -> s(half(x))
half(double(x)) -> x
-(x, 0) -> x
-(s(x), s(y)) -> -(x, y)
if(0, y, z) -> y
if(s(x), y, z) -> z
innermost
-'(s(x), s(y)) -> -'(x, y)
trivial
-'(x1, x2) -> -'(x1, x2)
s(x1) -> s(x1)
R
↳DPs
→DP Problem 1
↳AFS
→DP Problem 2
↳AFS
→DP Problem 3
↳AFS
→DP Problem 6
↳Dependency Graph
double(0) -> 0
double(s(x)) -> s(s(double(x)))
half(0) -> 0
half(s(0)) -> 0
half(s(s(x))) -> s(half(x))
half(double(x)) -> x
-(x, 0) -> x
-(s(x), s(y)) -> -(x, y)
if(0, y, z) -> y
if(s(x), y, z) -> z
innermost