MAYBE MAYBE TRS: { app(app(app(curry(), g), x), y) -> app(app(g, x), y), app(app(plus(), app(s(), x)), y) -> app(s(), app(app(plus(), x), y)), app(app(plus(), 0()), y) -> y, app(app(times(), app(s(), x)), y) -> app(app(plus(), app(app(times(), x), y)), y), app(app(times(), 0()), y) -> 0(), app(app(map(), f), app(app(cons(), x), xs)) -> app(app(cons(), app(f, x)), app(app(map(), f), xs)), app(app(map(), f), nil()) -> nil(), inc() -> app(map(), app(app(curry(), plus()), app(s(), 0()))), double() -> app(map(), app(app(curry(), times()), app(s(), app(s(), 0())))) } DUP: We consider a duplicating system. Trs: { app(app(app(curry(), g), x), y) -> app(app(g, x), y), app(app(plus(), app(s(), x)), y) -> app(s(), app(app(plus(), x), y)), app(app(plus(), 0()), y) -> y, app(app(times(), app(s(), x)), y) -> app(app(plus(), app(app(times(), x), y)), y), app(app(times(), 0()), y) -> 0(), app(app(map(), f), app(app(cons(), x), xs)) -> app(app(cons(), app(f, x)), app(app(map(), f), xs)), app(app(map(), f), nil()) -> nil(), inc() -> app(map(), app(app(curry(), plus()), app(s(), 0()))), double() -> app(map(), app(app(curry(), times()), app(s(), app(s(), 0())))) } Fail