R
↳Dependency Pair Analysis
F(f(a, a), x) -> F(a, f(b, f(a, x)))
F(f(a, a), x) -> F(b, f(a, x))
F(f(a, a), x) -> F(a, x)
F(x, f(y, z)) -> F(f(x, y), z)
F(x, f(y, z)) -> F(x, y)
R
↳DPs
→DP Problem 1
↳Polynomial Ordering
F(f(a, a), x) -> F(a, x)
F(x, f(y, z)) -> F(x, y)
F(f(a, a), x) -> F(b, f(a, x))
F(x, f(y, z)) -> F(f(x, y), z)
F(f(a, a), x) -> F(a, f(b, f(a, x)))
f(f(a, a), x) -> f(a, f(b, f(a, x)))
f(x, f(y, z)) -> f(f(x, y), z)
innermost
F(f(a, a), x) -> F(b, f(a, x))
f(f(a, a), x) -> f(a, f(b, f(a, x)))
f(x, f(y, z)) -> f(f(x, y), z)
POL(b) = 0 POL(a) = 1 POL(f(x1, x2)) = x1 POL(F(x1, x2)) = x1
R
↳DPs
→DP Problem 1
↳Polo
→DP Problem 2
↳Polynomial Ordering
F(f(a, a), x) -> F(a, x)
F(x, f(y, z)) -> F(x, y)
F(x, f(y, z)) -> F(f(x, y), z)
F(f(a, a), x) -> F(a, f(b, f(a, x)))
f(f(a, a), x) -> f(a, f(b, f(a, x)))
f(x, f(y, z)) -> f(f(x, y), z)
innermost
F(f(a, a), x) -> F(a, x)
f(f(a, a), x) -> f(a, f(b, f(a, x)))
f(x, f(y, z)) -> f(f(x, y), z)
POL(b) = 0 POL(a) = 1 POL(f(x1, x2)) = x1 + x2 POL(F(x1, x2)) = 1 + x1 + x2
R
↳DPs
→DP Problem 1
↳Polo
→DP Problem 2
↳Polo
...
→DP Problem 3
↳Narrowing Transformation
F(x, f(y, z)) -> F(x, y)
F(x, f(y, z)) -> F(f(x, y), z)
F(f(a, a), x) -> F(a, f(b, f(a, x)))
f(f(a, a), x) -> f(a, f(b, f(a, x)))
f(x, f(y, z)) -> f(f(x, y), z)
innermost
two new Dependency Pairs are created:
F(f(a, a), x) -> F(a, f(b, f(a, x)))
F(f(a, a), x'') -> F(a, f(f(b, a), x''))
F(f(a, a), f(y', z')) -> F(a, f(b, f(f(a, y'), z')))
R
↳DPs
→DP Problem 1
↳Polo
→DP Problem 2
↳Polo
...
→DP Problem 4
↳Remaining Obligation(s)
F(f(a, a), f(y', z')) -> F(a, f(b, f(f(a, y'), z')))
F(f(a, a), x'') -> F(a, f(f(b, a), x''))
F(x, f(y, z)) -> F(f(x, y), z)
F(x, f(y, z)) -> F(x, y)
f(f(a, a), x) -> f(a, f(b, f(a, x)))
f(x, f(y, z)) -> f(f(x, y), z)
innermost