R
↳Dependency Pair Analysis
F(f(a, x), a) -> F(f(f(x, a), f(a, a)), a)
F(f(a, x), a) -> F(f(x, a), f(a, a))
F(f(a, x), a) -> F(x, a)
F(f(a, x), a) -> F(a, a)
R
↳DPs
→DP Problem 1
↳Forward Instantiation Transformation
F(f(a, x), a) -> F(x, a)
F(f(a, x), a) -> F(f(x, a), f(a, a))
F(f(a, x), a) -> F(f(f(x, a), f(a, a)), a)
f(f(a, x), a) -> f(f(f(x, a), f(a, a)), a)
no new Dependency Pairs are created.
F(f(a, x), a) -> F(f(x, a), f(a, a))
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳Narrowing Transformation
F(f(a, x), a) -> F(f(f(x, a), f(a, a)), a)
F(f(a, x), a) -> F(x, a)
f(f(a, x), a) -> f(f(f(x, a), f(a, a)), a)
one new Dependency Pair is created:
F(f(a, x), a) -> F(f(f(x, a), f(a, a)), a)
F(f(a, f(a, x'')), a) -> F(f(f(f(f(x'', a), f(a, a)), a), f(a, a)), a)
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳Nar
...
→DP Problem 3
↳Polynomial Ordering
F(f(a, f(a, x'')), a) -> F(f(f(f(f(x'', a), f(a, a)), a), f(a, a)), a)
F(f(a, x), a) -> F(x, a)
f(f(a, x), a) -> f(f(f(x, a), f(a, a)), a)
F(f(a, x), a) -> F(x, a)
f(f(a, x), a) -> f(f(f(x, a), f(a, a)), a)
POL(a) = 0 POL(f(x1, x2)) = 1 + x2 POL(F(x1, x2)) = x1
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳Nar
...
→DP Problem 4
↳Remaining Obligation(s)
F(f(a, f(a, x'')), a) -> F(f(f(f(f(x'', a), f(a, a)), a), f(a, a)), a)
f(f(a, x), a) -> f(f(f(x, a), f(a, a)), a)