R
↳Dependency Pair Analysis
F(.(nil, y)) -> F(y)
F(.(.(x, y), z)) -> F(.(x, .(y, z)))
G(.(x, nil)) -> G(x)
G(.(x, .(y, z))) -> G(.(.(x, y), z))
R
↳DPs
→DP Problem 1
↳Polynomial Ordering
→DP Problem 2
↳Polo
F(.(.(x, y), z)) -> F(.(x, .(y, z)))
F(.(nil, y)) -> F(y)
f(nil) -> nil
f(.(nil, y)) -> .(nil, f(y))
f(.(.(x, y), z)) -> f(.(x, .(y, z)))
g(nil) -> nil
g(.(x, nil)) -> .(g(x), nil)
g(.(x, .(y, z))) -> g(.(.(x, y), z))
F(.(nil, y)) -> F(y)
POL(nil) = 1 POL(.(x1, x2)) = x1 + x2 POL(F(x1)) = x1
R
↳DPs
→DP Problem 1
↳Polo
→DP Problem 3
↳Polynomial Ordering
→DP Problem 2
↳Polo
F(.(.(x, y), z)) -> F(.(x, .(y, z)))
f(nil) -> nil
f(.(nil, y)) -> .(nil, f(y))
f(.(.(x, y), z)) -> f(.(x, .(y, z)))
g(nil) -> nil
g(.(x, nil)) -> .(g(x), nil)
g(.(x, .(y, z))) -> g(.(.(x, y), z))
F(.(.(x, y), z)) -> F(.(x, .(y, z)))
POL(.(x1, x2)) = 1 + x1 POL(F(x1)) = 1 + x1
R
↳DPs
→DP Problem 1
↳Polo
→DP Problem 3
↳Polo
...
→DP Problem 4
↳Dependency Graph
→DP Problem 2
↳Polo
f(nil) -> nil
f(.(nil, y)) -> .(nil, f(y))
f(.(.(x, y), z)) -> f(.(x, .(y, z)))
g(nil) -> nil
g(.(x, nil)) -> .(g(x), nil)
g(.(x, .(y, z))) -> g(.(.(x, y), z))
R
↳DPs
→DP Problem 1
↳Polo
→DP Problem 2
↳Polynomial Ordering
G(.(x, .(y, z))) -> G(.(.(x, y), z))
G(.(x, nil)) -> G(x)
f(nil) -> nil
f(.(nil, y)) -> .(nil, f(y))
f(.(.(x, y), z)) -> f(.(x, .(y, z)))
g(nil) -> nil
g(.(x, nil)) -> .(g(x), nil)
g(.(x, .(y, z))) -> g(.(.(x, y), z))
G(.(x, nil)) -> G(x)
POL(G(x1)) = x1 POL(nil) = 1 POL(.(x1, x2)) = x1 + x2
R
↳DPs
→DP Problem 1
↳Polo
→DP Problem 2
↳Polo
→DP Problem 5
↳Polynomial Ordering
G(.(x, .(y, z))) -> G(.(.(x, y), z))
f(nil) -> nil
f(.(nil, y)) -> .(nil, f(y))
f(.(.(x, y), z)) -> f(.(x, .(y, z)))
g(nil) -> nil
g(.(x, nil)) -> .(g(x), nil)
g(.(x, .(y, z))) -> g(.(.(x, y), z))
G(.(x, .(y, z))) -> G(.(.(x, y), z))
POL(G(x1)) = x1 POL(.(x1, x2)) = 1 + x2
R
↳DPs
→DP Problem 1
↳Polo
→DP Problem 2
↳Polo
→DP Problem 5
↳Polo
...
→DP Problem 6
↳Dependency Graph
f(nil) -> nil
f(.(nil, y)) -> .(nil, f(y))
f(.(.(x, y), z)) -> f(.(x, .(y, z)))
g(nil) -> nil
g(.(x, nil)) -> .(g(x), nil)
g(.(x, .(y, z))) -> g(.(.(x, y), z))