MAYBE MAYBE TRS: { app(app(twice(), f), x) -> app(f, app(f, x)), app(app(map(), f), app(app(cons(), h), t)) -> app(app(cons(), app(f, h)), app(app(map(), f), t)), app(app(map(), f), nil()) -> nil(), app(app(fmap(), app(app(cons(), f), t_f())), x) -> app(app(cons(), app(f, x)), app(app(fmap(), t_f()), x)), app(app(fmap(), nil()), x) -> nil() } DUP: We consider a duplicating system. Trs: { app(app(twice(), f), x) -> app(f, app(f, x)), app(app(map(), f), app(app(cons(), h), t)) -> app(app(cons(), app(f, h)), app(app(map(), f), t)), app(app(map(), f), nil()) -> nil(), app(app(fmap(), app(app(cons(), f), t_f())), x) -> app(app(cons(), app(f, x)), app(app(fmap(), t_f()), x)), app(app(fmap(), nil()), x) -> nil() } Fail