R
↳Dependency Pair Analysis
PLUS(x, s(y)) -> PLUS(x, y)
TIMES(s(x), y) -> PLUS(times(x, y), y)
TIMES(s(x), y) -> TIMES(x, y)
P(s(s(x))) -> P(s(x))
FAC(s(x)) -> TIMES(fac(p(s(x))), s(x))
FAC(s(x)) -> FAC(p(s(x)))
FAC(s(x)) -> P(s(x))
R
↳DPs
→DP Problem 1
↳Forward Instantiation Transformation
→DP Problem 2
↳FwdInst
→DP Problem 3
↳FwdInst
→DP Problem 4
↳Nar
PLUS(x, s(y)) -> PLUS(x, y)
plus(x, 0) -> x
plus(x, s(y)) -> s(plus(x, y))
times(0, y) -> 0
times(x, 0) -> 0
times(s(x), y) -> plus(times(x, y), y)
p(s(s(x))) -> s(p(s(x)))
p(s(0)) -> 0
fac(s(x)) -> times(fac(p(s(x))), s(x))
innermost
one new Dependency Pair is created:
PLUS(x, s(y)) -> PLUS(x, y)
PLUS(x'', s(s(y''))) -> PLUS(x'', s(y''))
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 5
↳Forward Instantiation Transformation
→DP Problem 2
↳FwdInst
→DP Problem 3
↳FwdInst
→DP Problem 4
↳Nar
PLUS(x'', s(s(y''))) -> PLUS(x'', s(y''))
plus(x, 0) -> x
plus(x, s(y)) -> s(plus(x, y))
times(0, y) -> 0
times(x, 0) -> 0
times(s(x), y) -> plus(times(x, y), y)
p(s(s(x))) -> s(p(s(x)))
p(s(0)) -> 0
fac(s(x)) -> times(fac(p(s(x))), s(x))
innermost
one new Dependency Pair is created:
PLUS(x'', s(s(y''))) -> PLUS(x'', s(y''))
PLUS(x'''', s(s(s(y'''')))) -> PLUS(x'''', s(s(y'''')))
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 5
↳FwdInst
...
→DP Problem 6
↳Argument Filtering and Ordering
→DP Problem 2
↳FwdInst
→DP Problem 3
↳FwdInst
→DP Problem 4
↳Nar
PLUS(x'''', s(s(s(y'''')))) -> PLUS(x'''', s(s(y'''')))
plus(x, 0) -> x
plus(x, s(y)) -> s(plus(x, y))
times(0, y) -> 0
times(x, 0) -> 0
times(s(x), y) -> plus(times(x, y), y)
p(s(s(x))) -> s(p(s(x)))
p(s(0)) -> 0
fac(s(x)) -> times(fac(p(s(x))), s(x))
innermost
PLUS(x'''', s(s(s(y'''')))) -> PLUS(x'''', s(s(y'''')))
POL(PLUS(x1, x2)) = 1 + x1 + x2 POL(s(x1)) = 1 + x1
PLUS(x1, x2) -> PLUS(x1, x2)
s(x1) -> s(x1)
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 5
↳FwdInst
...
→DP Problem 7
↳Dependency Graph
→DP Problem 2
↳FwdInst
→DP Problem 3
↳FwdInst
→DP Problem 4
↳Nar
plus(x, 0) -> x
plus(x, s(y)) -> s(plus(x, y))
times(0, y) -> 0
times(x, 0) -> 0
times(s(x), y) -> plus(times(x, y), y)
p(s(s(x))) -> s(p(s(x)))
p(s(0)) -> 0
fac(s(x)) -> times(fac(p(s(x))), s(x))
innermost
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳Forward Instantiation Transformation
→DP Problem 3
↳FwdInst
→DP Problem 4
↳Nar
P(s(s(x))) -> P(s(x))
plus(x, 0) -> x
plus(x, s(y)) -> s(plus(x, y))
times(0, y) -> 0
times(x, 0) -> 0
times(s(x), y) -> plus(times(x, y), y)
p(s(s(x))) -> s(p(s(x)))
p(s(0)) -> 0
fac(s(x)) -> times(fac(p(s(x))), s(x))
innermost
one new Dependency Pair is created:
P(s(s(x))) -> P(s(x))
P(s(s(s(x'')))) -> P(s(s(x'')))
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳FwdInst
→DP Problem 8
↳Forward Instantiation Transformation
→DP Problem 3
↳FwdInst
→DP Problem 4
↳Nar
P(s(s(s(x'')))) -> P(s(s(x'')))
plus(x, 0) -> x
plus(x, s(y)) -> s(plus(x, y))
times(0, y) -> 0
times(x, 0) -> 0
times(s(x), y) -> plus(times(x, y), y)
p(s(s(x))) -> s(p(s(x)))
p(s(0)) -> 0
fac(s(x)) -> times(fac(p(s(x))), s(x))
innermost
one new Dependency Pair is created:
P(s(s(s(x'')))) -> P(s(s(x'')))
P(s(s(s(s(x''''))))) -> P(s(s(s(x''''))))
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳FwdInst
→DP Problem 8
↳FwdInst
...
→DP Problem 9
↳Argument Filtering and Ordering
→DP Problem 3
↳FwdInst
→DP Problem 4
↳Nar
P(s(s(s(s(x''''))))) -> P(s(s(s(x''''))))
plus(x, 0) -> x
plus(x, s(y)) -> s(plus(x, y))
times(0, y) -> 0
times(x, 0) -> 0
times(s(x), y) -> plus(times(x, y), y)
p(s(s(x))) -> s(p(s(x)))
p(s(0)) -> 0
fac(s(x)) -> times(fac(p(s(x))), s(x))
innermost
P(s(s(s(s(x''''))))) -> P(s(s(s(x''''))))
POL(P(x1)) = 1 + x1 POL(s(x1)) = 1 + x1
P(x1) -> P(x1)
s(x1) -> s(x1)
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳FwdInst
→DP Problem 8
↳FwdInst
...
→DP Problem 10
↳Dependency Graph
→DP Problem 3
↳FwdInst
→DP Problem 4
↳Nar
plus(x, 0) -> x
plus(x, s(y)) -> s(plus(x, y))
times(0, y) -> 0
times(x, 0) -> 0
times(s(x), y) -> plus(times(x, y), y)
p(s(s(x))) -> s(p(s(x)))
p(s(0)) -> 0
fac(s(x)) -> times(fac(p(s(x))), s(x))
innermost
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳FwdInst
→DP Problem 3
↳Forward Instantiation Transformation
→DP Problem 4
↳Nar
TIMES(s(x), y) -> TIMES(x, y)
plus(x, 0) -> x
plus(x, s(y)) -> s(plus(x, y))
times(0, y) -> 0
times(x, 0) -> 0
times(s(x), y) -> plus(times(x, y), y)
p(s(s(x))) -> s(p(s(x)))
p(s(0)) -> 0
fac(s(x)) -> times(fac(p(s(x))), s(x))
innermost
one new Dependency Pair is created:
TIMES(s(x), y) -> TIMES(x, y)
TIMES(s(s(x'')), y'') -> TIMES(s(x''), y'')
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳FwdInst
→DP Problem 3
↳FwdInst
→DP Problem 11
↳Forward Instantiation Transformation
→DP Problem 4
↳Nar
TIMES(s(s(x'')), y'') -> TIMES(s(x''), y'')
plus(x, 0) -> x
plus(x, s(y)) -> s(plus(x, y))
times(0, y) -> 0
times(x, 0) -> 0
times(s(x), y) -> plus(times(x, y), y)
p(s(s(x))) -> s(p(s(x)))
p(s(0)) -> 0
fac(s(x)) -> times(fac(p(s(x))), s(x))
innermost
one new Dependency Pair is created:
TIMES(s(s(x'')), y'') -> TIMES(s(x''), y'')
TIMES(s(s(s(x''''))), y'''') -> TIMES(s(s(x'''')), y'''')
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳FwdInst
→DP Problem 3
↳FwdInst
→DP Problem 11
↳FwdInst
...
→DP Problem 12
↳Argument Filtering and Ordering
→DP Problem 4
↳Nar
TIMES(s(s(s(x''''))), y'''') -> TIMES(s(s(x'''')), y'''')
plus(x, 0) -> x
plus(x, s(y)) -> s(plus(x, y))
times(0, y) -> 0
times(x, 0) -> 0
times(s(x), y) -> plus(times(x, y), y)
p(s(s(x))) -> s(p(s(x)))
p(s(0)) -> 0
fac(s(x)) -> times(fac(p(s(x))), s(x))
innermost
TIMES(s(s(s(x''''))), y'''') -> TIMES(s(s(x'''')), y'''')
POL(TIMES(x1, x2)) = 1 + x1 + x2 POL(s(x1)) = 1 + x1
TIMES(x1, x2) -> TIMES(x1, x2)
s(x1) -> s(x1)
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳FwdInst
→DP Problem 3
↳FwdInst
→DP Problem 11
↳FwdInst
...
→DP Problem 13
↳Dependency Graph
→DP Problem 4
↳Nar
plus(x, 0) -> x
plus(x, s(y)) -> s(plus(x, y))
times(0, y) -> 0
times(x, 0) -> 0
times(s(x), y) -> plus(times(x, y), y)
p(s(s(x))) -> s(p(s(x)))
p(s(0)) -> 0
fac(s(x)) -> times(fac(p(s(x))), s(x))
innermost
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳FwdInst
→DP Problem 3
↳FwdInst
→DP Problem 4
↳Narrowing Transformation
FAC(s(x)) -> FAC(p(s(x)))
plus(x, 0) -> x
plus(x, s(y)) -> s(plus(x, y))
times(0, y) -> 0
times(x, 0) -> 0
times(s(x), y) -> plus(times(x, y), y)
p(s(s(x))) -> s(p(s(x)))
p(s(0)) -> 0
fac(s(x)) -> times(fac(p(s(x))), s(x))
innermost
two new Dependency Pairs are created:
FAC(s(x)) -> FAC(p(s(x)))
FAC(s(s(x''))) -> FAC(s(p(s(x''))))
FAC(s(0)) -> FAC(0)
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳FwdInst
→DP Problem 3
↳FwdInst
→DP Problem 4
↳Nar
→DP Problem 14
↳Narrowing Transformation
FAC(s(s(x''))) -> FAC(s(p(s(x''))))
plus(x, 0) -> x
plus(x, s(y)) -> s(plus(x, y))
times(0, y) -> 0
times(x, 0) -> 0
times(s(x), y) -> plus(times(x, y), y)
p(s(s(x))) -> s(p(s(x)))
p(s(0)) -> 0
fac(s(x)) -> times(fac(p(s(x))), s(x))
innermost
two new Dependency Pairs are created:
FAC(s(s(x''))) -> FAC(s(p(s(x''))))
FAC(s(s(s(x')))) -> FAC(s(s(p(s(x')))))
FAC(s(s(0))) -> FAC(s(0))
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳FwdInst
→DP Problem 3
↳FwdInst
→DP Problem 4
↳Nar
→DP Problem 14
↳Nar
...
→DP Problem 15
↳Narrowing Transformation
FAC(s(s(s(x')))) -> FAC(s(s(p(s(x')))))
plus(x, 0) -> x
plus(x, s(y)) -> s(plus(x, y))
times(0, y) -> 0
times(x, 0) -> 0
times(s(x), y) -> plus(times(x, y), y)
p(s(s(x))) -> s(p(s(x)))
p(s(0)) -> 0
fac(s(x)) -> times(fac(p(s(x))), s(x))
innermost
two new Dependency Pairs are created:
FAC(s(s(s(x')))) -> FAC(s(s(p(s(x')))))
FAC(s(s(s(s(x''))))) -> FAC(s(s(s(p(s(x''))))))
FAC(s(s(s(0)))) -> FAC(s(s(0)))
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳FwdInst
→DP Problem 3
↳FwdInst
→DP Problem 4
↳Nar
→DP Problem 14
↳Nar
...
→DP Problem 16
↳Narrowing Transformation
FAC(s(s(s(s(x''))))) -> FAC(s(s(s(p(s(x''))))))
plus(x, 0) -> x
plus(x, s(y)) -> s(plus(x, y))
times(0, y) -> 0
times(x, 0) -> 0
times(s(x), y) -> plus(times(x, y), y)
p(s(s(x))) -> s(p(s(x)))
p(s(0)) -> 0
fac(s(x)) -> times(fac(p(s(x))), s(x))
innermost
two new Dependency Pairs are created:
FAC(s(s(s(s(x''))))) -> FAC(s(s(s(p(s(x''))))))
FAC(s(s(s(s(s(x')))))) -> FAC(s(s(s(s(p(s(x')))))))
FAC(s(s(s(s(0))))) -> FAC(s(s(s(0))))
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳FwdInst
→DP Problem 3
↳FwdInst
→DP Problem 4
↳Nar
→DP Problem 14
↳Nar
...
→DP Problem 17
↳Narrowing Transformation
FAC(s(s(s(s(s(x')))))) -> FAC(s(s(s(s(p(s(x')))))))
plus(x, 0) -> x
plus(x, s(y)) -> s(plus(x, y))
times(0, y) -> 0
times(x, 0) -> 0
times(s(x), y) -> plus(times(x, y), y)
p(s(s(x))) -> s(p(s(x)))
p(s(0)) -> 0
fac(s(x)) -> times(fac(p(s(x))), s(x))
innermost
two new Dependency Pairs are created:
FAC(s(s(s(s(s(x')))))) -> FAC(s(s(s(s(p(s(x')))))))
FAC(s(s(s(s(s(s(x''))))))) -> FAC(s(s(s(s(s(p(s(x''))))))))
FAC(s(s(s(s(s(0)))))) -> FAC(s(s(s(s(0)))))
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳FwdInst
→DP Problem 3
↳FwdInst
→DP Problem 4
↳Nar
→DP Problem 14
↳Nar
...
→DP Problem 18
↳Remaining Obligation(s)
FAC(s(s(s(s(s(s(x''))))))) -> FAC(s(s(s(s(s(p(s(x''))))))))
plus(x, 0) -> x
plus(x, s(y)) -> s(plus(x, y))
times(0, y) -> 0
times(x, 0) -> 0
times(s(x), y) -> plus(times(x, y), y)
p(s(s(x))) -> s(p(s(x)))
p(s(0)) -> 0
fac(s(x)) -> times(fac(p(s(x))), s(x))
innermost