R
↳Dependency Pair Analysis
HALF(s(s(x))) -> S(half(x))
HALF(s(s(x))) -> HALF(x)
S(log(0)) -> S(0)
LOG(s(x)) -> S(log(half(s(x))))
LOG(s(x)) -> LOG(half(s(x)))
LOG(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))
s(log(0)) -> s(0)
log(s(x)) -> s(log(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))
s(log(0)) -> s(0)
log(s(x)) -> s(log(half(s(x))))
R
↳DPs
→DP Problem 1
↳Polo
→DP Problem 2
↳Narrowing Transformation
LOG(s(x)) -> LOG(half(s(x)))
half(0) -> 0
half(s(0)) -> 0
half(s(s(x))) -> s(half(x))
s(log(0)) -> s(0)
log(s(x)) -> s(log(half(s(x))))
three new Dependency Pairs are created:
LOG(s(x)) -> LOG(half(s(x)))
LOG(s(0)) -> LOG(0)
LOG(s(s(x''))) -> LOG(s(half(x'')))
LOG(s(log(0))) -> LOG(half(s(0)))
R
↳DPs
→DP Problem 1
↳Polo
→DP Problem 2
↳Nar
→DP Problem 4
↳Polynomial Ordering
LOG(s(log(0))) -> LOG(half(s(0)))
LOG(s(s(x''))) -> LOG(s(half(x'')))
half(0) -> 0
half(s(0)) -> 0
half(s(s(x))) -> s(half(x))
s(log(0)) -> s(0)
log(s(x)) -> s(log(half(s(x))))
LOG(s(log(0))) -> LOG(half(s(0)))
s(log(0)) -> s(0)
half(0) -> 0
half(s(0)) -> 0
half(s(s(x))) -> s(half(x))
POL(0) = 0 POL(log(x1)) = 1 POL(s(x1)) = x1 POL(half(x1)) = 0 POL(LOG(x1)) = 1 + x1
R
↳DPs
→DP Problem 1
↳Polo
→DP Problem 2
↳Nar
→DP Problem 4
↳Polo
...
→DP Problem 5
↳Polynomial Ordering
LOG(s(s(x''))) -> LOG(s(half(x'')))
half(0) -> 0
half(s(0)) -> 0
half(s(s(x))) -> s(half(x))
s(log(0)) -> s(0)
log(s(x)) -> s(log(half(s(x))))
LOG(s(s(x''))) -> LOG(s(half(x'')))
s(log(0)) -> s(0)
half(0) -> 0
half(s(0)) -> 0
half(s(s(x))) -> s(half(x))
POL(0) = 0 POL(log(x1)) = 0 POL(s(x1)) = 1 + x1 POL(half(x1)) = x1 POL(LOG(x1)) = 1 + x1
R
↳DPs
→DP Problem 1
↳Polo
→DP Problem 2
↳Nar
→DP Problem 4
↳Polo
...
→DP Problem 6
↳Dependency Graph
half(0) -> 0
half(s(0)) -> 0
half(s(s(x))) -> s(half(x))
s(log(0)) -> s(0)
log(s(x)) -> s(log(half(s(x))))