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
↳Forward Instantiation Transformation
→DP Problem 2
↳FwdInst
→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
one new Dependency Pair is created:
+'(x, s(y)) -> +'(x, y)
+'(x'', s(s(y''))) -> +'(x'', s(y''))
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 4
↳Forward Instantiation Transformation
→DP Problem 2
↳FwdInst
→DP Problem 3
↳Rw
+'(x'', s(s(y''))) -> +'(x'', s(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
one new Dependency Pair is created:
+'(x'', s(s(y''))) -> +'(x'', s(y''))
+'(x'''', s(s(s(y'''')))) -> +'(x'''', s(s(y'''')))
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 4
↳FwdInst
...
→DP Problem 5
↳Polynomial Ordering
→DP Problem 2
↳FwdInst
→DP Problem 3
↳Rw
+'(x'''', s(s(s(y'''')))) -> +'(x'''', s(s(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(s(s(y'''')))) -> +'(x'''', s(s(y'''')))
POL(s(x1)) = 1 + x1 POL(+'(x1, x2)) = 1 + x2
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 4
↳FwdInst
...
→DP Problem 6
↳Dependency Graph
→DP Problem 2
↳FwdInst
→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
↳FwdInst
→DP Problem 2
↳Forward Instantiation Transformation
→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
one new Dependency Pair is created:
*'(s(x), y) -> *'(x, y)
*'(s(s(x'')), y'') -> *'(s(x''), y'')
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳FwdInst
→DP Problem 7
↳Forward Instantiation Transformation
→DP Problem 3
↳Rw
*'(s(s(x'')), y'') -> *'(s(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
one new Dependency Pair is created:
*'(s(s(x'')), y'') -> *'(s(x''), y'')
*'(s(s(s(x''''))), y'''') -> *'(s(s(x'''')), y'''')
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳FwdInst
→DP Problem 7
↳FwdInst
...
→DP Problem 8
↳Polynomial Ordering
→DP Problem 3
↳Rw
*'(s(s(s(x''''))), y'''') -> *'(s(s(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(s(s(x''''))), y'''') -> *'(s(s(x'''')), y'''')
POL(*'(x1, x2)) = 1 + x1 POL(s(x1)) = 1 + x1
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳FwdInst
→DP Problem 7
↳FwdInst
...
→DP Problem 9
↳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
↳FwdInst
→DP Problem 2
↳FwdInst
→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
↳FwdInst
→DP Problem 2
↳FwdInst
→DP Problem 3
↳Rw
→DP Problem 10
↳Forward Instantiation Transformation
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
one new Dependency Pair is created:
FACT(s(x)) -> FACT(x)
FACT(s(s(x''))) -> FACT(s(x''))
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳FwdInst
→DP Problem 3
↳Rw
→DP Problem 10
↳FwdInst
...
→DP Problem 11
↳Polynomial Ordering
FACT(s(s(x''))) -> FACT(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
FACT(s(s(x''))) -> FACT(s(x''))
POL(FACT(x1)) = 1 + x1 POL(s(x1)) = 1 + x1
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳FwdInst
→DP Problem 3
↳Rw
→DP Problem 10
↳FwdInst
...
→DP Problem 12
↳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