R
↳Dependency Pair Analysis
HALF(s(s(x))) -> HALF(x)
LASTBIT(s(s(x))) -> LASTBIT(x)
CONV(s(x)) -> CONV(half(s(x)))
CONV(s(x)) -> HALF(s(x))
CONV(s(x)) -> LASTBIT(s(x))
R
↳DPs
→DP Problem 1
↳Polynomial Ordering
→DP Problem 2
↳Polo
→DP Problem 3
↳Nar
HALF(s(s(x))) -> HALF(x)
half(0) -> 0
half(s(0)) -> 0
half(s(s(x))) -> s(half(x))
lastbit(0) -> 0
lastbit(s(0)) -> s(0)
lastbit(s(s(x))) -> lastbit(x)
conv(0) -> cons(nil, 0)
conv(s(x)) -> cons(conv(half(s(x))), lastbit(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 4
↳Dependency Graph
→DP Problem 2
↳Polo
→DP Problem 3
↳Nar
half(0) -> 0
half(s(0)) -> 0
half(s(s(x))) -> s(half(x))
lastbit(0) -> 0
lastbit(s(0)) -> s(0)
lastbit(s(s(x))) -> lastbit(x)
conv(0) -> cons(nil, 0)
conv(s(x)) -> cons(conv(half(s(x))), lastbit(s(x)))
R
↳DPs
→DP Problem 1
↳Polo
→DP Problem 2
↳Polynomial Ordering
→DP Problem 3
↳Nar
LASTBIT(s(s(x))) -> LASTBIT(x)
half(0) -> 0
half(s(0)) -> 0
half(s(s(x))) -> s(half(x))
lastbit(0) -> 0
lastbit(s(0)) -> s(0)
lastbit(s(s(x))) -> lastbit(x)
conv(0) -> cons(nil, 0)
conv(s(x)) -> cons(conv(half(s(x))), lastbit(s(x)))
LASTBIT(s(s(x))) -> LASTBIT(x)
POL(s(x1)) = 1 + x1 POL(LASTBIT(x1)) = 1 + x1
R
↳DPs
→DP Problem 1
↳Polo
→DP Problem 2
↳Polo
→DP Problem 5
↳Dependency Graph
→DP Problem 3
↳Nar
half(0) -> 0
half(s(0)) -> 0
half(s(s(x))) -> s(half(x))
lastbit(0) -> 0
lastbit(s(0)) -> s(0)
lastbit(s(s(x))) -> lastbit(x)
conv(0) -> cons(nil, 0)
conv(s(x)) -> cons(conv(half(s(x))), lastbit(s(x)))
R
↳DPs
→DP Problem 1
↳Polo
→DP Problem 2
↳Polo
→DP Problem 3
↳Narrowing Transformation
CONV(s(x)) -> CONV(half(s(x)))
half(0) -> 0
half(s(0)) -> 0
half(s(s(x))) -> s(half(x))
lastbit(0) -> 0
lastbit(s(0)) -> s(0)
lastbit(s(s(x))) -> lastbit(x)
conv(0) -> cons(nil, 0)
conv(s(x)) -> cons(conv(half(s(x))), lastbit(s(x)))
two new Dependency Pairs are created:
CONV(s(x)) -> CONV(half(s(x)))
CONV(s(0)) -> CONV(0)
CONV(s(s(x''))) -> CONV(s(half(x'')))
R
↳DPs
→DP Problem 1
↳Polo
→DP Problem 2
↳Polo
→DP Problem 3
↳Nar
→DP Problem 6
↳Polynomial Ordering
CONV(s(s(x''))) -> CONV(s(half(x'')))
half(0) -> 0
half(s(0)) -> 0
half(s(s(x))) -> s(half(x))
lastbit(0) -> 0
lastbit(s(0)) -> s(0)
lastbit(s(s(x))) -> lastbit(x)
conv(0) -> cons(nil, 0)
conv(s(x)) -> cons(conv(half(s(x))), lastbit(s(x)))
CONV(s(s(x''))) -> CONV(s(half(x'')))
half(0) -> 0
half(s(0)) -> 0
half(s(s(x))) -> s(half(x))
POL(0) = 0 POL(s(x1)) = 1 + x1 POL(CONV(x1)) = 1 + x1 POL(half(x1)) = x1
R
↳DPs
→DP Problem 1
↳Polo
→DP Problem 2
↳Polo
→DP Problem 3
↳Nar
→DP Problem 6
↳Polo
...
→DP Problem 7
↳Dependency Graph
half(0) -> 0
half(s(0)) -> 0
half(s(s(x))) -> s(half(x))
lastbit(0) -> 0
lastbit(s(0)) -> s(0)
lastbit(s(s(x))) -> lastbit(x)
conv(0) -> cons(nil, 0)
conv(s(x)) -> cons(conv(half(s(x))), lastbit(s(x)))