R
↳Dependency Pair Analysis
FACT(s(x)) -> *'(s(x), fact(p(s(x))))
FACT(s(x)) -> FACT(p(s(x)))
FACT(s(x)) -> P(s(x))
*'(s(x), y) -> +'(*(x, y), y)
*'(s(x), y) -> *'(x, y)
+'(x, s(y)) -> +'(x, y)
R
↳DPs
→DP Problem 1
↳Argument Filtering and Ordering
→DP Problem 2
↳AFS
→DP Problem 3
↳Rw
+'(x, s(y)) -> +'(x, y)
p(s(x)) -> x
fact(0) -> s(0)
fact(s(x)) -> *(s(x), fact(p(s(x))))
*(0, y) -> 0
*(s(x), y) -> +(*(x, y), y)
+(x, 0) -> x
+(x, s(y)) -> s(+(x, y))
innermost
+'(x, s(y)) -> +'(x, y)
POL(s(x1)) = 1 + x1 POL(+'(x1, x2)) = x1 + x2
+'(x1, x2) -> +'(x1, x2)
s(x1) -> s(x1)
R
↳DPs
→DP Problem 1
↳AFS
→DP Problem 4
↳Dependency Graph
→DP Problem 2
↳AFS
→DP Problem 3
↳Rw
p(s(x)) -> x
fact(0) -> s(0)
fact(s(x)) -> *(s(x), fact(p(s(x))))
*(0, y) -> 0
*(s(x), y) -> +(*(x, y), y)
+(x, 0) -> x
+(x, s(y)) -> s(+(x, y))
innermost
R
↳DPs
→DP Problem 1
↳AFS
→DP Problem 2
↳Argument Filtering and Ordering
→DP Problem 3
↳Rw
*'(s(x), y) -> *'(x, y)
p(s(x)) -> x
fact(0) -> s(0)
fact(s(x)) -> *(s(x), fact(p(s(x))))
*(0, y) -> 0
*(s(x), y) -> +(*(x, y), y)
+(x, 0) -> x
+(x, s(y)) -> s(+(x, y))
innermost
*'(s(x), y) -> *'(x, y)
POL(*'(x1, x2)) = x1 + x2 POL(s(x1)) = 1 + x1
*'(x1, x2) -> *'(x1, x2)
s(x1) -> s(x1)
R
↳DPs
→DP Problem 1
↳AFS
→DP Problem 2
↳AFS
→DP Problem 5
↳Dependency Graph
→DP Problem 3
↳Rw
p(s(x)) -> x
fact(0) -> s(0)
fact(s(x)) -> *(s(x), fact(p(s(x))))
*(0, y) -> 0
*(s(x), y) -> +(*(x, y), y)
+(x, 0) -> x
+(x, s(y)) -> s(+(x, y))
innermost
R
↳DPs
→DP Problem 1
↳AFS
→DP Problem 2
↳AFS
→DP Problem 3
↳Rewriting Transformation
FACT(s(x)) -> FACT(p(s(x)))
p(s(x)) -> x
fact(0) -> s(0)
fact(s(x)) -> *(s(x), fact(p(s(x))))
*(0, y) -> 0
*(s(x), y) -> +(*(x, y), y)
+(x, 0) -> x
+(x, s(y)) -> s(+(x, y))
innermost
one new Dependency Pair is created:
FACT(s(x)) -> FACT(p(s(x)))
FACT(s(x)) -> FACT(x)
R
↳DPs
→DP Problem 1
↳AFS
→DP Problem 2
↳AFS
→DP Problem 3
↳Rw
→DP Problem 6
↳Argument Filtering and Ordering
FACT(s(x)) -> FACT(x)
p(s(x)) -> x
fact(0) -> s(0)
fact(s(x)) -> *(s(x), fact(p(s(x))))
*(0, y) -> 0
*(s(x), y) -> +(*(x, y), y)
+(x, 0) -> x
+(x, s(y)) -> s(+(x, y))
innermost
FACT(s(x)) -> FACT(x)
POL(FACT(x1)) = x1 POL(s(x1)) = 1 + x1
FACT(x1) -> FACT(x1)
s(x1) -> s(x1)
R
↳DPs
→DP Problem 1
↳AFS
→DP Problem 2
↳AFS
→DP Problem 3
↳Rw
→DP Problem 6
↳AFS
...
→DP Problem 7
↳Dependency Graph
p(s(x)) -> x
fact(0) -> s(0)
fact(s(x)) -> *(s(x), fact(p(s(x))))
*(0, y) -> 0
*(s(x), y) -> +(*(x, y), y)
+(x, 0) -> x
+(x, s(y)) -> s(+(x, y))
innermost