R
↳Dependency Pair Analysis
A(f, a(f, x)) -> A(x, g)
A(x, g) -> A(f, a(g, a(f, x)))
A(x, g) -> A(g, a(f, x))
A(x, g) -> A(f, x)
R
↳DPs
→DP Problem 1
↳Forward Instantiation Transformation
A(x, g) -> A(f, x)
A(x, g) -> A(g, a(f, x))
A(x, g) -> A(f, a(g, a(f, x)))
A(f, a(f, x)) -> A(x, g)
a(f, a(f, x)) -> a(x, g)
a(x, g) -> a(f, a(g, a(f, x)))
no new Dependency Pairs are created.
A(x, g) -> A(g, a(f, x))
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳Narrowing Transformation
A(x, g) -> A(f, a(g, a(f, x)))
A(f, a(f, x)) -> A(x, g)
A(x, g) -> A(f, x)
a(f, a(f, x)) -> a(x, g)
a(x, g) -> a(f, a(g, a(f, x)))
two new Dependency Pairs are created:
A(x, g) -> A(f, a(g, a(f, x)))
A(a(f, x''), g) -> A(f, a(g, a(x'', g)))
A(g, g) -> A(f, a(g, a(f, a(g, a(f, f)))))
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳Nar
...
→DP Problem 3
↳Narrowing Transformation
A(g, g) -> A(f, a(g, a(f, a(g, a(f, f)))))
A(a(f, x''), g) -> A(f, a(g, a(x'', g)))
A(x, g) -> A(f, x)
A(f, a(f, x)) -> A(x, g)
a(f, a(f, x)) -> a(x, g)
a(x, g) -> a(f, a(g, a(f, x)))
no new Dependency Pairs are created.
A(g, g) -> A(f, a(g, a(f, a(g, a(f, f)))))
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳Nar
...
→DP Problem 4
↳Remaining Obligation(s)
A(x, g) -> A(f, x)
A(f, a(f, x)) -> A(x, g)
A(a(f, x''), g) -> A(f, a(g, a(x'', g)))
a(f, a(f, x)) -> a(x, g)
a(x, g) -> a(f, a(g, a(f, x)))