R
↳Dependency Pair Analysis
HALF(s(s(x))) -> HALF(x)
BITS(s(x)) -> BITS(half(s(x)))
BITS(s(x)) -> HALF(s(x))
R
↳DPs
→DP Problem 1
↳Polynomial Ordering
→DP Problem 2
↳Nar
HALF(s(s(x))) -> HALF(x)
half(0) -> 0
half(s(0)) -> 0
half(s(s(x))) -> s(half(x))
bits(0) -> 0
bits(s(x)) -> s(bits(half(s(x))))
HALF(s(s(x))) -> HALF(x)
POL(HALF(x1)) = 1 + x1 POL(s(x1)) = 1 + x1
R
↳DPs
→DP Problem 1
↳Polo
→DP Problem 3
↳Dependency Graph
→DP Problem 2
↳Nar
half(0) -> 0
half(s(0)) -> 0
half(s(s(x))) -> s(half(x))
bits(0) -> 0
bits(s(x)) -> s(bits(half(s(x))))
R
↳DPs
→DP Problem 1
↳Polo
→DP Problem 2
↳Narrowing Transformation
BITS(s(x)) -> BITS(half(s(x)))
half(0) -> 0
half(s(0)) -> 0
half(s(s(x))) -> s(half(x))
bits(0) -> 0
bits(s(x)) -> s(bits(half(s(x))))
two new Dependency Pairs are created:
BITS(s(x)) -> BITS(half(s(x)))
BITS(s(0)) -> BITS(0)
BITS(s(s(x''))) -> BITS(s(half(x'')))
R
↳DPs
→DP Problem 1
↳Polo
→DP Problem 2
↳Nar
→DP Problem 4
↳Narrowing Transformation
BITS(s(s(x''))) -> BITS(s(half(x'')))
half(0) -> 0
half(s(0)) -> 0
half(s(s(x))) -> s(half(x))
bits(0) -> 0
bits(s(x)) -> s(bits(half(s(x))))
three new Dependency Pairs are created:
BITS(s(s(x''))) -> BITS(s(half(x'')))
BITS(s(s(0))) -> BITS(s(0))
BITS(s(s(s(0)))) -> BITS(s(0))
BITS(s(s(s(s(x'))))) -> BITS(s(s(half(x'))))
R
↳DPs
→DP Problem 1
↳Polo
→DP Problem 2
↳Nar
→DP Problem 4
↳Nar
...
→DP Problem 5
↳Polynomial Ordering
BITS(s(s(s(s(x'))))) -> BITS(s(s(half(x'))))
half(0) -> 0
half(s(0)) -> 0
half(s(s(x))) -> s(half(x))
bits(0) -> 0
bits(s(x)) -> s(bits(half(s(x))))
BITS(s(s(s(s(x'))))) -> BITS(s(s(half(x'))))
half(0) -> 0
half(s(0)) -> 0
half(s(s(x))) -> s(half(x))
POL(BITS(x1)) = 1 + x1 POL(0) = 0 POL(s(x1)) = 1 + x1 POL(half(x1)) = x1
R
↳DPs
→DP Problem 1
↳Polo
→DP Problem 2
↳Nar
→DP Problem 4
↳Nar
...
→DP Problem 6
↳Dependency Graph
half(0) -> 0
half(s(0)) -> 0
half(s(s(x))) -> s(half(x))
bits(0) -> 0
bits(s(x)) -> s(bits(half(s(x))))