MAYBE MAYBE TRS: { 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), nil()) -> h, ap(ap(f(), x), x) -> ap(ap(x, ap(f(), x)), ap(ap(cons(), x), nil())) } DUP: We consider a duplicating system. Trs: { 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), nil()) -> h, ap(ap(f(), x), x) -> ap(ap(x, ap(f(), x)), ap(ap(cons(), x), nil())) } Fail