R
↳Dependency Pair Analysis
+'(X, s(Y)) -> +'(X, Y)
DOUBLE(X) -> +'(X, X)
F(0, s(0), X) -> F(X, double(X), X)
F(0, s(0), X) -> DOUBLE(X)
R
↳DPs
→DP Problem 1
↳Forward Instantiation Transformation
→DP Problem 2
↳Rw
+'(X, s(Y)) -> +'(X, Y)
+(X, 0) -> X
+(X, s(Y)) -> s(+(X, Y))
double(X) -> +(X, X)
f(0, s(0), X) -> f(X, double(X), X)
g(X, Y) -> X
g(X, Y) -> 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 3
↳Forward Instantiation Transformation
→DP Problem 2
↳Rw
+'(X'', s(s(Y''))) -> +'(X'', s(Y''))
+(X, 0) -> X
+(X, s(Y)) -> s(+(X, Y))
double(X) -> +(X, X)
f(0, s(0), X) -> f(X, double(X), X)
g(X, Y) -> X
g(X, Y) -> 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 3
↳FwdInst
...
→DP Problem 4
↳Argument Filtering and Ordering
→DP Problem 2
↳Rw
+'(X'''', s(s(s(Y'''')))) -> +'(X'''', s(s(Y'''')))
+(X, 0) -> X
+(X, s(Y)) -> s(+(X, Y))
double(X) -> +(X, X)
f(0, s(0), X) -> f(X, double(X), X)
g(X, Y) -> X
g(X, Y) -> Y
innermost
+'(X'''', s(s(s(Y'''')))) -> +'(X'''', s(s(Y'''')))
trivial
+'(x1, x2) -> +'(x1, x2)
s(x1) -> s(x1)
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 3
↳FwdInst
...
→DP Problem 5
↳Dependency Graph
→DP Problem 2
↳Rw
+(X, 0) -> X
+(X, s(Y)) -> s(+(X, Y))
double(X) -> +(X, X)
f(0, s(0), X) -> f(X, double(X), X)
g(X, Y) -> X
g(X, Y) -> Y
innermost
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳Rewriting Transformation
F(0, s(0), X) -> F(X, double(X), X)
+(X, 0) -> X
+(X, s(Y)) -> s(+(X, Y))
double(X) -> +(X, X)
f(0, s(0), X) -> f(X, double(X), X)
g(X, Y) -> X
g(X, Y) -> Y
innermost
one new Dependency Pair is created:
F(0, s(0), X) -> F(X, double(X), X)
F(0, s(0), X) -> F(X, +(X, X), X)
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳Rw
→DP Problem 6
↳Narrowing Transformation
F(0, s(0), X) -> F(X, +(X, X), X)
+(X, 0) -> X
+(X, s(Y)) -> s(+(X, Y))
double(X) -> +(X, X)
f(0, s(0), X) -> f(X, double(X), X)
g(X, Y) -> X
g(X, Y) -> Y
innermost
two new Dependency Pairs are created:
F(0, s(0), X) -> F(X, +(X, X), X)
F(0, s(0), 0) -> F(0, 0, 0)
F(0, s(0), s(Y')) -> F(s(Y'), s(+(s(Y'), Y')), s(Y'))