MAYBE MAYBE TRS: { app(app(app(app(f(), 0()), y), 0()), u) -> true(), app(app(app(app(f(), 0()), y), app(s(), z)), u) -> false(), app(app(app(app(f(), app(s(), x)), 0()), z), u) -> app(app(app(app(f(), x), u), app(app(minus(), z), app(s(), x))), u), app(app(app(app(f(), app(s(), x)), app(s(), y)), z), u) -> app( app( app(if(), app(app(le(), x), y)), app(app(app(app(f(), app(s(), x)), app(app(minus(), y), x)), z), u) ), app(app(app(app(f(), x), u), z), u) ), app(app(app(app(filter2(), true()), fun), x), xs) -> app(app(cons(), x), app(app(filter(), fun), xs)), app(app(app(app(filter2(), false()), fun), x), xs) -> app(app(filter(), fun), xs), app(app(app(if(), true()), x), y) -> x, app(app(app(if(), false()), x), y) -> y, app(app(minus(), 0()), y) -> 0(), app(app(minus(), app(s(), x)), 0()) -> app(s(), x), app(app(minus(), app(s(), x)), app(s(), y)) -> app(app(minus(), x), y), app(app(le(), 0()), y) -> true(), app(app(le(), app(s(), x)), 0()) -> false(), app(app(le(), app(s(), x)), app(s(), y)) -> app(app(le(), x), y), app(app(map(), fun), app(app(cons(), x), xs)) -> app(app(cons(), app(fun, x)), app(app(map(), fun), xs)), app(app(map(), fun), nil()) -> nil(), app(app(filter(), fun), app(app(cons(), x), xs)) -> app(app(app(app(filter2(), app(fun, x)), fun), x), xs), app(app(filter(), fun), nil()) -> nil(), app(perfectp(), 0()) -> false(), app(perfectp(), app(s(), x)) -> app(app(app(app(f(), x), app(s(), 0())), app(s(), x)), app(s(), x)) } DUP: We consider a duplicating system. Trs: { app(app(app(app(f(), 0()), y), 0()), u) -> true(), app(app(app(app(f(), 0()), y), app(s(), z)), u) -> false(), app(app(app(app(f(), app(s(), x)), 0()), z), u) -> app(app(app(app(f(), x), u), app(app(minus(), z), app(s(), x))), u), app(app(app(app(f(), app(s(), x)), app(s(), y)), z), u) -> app( app( app(if(), app(app(le(), x), y)), app(app(app(app(f(), app(s(), x)), app(app(minus(), y), x)), z), u) ), app(app(app(app(f(), x), u), z), u) ), app(app(app(app(filter2(), true()), fun), x), xs) -> app(app(cons(), x), app(app(filter(), fun), xs)), app(app(app(app(filter2(), false()), fun), x), xs) -> app(app(filter(), fun), xs), app(app(app(if(), true()), x), y) -> x, app(app(app(if(), false()), x), y) -> y, app(app(minus(), 0()), y) -> 0(), app(app(minus(), app(s(), x)), 0()) -> app(s(), x), app(app(minus(), app(s(), x)), app(s(), y)) -> app(app(minus(), x), y), app(app(le(), 0()), y) -> true(), app(app(le(), app(s(), x)), 0()) -> false(), app(app(le(), app(s(), x)), app(s(), y)) -> app(app(le(), x), y), app(app(map(), fun), app(app(cons(), x), xs)) -> app(app(cons(), app(fun, x)), app(app(map(), fun), xs)), app(app(map(), fun), nil()) -> nil(), app(app(filter(), fun), app(app(cons(), x), xs)) -> app(app(app(app(filter2(), app(fun, x)), fun), x), xs), app(app(filter(), fun), nil()) -> nil(), app(perfectp(), 0()) -> false(), app(perfectp(), app(s(), x)) -> app(app(app(app(f(), x), app(s(), 0())), app(s(), x)), app(s(), x)) } Fail