MAYBE MAYBE TRS: { app(app(app(app(filter2(), true()), f), x), xs) -> app(app(cons(), x), app(app(filter(), f), xs)), app(app(app(app(filter2(), false()), f), x), xs) -> app(app(filter(), f), xs), app(app(minus(), x), 0()) -> x, app(app(minus(), app(s(), x)), app(s(), y)) -> app(app(minus(), x), y), app(app(plus(), app(s(), x)), y) -> app(app(plus(), x), app(s(), y)), app(app(plus(), app(s(), x)), y) -> app(s(), app(app(plus(), x), y)), app(app(plus(), app(s(), x)), y) -> app(s(), app(app(plus(), app(app(minus(), x), y)), app(double(), y))), app(app(plus(), 0()), y) -> y, 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(), app(app(filter(), f), app(app(cons(), x), xs)) -> app(app(app(app(filter2(), app(f, x)), f), x), xs), app(app(filter(), f), nil()) -> nil(), app(double(), app(s(), x)) -> app(s(), app(s(), app(double(), x))), app(double(), 0()) -> 0() } DUP: We consider a duplicating system. Trs: { app(app(app(app(filter2(), true()), f), x), xs) -> app(app(cons(), x), app(app(filter(), f), xs)), app(app(app(app(filter2(), false()), f), x), xs) -> app(app(filter(), f), xs), app(app(minus(), x), 0()) -> x, app(app(minus(), app(s(), x)), app(s(), y)) -> app(app(minus(), x), y), app(app(plus(), app(s(), x)), y) -> app(app(plus(), x), app(s(), y)), app(app(plus(), app(s(), x)), y) -> app(s(), app(app(plus(), x), y)), app(app(plus(), app(s(), x)), y) -> app(s(), app(app(plus(), app(app(minus(), x), y)), app(double(), y))), app(app(plus(), 0()), y) -> y, 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(), app(app(filter(), f), app(app(cons(), x), xs)) -> app(app(app(app(filter2(), app(f, x)), f), x), xs), app(app(filter(), f), nil()) -> nil(), app(double(), app(s(), x)) -> app(s(), app(s(), app(double(), x))), app(double(), 0()) -> 0() } Fail