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(x, ap(f, x))
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))
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
↳Remaining Obligation(s)
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(x, ap(f, 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(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))