R
↳Dependency Pair Analysis
AP(ap(f, x), x) -> AP(ap(x, ap(f, x)), ap(ap(cons, x), nil))
AP(ap(f, x), x) -> AP(x, ap(f, x))
AP(ap(f, x), x) -> AP(ap(cons, x), nil)
AP(ap(f, x), x) -> AP(cons, x)
AP(ap(ap(foldr, g), h), ap(ap(cons, x), xs)) -> AP(ap(g, x), ap(ap(ap(foldr, g), h), xs))
AP(ap(ap(foldr, g), h), ap(ap(cons, x), xs)) -> AP(g, x)
AP(ap(ap(foldr, g), h), ap(ap(cons, x), xs)) -> AP(ap(ap(foldr, g), h), xs)
R
↳DPs
→DP Problem 1
↳Narrowing Transformation
AP(ap(ap(foldr, g), h), ap(ap(cons, x), xs)) -> AP(ap(ap(foldr, g), h), xs)
AP(ap(ap(foldr, g), h), ap(ap(cons, x), xs)) -> AP(g, x)
AP(ap(ap(foldr, g), h), ap(ap(cons, x), xs)) -> AP(ap(g, x), ap(ap(ap(foldr, g), h), xs))
AP(ap(f, x), x) -> AP(ap(cons, x), nil)
AP(ap(f, x), x) -> AP(ap(x, ap(f, x)), ap(ap(cons, x), nil))
ap(ap(f, x), x) -> ap(ap(x, ap(f, x)), ap(ap(cons, x), nil))
ap(ap(ap(foldr, g), h), nil) -> h
ap(ap(ap(foldr, g), h), ap(ap(cons, x), xs)) -> ap(ap(g, x), ap(ap(ap(foldr, g), h), xs))
innermost
no new Dependency Pairs are created.
AP(ap(f, x), x) -> AP(ap(cons, x), nil)
R
↳DPs
→DP Problem 1
↳Nar
→DP Problem 2
↳Forward Instantiation Transformation
AP(ap(ap(foldr, g), h), ap(ap(cons, x), xs)) -> AP(g, x)
AP(ap(f, x), x) -> AP(ap(x, ap(f, x)), ap(ap(cons, x), nil))
AP(ap(ap(foldr, g), h), ap(ap(cons, x), xs)) -> AP(ap(g, x), ap(ap(ap(foldr, g), h), xs))
AP(ap(ap(foldr, g), h), ap(ap(cons, x), xs)) -> AP(ap(ap(foldr, g), h), xs)
ap(ap(f, x), x) -> ap(ap(x, ap(f, x)), ap(ap(cons, x), nil))
ap(ap(ap(foldr, g), h), nil) -> h
ap(ap(ap(foldr, g), h), ap(ap(cons, x), xs)) -> ap(ap(g, x), ap(ap(ap(foldr, g), h), xs))
innermost
two new Dependency Pairs are created:
AP(ap(ap(foldr, g), h), ap(ap(cons, x), xs)) -> AP(g, x)
AP(ap(ap(foldr, ap(ap(foldr, g''), h'')), h), ap(ap(cons, ap(ap(cons, x''), xs'')), xs)) -> AP(ap(ap(foldr, g''), h''), ap(ap(cons, x''), xs''))
AP(ap(ap(foldr, ap(f, x''')), h), ap(ap(cons, x0), xs)) -> AP(ap(f, x'''), x0)
R
↳DPs
→DP Problem 1
↳Nar
→DP Problem 2
↳FwdInst
...
→DP Problem 3
↳Remaining Obligation(s)
AP(ap(ap(foldr, ap(f, x''')), h), ap(ap(cons, x0), xs)) -> AP(ap(f, x'''), x0)
AP(ap(ap(foldr, ap(ap(foldr, g''), h'')), h), ap(ap(cons, ap(ap(cons, x''), xs'')), xs)) -> AP(ap(ap(foldr, g''), h''), ap(ap(cons, x''), xs''))
AP(ap(ap(foldr, g), h), ap(ap(cons, x), xs)) -> AP(ap(ap(foldr, g), h), xs)
AP(ap(ap(foldr, g), h), ap(ap(cons, x), xs)) -> AP(ap(g, x), ap(ap(ap(foldr, g), h), xs))
AP(ap(f, x), x) -> AP(ap(x, ap(f, x)), ap(ap(cons, x), nil))
ap(ap(f, x), x) -> ap(ap(x, ap(f, x)), ap(ap(cons, x), nil))
ap(ap(ap(foldr, g), h), nil) -> h
ap(ap(ap(foldr, g), h), ap(ap(cons, x), xs)) -> ap(ap(g, x), ap(ap(ap(foldr, g), h), xs))
innermost